fix(Core/DK): Don't allow starter dk to queue bg (#2584)

This commit is contained in:
Shard
2020-01-26 16:25:48 +01:00
committed by Stoabrogga
parent 999d588c37
commit 35b6bedd81
2 changed files with 7 additions and 1 deletions

View File

@@ -1875,6 +1875,10 @@ GroupJoinBattlegroundResult Group::CanJoinBattlegroundQueue(Battleground const*
// don't let join to bg queue random if someone from the group is already in bg queue
if (bgTemplate->GetBgTypeID() == BATTLEGROUND_RB && member->InBattlegroundQueue())
return ERR_IN_NON_RANDOM_BG;
// 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;
}
// for arenas: check party size is proper
@@ -2335,4 +2339,3 @@ void Group::ToggleGroupMemberFlag(member_witerator slot, uint8 flag, bool apply)
else
slot->flags &= ~flag;
}

View File

@@ -158,6 +158,9 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPacket & recvData)
_player->InBattlegroundQueueForBattlegroundQueueType(BATTLEGROUND_QUEUE_3v3) ||
_player->InBattlegroundQueueForBattlegroundQueueType(BATTLEGROUND_QUEUE_5v5)) // can't be already queued for arenas
err = ERR_BATTLEGROUND_QUEUED_FOR_RATED;
// don't let Death Knights join BG queues when they are not allowed to be teleported yet
else if (_player->getClass() == CLASS_DEATH_KNIGHT && _player->GetMapId() == 609 && !_player->IsGameMaster() && !_player->HasSpell(50977))
err = ERR_BATTLEGROUND_NONE;
if (err <= 0)
{