DB/AreaTrigger: Difference between revisions

From wowdev
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__TOC__
__TOC__
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)?
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)?.


==0.5.3.3368==
Their main usage are for quest objectives, taverns(resting) and instance portal teleports.
===Struct===
 
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
 
==Wrath==
===3.3.5.12340===
====Table====
'''Column Field Type Notes'''
1 ID Integer
2 [[Map.dbc|Map]]        iRefID
3 X Float         X Y Z server coordinates
4 Y Float
5 Z Float
+ Phaseshift Integer New at some Cata+ point.
6 Radius Float When radius is > 0, the areatrigger 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 "
 
==Classic==
===0.5.3.3368===
====Struct====
  struct AreaTriggerRec {
  struct AreaTriggerRec {
   uint32_t m_ID;
   uint32_t m_ID;
Line 12: Line 33:
   float m_radius;
   float m_radius;
  };
  };
==3.3.5.12340==
===1.12.1.5875===
===Table===
====Struct====
  '''Column Field Type Notes'''
  struct AreaTriggerRec {
1 ID Integer
  uint32_t m_ID;
2 iRefID_[[Map.dbc|Map]] Integer
  uint32_t m_ContinentID;
3 X Float
  float m_x;
4 Y Float
  float m_y;
5 Z Float
  float m_z;
+ phaseshift Integer New with wotlk or cataclysm
  float m_radius;
6 radius Float Seems to be a box of size yards with center at x,y,z
  float m_box_length;
7 box_x Float Most commonly used when size is 0, but not always
  float m_box_width;
8 box_y Float "
  float m_box_height;
9 box_z Float "
  float m_box_yaw;
  10 box_orientation Float "
  };


==6.0.1.18179==
==Warlords==
===Struct===
===6.0.1.18179===
====Struct====
  struct AreaTriggerRec {
  struct AreaTriggerRec {
   uint32_t m_ID;
   uint32_t m_ID;
Line 60: Line 82:
  };
  };


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

Latest revision as of 05:13, 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)?.

Their main usage are for quest objectives, taverns(resting) and instance portal teleports.

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

Wrath

3.3.5.12340

Table

Column 	Field 		Type 		Notes
1 	ID 		Integer 	
2 	Map         	iRefID 	
3 	X 		Float 	        X Y Z server coordinates
4 	Y 		Float 	
5 	Z 		Float 
+	Phaseshift	Integer		New at some Cata+ point.	
6 	Radius 		Float 		When radius is > 0, the areatrigger 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 		"

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;
};

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;
};