Core/Battlegrounds: Strand of the Ancients Rework

Port From (https://github.com/TrinityCore/TrinityCore/commit/3d56cdc08413a0682299136a763e13e67d38818b)
This commit is contained in:
hondacrx
2024-03-06 17:19:02 -05:00
parent faab7ba1f1
commit 69d144c399
27 changed files with 876 additions and 1339 deletions
+12 -12
View File
@@ -1265,8 +1265,8 @@ namespace Game
public void SetForcedWarModeFactionBalanceState(int team, int reward = 0)
{
Global.WorldStateMgr.SetValueAndSaveInDb(WorldStates.WarModeHordeBuffValue, 10 + (team == BatttleGroundTeamId.Alliance ? reward : 0), false, null);
Global.WorldStateMgr.SetValueAndSaveInDb(WorldStates.WarModeAllianceBuffValue, 10 + (team == BatttleGroundTeamId.Horde ? reward : 0), false, null);
Global.WorldStateMgr.SetValueAndSaveInDb(WorldStates.WarModeHordeBuffValue, 10 + (team == BattleGroundTeamId.Alliance ? reward : 0), false, null);
Global.WorldStateMgr.SetValueAndSaveInDb(WorldStates.WarModeAllianceBuffValue, 10 + (team == BattleGroundTeamId.Horde ? reward : 0), false, null);
}
public void DisableForcedWarModeFactionBalanceState()
@@ -2477,9 +2477,9 @@ namespace Game
if (raceFaction != null)
{
if ((raceFaction.FactionGroup & (byte)FactionMasks.Alliance) != 0)
warModeEnabledFaction[BatttleGroundTeamId.Alliance] += result.Read<long>(1);
warModeEnabledFaction[BattleGroundTeamId.Alliance] += result.Read<long>(1);
else if ((raceFaction.FactionGroup & (byte)FactionMasks.Horde) != 0)
warModeEnabledFaction[BatttleGroundTeamId.Horde] += result.Read<long>(1);
warModeEnabledFaction[BattleGroundTeamId.Horde] += result.Read<long>(1);
}
}
@@ -2487,19 +2487,19 @@ namespace Game
}
int dominantFaction = BatttleGroundTeamId.Alliance;
int dominantFaction = BattleGroundTeamId.Alliance;
int outnumberedFactionReward = 0;
if (warModeEnabledFaction.Any(val => val != 0))
{
long dominantFactionCount = warModeEnabledFaction[BatttleGroundTeamId.Alliance];
if (warModeEnabledFaction[BatttleGroundTeamId.Alliance] < warModeEnabledFaction[BatttleGroundTeamId.Horde])
long dominantFactionCount = warModeEnabledFaction[BattleGroundTeamId.Alliance];
if (warModeEnabledFaction[BattleGroundTeamId.Alliance] < warModeEnabledFaction[BattleGroundTeamId.Horde])
{
dominantFactionCount = warModeEnabledFaction[BatttleGroundTeamId.Horde];
dominantFaction = BatttleGroundTeamId.Horde;
dominantFactionCount = warModeEnabledFaction[BattleGroundTeamId.Horde];
dominantFaction = BattleGroundTeamId.Horde;
}
double total = warModeEnabledFaction[BatttleGroundTeamId.Alliance] + warModeEnabledFaction[BatttleGroundTeamId.Horde];
double total = warModeEnabledFaction[BattleGroundTeamId.Alliance] + warModeEnabledFaction[BattleGroundTeamId.Horde];
double pct = dominantFactionCount / total;
if (pct >= WorldConfig.GetFloatValue(WorldCfg.CallToArms20Pct))
@@ -2510,8 +2510,8 @@ namespace Game
outnumberedFactionReward = 5;
}
Global.WorldStateMgr.SetValueAndSaveInDb(WorldStates.WarModeHordeBuffValue, 10 + (dominantFaction == BatttleGroundTeamId.Alliance ? outnumberedFactionReward : 0), false, null);
Global.WorldStateMgr.SetValueAndSaveInDb(WorldStates.WarModeAllianceBuffValue, 10 + (dominantFaction == BatttleGroundTeamId.Horde ? outnumberedFactionReward : 0), false, null);
Global.WorldStateMgr.SetValueAndSaveInDb(WorldStates.WarModeHordeBuffValue, 10 + (dominantFaction == BattleGroundTeamId.Alliance ? outnumberedFactionReward : 0), false, null);
Global.WorldStateMgr.SetValueAndSaveInDb(WorldStates.WarModeAllianceBuffValue, 10 + (dominantFaction == BattleGroundTeamId.Horde ? outnumberedFactionReward : 0), false, null);
}
public uint GetVirtualRealmAddress()