diff options
-rw-r--r-- | src/game/bg_pmove.c | 15 | ||||
-rw-r--r-- | src/qcommon/q_shared.h | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c index b7cec16e..005cf46a 100644 --- a/src/game/bg_pmove.c +++ b/src/game/bg_pmove.c @@ -3406,12 +3406,16 @@ static void PM_Animate( void ) if( pm->cmd.buttons & BUTTON_GESTURE ) { + if( pm->ps->tauntTimer > 0 ) + return; + if( !( pm->ps->persistant[ PERS_STATE ] & PS_NONSEGMODEL ) ) { if( pm->ps->torsoTimer == 0 ) { PM_StartTorsoAnim( TORSO_GESTURE ); pm->ps->torsoTimer = TIMER_GESTURE; + pm->ps->tauntTimer = TIMER_GESTURE; PM_AddEvent( EV_TAUNT ); } @@ -3422,6 +3426,7 @@ static void PM_Animate( void ) { PM_ForceLegsAnim( NSPA_GESTURE ); pm->ps->torsoTimer = TIMER_GESTURE; + pm->ps->tauntTimer = TIMER_GESTURE; PM_AddEvent( EV_TAUNT ); } @@ -3465,6 +3470,16 @@ static void PM_DropTimers( void ) if( pm->ps->torsoTimer < 0 ) pm->ps->torsoTimer = 0; } + + if( pm->ps->tauntTimer > 0 ) + { + pm->ps->tauntTimer -= pml.msec; + + if( pm->ps->tauntTimer < 0 ) + { + pm->ps->tauntTimer = 0; + } + } } diff --git a/src/qcommon/q_shared.h b/src/qcommon/q_shared.h index c37f09d2..6eda5cd8 100644 --- a/src/qcommon/q_shared.h +++ b/src/qcommon/q_shared.h @@ -1116,6 +1116,8 @@ typedef struct playerState_s { int torsoTimer; // don't change low priority animations until this runs out int torsoAnim; // mask off ANIM_TOGGLEBIT + int tauntTimer; // don't allow another taunt until this runs out + int weaponAnim; // mask off ANIM_TOGGLEBIT int movementDir; // a number 0 to 7 that represents the reletive angle |