DB/AreaTable
(Redirected from AreaTable.dbc)
Jump to navigation
Jump to search
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