DB/AreaTable: Difference between revisions

From wowdev
Jump to navigation Jump to search
No edit summary
 
(18 intermediate revisions by 5 users not shown)
Line 6: Line 6:
  struct AreaTableRec {
  struct AreaTableRec {
   uint32_t m_ID;
   uint32_t m_ID;
   uint32_t m_AreaNumber;
   uint32_t m_AreaNumber;   // area  = (m_AreaNumber >> 16), subarea = (m_AreaNumber & 0xFFFF)
   uint32_t m_ContinentID;
   {{Template:Type/foreign_key|table=Map}} m_ContinentID;
   uint32_t m_ParentAreaNum;
   {{Template:Type/foreign_key|table=AreaTable}} m_ParentAreaNum;
   uint32_t m_AreaBit;
   uint32_t m_AreaBit;
   uint32_t m_flags;
   uint32_t m_flags;         // &1 and &2 only, see flags
   uint32_t m_SoundProviderPref;
   {{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPref;
   uint32_t m_SoundProviderPrefUnderwater;
   {{Template:Type/foreign_key|table=SoundProviderPreferences}} m_SoundProviderPrefUnderwater;
   uint32_t m_MIDIAmbience;
   {{Template:Type/foreign_key|table=AreaMIDIAmbiences}} m_MIDIAmbience;
   uint32_t m_MIDIAmbienceUnderwater;
   {{Template:Type/foreign_key|table=AreaMIDIAmbiences}} m_MIDIAmbienceUnderwater;
   uint32_t m_ZoneMusic;
   {{Template:Type/foreign_key|table=ZoneMusic}} m_ZoneMusic;
   uint32_t m_IntroSound;
   uint32_t m_IntroSound;
   uint32_t m_IntroPriority;
   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;
   {{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==
==Wrath==
===3.3.5.12340===
===3.3.5.12340===
Line 33: Line 53:
| 1 || ID || Integer ||  
| 1 || ID || Integer ||  
|- style="background:#F0F8FF;"
|- style="background:#F0F8FF;"
| 2 || [[Map.dbc|Map]] || iRefID ||
| 2 || [[Map.dbc|Map.ID]] || iRefID ||
|- style="background:#F0F8FF;"
|- style="background:#F0F8FF;"
| 3 || [[AreaTable.dbc|ParentArea]] || iRefID || Recursive. If this is a sub-area, it will link to its parent area.
| 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.
| 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.
Line 41: Line 61:
| 5 || Flags || BitMask || See below.
| 5 || Flags || BitMask || See below.
|- style="background:#F0F8FF;"
|- style="background:#F0F8FF;"
| 6 || [[SoundProviderPreferences.dbc|SoundPreferences]] || iRefID ||
| 6 || [[SoundProviderPreferences.dbc|SoundProviderPrefferences]] || iRefID ||
|- style="background:#F0F8FF;"
|- style="background:#F0F8FF;"
| 7 || [[SoundProviderPreferences.dbc|SoundPreferencesUnderwater]] || iRefID ||
| 7 || [[SoundProviderPreferences.dbc|Underwater_SoundProviderPrefferences]] || iRefID ||
|- style="background:#F0F8FF;"
|- style="background:#F0F8FF;"
| 8 || [[SoundAmbience.dbc|SoundAmbience]] || iRefID || Ambient sound
| 8 || [[SoundAmbience.dbc|SoundAmbience]] || iRefID || Ambient sound
Line 49: Line 69:
| 9 || [[ZoneMusic.dbc|ZoneMusic]] || iRefID || Ambient music
| 9 || [[ZoneMusic.dbc|ZoneMusic]] || iRefID || Ambient music
|- style="background:#F0F8FF;"
|- style="background:#F0F8FF;"
| 10 || [[ZoneIntroMusicTable.dbc|zoneIntroMusic]] || iRefID || Music upon entering the zone
| 10 || [[ZoneIntroMusicTable.dbc|ZoneIntroMusicTable]] || iRefID || Music upon entering the zone
|-
|-
| 11 || ExplorationLevel || Integer || Level this is made for
| 11 || ExplorationLevel || Integer || Level this is made for
Line 55: Line 75:
| 12-28 || Name || [[Loc]] ||
| 12-28 || Name || [[Loc]] ||
|- style="background:#F0F8FF;"
|- style="background:#F0F8FF;"
| 29 || [[FactionGroup.dbc|FactionGroup]] || iRefID ||
| 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;"
|- style="background:#F0F8FF;"
| 30 || [[LiquidType.dbc|LiquidType]] || iRefID[4] || [0]: Water, [1]: Ocean, [2]: Magma, [3]: Slime
| 30 || [[LiquidType.dbc|LiquidType]] || iRefID[4] || [0]: Water, [1]: Ocean, [2]: Magma, [3]: Slime
Line 65: Line 85:
| 36 || [[Light.dbc|Light]] || iRefID ||
| 36 || [[Light.dbc|Light]] || iRefID ||
|}
|}


==Warlords==
==Warlords==
Line 103: Line 122:


     AREA_FLAG_HasBreathParticles                = 0x00000001,          // snow (only Dun Morogh, Naxxramas, Razorfen Downs and Winterspring)
     AREA_FLAG_HasBreathParticles                = 0x00000001,          // snow (only Dun Morogh, Naxxramas, Razorfen Downs and Winterspring)
     AREA_FLAG_UNK1                              = 0x00000002,           // may be necropolis?
     AREA_FLAG_BreathParticlesOverrideParent      = 0x00000002,
     AREA_FLAG_UNK2                              = 0x00000004,          // Only used for areas on map 571 (development before)
     AREA_FLAG_OnMapDungeon                      = 0x00000004,          // Only used for areas on map 571 (development before). Named "On Map Dungeon" in TBC Classic
     AREA_FLAG_SLAVE_CAPITAL                      = 0x00000008,          // city and city subsones
     AREA_FLAG_AllowTradeChannel                  = 0x00000008,          // city and city subsones. Allow Trade Channel
     AREA_FLAG_UNK3                              = 0x00000010,          // can't find common meaning
     AREA_FLAG_EnemiesPvPFlagged                  = 0x00000010,          // can't find common meaning. TBC Classic : "Enemies PvP Flagged"
     AREA_FLAG_SLAVE_CAPITAL2                    = 0x00000020,          // slave capital city flag?
     AREA_FLAG_AllowResting                 = 0x00000020,          // slave capital city flag? TBC Classic : "Allow Resting"
     AREA_FLAG_UNK4                              = 0x00000040,          // many zones have this flag
     AREA_FLAG_AllowDueling                 = 0x00000040,          // Allow Dueling. TBC Classic name : " Allow Dueling"
     AREA_FLAG_Arena                              = 0x00000080,          // arena, both instanced and world arenas
     AREA_FLAG_FreeForAllPvP                      = 0x00000080,          // arena, both instanced and world arenas. classic : "Free For All PvP"
     AREA_FLAG_CAPITAL                            = 0x00000100,          // main capital city flag
     AREA_FLAG_Linked Chat                        = 0x00000100,          // main capital city flag. TBC Classic definition : "Linked Chat (Set in cities)"
     AREA_FLAG_LINKED_CHAT_AREA                  = 0x00000200,          // only one, hidden area for linked capital chat
     AREA_FLAG_LinkedChatSpecialArea              = 0x00000200,          // only one, hidden area for linked capital chat. TBC Classic : "Linked Chat Special Area"
     AREA_FLAG_OUTLAND                            = 0x00000400,          // expansion zones? (only EOTS. Expansion azeroth zones like silvermyst island do not have this flag, 0x00004000 flag) Flag determines if flying is allowed in zone.
     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).
     AREA_FLAG_Sanctuary                          = 0x00000800,          // sanctuary area (PvP disabled)
                                                                            TBC classic : "Force this area when on a Dynamic Transport", was probably updated around cataclysm ?
     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
     AREA_FLAG_Sanctuary                          = 0x00000800,          // sanctuary area (PvP disabled). TBC classic : "No PvP"
     AREA_FLAG_apply_ambient_multiplier_to_player = 0x00002000, // not used now (no area/zones with this flag set in 3.0.3)
     AREA_FLAG_NEED_FLY                          = 0x00001000,          // only Netherwing Ledge, Socrethar's Seat, Tempest Keep, The Arcatraz, The Botanica, The Mechanar, Sorrow Wing Point, Dragonspine Ridge
     AREA_FLAG_OUTLAND2                          = 0x00004000,          // expansion zones? (only Circle of Blood Arena not have this flag, but have 0x00000400 flag)
                                                                            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_IsSubZonePVPPOI                    = 0x00008000,          // pvp objective area? (Death's Door also has this flag although it's no pvp object area)
     AREA_FLAG_ARENA_INSTANCE                     = 0x00010000,          // used by instanced arenas only
     AREA_FLAG_Nochatchannels                     = 0x00010000,          // used by instanced arenas only. TBC Classic : "No chat channels"
     AREA_FLAG_UNUSED2                            = 0x00020000,          // not used now (no area/zones with this flag set in 3.0.3)
     AREA_FLAG_Area_not_in_use                    = 0x00020000,          // not used now (no area/zones with this flag set in 3.0.3)
     AREA_FLAG_UNK5                              = 0x00040000,          // only used for Amani Pass, Hatchet Hills
     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_UNK6                              = 0x00080000,          // Valgarde and Acherus: The Ebon Hold
     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
     AREA_FLAG_LOWLEVEL                          = 0x00100000,          // used for some starting areas with area_level <=15. TBC Classic : "No Dueling if Tournament Realm"
     AREA_FLAG_TOWN                              = 0x00200000,          // small towns with Inn
     AREA_FLAG_PlayersCallGuards                 = 0x00200000,          // small towns with Inn. TBC Classic : "Players Call Guards"
     AREA_FLAG_UNK7                              = 0x00400000,          // Warsong Hold, Acherus: The Ebon Hold, New Agamand Inn, Vengeance Landing Inn
     AREA_FLAG_Horde Resting                 = 0x00400000,          // Warsong Hold, Acherus: The Ebon Hold, New Agamand Inn, Vengeance Landing Inn
     AREA_FLAG_UNK8                              = 0x00800000,          // Westguard Inn, Acherus: The Ebon Hold, Valgarde
     AREA_FLAG_Alliance Resting                 = 0x00800000,          // Westguard Inn, Acherus: The Ebon Hold, Valgarde
     AREA_FLAG_use_combat_world_state            = 0x01000000,          // Wintergrasp and it's subzones
     AREA_FLAG_CombatZone                 = 0x01000000,          // Wintergrasp and it's subzones. "Combat Zone"
     AREA_FLAG_INSIDE                            = 0x02000000,          // unknown
     AREA_FLAG_ForceIndoors                 = 0x02000000,          // Force Indoors
     AREA_FLAG_OUTSIDE                            = 0x04000000,          // unknown
     AREA_FLAG_ForceOutdoors                 = 0x04000000,          // Force Outdoors
     AREA_FLAG_CanHearthAndResurrectFromArea      = 0x08000000,   // Wintergrasp and it's subzones
     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)
     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,
     AREA_FLAG_use_parent_for_world_defense_visibility_check = 0x40000000, // TBC Classic : Only Evaluate Ghost Bind Once


    ONLY CATACLYSM AND HIGHER
{{Template:SectionBox/VersionRange|min_expansionlevel=4|min_build=4.0.1}}
     In Catacylsm: IsFlyableArea(): <pre>(*((_DWORD *)areaTableRec + 20) >> 1) & 1</pre>
     IsFlyableArea(): (*((_DWORD *)areaTableRec + 20) >> 1) & 1


[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Vanilla]]
[[Category:DBC_Vanilla]]
[[Category:DBC_WotLK]][[Category:3.3.5.12340]]
[[Category:DBC_WotLK]][[Category:3.3.5.12340]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]

Latest revision as of 20:08, 6 June 2023

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
This section only applies to versions ≥ Cata (4.0.1).
   IsFlyableArea(): (*((_DWORD *)areaTableRec + 20) >> 1) & 1