Core/Battlegrounds: Implement mercenary system

Port From (https://github.com/TrinityCore/TrinityCore/commit/87723e32e24f03ac1d062e33edcbe935e4e59421)
This commit is contained in:
hondacrx
2022-05-31 11:46:04 -04:00
parent 6751370788
commit 1ba88f81db
9 changed files with 90 additions and 3 deletions
+23
View File
@@ -3515,6 +3515,29 @@ namespace Game.Entities
uint GetChampioningFaction() { return m_ChampioningFaction; }
public void SetChampioningFaction(uint faction) { m_ChampioningFaction = faction; }
public void SwitchToOppositeTeam(bool apply)
{
m_team = GetNativeTeam();
if (apply)
m_team = (m_team == Team.Alliance) ? Team.Horde : Team.Alliance;
}
public Team GetBgQueueTeam()
{
if (HasAura(PlayerConst.SpellMercenaryContractHorde))
return Team.Horde;
if (HasAura(PlayerConst.SpellMercenaryContractAlliance))
return Team.Alliance;
return GetTeam();
}
public Team GetNativeTeam() { return TeamForRace(GetRace()); }
public uint GetNativeTeamId() { return TeamIdForRace(GetRace()); }
public void SetFactionForRace(Race race)
{
m_team = TeamForRace(race);