DB/AreaTrigger: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 40: | Line 40: | ||
5 Z Float | 5 Z Float | ||
+ Phaseshift Integer New at some Cata+ point. | + Phaseshift Integer New at some Cata+ point. | ||
6 Radius Float | 6 Radius Float When radius is > 0, it is a sphere with center at x,y,z | ||
7 BoxLength Float | 7 BoxLength Float When radius = 0, the areatrigger is a box that uses only boxlenght/width/eights/orientation and ignores radius. | ||
8 BoxWidth Float " | 8 BoxWidth Float " | ||
9 BoxHeight Float " | 9 BoxHeight Float " |
Revision as of 05:07, 26 November 2021
Defines certain areas on the map that presumably tell the server to fire a certain event. IE in BWL, telling the goblins around vael to run away is a trigger defined here. There are also misc triggers out in the middle of space which have 0 size, which are most likely used by the server for certain things. One such use could be remembering settings per instance (ie dracnoid colors in on Nef)?
Note for modders : When edited, this DBC requires to be ordered properly to work, your new row won't work if you add it at the end. This DBC requires to be ordered by map ID
Classic
0.5.3.3368
Struct
struct AreaTriggerRec { uint32_t m_ID; uint32_t m_ContinentID; float m_x; float m_y; float m_z; float m_radius; };
1.12.1.5875
Struct
struct AreaTriggerRec { uint32_t m_ID; uint32_t m_ContinentID; float m_x; float m_y; float m_z; float m_radius; float m_box_length; float m_box_width; float m_box_height; float m_box_yaw; };
Wrath
3.3.5.12340
Table
Column Field Type Notes 1 ID Integer 2 Map iRefID 3 X Float 4 Y Float 5 Z Float + Phaseshift Integer New at some Cata+ point. 6 Radius Float When radius is > 0, it is a sphere with center at x,y,z 7 BoxLength Float When radius = 0, the areatrigger is a box that uses only boxlenght/width/eights/orientation and ignores radius. 8 BoxWidth Float " 9 BoxHeight Float " 10 BoxOrientation Float "
Warlords
6.0.1.18179
Struct
struct AreaTriggerRec { uint32_t m_ID; foreign_keyⁱ<uint32_t, &MapRec::m_ID> m_ContinentID; C3Vectorⁱ m_pos; uint32_t m_phaseUseFlags; uint32_t m_phaseID; foreign_keyⁱ<uint32_t, &PhaseXPhaseGroupRec::m_phaseGroupID> m_phaseGroupID; float m_radius; float m_box_length; float m_box_width; float m_box_height; float m_box_yaw; enum { shape_type_sphere = 0, shape_type_box = 1, shape_type_polygon = 3, shape_type_cylinder = 4, }; uint32_t m_shapeType; uint32_t m_shapeID; union { // depending on m_shapeType foreign_keyⁱ<uint32_t, &AreaTriggerSphereRec::m_ID> m_shapeID; foreign_keyⁱ<uint32_t, &AreaTriggerBoxRec::m_ID> m_shapeID; foreign_keyⁱ<uint32_t, &PathRec::m_ID> m_shapeID; foreign_keyⁱ<uint32_t, &AreaTriggerCylinderRec::m_ID> m_shapeID; }; foreign_keyⁱ<uint32_t, &AreaTriggerActionSetRec::m_ID> m_areaTriggerActionSetID; uint32_t m_flags; };