DB/AreaTable: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Updated with newer flags and sections.) |
||
(59 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
Contains general information about the areas (different from Zones, but included) in the game. | Contains general information about the areas (different from Zones, but included) in the game. | ||
== | ==Classic== | ||
===0.5.3.3368=== | |||
====Struct==== | |||
struct AreaTableRec { | |||
uint32_t m_ID; | |||
uint32_t m_AreaNumber; // area = (m_AreaNumber >> 16), subarea = (m_AreaNumber & 0xFFFF) | |||
{{Template:Type/foreign_key|table=Map}} m_ContinentID; | |||
{{Template:Type/foreign_key|table=AreaTable}} m_ParentAreaNum; | |||
uint32_t m_AreaBit; | |||
uint32_t m_flags; // &1 and &2 only, see flags | |||
{{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPref; | |||
{{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPrefUnderwater; | |||
{{Template:Type/foreign_key|table=AreaMIDIAmbiences}} m_MIDIAmbience; | |||
{{Template:Type/foreign_key|table=AreaMIDIAmbiences}} m_MIDIAmbienceUnderwater; | |||
{{Template:Type/foreign_key|table=ZoneMusic}} m_ZoneMusic; | |||
uint32_t m_IntroSound; | |||
uint32_t m_IntroPriority; // highest m_IntroPriority gets played when two intro sounds compete (Elwynn Forest < Valley of Heroes) | |||
{{Template:Type|langstringref}} m_AreaName_lang; | |||
}; | |||
===1.12.1.5875=== | |||
struct AreaTableRec { | |||
uint32_t m_ID; | |||
{{Template:Type/foreign_key|table=Map}} m_ContinentID; | |||
{{Template:Type/foreign_key|table=AreaTable}} m_ParentAreaNum; | |||
uint32_t m_AreaBit; | |||
uint32_t m_flags; | |||
{{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPref; | |||
{{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPrefUnderwater; | |||
{{Template:Type/foreign_key|table=SoundAmbience}} m_AmbienceID; | |||
{{Template:Type/foreign_key|table=ZoneMusic}} m_ZoneMusic; | |||
{{Template:Type/foreign_key|table=ZoneIntroMusicTable}} m_IntroSound; | |||
uint32_t m_ExplorationLevel; | |||
{{Template:Type|langstringref}} m_AreaName_lang; | |||
uint32_t m_factionGroupMask; | |||
{{Template:Type/foreign_key|table=LiquidType}} m_liquidTypeID[4]; | |||
float m_minElevation; | |||
float m_ambient_multiplier; | |||
{{Template:Type/foreign_key|table=Light}} m_lightid; | |||
}; | |||
==Wrath== | |||
===3.3.5.12340=== | |||
====Table==== | |||
{| style="background:#FCFCFC; color:black" | |||
|- | |||
! width="80" | Column | |||
! width="180" | Field | |||
! width="80" | Type | |||
! width="500" | Notes | |||
|- | |||
| 1 || ID || Integer || | |||
|- style="background:#F0F8FF;" | |||
| 2 || [[Map.dbc|Map.ID]] || iRefID || | |||
|- style="background:#F0F8FF;" | |||
| 3 || [[AreaTable.dbc|Parent_AreaTable.ID]] || iRefID || Recursive. If this is a sub-area, it will link to its parent area. | |||
|- | |||
| 4 || AreaBit || Integer || Use new unique value when creating custom row for making maps work correctly. Value higher than 4095 might not work for TC2. | |||
|- | |||
| 5 || Flags || BitMask || See below. | |||
|- style="background:#F0F8FF;" | |||
| 6 || [[SoundProviderPreferences.dbc|SoundProviderPrefferences]] || iRefID || | |||
|- style="background:#F0F8FF;" | |||
| 7 || [[SoundProviderPreferences.dbc|Underwater_SoundProviderPrefferences]] || iRefID || | |||
|- style="background:#F0F8FF;" | |||
| 8 || [[SoundAmbience.dbc|SoundAmbience]] || iRefID || Ambient sound | |||
|- style="background:#F0F8FF;" | |||
| 9 || [[ZoneMusic.dbc|ZoneMusic]] || iRefID || Ambient music | |||
|- style="background:#F0F8FF;" | |||
| 10 || [[ZoneIntroMusicTable.dbc|ZoneIntroMusicTable]] || iRefID || Music upon entering the zone | |||
|- | |||
| 11 || ExplorationLevel || Integer || Level this is made for | |||
|- | |||
| 12-28 || Name || [[Loc]] || | |||
|- style="background:#F0F8FF;" | |||
| 29 || [[FactionGroup.dbc|FactionGroup]] || iRefID (/Mask?) || 0 Contested, 2 Alliance, 4 Horde territory. Shattrath City and Dalaran have value 6 (Horde+Alliance?) for some reason. | |||
|- style="background:#F0F8FF;" | |||
| 30 || [[LiquidType.dbc|LiquidType]] || iRefID[4] || [0]: Water, [1]: Ocean, [2]: Magma, [3]: Slime | |||
|- | |||
| 34 || MinElevation || Float || -5000, -500, 1000 | |||
|- | |||
| 35 || AmbientMultiplier || Float || 0.0 - 1.0; Something to do with character ambient lightning | |||
|- style="background:#F0F8FF;" | |||
| 36 || [[Light.dbc|Light]] || iRefID || | |||
|} | |||
== | ==Warlords== | ||
===6.0.1.18179=== | |||
====Struct==== | |||
struct AreaTableRec { | |||
uint32_t m_ID; | |||
{{Template:Type/foreign_key|table=Map}} m_ContinentID; | |||
{{Template:Type/foreign_key|table=AreaTable}} m_ParentAreaID; | |||
uint32_t m_AreaBit; | |||
uint32_t m_flags[2]; // 0x100000000: isMicroDungeon | |||
{{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPref; | |||
{{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPrefUnderwater; | |||
{{Template:Type/foreign_key|table=SoundAmbience}} m_AmbienceID; | |||
{{Template:Type/foreign_key|table=ZoneMusic}} m_ZoneMusic; | |||
{{Template:Type|stringref}} m_ZoneName; | |||
{{Template:Type/foreign_key|table=ZoneIntroMusicTable}} m_IntroSound; | |||
uint32_t m_ExplorationLevel; | |||
{{Template:Type|langstringref}} m_AreaName_lang; | |||
uint32_t m_factionGroupMask; | |||
{{Template:Type/foreign_key|table=LiquidType}} m_liquidTypeID[4]; | |||
float m_minElevation; | |||
float m_ambient_multiplier; | |||
{{Template:Type/foreign_key|table=Light}} m_lightid; | |||
uint32_t m_mountFlags; | |||
{{Template:Type/foreign_key|table=ZoneIntroMusicTable}} m_uwIntroSound; | |||
{{Template:Type/foreign_key|table=ZoneMusic}} m_uwZoneMusic; | |||
{{Template:Type/foreign_key|table=SoundAmbience}} m_uwAmbience; | |||
uint32_t m_world_pvp_id; | |||
{{Template:Type/foreign_key|table=WorldState}} m_pvpCombatWorldStateID; | |||
uint32_t m_wildBattlePetLevelMin; | |||
uint32_t m_wildBattlePetLevelMax; | |||
{{Template:Type/foreign_key|table=WindSettings}} m_windSettingsID; | |||
}; | |||
==enum AREATABLE_FLAGS== | |||
- | AREA_FLAG_HasBreathParticles = 0x00000001, // snow (only Dun Morogh, Naxxramas, Razorfen Downs and Winterspring) | ||
AREA_FLAG_BreathParticlesOverrideParent = 0x00000002, | |||
AREA_FLAG_OnMapDungeon = 0x00000004, // Only used for areas on map 571 (development before). Named "On Map Dungeon" in TBC Classic | |||
AREA_FLAG_AllowTradeChannel = 0x00000008, // city and city subsones. Allow Trade Channel | |||
AREA_FLAG_EnemiesPvPFlagged = 0x00000010, // can't find common meaning. TBC Classic : "Enemies PvP Flagged" | |||
AREA_FLAG_AllowResting = 0x00000020, // slave capital city flag? TBC Classic : "Allow Resting" | |||
AREA_FLAG_AllowDueling = 0x00000040, // Allow Dueling. TBC Classic name : " Allow Dueling" | |||
AREA_FLAG_FreeForAllPvP = 0x00000080, // arena, both instanced and world arenas. classic : "Free For All PvP" | |||
AREA_FLAG_Linked Chat = 0x00000100, // main capital city flag. TBC Classic definition : "Linked Chat (Set in cities)" | |||
AREA_FLAG_LinkedChatSpecialArea = 0x00000200, // only one, hidden area for linked capital chat. TBC Classic : "Linked Chat Special Area" | |||
AREA_FLAG_FLYING = 0x00000400, // 3.3.5 : Flag determines if flying is allowed in zone. (only EOTS. Expansion azeroth zones like silvermyst island do not have this flag, 0x00004000 flag). | |||
TBC classic : "Force this area when on a Dynamic Transport", was probably updated around cataclysm ? | |||
AREA_FLAG_Sanctuary = 0x00000800, // sanctuary area (PvP disabled). TBC classic : "No PvP" | |||
AREA_FLAG_NEED_FLY = 0x00001000, // only Netherwing Ledge, Socrethar's Seat, Tempest Keep, The Arcatraz, The Botanica, The Mechanar, Sorrow Wing Point, Dragonspine Ridge | |||
Netherwing Mines, Dragonmaw Base Camp, Dragonmaw Skyway. TBC classic : "No Ghost on Release" | |||
AREA_FLAG_apply_ambient_multiplier_to_player = 0x00002000, // not used now (no area/zones with this flag set in 3.0.3). TBC CLAassic : "Sub-zone Ambient Multiplier" | |||
AREA_FLAG_EnableFlightBoundsonMap = 0x00004000, // expansion zones? (only Circle of Blood Arena not have this flag, but have 0x00000400 flag). TBC Classic : "Enable Flight Bounds on Map" | |||
AREA_FLAG_IsSubZonePVPPOI = 0x00008000, // pvp objective area? (Death's Door also has this flag although it's no pvp object area) | |||
AREA_FLAG_Nochatchannels = 0x00010000, // used by instanced arenas only. TBC Classic : "No chat channels" | |||
AREA_FLAG_Area_not_in_use = 0x00020000, // not used now (no area/zones with this flag set in 3.0.3) | |||
AREA_FLAG_CONTESTED_AREA = 0x00040000, // On PvP servers these areas are considered contested, even though the zone it is contained in is a Horde/Alliance territory. | |||
AREA_FLAG_NoPlayerSummoning = 0x00080000, // Valgarde and Acherus: The Ebon Hold. TBC Classic : "No Player Summoning". This could have been used in early TBC when summoning was disabled in area52 | |||
AREA_FLAG_LOWLEVEL = 0x00100000, // used for some starting areas with area_level <=15. TBC Classic : "No Dueling if Tournament Realm" | |||
AREA_FLAG_PlayersCallGuards = 0x00200000, // small towns with Inn. TBC Classic : "Players Call Guards" | |||
AREA_FLAG_Horde Resting = 0x00400000, // Warsong Hold, Acherus: The Ebon Hold, New Agamand Inn, Vengeance Landing Inn | |||
AREA_FLAG_Alliance Resting = 0x00800000, // Westguard Inn, Acherus: The Ebon Hold, Valgarde | |||
AREA_FLAG_CombatZone = 0x01000000, // Wintergrasp and it's subzones. "Combat Zone" | |||
AREA_FLAG_ForceIndoors = 0x02000000, // Force Indoors | |||
AREA_FLAG_ForceOutdoors = 0x04000000, // Force Outdoors | |||
AREA_FLAG_CanHearthAndResurrectFromArea = 0x08000000, // Wintergrasp and it's subzones. Allow Hearth-and-Resurrect from Area | |||
AREA_FLAG_CANNOT_FLY = 0x20000000, // not allowed to fly, only used in Dalaran areas (zone 4395). TBC Classic : "No Local Defense Channel" | |||
AREA_FLAG_use_parent_for_world_defense_visibility_check = 0x40000000, // TBC Classic : Only Evaluate Ghost Bind Once | |||
== | {{Template:SectionBox/VersionRange|min_expansionlevel=4|min_build=4.0.1}} | ||
IsFlyableArea(): (*((_DWORD *)areaTableRec + 20) >> 1) & 1 | |||
==Version 10.2 (Updated 5/14/24) ({{Template:Sandbox/PrettyVersion|expansionlevel=10}})== | |||
===Area Flags=== | |||
EmitBreathParticles = 0x00000001 | |||
BreathParticlesOverrideParent = 0x00000002 | |||
OnMapDungeon = 0x00000004 | |||
AllowTradeChannel = 0x00000008 | |||
EnemiesPvPFlagged = 0x00000010 | |||
AllowResting = 0x00000020 | |||
AllowDueling = 0x00000040 | |||
FreeForAllPvP = 0x00000080 | |||
LinkedChat = 0x00000100 // Set in cities | |||
LinkedChatSpecialArea = 0x00000200 | |||
ForceThisAreaWhenOnDynamicTransport = 0x00000400 | |||
NoPvP = 0x00000800 | |||
NoGhostOnRelease = 0x00001000 | |||
SubZoneAmbientMultiplier = 0x00002000 | |||
EnableFlightBoundsOnMap = 0x00004000 | |||
PVPPOI = 0x00008000 | |||
NoChatChannels = 0x00010000 | |||
AreaNotInUse = 0x00020000 | |||
Contested = 0x00040000 | |||
NoPlayerSummoning = 0x00080000 | |||
NoDuelingIfTournamentRealm = 0x00100000 | |||
PlayersCallGuards = 0x00200000 | |||
HordeResting = 0x00400000 | |||
AllianceResting = 0x00800000 | |||
CombatZone = 0x01000000 | |||
ForceIndoors = 0x02000000 | |||
ForceOutdoors = 0x04000000 | |||
AllowHearthAndRessurectFromArea = 0x08000000 | |||
NoLocalDefenseChannel = 0x10000000 | |||
OnlyEvaluateGhostBindOnce = 0x20000000 | |||
IsSubzone = 0x40000000 | |||
DontEvaluateGraveyardFromClient = 0x80000000 | |||
====Area Flags2==== | |||
ForceMicroDungeonArtMap = 0x00000001 | |||
UseSubzonePlayerLoot = 0x00000002 | |||
AllowPetBattleDuelingEvenIfNoDuelingAllowed = 0x00000004 | |||
UseMapTransferLocsForCemeteries = 0x00000008 | |||
IsGarrison = 0x00000010 | |||
UseSubzoneForChatChannel = 0x00000020 | |||
DontRealmCoalesceChatChannel = 0x00000040 | |||
NotExplorable = 0x00000080 // Don't assign area bit | |||
DontUseParentMapForCemeteries = 0x00000100 | |||
DontShowSanctuaryText = 0x00000200 | |||
CrossFactionZoneChat = 0x00000400 | |||
ForceNoResting = 0x00000800 | |||
AllowWarModeToggle = 0x00001000 | |||
===Area Mount Flags=== | |||
None = 0x00 | |||
AllowGroundMounts = 0x01 | |||
AllowFlyingMounts = 0x02 | |||
AllowSurfaceSwimmingMounts = 0x04 | |||
AllowUnderwaterSwimmingMounts = 0x08 | |||
ClientEnforcesMount = 0x10 | |||
[[Category:DBC]] | [[Category:DBC]] | ||
[[Category:DBC_Alpha]] | |||
[[Category:DBC_Vanilla]] | |||
[[Category:DBC_WotLK]][[Category:3.3.5.12340]] | |||
[[Category:DBC_WoD]][[Category:6.0.1.18179]] |
Latest revision as of 05:47, 15 May 2024
Contains general information about the areas (different from Zones, but included) in the game.
Classic
0.5.3.3368
Struct
struct AreaTableRec { uint32_t m_ID; uint32_t m_AreaNumber; // area = (m_AreaNumber >> 16), subarea = (m_AreaNumber & 0xFFFF) foreign_keyⁱ<uint32_t, &MapRec::m_ID> m_ContinentID; foreign_keyⁱ<uint32_t, &AreaTableRec::m_ID> m_ParentAreaNum; uint32_t m_AreaBit; uint32_t m_flags; // &1 and &2 only, see flags foreign_keyⁱ<uint32_t, &SoundProviderPreferencesRec::m_ID> m_SoundProviderPref; foreign_keyⁱ<uint32_t, &SoundProviderPreferencesRec::m_ID> m_SoundProviderPrefUnderwater; foreign_keyⁱ<uint32_t, &AreaMIDIAmbiencesRec::m_ID> m_MIDIAmbience; foreign_keyⁱ<uint32_t, &AreaMIDIAmbiencesRec::m_ID> m_MIDIAmbienceUnderwater; foreign_keyⁱ<uint32_t, &ZoneMusicRec::m_ID> m_ZoneMusic; uint32_t m_IntroSound; uint32_t m_IntroPriority; // highest m_IntroPriority gets played when two intro sounds compete (Elwynn Forest < Valley of Heroes) langstringrefⁱ m_AreaName_lang; };
1.12.1.5875
struct AreaTableRec { uint32_t m_ID; foreign_keyⁱ<uint32_t, &MapRec::m_ID> m_ContinentID; foreign_keyⁱ<uint32_t, &AreaTableRec::m_ID> m_ParentAreaNum; uint32_t m_AreaBit; uint32_t m_flags; foreign_keyⁱ<uint32_t, &SoundProviderPreferencesRec::m_ID> m_SoundProviderPref; foreign_keyⁱ<uint32_t, &SoundProviderPreferencesRec::m_ID> m_SoundProviderPrefUnderwater; foreign_keyⁱ<uint32_t, &SoundAmbienceRec::m_ID> m_AmbienceID; foreign_keyⁱ<uint32_t, &ZoneMusicRec::m_ID> m_ZoneMusic; foreign_keyⁱ<uint32_t, &ZoneIntroMusicTableRec::m_ID> m_IntroSound; uint32_t m_ExplorationLevel; langstringrefⁱ m_AreaName_lang; uint32_t m_factionGroupMask; foreign_keyⁱ<uint32_t, &LiquidTypeRec::m_ID> m_liquidTypeID[4]; float m_minElevation; float m_ambient_multiplier; foreign_keyⁱ<uint32_t, &LightRec::m_ID> m_lightid; };
Wrath
3.3.5.12340
Table
Column | Field | Type | Notes |
---|---|---|---|
1 | ID | Integer | |
2 | Map.ID | iRefID | |
3 | Parent_AreaTable.ID | iRefID | Recursive. If this is a sub-area, it will link to its parent area. |
4 | AreaBit | Integer | Use new unique value when creating custom row for making maps work correctly. Value higher than 4095 might not work for TC2. |
5 | Flags | BitMask | See below. |
6 | SoundProviderPrefferences | iRefID | |
7 | Underwater_SoundProviderPrefferences | iRefID | |
8 | SoundAmbience | iRefID | Ambient sound |
9 | ZoneMusic | iRefID | Ambient music |
10 | ZoneIntroMusicTable | iRefID | Music upon entering the zone |
11 | ExplorationLevel | Integer | Level this is made for |
12-28 | Name | Loc | |
29 | FactionGroup | iRefID (/Mask?) | 0 Contested, 2 Alliance, 4 Horde territory. Shattrath City and Dalaran have value 6 (Horde+Alliance?) for some reason. |
30 | LiquidType | iRefID[4] | [0]: Water, [1]: Ocean, [2]: Magma, [3]: Slime |
34 | MinElevation | Float | -5000, -500, 1000 |
35 | AmbientMultiplier | Float | 0.0 - 1.0; Something to do with character ambient lightning |
36 | Light | iRefID |
Warlords
6.0.1.18179
Struct
struct AreaTableRec { uint32_t m_ID; foreign_keyⁱ<uint32_t, &MapRec::m_ID> m_ContinentID; foreign_keyⁱ<uint32_t, &AreaTableRec::m_ID> m_ParentAreaID; uint32_t m_AreaBit; uint32_t m_flags[2]; // 0x100000000: isMicroDungeon foreign_keyⁱ<uint32_t, &SoundProviderPreferencesRec::m_ID> m_SoundProviderPref; foreign_keyⁱ<uint32_t, &SoundProviderPreferencesRec::m_ID> m_SoundProviderPrefUnderwater; foreign_keyⁱ<uint32_t, &SoundAmbienceRec::m_ID> m_AmbienceID; foreign_keyⁱ<uint32_t, &ZoneMusicRec::m_ID> m_ZoneMusic; stringrefⁱ m_ZoneName; foreign_keyⁱ<uint32_t, &ZoneIntroMusicTableRec::m_ID> m_IntroSound; uint32_t m_ExplorationLevel; langstringrefⁱ m_AreaName_lang; uint32_t m_factionGroupMask; foreign_keyⁱ<uint32_t, &LiquidTypeRec::m_ID> m_liquidTypeID[4]; float m_minElevation; float m_ambient_multiplier; foreign_keyⁱ<uint32_t, &LightRec::m_ID> m_lightid; uint32_t m_mountFlags; foreign_keyⁱ<uint32_t, &ZoneIntroMusicTableRec::m_ID> m_uwIntroSound; foreign_keyⁱ<uint32_t, &ZoneMusicRec::m_ID> m_uwZoneMusic; foreign_keyⁱ<uint32_t, &SoundAmbienceRec::m_ID> m_uwAmbience; uint32_t m_world_pvp_id; foreign_keyⁱ<uint32_t, &WorldStateRec::m_ID> m_pvpCombatWorldStateID; uint32_t m_wildBattlePetLevelMin; uint32_t m_wildBattlePetLevelMax; foreign_keyⁱ<uint32_t, &WindSettingsRec::m_ID> m_windSettingsID; };
enum AREATABLE_FLAGS
AREA_FLAG_HasBreathParticles = 0x00000001, // snow (only Dun Morogh, Naxxramas, Razorfen Downs and Winterspring) AREA_FLAG_BreathParticlesOverrideParent = 0x00000002, AREA_FLAG_OnMapDungeon = 0x00000004, // Only used for areas on map 571 (development before). Named "On Map Dungeon" in TBC Classic AREA_FLAG_AllowTradeChannel = 0x00000008, // city and city subsones. Allow Trade Channel AREA_FLAG_EnemiesPvPFlagged = 0x00000010, // can't find common meaning. TBC Classic : "Enemies PvP Flagged" AREA_FLAG_AllowResting = 0x00000020, // slave capital city flag? TBC Classic : "Allow Resting" AREA_FLAG_AllowDueling = 0x00000040, // Allow Dueling. TBC Classic name : " Allow Dueling" AREA_FLAG_FreeForAllPvP = 0x00000080, // arena, both instanced and world arenas. classic : "Free For All PvP" AREA_FLAG_Linked Chat = 0x00000100, // main capital city flag. TBC Classic definition : "Linked Chat (Set in cities)" AREA_FLAG_LinkedChatSpecialArea = 0x00000200, // only one, hidden area for linked capital chat. TBC Classic : "Linked Chat Special Area" AREA_FLAG_FLYING = 0x00000400, // 3.3.5 : Flag determines if flying is allowed in zone. (only EOTS. Expansion azeroth zones like silvermyst island do not have this flag, 0x00004000 flag). TBC classic : "Force this area when on a Dynamic Transport", was probably updated around cataclysm ? AREA_FLAG_Sanctuary = 0x00000800, // sanctuary area (PvP disabled). TBC classic : "No PvP" AREA_FLAG_NEED_FLY = 0x00001000, // only Netherwing Ledge, Socrethar's Seat, Tempest Keep, The Arcatraz, The Botanica, The Mechanar, Sorrow Wing Point, Dragonspine Ridge Netherwing Mines, Dragonmaw Base Camp, Dragonmaw Skyway. TBC classic : "No Ghost on Release" AREA_FLAG_apply_ambient_multiplier_to_player = 0x00002000, // not used now (no area/zones with this flag set in 3.0.3). TBC CLAassic : "Sub-zone Ambient Multiplier" AREA_FLAG_EnableFlightBoundsonMap = 0x00004000, // expansion zones? (only Circle of Blood Arena not have this flag, but have 0x00000400 flag). TBC Classic : "Enable Flight Bounds on Map" AREA_FLAG_IsSubZonePVPPOI = 0x00008000, // pvp objective area? (Death's Door also has this flag although it's no pvp object area) AREA_FLAG_Nochatchannels = 0x00010000, // used by instanced arenas only. TBC Classic : "No chat channels" AREA_FLAG_Area_not_in_use = 0x00020000, // not used now (no area/zones with this flag set in 3.0.3) AREA_FLAG_CONTESTED_AREA = 0x00040000, // On PvP servers these areas are considered contested, even though the zone it is contained in is a Horde/Alliance territory. AREA_FLAG_NoPlayerSummoning = 0x00080000, // Valgarde and Acherus: The Ebon Hold. TBC Classic : "No Player Summoning". This could have been used in early TBC when summoning was disabled in area52 AREA_FLAG_LOWLEVEL = 0x00100000, // used for some starting areas with area_level <=15. TBC Classic : "No Dueling if Tournament Realm" AREA_FLAG_PlayersCallGuards = 0x00200000, // small towns with Inn. TBC Classic : "Players Call Guards" AREA_FLAG_Horde Resting = 0x00400000, // Warsong Hold, Acherus: The Ebon Hold, New Agamand Inn, Vengeance Landing Inn AREA_FLAG_Alliance Resting = 0x00800000, // Westguard Inn, Acherus: The Ebon Hold, Valgarde AREA_FLAG_CombatZone = 0x01000000, // Wintergrasp and it's subzones. "Combat Zone" AREA_FLAG_ForceIndoors = 0x02000000, // Force Indoors AREA_FLAG_ForceOutdoors = 0x04000000, // Force Outdoors AREA_FLAG_CanHearthAndResurrectFromArea = 0x08000000, // Wintergrasp and it's subzones. Allow Hearth-and-Resurrect from Area AREA_FLAG_CANNOT_FLY = 0x20000000, // not allowed to fly, only used in Dalaran areas (zone 4395). TBC Classic : "No Local Defense Channel" AREA_FLAG_use_parent_for_world_defense_visibility_check = 0x40000000, // TBC Classic : Only Evaluate Ghost Bind Once
IsFlyableArea(): (*((_DWORD *)areaTableRec + 20) >> 1) & 1
Version 10.2 (Updated 5/14/24) ()
Area Flags
EmitBreathParticles = 0x00000001 BreathParticlesOverrideParent = 0x00000002 OnMapDungeon = 0x00000004 AllowTradeChannel = 0x00000008 EnemiesPvPFlagged = 0x00000010 AllowResting = 0x00000020 AllowDueling = 0x00000040 FreeForAllPvP = 0x00000080 LinkedChat = 0x00000100 // Set in cities LinkedChatSpecialArea = 0x00000200 ForceThisAreaWhenOnDynamicTransport = 0x00000400 NoPvP = 0x00000800 NoGhostOnRelease = 0x00001000 SubZoneAmbientMultiplier = 0x00002000 EnableFlightBoundsOnMap = 0x00004000 PVPPOI = 0x00008000 NoChatChannels = 0x00010000 AreaNotInUse = 0x00020000 Contested = 0x00040000 NoPlayerSummoning = 0x00080000 NoDuelingIfTournamentRealm = 0x00100000 PlayersCallGuards = 0x00200000 HordeResting = 0x00400000 AllianceResting = 0x00800000 CombatZone = 0x01000000 ForceIndoors = 0x02000000 ForceOutdoors = 0x04000000 AllowHearthAndRessurectFromArea = 0x08000000 NoLocalDefenseChannel = 0x10000000 OnlyEvaluateGhostBindOnce = 0x20000000 IsSubzone = 0x40000000 DontEvaluateGraveyardFromClient = 0x80000000
Area Flags2
ForceMicroDungeonArtMap = 0x00000001 UseSubzonePlayerLoot = 0x00000002 AllowPetBattleDuelingEvenIfNoDuelingAllowed = 0x00000004 UseMapTransferLocsForCemeteries = 0x00000008 IsGarrison = 0x00000010 UseSubzoneForChatChannel = 0x00000020 DontRealmCoalesceChatChannel = 0x00000040 NotExplorable = 0x00000080 // Don't assign area bit DontUseParentMapForCemeteries = 0x00000100 DontShowSanctuaryText = 0x00000200 CrossFactionZoneChat = 0x00000400 ForceNoResting = 0x00000800 AllowWarModeToggle = 0x00001000
Area Mount Flags
None = 0x00 AllowGroundMounts = 0x01 AllowFlyingMounts = 0x02 AllowSurfaceSwimmingMounts = 0x04 AllowUnderwaterSwimmingMounts = 0x08 ClientEnforcesMount = 0x10