diff options
author | Paweł Redman <pawel.redman@gmail.com> | 2018-02-23 20:43:53 +0100 |
---|---|---|
committer | Paweł Redman <pawel.redman@gmail.com> | 2018-02-23 22:14:16 +0100 |
commit | 50d8779208632d2cc23be36e144b0297b0c02d2b (patch) | |
tree | 9dd0dc41c4545a0be46c2612326ce351912e837b /src/game/g_active.c | |
parent | 4e7cea5faf3470e1cd1bf71eda5ad2999e82a822 (diff) |
Add !curse with some basic features.
Diffstat (limited to 'src/game/g_active.c')
-rw-r--r-- | src/game/g_active.c | 11 |
1 files changed, 7 insertions, 4 deletions
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; |