diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp index b8a0519d2..4967c8ed4 100644 --- a/src/game/server/player.cpp +++ b/src/game/server/player.cpp @@ -1462,6 +1462,7 @@ void CBasePlayer::OnDamagedByExplosion( const CTakeDamageInfo &info ) CSingleUserRecipientFilter user( this ); enginesound->SetPlayerDSP( user, effect, false ); + iDamageTime = gpGlobals->curtime; } //========================================================= diff --git a/src/game/server/player.h b/src/game/server/player.h index 902e0e627..19dd58300 100644 --- a/src/game/server/player.h +++ b/src/game/server/player.h @@ -838,6 +838,7 @@ private: int DetermineSimulationTicks( void ); void AdjustPlayerTimeBase( int simulation_ticks ); + int iDamageTime; public: diff --git a/src/game/server/player_command.cpp b/src/game/server/player_command.cpp index a8469d6ff..b8d754fa7 100644 --- a/src/game/server/player_command.cpp +++ b/src/game/server/player_command.cpp @@ -13,6 +13,7 @@ #include "player_command.h" #include "movehelper_server.h" #include "iservervehicle.h" +#include "engine/IEngineSound.h" #include "tier0/vprof.h" // memdbgon must be the last include file in a .cpp file!!! @@ -300,6 +301,11 @@ void CPlayerMove::RunPostThink( CBasePlayer *player ) { VPROF( "CPlayerMove::RunPostThink" ); + CSingleUserRecipientFilter user( player ); + + if ( gpGlobals->curtime >= player->iDamageTime + 3 ) + enginesound->SetPlayerDSP( user, 0, false ); + // Run post-think player->PostThink(); }