fix(Core/Battlegrounds): MinLevel and MaxLevel from `battelground… (#12880)

fix(Core/Battlegrounds): `MinLevel` and `MaxLevel` from `battelground_template` should be taken into account while joining bg queue.

Fixes #6781
This commit is contained in:
UltraNix
2022-09-21 19:17:38 +02:00
committed by GitHub
parent 76f855d995
commit bd536a039d
2 changed files with 13 additions and 0 deletions

View File

@@ -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

View File

@@ -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)
{