diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cgame/cg_draw.c | 8 | ||||
-rw-r--r-- | src/cgame/cg_local.h | 1 | ||||
-rw-r--r-- | src/cgame/cg_tutorial.c | 22 | ||||
-rw-r--r-- | src/game/bg_pmove.c | 2 | ||||
-rw-r--r-- | src/game/tremulous.h | 2 |
5 files changed, 29 insertions, 6 deletions
diff --git a/src/cgame/cg_draw.c b/src/cgame/cg_draw.c index bbeb9848..ddfc9fb9 100644 --- a/src/cgame/cg_draw.c +++ b/src/cgame/cg_draw.c @@ -715,12 +715,18 @@ static void CG_DrawUsableBuildable( rectDef_t *rect, qhandle_t shader, vec4_t co if( ( es->modelindex == BA_H_REACTOR || es->modelindex == BA_H_REPEATER ) && ( !BG_Weapon( cg.snap->ps.weapon )->usesEnergy || BG_Weapon( cg.snap->ps.weapon )->infiniteAmmo ) ) + { + cg.nearUsableBuildable = qfalse; return; + } trap_R_SetColor( color ); CG_DrawPic( rect->x, rect->y, rect->w, rect->h, shader ); trap_R_SetColor( NULL ); + cg.nearUsableBuildable = qtrue; } + else + cg.nearUsableBuildable = qfalse; } @@ -2903,7 +2909,7 @@ static void CG_DrawLighting( void ) cent = &cg_entities[ cg.snap->ps.clientNum ]; //fade to black if stamina is low - if( ( cg.snap->ps.stats[ STAT_STAMINA ] < -800 ) && + if( ( cg.snap->ps.stats[ STAT_STAMINA ] < STAMINA_BLACKOUT_LEVEL ) && ( cg.snap->ps.stats[ STAT_TEAM ] == TEAM_HUMANS ) ) { vec4_t black = { 0, 0, 0, 0 }; diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h index 6b146653..a51e718a 100644 --- a/src/cgame/cg_local.h +++ b/src/cgame/cg_local.h @@ -1155,6 +1155,7 @@ typedef struct float chargeMeterValue; qhandle_t lastHealthCross; float healthCrossFade; + int nearUsableBuildable; int nextWeaponClickTime; diff --git a/src/cgame/cg_tutorial.c b/src/cgame/cg_tutorial.c index 38dd52f4..ef421ec6 100644 --- a/src/cgame/cg_tutorial.c +++ b/src/cgame/cg_tutorial.c @@ -524,16 +524,30 @@ static void CG_HumanText( char *text, playerState_t *ps ) BG_Upgrade( UP_MEDKIT )->humanName ) ); } - Q_strcat( text, MAX_TUTORIAL_TEXT, - va( "Press %s to use a structure\n", - CG_KeyNameForCommand( "+button7" ) ) ); + if( ps->stats[ STAT_STAMINA ] <= STAMINA_BLACKOUT_LEVEL ) + { + Q_strcat( text, MAX_TUTORIAL_TEXT, + "You are blacking out. Stop sprinting to recover stamina.\n" ); + } + else if( ps->stats[ STAT_STAMINA ] <= STAMINA_SLOW_LEVEL ) + { + Q_strcat( text, MAX_TUTORIAL_TEXT, + "Your stamina is low. Stop sprinting to recover.\n" ); + } + + if( cg.nearUsableBuildable ) + { + Q_strcat( text, MAX_TUTORIAL_TEXT, + va( "Press %s to use this structure\n", + CG_KeyNameForCommand( "+button7" ) ) ); + } Q_strcat( text, MAX_TUTORIAL_TEXT, va( "Press %s and any direction to sprint\n", CG_KeyNameForCommand( "+button8" ) ) ); Q_strcat( text, MAX_TUTORIAL_TEXT, - va( "Press %s and back, left-strafe, or right-strafe to dodge\n", + va( "Press %s and back or strafe to dodge\n", CG_KeyNameForCommand( "+button6" ) ) ); } diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c index 5d51c34a..80d33066 100644 --- a/src/game/bg_pmove.c +++ b/src/game/bg_pmove.c @@ -431,7 +431,7 @@ static float PM_CmdScale( usercmd_t *cmd ) cmd->upmove = 0; //slow down once stamina depletes - if( pm->ps->stats[ STAT_STAMINA ] <= -500 ) + if( pm->ps->stats[ STAT_STAMINA ] <= STAMINA_SLOW_LEVEL ) modifier *= (float)( pm->ps->stats[ STAT_STAMINA ] + 1000 ) / 500.0f; if( pm->ps->stats[ STAT_STATE ] & SS_CREEPSLOWED ) diff --git a/src/game/tremulous.h b/src/game/tremulous.h index 7267355b..0445a8d3 100644 --- a/src/game/tremulous.h +++ b/src/game/tremulous.h @@ -639,6 +639,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define STAMINA_JUMP_TAKE 250 #define STAMINA_DODGE_TAKE 250 #define STAMINA_BREATHING_LEVEL 0 +#define STAMINA_SLOW_LEVEL -500 +#define STAMINA_BLACKOUT_LEVEL -800 #define HUMAN_SPAWN_REPEAT_TIME 10000 #define HUMAN_REGEN_DAMAGE_TIME 2000 //msec since damage before dcc repairs |