diff --git a/src/game/server/hl2mp/hl2mp_client.cpp b/src/game/server/hl2mp/hl2mp_client.cpp index 30d218187..46157f966 100644 --- a/src/game/server/hl2mp/hl2mp_client.cpp +++ b/src/game/server/hl2mp/hl2mp_client.cpp @@ -63,6 +63,11 @@ void FinishClientPutInServer( CHL2MP_Player *pPlayer ) ClientPrint( pPlayer, HUD_PRINTTALK, "You are on team %s1\n", pPlayer->GetTeam()->GetName() ); } + if ( pPlayer->GetTeamNumber() == TEAM_SPECTATOR ) + { + pPlayer->RemoveAllItems( true ); + } + const ConVar *hostname = cvar->FindVar( "hostname" ); const char *title = (hostname) ? hostname->GetString() : "MESSAGE OF THE DAY"; diff --git a/src/game/server/hl2mp/hl2mp_player.cpp b/src/game/server/hl2mp/hl2mp_player.cpp index 9457928a0..371749ffc 100644 --- a/src/game/server/hl2mp/hl2mp_player.cpp +++ b/src/game/server/hl2mp/hl2mp_player.cpp @@ -999,6 +999,9 @@ void CHL2MP_Player::ChangeTeam( int iTeam ) { RemoveAllItems( true ); + if ( FlashlightIsOn() ) + FlashlightTurnOff(); + State_Transition( STATE_OBSERVER_MODE ); } diff --git a/src/game/shared/hl2mp/hl2mp_gamerules.cpp b/src/game/shared/hl2mp/hl2mp_gamerules.cpp index 87a3cf6e3..a533a569a 100644 --- a/src/game/shared/hl2mp/hl2mp_gamerules.cpp +++ b/src/game/shared/hl2mp/hl2mp_gamerules.cpp @@ -1026,7 +1026,8 @@ void CHL2MPRules::RestartGame() pPlayer->GetActiveWeapon()->Holster(); } pPlayer->RemoveAllItems( true ); - respawn( pPlayer, false ); + if ( pPlayer->GetTeamNumber() != TEAM_SPECTATOR ) + respawn( pPlayer, false ); pPlayer->Reset(); }