void CHL1MP_Player::ChangeTeam( int iTeamNum ) { bool bKill = false; if ( g_pGameRules->IsTeamplay() == true ) { if ( iTeamNum != GetTeamNumber() && GetTeamNumber() != TEAM_UNASSIGNED ) { bKill = true; } } BaseClass::ChangeTeam( iTeamNum ); m_flNextTeamChangeTime = gpGlobals->curtime + 5; if ( g_pGameRules->IsTeamplay() == true ) { SetPlayerTeamModel(); } else { SetPlayerModel(); } if ( bKill == true ) { CommitSuicide(); } }
void CHL2MP_Player::ChangeTeam( int iTeam ) { /* if ( GetNextTeamChangeTime() >= gpGlobals->curtime ) { char szReturnString[128]; Q_snprintf( szReturnString, sizeof( szReturnString ), "Please wait %d more seconds before trying to switch teams again.\n", (int)(GetNextTeamChangeTime() - gpGlobals->curtime) ); ClientPrint( this, HUD_PRINTTALK, szReturnString ); return; }*/ #ifndef GE_DLL bool bKill = false; if ( HL2MPRules()->IsTeamplay() != true && iTeam != TEAM_SPECTATOR ) { //don't let them try to join combine or rebels during deathmatch. iTeam = TEAM_UNASSIGNED; } if ( HL2MPRules()->IsTeamplay() == true ) { if ( iTeam != GetTeamNumber() && GetTeamNumber() != TEAM_UNASSIGNED ) { bKill = true; } } BaseClass::ChangeTeam( iTeam ); m_flNextTeamChangeTime = gpGlobals->curtime + TEAM_CHANGE_INTERVAL; if ( HL2MPRules()->IsTeamplay() == true ) { SetPlayerTeamModel(); } else { SetPlayerModel(); } if ( iTeam == TEAM_SPECTATOR ) { RemoveAllItems( true ); State_Transition( STATE_OBSERVER_MODE ); } if ( bKill == true ) { CommitSuicide(); } #else BaseClass::ChangeTeam( iTeam ); #endif }