DB/AreaTable: Difference between revisions
Jump to navigation
Jump to search
m (Marlamin moved page AreaTable.dbc to DB/AreaTable) |
m (→6.0.1.18179) |
||
Line 127: | Line 127: | ||
struct AreaTableRec { | struct AreaTableRec { | ||
uint32_t m_ID; | 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_AreaBit; | ||
uint32_t m_flags[2]; // 0x100000000: isMicroDungeon | 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; | |||
stringref m_ZoneName; | stringref m_ZoneName; | ||
{{Template:Type/foreign_key|table=SoundEntries}} m_IntroSound; | |||
uint32_t m_ExplorationLevel; | uint32_t m_ExplorationLevel; | ||
stringref m_AreaName_lang; | stringref m_AreaName_lang; | ||
uint32_t m_factionGroupMask; | uint32_t m_factionGroupMask; | ||
{{Template:Type/foreign_key|table=LiquidType}} m_liquidTypeID[4]; | |||
float m_minElevation; | float m_minElevation; | ||
float m_ambient_multiplier; | float m_ambient_multiplier; | ||
{{Template:Type/foreign_key|table=Light}} m_lightid; | |||
uint32_t m_mountFlags; | uint32_t m_mountFlags; | ||
{{Template:Type/foreign_key|table=SoundEntries}} m_uwIntroSound; | |||
{{Template:Type/foreign_key|table=ZoneMusic}} m_uwZoneMusic; | |||
{{Template:Type/foreign_key|table=SoundAmbience}} m_uwAmbience; | |||
uint32_t m_world_pvp_id; | uint32_t m_world_pvp_id; | ||
{{Template:Type/foreign_key|table=WorldState}} m_pvpCombatWorldStateID; | |||
uint32_t m_wildBattlePetLevelMin; | uint32_t m_wildBattlePetLevelMin; | ||
uint32_t m_wildBattlePetLevelMax; | uint32_t m_wildBattlePetLevelMax; | ||
{{Template:Type/foreign_key|table=WindSettings}} m_windSettingsID; | |||
}; | }; | ||
[[Category:DBC]] | [[Category:DBC]] |
Revision as of 17:13, 14 February 2016
Contains general information about the areas (different from Zones, but included) in the game.
Header Info
Records..................2283 Fields.....................36 Record Size...............144 String Block Size.......34363
Structure
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 |
-Raindog 10-Dec-2007: updated for increased number of localization fields. --Amaroth 09:08, 19 November 2014 (UTC)
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 Eye of the Storm and expansion azeroth zones like silvermyst island do not have this flag, but have 0x00004000 flag) This flag also determines whether flying is allowed in this zone or not. 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,
from MaNGOS source. + --Khira 11:00, 17 July 2010 (GMT+1)
In Catacylsm: IsFlyableArea(): (*((_DWORD *)areaTableRec + 20) >> 1) & 1 --Schlumpf 12:04, 27 July 2011 (UTC)
enum AreaFlags
AREA_FLAG_HasBreathParticles = 0x00000001, // Unknown AREA_FLAG_UNK1 = 0x00000002, // Razorfen Downs, Naxxramas and Acherus: The Ebon Hold (3.3.5a) 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_ALLOW_DUELS = 0x00000040, // allow to duel here 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 Eye of the Storm not have this flag, but have 0x00004000 flag) AREA_FLAG_Sanctuary = 0x00000800, // sanctuary area (PvP disabled) AREA_FLAG_NEED_FLY = 0x00001000, // Respawn alive at the graveyard without corpse AREA_FLAG_apply_ambient_multiplier_to_player = 0x00002000, // Unused in 3.3.5a 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, // Unused in 3.3.5a 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_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, Sunreaver Pavilion (Something to do with team?) AREA_FLAG_UNK8 = 0x00800000, // Valgarde, Acherus: The Ebon Hold, Westguard Inn, Silver Covenant Pavilion (Something to do with team?) AREA_FLAG_use_combat_world_state = 0x01000000, // Wintergrasp and it's subzones AREA_FLAG_INSIDE = 0x02000000, // used for determinating spell related inside/outside questions in Map::IsOutdoors AREA_FLAG_OUTSIDE = 0x04000000, // used for determinating spell related inside/outside questions in Map::IsOutdoors AREA_FLAG_CanHearthAndResurrectFromArea = 0x08000000, // Can Hearth And Resurrect From Area AREA_FLAG_NO_FLY_ZONE = 0x20000000 // Marks zones where you cannot fly
Extracted from recent Trinity Core. May or may not have useful additions. Ascathos 19:41, 10 December 2012 (UTC)
6.0.1.18179
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, &SoundEntriesRec::m_ID> m_IntroSound; uint32_t m_ExplorationLevel; stringref 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, &SoundEntriesRec::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; };