summaryrefslogtreecommitdiff
path: root/src/game/g_active.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/g_active.c')
-rw-r--r--src/game/g_active.c11
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;