From 8fb9b0772084a6a02b28c3f31ab9c9705013873d Mon Sep 17 00:00:00 2001 From: mittorn Date: Tue, 10 Jan 2017 18:55:51 +0000 Subject: [PATCH] Fix bot respawn --- dlls/bot/hl_bot.cpp | 3 +++ dlls/player.cpp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/bot/hl_bot.cpp b/dlls/bot/hl_bot.cpp index da661cd0..6f11d5fc 100644 --- a/dlls/bot/hl_bot.cpp +++ b/dlls/bot/hl_bot.cpp @@ -164,6 +164,9 @@ void CHLBot::Killed(entvars_t *pevAttacker, int iGib) // extend CBasePlayer::Killed(pevAttacker, iGib); + + ClearMovement(); + //respawn( pev, !( m_afPhysicsFlags & PFLAG_OBSERVER ) ); } // Return true if line segment intersects rectagular volume diff --git a/dlls/player.cpp b/dlls/player.cpp index 188a052a..3b3e9f9e 100644 --- a/dlls/player.cpp +++ b/dlls/player.cpp @@ -1279,7 +1279,7 @@ void CBasePlayer::PlayerDeathThink( void ) // wait for all buttons released if( pev->deadflag == DEAD_DEAD ) { - if( fAnyButtonDown ) + if( !IsBot() && fAnyButtonDown ) return; if( g_pGameRules->FPlayerCanRespawn( this ) ) @@ -1301,7 +1301,7 @@ void CBasePlayer::PlayerDeathThink( void ) } // wait for any button down, or mp_forcerespawn is set and the respawn time is up - if( !fAnyButtonDown && !( g_pGameRules->IsMultiplayer() && forcerespawn.value > 0 && ( gpGlobals->time > ( m_fDeadTime + 5 ) ) ) ) + if( !fAnyButtonDown && !( g_pGameRules->IsMultiplayer() && ( IsBot() || forcerespawn.value ) && ( gpGlobals->time > ( m_fDeadTime + 5 ) ) ) ) return; pev->button = 0;