From 50d8779208632d2cc23be36e144b0297b0c02d2b Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Fri, 23 Feb 2018 20:43:53 +0100 Subject: Add !curse with some basic features. --- src/game/g_active.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/game/g_active.c') diff --git a/src/game/g_active.c b/src/game/g_active.c index 72e070e..c419e30 100644 --- a/src/game/g_active.c +++ b/src/game/g_active.c @@ -655,6 +655,7 @@ void ClientTimerActions( gentity_t *ent, int msec ) int staminaLarmour = STAMINA_LARMOUR_TAKE; int staminaSprint = STAMINA_SPRINT_TAKE; int timestep10000; + adminCurses_t *curses; ucmd = &ent->client->pers.cmd; @@ -666,6 +667,8 @@ void ClientTimerActions( gentity_t *ent, int msec ) client->time1000 += msec; client->time10000 += msec; + curses = &client->curses; + if( ( client->ps.stats[ STAT_STATE ] & SS_SPEEDBOOST ) && g_modHumanStamina.integer > 0 ) { @@ -689,9 +692,9 @@ void ClientTimerActions( gentity_t *ent, int msec ) { //subtract stamina if( BG_InventoryContainsUpgrade( UP_LIGHTARMOUR, client->ps.stats ) ) - client->ps.stats[ STAT_STAMINA ] -= staminaLarmour; + client->ps.stats[ STAT_STAMINA ] -= staminaLarmour * (curses->staminaUse + 1.0f); else - client->ps.stats[ STAT_STAMINA ] -= staminaSprint; + client->ps.stats[ STAT_STAMINA ] -= staminaSprint * (curses->staminaUse + 1.0f); if( client->ps.stats[ STAT_STAMINA ] < -MAX_STAMINA ) client->ps.stats[ STAT_STAMINA ] = -MAX_STAMINA; @@ -700,7 +703,7 @@ void ClientTimerActions( gentity_t *ent, int msec ) if( ( aForward <= 64 && aForward > 5 ) || ( aRight <= 64 && aRight > 5 ) ) { //restore stamina - client->ps.stats[ STAT_STAMINA ] += STAMINA_WALK_RESTORE; + client->ps.stats[ STAT_STAMINA ] += STAMINA_WALK_RESTORE * (curses->staminaRegen + 1.0f); if( client->ps.stats[ STAT_STAMINA ] > MAX_STAMINA ) client->ps.stats[ STAT_STAMINA ] = MAX_STAMINA; @@ -708,7 +711,7 @@ void ClientTimerActions( gentity_t *ent, int msec ) else if( aForward <= 5 && aRight <= 5 ) { //restore stamina faster - client->ps.stats[ STAT_STAMINA ] += STAMINA_STOP_RESTORE; + client->ps.stats[ STAT_STAMINA ] += STAMINA_STOP_RESTORE * (curses->staminaRegen + 1.0f); if( client->ps.stats[ STAT_STAMINA ] > MAX_STAMINA ) client->ps.stats[ STAT_STAMINA ] = MAX_STAMINA; -- cgit