Core/DataStores: Defined map.db2 flags

This commit is contained in:
Shauren
2022-08-15 22:17:22 +02:00
parent 20357af88e
commit f6baed006a
2 changed files with 68 additions and 7 deletions

View File

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

View File

@@ -1011,13 +1011,71 @@ enum MapTypes // Lua_IsInInstance
MAP_SCENARIO = 5 // scenario
};
enum MapFlags
enum class MapFlags : uint32
{
MAP_FLAG_CAN_TOGGLE_DIFFICULTY = 0x00000100,
MAP_FLAG_FLEX_LOCKING = 0x00008000,
MAP_FLAG_GARRISON = 0x04000000
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
{
MAP_DIFFICULTY_FLAG_LOCK_TO_ENCOUNTER = 0x02, // Lock to single encounters