DB/AreaTrigger: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
m (Marlamin moved page AreaTrigger.dbc to DB/AreaTrigger)
(No difference)

Revision as of 00:20, 13 February 2016

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)?

Header Info

Records...................652
Fields.....................10
Record Size................40
String Block Size...........1

Structure

Column 	Field 		Type 		Notes
1 	ID 		Integer 	
2 	iRefID_Map 	Integer 	
3 	X 		Float 	
4 	Y 		Float 	
5 	Z 		Float 
+	phaseshift	Integer		New with wotlk or cataclysm	
6 	radius 		Float 		Seems to be a box of size yards with center at x,y,z
7 	box_x 		Float 		Most commonly used when size is 0, but not always
8 	box_y 		Float 		"
9 	box_z 		Float 		"
10 	box_orientation	Float 		"

6.0.1.18179

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