diff options
author | Jeremy <Golrag@users.noreply.github.com> | 2021-08-15 23:41:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-15 23:41:27 +0200 |
commit | 38aa015196f336f1b4c6c83617dc941445777653 (patch) | |
tree | d846f1e7957565282ed49f9886649f3d2741977f /src | |
parent | fb6761c273d518eae6bab72fc9c2a2b6f93eec83 (diff) |
Core/Battlegrounds: Update BattlemasterListFlags (#26819)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 2 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 2 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 19 | ||||
-rw-r--r-- | src/server/game/Handlers/BattleGroundHandler.cpp | 2 |
4 files changed, 15 insertions, 10 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 3a2852ebdee..135d83cc289 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -3037,7 +3037,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 case ModifierTreeType::PlayerIsInPvpBrawl: // 220 { BattlemasterListEntry const* bg = sBattlemasterListStore.LookupEntry(referencePlayer->GetBattlegroundTypeId()); - if (!bg || !(bg->Flags & BATTLEMASTER_LIST_FLAG_BRAWL)) + if (!bg || !(bg->GetFlags().HasFlag(BattlemasterListFlags::IsBrawl))) return false; break; } diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index d353fa20d59..a6d07fab005 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -509,6 +509,8 @@ struct BattlemasterListEntry int32 IconFileDataID; int32 RequiredPlayerConditionID; int16 MapID[16]; + + EnumFlag<BattlemasterListFlags> GetFlags() const { return static_cast<BattlemasterListFlags>(Flags); } }; #define MAX_BROADCAST_TEXT_EMOTES 3 diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index cc58d5ccac6..44a0301a3eb 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -193,17 +193,20 @@ enum AzeriteTierUnlockSetFlags #define BATTLE_PET_SPECIES_MAX_ID 3159 -enum BattlemasterListFlags +enum class BattlemasterListFlags : uint32 { - 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 + InternalOnly = 0x01, + RatedOnly = 0x02, // Only set for rated battlegrounds + ObsoleteDoNotList = 0x04, + ShowInWarGames = 0x08, + ShowInPvpBattlegroundList = 0x10, + IsBrawl = 0x20, + IsFactional = 0x40, + IsEpic = 0x80 }; +DEFINE_ENUM_FLAG(BattlemasterListFlags); + enum class ChrRacesFlag : int32 { AlliedRace = 0x80000 diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp index 7b6c3d900ee..67ec6fcd750 100644 --- a/src/server/game/Handlers/BattleGroundHandler.cpp +++ b/src/server/game/Handlers/BattleGroundHandler.cpp @@ -82,7 +82,7 @@ void WorldSession::HandleBattlemasterJoinOpcode(WorldPackets::Battleground::Batt BattlemasterListEntry const* battlemasterListEntry = sBattlemasterListStore.AssertEntry(bgQueueTypeId.BattlemasterListId); - if (DisableMgr::IsDisabledFor(DISABLE_TYPE_BATTLEGROUND, bgQueueTypeId.BattlemasterListId, nullptr) || (battlemasterListEntry->Flags & BATTLEMASTER_LIST_FLAG_DISABLED) != 0) + if (DisableMgr::IsDisabledFor(DISABLE_TYPE_BATTLEGROUND, bgQueueTypeId.BattlemasterListId, nullptr) || battlemasterListEntry->GetFlags().HasFlag(BattlemasterListFlags::InternalOnly)) { ChatHandler(this).PSendSysMessage(LANG_BG_DISABLED); return; |