void CSDKGameRules::InitTeams( void ) { Assert( g_Teams.Count() == 0 ); g_Teams.Purge(); // just in case #if defined ( SDK_USE_PLAYERCLASSES ) // clear the player class data ResetFilePlayerClassInfoDatabase(); #endif // SDK_USE_PLAYERCLASSES // Create the team managers //Tony; we have a special unassigned team incase our mod is using classes but not teams. CTeam *pUnassigned = static_cast<CTeam*>(CreateEntityByName( "sdk_team_unassigned" )); Assert( pUnassigned ); pUnassigned->Init( pszTeamNames[TEAM_UNASSIGNED], TEAM_UNASSIGNED ); g_Teams.AddToTail( pUnassigned ); //Tony; just use a plain ole sdk_team_manager for spectators CTeam *pSpectator = static_cast<CTeam*>(CreateEntityByName( "sdk_team_manager" )); Assert( pSpectator ); pSpectator->Init( pszTeamNames[TEAM_SPECTATOR], TEAM_SPECTATOR ); g_Teams.AddToTail( pSpectator ); //Tony; don't create these two managers unless teams are being used! #if defined ( SDK_USE_TEAMS ) //Tony; create the blue team CTeam *pBlue = static_cast<CTeam*>(CreateEntityByName( "sdk_team_blue" )); Assert( pBlue ); pBlue->Init( pszTeamNames[SDK_TEAM_BLUE], SDK_TEAM_BLUE ); g_Teams.AddToTail( pBlue ); //Tony; create the red team CTeam *pRed = static_cast<CTeam*>(CreateEntityByName( "sdk_team_red" )); Assert( pRed ); pRed->Init( pszTeamNames[SDK_TEAM_RED], SDK_TEAM_RED ); g_Teams.AddToTail( pRed ); #else CTeam *pDeathmatch = static_cast<CTeam*>(CreateEntityByName( "sdk_team_deathmatch" )); Assert( pDeathmatch ); pDeathmatch->Init( pszTeamNames[SDK_TEAM_BLUE], SDK_TEAM_BLUE ); g_Teams.AddToTail( pDeathmatch ); #endif }
void CC_ReloadPlayerClasses_f (void) { ResetFilePlayerClassInfoDatabase(); }