From 3890f5f0001c94445da6e8047521d42f2b875559 Mon Sep 17 00:00:00 2001 From: Kargatum Date: Fri, 25 Mar 2022 01:12:35 +0700 Subject: [PATCH] fix(Core/BattlegroundQueue): remove second queue if player enter bg (#11067) --- src/server/game/Handlers/BattleGroundHandler.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp index ae8da6564..5dab021d4 100644 --- a/src/server/game/Handlers/BattleGroundHandler.cpp +++ b/src/server/game/Handlers/BattleGroundHandler.cpp @@ -492,6 +492,16 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPacket& recvData) if (Battleground* currentBg = _player->GetBattleground()) currentBg->RemovePlayerAtLeave(_player); + for (uint8 i = 0; i < PLAYER_MAX_BATTLEGROUND_QUEUES; ++i) + { + auto playerBgQueueTypeId = _player->GetBattlegroundQueueTypeId(i); + if (playerBgQueueTypeId != BATTLEGROUND_QUEUE_NONE && playerBgQueueTypeId != bgQueueTypeId) + { + _player->RemoveBattlegroundQueueId(playerBgQueueTypeId); + sBattlegroundMgr->GetBattlegroundQueue(playerBgQueueTypeId).RemovePlayer(_player->GetGUID(), true); + } + } + // Remove from LFG queues sLFGMgr->LeaveAllLfgQueues(_player->GetGUID(), false);