Core/WorldStates: Migrate battleground worldstates to new system

Port From (https://github.com/TrinityCore/TrinityCore/commit/5dbfaecd5c020fd4c3b3dfc235580849c39ce7db)
This commit is contained in:
hondacrx
2022-07-10 14:59:20 -04:00
parent d0cc9645b9
commit ae9308c1cb
17 changed files with 693 additions and 1128 deletions
+4 -24
View File
@@ -635,22 +635,14 @@ namespace Game.BattleGrounds
}
}
public void UpdateWorldState(uint variable, uint value, bool hidden = false)
public void UpdateWorldState(int worldStateId, int value, bool hidden = false)
{
UpdateWorldState worldstate = new();
worldstate.VariableID = variable;
worldstate.Value = (int)value;
worldstate.Hidden = hidden;
SendPacketToAll(worldstate);
Global.WorldStateMgr.SetValue(worldStateId, value, hidden, GetBgMap());
}
public void UpdateWorldState(uint variable, bool value, bool hidden = false)
public void UpdateWorldState(uint worldStateId, int value, bool hidden = false)
{
UpdateWorldState worldstate = new();
worldstate.VariableID = variable;
worldstate.Value = value ? 1 : 0;
worldstate.Hidden = hidden;
SendPacketToAll(worldstate);
Global.WorldStateMgr.SetValue((int)worldStateId, value, hidden, GetBgMap());
}
public virtual void EndBattleground(Team winner)
@@ -958,8 +950,6 @@ namespace Game.BattleGrounds
PlayerScores.Clear();
ResetBGSubclass();
_playerPositions.Clear();
}
@@ -1883,12 +1873,6 @@ namespace Game.BattleGrounds
trigger, player.GetMapId(), player.GetPositionX(), player.GetPositionY(), player.GetPositionZ());
}
public virtual bool CheckAchievementCriteriaMeet(uint criteriaId, Player source, Unit target, uint miscvalue1 = 0)
{
Log.outError(LogFilter.Battleground, "Battleground.CheckAchievementCriteriaMeet: No implementation for criteria {0}", criteriaId);
return false;
}
public virtual bool SetupBattleground()
{
return true;
@@ -1967,10 +1951,8 @@ namespace Game.BattleGrounds
public virtual void StartingEventCloseDoors() { }
public virtual void StartingEventOpenDoors() { }
public virtual void ResetBGSubclass() { } // must be implemented in BG subclass
public virtual void DestroyGate(Player player, GameObject go) { }
public virtual bool IsAllNodesControlledByTeam(Team team) { return false; }
public BattlegroundQueueTypeId GetQueueId() { return m_queueId; }
public uint GetInstanceID() { return m_InstanceID; }
@@ -2029,8 +2011,6 @@ namespace Game.BattleGrounds
public void SetBgMap(BattlegroundMap map) { m_Map = map; }
BattlegroundMap FindBgMap() { return m_Map; }
public virtual void FillInitialWorldStates(InitWorldStates data) { }
Group GetBgRaid(Team team) { return m_BgRaids[GetTeamIndexByTeamId(team)]; }
public static int GetTeamIndexByTeamId(Team team) { return team == Team.Alliance ? TeamId.Alliance : TeamId.Horde; }