fix(Core/Battlegrounds): Strand of the Ancients even ship spawns (#24427)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: sudlud <sudlud@users.noreply.github.com>
This commit is contained in:
sogladev
2026-01-18 19:50:24 +01:00
committed by GitHub
parent 182c9e4ad3
commit d177c900c7
2 changed files with 8 additions and 1 deletions

View File

@@ -52,6 +52,7 @@ BattlegroundSA::BattlegroundSA()
EndRoundTimer = 0s;
ShipsStarted = false;
Status = BG_SA_NOTSTARTED;
_nextShipIsEast = true;
for (uint8 i = 0; i < 6; i++)
GateStatus[i] = BG_SA_GATE_OK;
@@ -85,6 +86,7 @@ void BattlegroundSA::Init()
_notEvenAScratch[TEAM_HORDE] = true;
Status = BG_SA_WARMUP;
_relicClicked = false;
_nextShipIsEast = true;
}
bool BattlegroundSA::SetupBattleground()
@@ -181,6 +183,7 @@ bool BattlegroundSA::ResetObjs()
TotalTime = 0s;
ShipsStarted = false;
_nextShipIsEast = true;
//Graveyards!
for (uint8 i = 0; i < BG_SA_MAX_GY; i++)
@@ -574,10 +577,12 @@ void BattlegroundSA::TeleportToEntrancePosition(Player* player)
if (!ShipsStarted)
{
player->CastSpell(player, 12438, true);//Without this player falls before boat loads...
if (urand(0, 1))
if (_nextShipIsEast)
player->TeleportTo(MAP_STRAND_OF_THE_ANCIENTS, 2682.936f, -830.368f, 15.0f, 2.895f, 0);
else
player->TeleportTo(MAP_STRAND_OF_THE_ANCIENTS, 2577.003f, 980.261f, 15.0f, 0.807f, 0);
_nextShipIsEast = !_nextShipIsEast;
}
else
player->TeleportTo(MAP_STRAND_OF_THE_ANCIENTS, 1600.381f, -106.263f, 8.8745f, 3.78f, 0);

View File

@@ -620,5 +620,7 @@ private:
// Achievement: Not Even a Scratch
bool _notEvenAScratch[PVP_TEAMS_COUNT];
/// Toggle for alternating player spawns between East and West ships (true = first/East ship, false = second/West ship)
bool _nextShipIsEast;
};
#endif