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
+21 -21
View File
@@ -278,13 +278,13 @@ namespace Game
uint team = Player.TeamIdForRace(charCreate.CreateInfo.RaceId);
switch (team)
{
case BatttleGroundTeamId.Alliance:
case BattleGroundTeamId.Alliance:
disabled = Convert.ToBoolean(mask & (1 << 0));
break;
case BatttleGroundTeamId.Horde:
case BattleGroundTeamId.Horde:
disabled = Convert.ToBoolean(mask & (1 << 1));
break;
case BatttleGroundTeamId.Neutral:
case BattleGroundTeamId.Neutral:
disabled = Convert.ToBoolean(mask & (1 << 2));
break;
}
@@ -1771,7 +1771,7 @@ namespace Game
}
uint newTeamId = Player.TeamIdForRace(factionChangeInfo.RaceID);
if (newTeamId == BatttleGroundTeamId.Neutral)
if (newTeamId == BattleGroundTeamId.Neutral)
{
SendCharFactionChange(ResponseCodes.CharCreateRestrictedRaceclass, factionChangeInfo);
return;
@@ -1890,7 +1890,7 @@ namespace Game
stmt.AddValue(0, lowGuid);
// Faction specific languages
if (newTeamId == BatttleGroundTeamId.Horde)
if (newTeamId == BattleGroundTeamId.Horde)
stmt.AddValue(1, 109);
else
stmt.AddValue(1, 98);
@@ -1979,7 +1979,7 @@ namespace Game
string taximaskstream = "";
var factionMask = newTeamId == BatttleGroundTeamId.Horde ? CliDB.HordeTaxiNodesMask : CliDB.AllianceTaxiNodesMask;
var factionMask = newTeamId == BattleGroundTeamId.Horde ? CliDB.HordeTaxiNodesMask : CliDB.AllianceTaxiNodesMask;
for (int i = 0; i < factionMask.Length; ++i)
{
// i = (315 - 1) / 8 = 39
@@ -2033,7 +2033,7 @@ namespace Game
WorldLocation loc;
ushort zoneId = 0;
if (newTeamId == BatttleGroundTeamId.Alliance)
if (newTeamId == BattleGroundTeamId.Alliance)
{
loc = new WorldLocation(0, -8867.68f, 673.373f, 97.9034f, 0.0f);
zoneId = 1519;
@@ -2060,19 +2060,19 @@ namespace Game
uint achiev_horde = it.Value;
stmt = CharacterDatabase.GetPreparedStatement(CharStatements.DEL_CHAR_ACHIEVEMENT_BY_ACHIEVEMENT);
stmt.AddValue(0, (ushort)(newTeamId == BatttleGroundTeamId.Alliance ? achiev_alliance : achiev_horde));
stmt.AddValue(0, (ushort)(newTeamId == BattleGroundTeamId.Alliance ? achiev_alliance : achiev_horde));
stmt.AddValue(1, lowGuid);
trans.Append(stmt);
stmt = CharacterDatabase.GetPreparedStatement(CharStatements.UPD_CHAR_ACHIEVEMENT);
stmt.AddValue(0, (ushort)(newTeamId == BatttleGroundTeamId.Alliance ? achiev_alliance : achiev_horde));
stmt.AddValue(1, (ushort)(newTeamId == BatttleGroundTeamId.Alliance ? achiev_horde : achiev_alliance));
stmt.AddValue(0, (ushort)(newTeamId == BattleGroundTeamId.Alliance ? achiev_alliance : achiev_horde));
stmt.AddValue(1, (ushort)(newTeamId == BattleGroundTeamId.Alliance ? achiev_horde : achiev_alliance));
stmt.AddValue(2, lowGuid);
trans.Append(stmt);
}
// Item conversion
var itemConversionMap = newTeamId == BatttleGroundTeamId.Alliance ? Global.ObjectMgr.FactionChangeItemsHordeToAlliance : Global.ObjectMgr.FactionChangeItemsAllianceToHorde;
var itemConversionMap = newTeamId == BattleGroundTeamId.Alliance ? Global.ObjectMgr.FactionChangeItemsHordeToAlliance : Global.ObjectMgr.FactionChangeItemsAllianceToHorde;
foreach (var it in itemConversionMap)
{
uint oldItemId = it.Key;
@@ -2098,12 +2098,12 @@ namespace Game
stmt = CharacterDatabase.GetPreparedStatement(CharStatements.DEL_CHAR_QUESTSTATUS_REWARDED_BY_QUEST);
stmt.AddValue(0, lowGuid);
stmt.AddValue(1, (newTeamId == BatttleGroundTeamId.Alliance ? quest_alliance : quest_horde));
stmt.AddValue(1, (newTeamId == BattleGroundTeamId.Alliance ? quest_alliance : quest_horde));
trans.Append(stmt);
stmt = CharacterDatabase.GetPreparedStatement(CharStatements.UPD_CHAR_QUESTSTATUS_REWARDED_FACTION_CHANGE);
stmt.AddValue(0, (newTeamId == BatttleGroundTeamId.Alliance ? quest_alliance : quest_horde));
stmt.AddValue(1, (newTeamId == BatttleGroundTeamId.Alliance ? quest_horde : quest_alliance));
stmt.AddValue(0, (newTeamId == BattleGroundTeamId.Alliance ? quest_alliance : quest_horde));
stmt.AddValue(1, (newTeamId == BattleGroundTeamId.Alliance ? quest_horde : quest_alliance));
stmt.AddValue(2, lowGuid);
trans.Append(stmt);
}
@@ -2118,7 +2118,7 @@ namespace Game
var questTemplates = Global.ObjectMgr.GetQuestTemplates();
foreach (Quest quest in questTemplates.Values)
{
RaceMask<ulong> newRaceMask = newTeamId == BatttleGroundTeamId.Alliance ? RaceMask.Alliance : RaceMask.Horde;
RaceMask<ulong> newRaceMask = newTeamId == BattleGroundTeamId.Alliance ? RaceMask.Alliance : RaceMask.Horde;
if (quest.AllowableRaces.RawValue != unchecked((ulong)-1) && (quest.AllowableRaces & newRaceMask).IsEmpty())
{
stmt = CharacterDatabase.GetPreparedStatement(CharStatements.UPD_CHAR_QUESTSTATUS_REWARDED_ACTIVE_BY_QUEST);
@@ -2136,13 +2136,13 @@ namespace Game
uint spell_horde = it.Value;
stmt = CharacterDatabase.GetPreparedStatement(CharStatements.DEL_CHAR_SPELL_BY_SPELL);
stmt.AddValue(0, (newTeamId == BatttleGroundTeamId.Alliance ? spell_alliance : spell_horde));
stmt.AddValue(0, (newTeamId == BattleGroundTeamId.Alliance ? spell_alliance : spell_horde));
stmt.AddValue(1, lowGuid);
trans.Append(stmt);
stmt = CharacterDatabase.GetPreparedStatement(CharStatements.UPD_CHAR_SPELL_FACTION_CHANGE);
stmt.AddValue(0, (newTeamId == BatttleGroundTeamId.Alliance ? spell_alliance : spell_horde));
stmt.AddValue(1, (newTeamId == BatttleGroundTeamId.Alliance ? spell_horde : spell_alliance));
stmt.AddValue(0, (newTeamId == BattleGroundTeamId.Alliance ? spell_alliance : spell_horde));
stmt.AddValue(1, (newTeamId == BattleGroundTeamId.Alliance ? spell_horde : spell_alliance));
stmt.AddValue(2, lowGuid);
trans.Append(stmt);
}
@@ -2152,8 +2152,8 @@ namespace Game
{
uint reputation_alliance = it.Key;
uint reputation_horde = it.Value;
uint newReputation = (newTeamId == BatttleGroundTeamId.Alliance) ? reputation_alliance : reputation_horde;
uint oldReputation = (newTeamId == BatttleGroundTeamId.Alliance) ? reputation_horde : reputation_alliance;
uint newReputation = (newTeamId == BattleGroundTeamId.Alliance) ? reputation_alliance : reputation_horde;
uint oldReputation = (newTeamId == BattleGroundTeamId.Alliance) ? reputation_horde : reputation_alliance;
// select old standing set in db
stmt = CharacterDatabase.GetPreparedStatement(CharStatements.SEL_CHAR_REP_BY_FACTION);
@@ -2210,7 +2210,7 @@ namespace Game
CharTitlesRecord atitleInfo = CliDB.CharTitlesStorage.LookupByKey(title_alliance);
CharTitlesRecord htitleInfo = CliDB.CharTitlesStorage.LookupByKey(title_horde);
// new team
if (newTeamId == BatttleGroundTeamId.Alliance)
if (newTeamId == BattleGroundTeamId.Alliance)
{
uint maskID = htitleInfo.MaskID;
int index = (int)maskID / 32;