DB/AreaTable: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
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. | ||
==0.5.3.3368== | ==Classic== | ||
===Struct=== | ===0.5.3.3368=== | ||
====Struct==== | |||
struct AreaTableRec { | struct AreaTableRec { | ||
uint32_t m_ID; | uint32_t m_ID; | ||
Line 19: | Line 20: | ||
{{Template:Type|langstringref}} m_AreaName_lang; | {{Template:Type|langstringref}} m_AreaName_lang; | ||
}; | }; | ||
==3.3.5.12340== | |||
===Table=== | ==Wrath== | ||
===3.3.5.12340=== | |||
====Table==== | |||
{| style="background:#FCFCFC; color:black" | {| style="background:#FCFCFC; color:black" | ||
|- | |- | ||
Line 63: | Line 66: | ||
|} | |} | ||
==Warlords== | |||
===6.0.1.18179=== | |||
====Struct==== | |||
==6.0.1.18179== | |||
===Struct=== | |||
struct AreaTableRec { | struct AreaTableRec { | ||
uint32_t m_ID; | uint32_t m_ID; | ||
Line 130: | Line 99: | ||
{{Template:Type/foreign_key|table=WindSettings}} m_windSettingsID; | {{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_UNK1 = 0x00000002, // may be necropolis? | |||
AREA_FLAG_UNK2 = 0x00000004, // Only used for areas on map 571 (development before) | |||
AREA_FLAG_SLAVE_CAPITAL = 0x00000008, // city and city subsones | |||
AREA_FLAG_UNK3 = 0x00000010, // can't find common meaning | |||
AREA_FLAG_SLAVE_CAPITAL2 = 0x00000020, // slave capital city flag? | |||
AREA_FLAG_UNK4 = 0x00000040, // many zones have this flag | |||
AREA_FLAG_Arena = 0x00000080, // arena, both instanced and world arenas | |||
AREA_FLAG_CAPITAL = 0x00000100, // main capital city flag | |||
AREA_FLAG_LINKED_CHAT_AREA = 0x00000200, // only one, hidden area for linked capital chat | |||
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_Sanctuary = 0x00000800, // sanctuary area (PvP disabled) | |||
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_apply_ambient_multiplier_to_player = 0x00002000, // not used now (no area/zones with this flag set in 3.0.3) | |||
AREA_FLAG_OUTLAND2 = 0x00004000, // expansion zones? (only Circle of Blood Arena not have this flag, but have 0x00000400 flag) | |||
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_UNUSED2 = 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_UNK6 = 0x00080000, // Valgarde and Acherus: The Ebon Hold | |||
AREA_FLAG_LOWLEVEL = 0x00100000, // used for some starting areas with area_level <=15 | |||
AREA_FLAG_TOWN = 0x00200000, // small towns with Inn | |||
AREA_FLAG_UNK7 = 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_use_combat_world_state = 0x01000000, // Wintergrasp and it's subzones | |||
AREA_FLAG_INSIDE = 0x02000000, // unknown | |||
AREA_FLAG_OUTSIDE = 0x04000000, // unknown | |||
AREA_FLAG_CanHearthAndResurrectFromArea = 0x08000000, // Wintergrasp and it's subzones | |||
AREA_FLAG_CANNOT_FLY = 0x20000000 // not allowed to fly, only used in Dalaran areas (zone 4395) | |||
AREA_FLAG_use_parent_for_world_defense_visibility_check = 0x40000000, | |||
ONLY CATACLYSM AND HIGHER | |||
In Catacylsm: IsFlyableArea(): <pre>(*((_DWORD *)areaTableRec + 20) >> 1) & 1</pre> | |||
[[Category:DBC]] | [[Category:DBC]] | ||
[[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]] |
Revision as of 03:17, 14 July 2016
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; uint32_t m_ContinentID; uint32_t m_ParentAreaNum; uint32_t m_AreaBit; uint32_t m_flags; uint32_t m_SoundProviderPref; uint32_t m_SoundProviderPrefUnderwater; uint32_t m_MIDIAmbience; uint32_t m_MIDIAmbienceUnderwater; uint32_t m_ZoneMusic; uint32_t m_IntroSound; uint32_t m_IntroPriority; langstringrefⁱ m_AreaName_lang; };
Wrath
3.3.5.12340
Table
Column | Field | Type | Notes |
---|---|---|---|
1 | ID | Integer | |
2 | Map | iRefID | |
3 | ParentArea | 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 | SoundPreferences | iRefID | |
7 | SoundPreferencesUnderwater | iRefID | |
8 | SoundAmbience | iRefID | Ambient sound |
9 | ZoneMusic | iRefID | Ambient music |
10 | zoneIntroMusic | iRefID | Music upon entering the zone |
11 | ExplorationLevel | Integer | Level this is made for |
12-28 | Name | Loc | |
29 | FactionGroup | iRefID | |
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_UNK1 = 0x00000002, // may be necropolis? AREA_FLAG_UNK2 = 0x00000004, // Only used for areas on map 571 (development before) AREA_FLAG_SLAVE_CAPITAL = 0x00000008, // city and city subsones AREA_FLAG_UNK3 = 0x00000010, // can't find common meaning AREA_FLAG_SLAVE_CAPITAL2 = 0x00000020, // slave capital city flag? AREA_FLAG_UNK4 = 0x00000040, // many zones have this flag AREA_FLAG_Arena = 0x00000080, // arena, both instanced and world arenas AREA_FLAG_CAPITAL = 0x00000100, // main capital city flag AREA_FLAG_LINKED_CHAT_AREA = 0x00000200, // only one, hidden area for linked capital chat 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_Sanctuary = 0x00000800, // sanctuary area (PvP disabled) 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_apply_ambient_multiplier_to_player = 0x00002000, // not used now (no area/zones with this flag set in 3.0.3) AREA_FLAG_OUTLAND2 = 0x00004000, // expansion zones? (only Circle of Blood Arena not have this flag, but have 0x00000400 flag) 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_UNUSED2 = 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_UNK6 = 0x00080000, // Valgarde and Acherus: The Ebon Hold AREA_FLAG_LOWLEVEL = 0x00100000, // used for some starting areas with area_level <=15 AREA_FLAG_TOWN = 0x00200000, // small towns with Inn AREA_FLAG_UNK7 = 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_use_combat_world_state = 0x01000000, // Wintergrasp and it's subzones AREA_FLAG_INSIDE = 0x02000000, // unknown AREA_FLAG_OUTSIDE = 0x04000000, // unknown AREA_FLAG_CanHearthAndResurrectFromArea = 0x08000000, // Wintergrasp and it's subzones AREA_FLAG_CANNOT_FLY = 0x20000000 // not allowed to fly, only used in Dalaran areas (zone 4395) AREA_FLAG_use_parent_for_world_defense_visibility_check = 0x40000000,
ONLY CATACLYSM AND HIGHER
In Catacylsm: IsFlyableArea():
(*((_DWORD *)areaTableRec + 20) >> 1) & 1