diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 4623f8ca7..7014c1506 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -1986,6 +1986,11 @@ GroupJoinBattlegroundResult Group::CanJoinBattlegroundQueue(Battleground const* // don't let Death Knights join BG queues when they are not allowed to be teleported yet if (member->getClass() == CLASS_DEATH_KNIGHT && member->GetMapId() == 609 && !member->IsGameMaster() && !member->HasSpell(50977)) return ERR_GROUP_JOIN_BATTLEGROUND_FAIL; + + if (!member->GetBGAccessByLevel(bgTemplate->GetBgTypeID())) + { + return ERR_BATTLEGROUND_JOIN_TIMED_OUT; + } } // for arenas: check party size is proper diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp index 585927819..8bbe394c8 100644 --- a/src/server/game/Handlers/BattleGroundHandler.cpp +++ b/src/server/game/Handlers/BattleGroundHandler.cpp @@ -187,6 +187,10 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket& recvData) { err = ERR_BATTLEGROUND_NONE; } + else if (!_player->GetBGAccessByLevel(bgTypeId)) + { + err = ERR_BATTLEGROUND_NONE; + } if (err <= 0) { @@ -236,6 +240,10 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket& recvData) { err = ERR_BATTLEGROUND_NONE; } + else if (!member->GetBGAccessByLevel(bgTypeId)) + { + err = ERR_BATTLEGROUND_JOIN_TIMED_OUT; + } if (err < 0) {