uint32 BattleGroundMgr::CreateBattleGround(uint32 MaxPlayersPerTeam, uint32 LevelMin, uint32 LevelMax, std::string BattleGroundName, uint32 MapID, float Team1StartLocX, float Team1StartLocY, float Team1StartLocZ, float Team1StartLocO, float Team2StartLocX, float Team2StartLocY, float Team2StartLocZ, float Team2StartLocO) { // Create the BG BattleGround *bg = new BattleGround; bg->SetMapId(MapID); bg->SetMaxPlayersPerTeam(MaxPlayersPerTeam); bg->SetMaxPlayers(MaxPlayersPerTeam*2); bg->SetName(BattleGroundName); bg->SetTeamStartLoc(0, Team1StartLocX, Team1StartLocY, Team1StartLocZ, Team1StartLocO); bg->SetTeamStartLoc(1, Team2StartLocX, Team2StartLocY, Team2StartLocZ, Team2StartLocO); bg->SetLevelRange(LevelMin, LevelMax); uint32 BattleGroundID = m_BattleGrounds.size(); // this will be replaced with instance ID later. if(BattleGroundID == 0) BattleGroundID = 1; bg->SetID(BattleGroundID); AddBattleGround(BattleGroundID, bg); sLog.outString("BattleGroundMgr: Created new battleground: %u %s (Map %u, %u players per team, Levels %u-%u)", BattleGroundID, bg->m_Name.c_str(), bg->m_MapId, bg->m_MaxPlayersPerTeam, bg->m_LevelMin, bg->m_LevelMax); return BattleGroundID; }