// used to create the BG templates bool CreateBattleground(BattlegroundTemplate bgTemplate) { Battleground bg = GetBattlegroundTemplate(bgTemplate.Id); if (!bg) { // Create the BG switch (bgTemplate.Id) { //case BattlegroundTypeId.AV: // bg = new BattlegroundAV(); //break; case BattlegroundTypeId.WS: bg = new BgWarsongGluch(); break; case BattlegroundTypeId.AB: bg = new BgArathiBasin(); break; case BattlegroundTypeId.NA: bg = new NagrandArena(); break; case BattlegroundTypeId.BE: bg = new BladesEdgeArena(); break; case BattlegroundTypeId.EY: bg = new BgEyeofStorm(); break; case BattlegroundTypeId.RL: bg = new RuinsofLordaeronArena(); break; case BattlegroundTypeId.SA: bg = new BgStrandOfAncients(); break; case BattlegroundTypeId.DS: bg = new DalaranSewersArena(); break; case BattlegroundTypeId.RV: bg = new RingofValorArena(); break; //case BattlegroundTypeId.IC: //bg = new BattlegroundIC(); //break; case BattlegroundTypeId.AA: bg = new Battleground(); break; case BattlegroundTypeId.RB: bg = new Battleground(); bg.SetRandom(true); break; /* * case BattlegroundTypeId.TP: * bg = new BattlegroundTP(); * break; * case BattlegroundTypeId.BFG: * bg = new BattlegroundBFG(); * break; */ default: return(false); } bg.SetTypeID(bgTemplate.Id); } bg.SetMapId((uint)bgTemplate.BattlemasterEntry.MapId[0]); bg.SetName(bgTemplate.BattlemasterEntry.Name[Global.WorldMgr.GetDefaultDbcLocale()]); bg.SetInstanceID(0); bg.SetArenaorBGType(bgTemplate.IsArena()); bg.SetMinPlayersPerTeam(bgTemplate.MinPlayersPerTeam); bg.SetMaxPlayersPerTeam(bgTemplate.MaxPlayersPerTeam); bg.SetMinPlayers(bgTemplate.MinPlayersPerTeam * 2); bg.SetMaxPlayers(bgTemplate.MaxPlayersPerTeam * 2); bg.SetTeamStartPosition(TeamId.Alliance, bgTemplate.StartLocation[TeamId.Alliance]); bg.SetTeamStartPosition(TeamId.Horde, bgTemplate.StartLocation[TeamId.Horde]); bg.SetStartMaxDist(bgTemplate.StartMaxDist); bg.SetLevelRange(bgTemplate.MinLevel, bgTemplate.MaxLevel); bg.SetScriptId(bgTemplate.scriptId); bg.SetQueueId((ulong)bgTemplate.Id | 0x1F10000000000000); if (!bgDataStore.ContainsKey(bg.GetTypeID())) { bgDataStore[bg.GetTypeID()] = new BattlegroundData(); } bgDataStore[bg.GetTypeID()].Template = bg; return(true); }
// used to create the BG templates bool CreateBattleground(BattlegroundTemplate bgTemplate) { Battleground bg = GetBattlegroundTemplate(bgTemplate.Id); if (!bg) { // Create the BG switch (bgTemplate.Id) { //case BattlegroundTypeId.AV: // bg = new BattlegroundAV(bgTemplate); //break; case BattlegroundTypeId.WS: bg = new BgWarsongGluch(bgTemplate); break; case BattlegroundTypeId.AB: bg = new BgArathiBasin(bgTemplate); break; case BattlegroundTypeId.NA: bg = new NagrandArena(bgTemplate); break; case BattlegroundTypeId.BE: bg = new BladesEdgeArena(bgTemplate); break; case BattlegroundTypeId.EY: bg = new BgEyeofStorm(bgTemplate); break; case BattlegroundTypeId.RL: bg = new RuinsofLordaeronArena(bgTemplate); break; case BattlegroundTypeId.SA: bg = new BgStrandOfAncients(bgTemplate); break; case BattlegroundTypeId.DS: bg = new DalaranSewersArena(bgTemplate); break; case BattlegroundTypeId.RV: bg = new RingofValorArena(bgTemplate); break; //case BattlegroundTypeId.IC: //bg = new BattlegroundIC(bgTemplate); //break; case BattlegroundTypeId.AA: bg = new Battleground(bgTemplate); break; case BattlegroundTypeId.RB: bg = new Battleground(bgTemplate); bg.SetRandom(true); break; /* * case BattlegroundTypeId.TP: * bg = new BattlegroundTP(bgTemplate); * break; * case BattlegroundTypeId.BFG: * bg = new BattlegroundBFG(bgTemplate); * break; */ default: return(false); } } bg.SetInstanceID(0); if (!bgDataStore.ContainsKey(bg.GetTypeID())) { bgDataStore[bg.GetTypeID()] = new BattlegroundData(); } bgDataStore[bg.GetTypeID()].Template = bg; return(true); }