mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/Battleground: Check battlegrounds disabled in db2 files (#23924)
* Name BattlemasterList flags
This commit is contained in:
@@ -185,6 +185,17 @@ enum AzeriteTierUnlockSetFlags
|
||||
|
||||
#define BATTLE_PET_SPECIES_MAX_ID 2796
|
||||
|
||||
enum BattlemasterListFlags
|
||||
{
|
||||
BATTLEMASTER_LIST_FLAG_DISABLED = 0x01,
|
||||
BATTLEMASTER_LIST_FLAG_SKIP_ROLE_CHECK = 0x02,
|
||||
BATTLEMASTER_LIST_FLAG_UNK04 = 0x04,
|
||||
BATTLEMASTER_LIST_FLAG_CAN_INIT_WAR_GAME = 0x08,
|
||||
BATTLEMASTER_LIST_FLAG_CAN_SPECIFIC_QUEUE = 0x10,
|
||||
BATTLEMASTER_LIST_FLAG_BRAWL = 0x20,
|
||||
BATTLEMASTER_LIST_FLAG_FACTIONAL = 0x40
|
||||
};
|
||||
|
||||
enum ChrSpecializationFlag
|
||||
{
|
||||
CHR_SPECIALIZATION_FLAG_CASTER = 0x01,
|
||||
|
||||
@@ -71,13 +71,14 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPackets::Battleground::Batt
|
||||
}
|
||||
|
||||
uint32 bgTypeId_ = battlemasterJoin.QueueIDs[0] & 0xFFFF;
|
||||
if (!sBattlemasterListStore.LookupEntry(bgTypeId_))
|
||||
BattlemasterListEntry const* battlemasterListEntry = sBattlemasterListStore.LookupEntry(bgTypeId_);
|
||||
if (!battlemasterListEntry)
|
||||
{
|
||||
TC_LOG_ERROR("network", "Battleground: invalid bgtype (%u) received. possible cheater? %s", bgTypeId_, _player->GetGUID().ToString().c_str());
|
||||
return;
|
||||
}
|
||||
|
||||
if (DisableMgr::IsDisabledFor(DISABLE_TYPE_BATTLEGROUND, bgTypeId_, NULL))
|
||||
if (DisableMgr::IsDisabledFor(DISABLE_TYPE_BATTLEGROUND, bgTypeId_, NULL) || (battlemasterListEntry->Flags & BATTLEMASTER_LIST_FLAG_DISABLED) != 0)
|
||||
{
|
||||
ChatHandler(this).PSendSysMessage(LANG_BG_DISABLED);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user