diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-08-15 22:17:22 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-10-04 00:19:38 +0200 |
commit | f6baed006a5fde5d9ae6e6d80a385837640bb90a (patch) | |
tree | 9a2b0d15d1110b40f20c8dc6fbefe3de440ca1a8 | |
parent | 20357af88ec9265869cca3c1db3c5f43ef37e587 (diff) |
Core/DataStores: Defined map.db2 flags
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 9 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 70 |
2 files changed, 70 insertions, 9 deletions
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 4e674c03483..f1d2e6f7fcf 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -2554,10 +2554,13 @@ struct MapEntry } } - bool IsDynamicDifficultyMap() const { return (Flags[0] & MAP_FLAG_CAN_TOGGLE_DIFFICULTY) != 0; } - bool IsFlexLocking() const { return (Flags[0] & MAP_FLAG_FLEX_LOCKING) != 0; } - bool IsGarrison() const { return (Flags[0] & MAP_FLAG_GARRISON) != 0; } + bool IsDynamicDifficultyMap() const { return GetFlags().HasFlag(MapFlags::DynamicDifficulty); } + bool IsFlexLocking() const { return GetFlags().HasFlag(MapFlags::FlexibleRaidLocking); } + bool IsGarrison() const { return GetFlags().HasFlag(MapFlags::Garrison); } bool IsSplitByFaction() const { return ID == 609 || ID == 2175; } + + EnumFlag<MapFlags> GetFlags() const { return static_cast<MapFlags>(Flags[0]); } + EnumFlag<MapFlags2> GetFlags2() const { return static_cast<MapFlags2>(Flags[1]); } }; struct MapChallengeModeEntry diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 964ced725a8..94e9ad90685 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -1011,12 +1011,70 @@ enum MapTypes // Lua_IsInInstance MAP_SCENARIO = 5 // scenario }; -enum MapFlags -{ - MAP_FLAG_CAN_TOGGLE_DIFFICULTY = 0x00000100, - MAP_FLAG_FLEX_LOCKING = 0x00008000, - MAP_FLAG_GARRISON = 0x04000000 -}; +enum class MapFlags : uint32 +{ + Optimize = 0x00000001, + DevelopmentMap = 0x00000002, + WeightedBlend = 0x00000004, + VertexColoring = 0x00000008, + SortObjects = 0x00000010, + LimitToPlayersFromOneRealm = 0x00000020, + EnableLighting = 0x00000040, + InvertedTerrain = 0x00000080, + DynamicDifficulty = 0x00000100, + ObjectFile = 0x00000200, + TextureFile = 0x00000400, + GenerateNormals = 0x00000800, + FixBorderShadowSeams = 0x00001000, + InfiniteOcean = 0x00002000, + UnderwaterMap = 0x00004000, + FlexibleRaidLocking = 0x00008000, + LimitFarclip = 0x00010000, + UseParentMapFlightBounds = 0x00020000, + NoRaceChangeOnThisMap = 0x00040000, + DisabledForNonGMs = 0x00080000, + WeightedNormals1 = 0x00100000, + DisableLowDetailTerrain = 0x00200000, + EnableOrgArenaBlinkRule = 0x00400000, + WeightedHeightBlend = 0x00800000, + CoalescingAreaSharing = 0x01000000, + ProvingGrounds = 0x02000000, + Garrison = 0x04000000, + EnableAINeedSystem = 0x08000000, + SingleVServer = 0x10000000, + UseInstancePool = 0x20000000, + MapUsesRaidGraphics = 0x40000000, + ForceCustomUIMap = 0x80000000, +}; + +DEFINE_ENUM_FLAG(MapFlags); + +enum class MapFlags2 : uint32 +{ + DontActivateShowMap = 0x00000001, + NoVoteKicks = 0x00000002, + NoIncomingTransfers = 0x00000004, + DontVoxelizePathData = 0x00000008, + TerrainLOD = 0x00000010, + UnclampedPointLights = 0x00000020, + PVP = 0x00000040, + IgnoreInstanceFarmLimit = 0x00000080, + DontInheritAreaLightsFromParent = 0x00000100, + ForceLightBufferOn = 0x00000200, + WMOLiquidScale = 0x00000400, + SpellClutterOn = 0x00000800, + SpellClutterOff = 0x00001000, + ReducedPathMapHeightValidation = 0x00002000, + NewMinimapGeneration = 0x00004000, + AIBotsDetectedLikePlayers = 0x00008000, + LinearlyLitTerrain = 0x00010000, + FogOfWar = 0x00020000, + DisableSharedWeatherSystems = 0x00040000, + HonorSpellAttribute11LosHitsNocamcollide = 0x00080000, + BelongsToLayer = 0x00100000, +}; + +DEFINE_ENUM_FLAG(MapFlags2); enum MapDifficultyFlags : uint8 { |