aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ArenaTeamHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-02-08 19:58:34 +0100
committerShauren <shauren.trinity@gmail.com>2025-02-08 19:58:34 +0100
commitde9340ccec2d53d4b090bc6ebfadd67cc77d7f5a (patch)
treeab3a8dd6c8e3395b6519820cead0d793ac8dcb40 /src/server/game/Handlers/ArenaTeamHandler.cpp
parentb4adab5515f4c9445957184d48e3cd2da9b9f0f1 (diff)
Core/Battlegrounds: Port BattlegroundQueueTypeId changes from master branch
Diffstat (limited to 'src/server/game/Handlers/ArenaTeamHandler.cpp')
-rw-r--r--src/server/game/Handlers/ArenaTeamHandler.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/server/game/Handlers/ArenaTeamHandler.cpp b/src/server/game/Handlers/ArenaTeamHandler.cpp
index 58d7b4c692d..077a8e18805 100644
--- a/src/server/game/Handlers/ArenaTeamHandler.cpp
+++ b/src/server/game/Handlers/ArenaTeamHandler.cpp
@@ -234,8 +234,12 @@ void WorldSession::HandleArenaTeamLeaveOpcode(WorldPacket& recvData)
}
// Player cannot be removed during queues
- if (BattlegroundQueueTypeId bgQueue = BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_AA, arenaTeam->GetType()))
+ for (uint32 i = 0; i < PLAYER_MAX_BATTLEGROUND_QUEUES; ++i)
{
+ BattlegroundQueueTypeId bgQueue = _player->GetBattlegroundQueueTypeId(i);
+ if (bgQueue.BattlemasterListId != BATTLEGROUND_AA || bgQueue.TeamSize != arenaTeam->GetType())
+ continue;
+
GroupQueueInfo ginfo;
BattlegroundQueue& queue = sBattlegroundMgr->GetBattlegroundQueue(bgQueue);
if (queue.GetPlayerGroupInfoData(_player->GetGUID(), &ginfo))
@@ -277,8 +281,12 @@ void WorldSession::HandleArenaTeamDisbandOpcode(WorldPacket& recvData)
return;
// Teams cannot be disbanded during queues
- if (BattlegroundQueueTypeId bgQueue = BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_AA, arenaTeam->GetType()))
+ for (uint32 i = 0; i < PLAYER_MAX_BATTLEGROUND_QUEUES; ++i)
{
+ BattlegroundQueueTypeId bgQueue = _player->GetBattlegroundQueueTypeId(i);
+ if (bgQueue.BattlemasterListId != BATTLEGROUND_AA || bgQueue.TeamSize != arenaTeam->GetType())
+ continue;
+
GroupQueueInfo ginfo;
BattlegroundQueue& queue = sBattlegroundMgr->GetBattlegroundQueue(bgQueue);
if (queue.GetPlayerGroupInfoData(_player->GetGUID(), &ginfo))
@@ -336,8 +344,12 @@ void WorldSession::HandleArenaTeamRemoveOpcode(WorldPacket& recvData)
}
// Team cannot be removed during queues
- if (BattlegroundQueueTypeId bgQueue = BattlegroundMgr::BGQueueTypeId(BATTLEGROUND_AA, arenaTeam->GetType()))
+ for (uint32 i = 0; i < PLAYER_MAX_BATTLEGROUND_QUEUES; ++i)
{
+ BattlegroundQueueTypeId bgQueue = _player->GetBattlegroundQueueTypeId(i);
+ if (bgQueue.BattlemasterListId != BATTLEGROUND_AA || bgQueue.TeamSize != arenaTeam->GetType())
+ continue;
+
GroupQueueInfo ginfo;
BattlegroundQueue& queue = sBattlegroundMgr->GetBattlegroundQueue(bgQueue);
if (queue.GetPlayerGroupInfoData(_player->GetGUID(), &ginfo))