AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
MotionMaster.h File Reference
#include "Common.h"
#include "ObjectGuid.h"
#include "PathGenerator.h"
#include "Position.h"
#include "SharedDefines.h"
#include "Spline/MoveSpline.h"
#include <optional>
#include <vector>

Go to the source code of this file.

Classes

struct  ChaseRange
 
struct  ChaseAngle
 
class  MotionMaster
 

Macros

#define VISUAL_WAYPOINT   1
 
#define SPEED_CHARGE   42.0f
 

Enumerations

enum  MovementGeneratorType {
  IDLE_MOTION_TYPE = 0 ,
  RANDOM_MOTION_TYPE = 1 ,
  WAYPOINT_MOTION_TYPE = 2 ,
  MAX_DB_MOTION_TYPE = 3 ,
  ANIMAL_RANDOM_MOTION_TYPE = MAX_DB_MOTION_TYPE ,
  CONFUSED_MOTION_TYPE = 4 ,
  CHASE_MOTION_TYPE = 5 ,
  HOME_MOTION_TYPE = 6 ,
  FLIGHT_MOTION_TYPE = 7 ,
  POINT_MOTION_TYPE = 8 ,
  FLEEING_MOTION_TYPE = 9 ,
  DISTRACT_MOTION_TYPE = 10 ,
  ASSISTANCE_MOTION_TYPE = 11 ,
  ASSISTANCE_DISTRACT_MOTION_TYPE = 12 ,
  TIMED_FLEEING_MOTION_TYPE = 13 ,
  FOLLOW_MOTION_TYPE = 14 ,
  ROTATE_MOTION_TYPE = 15 ,
  EFFECT_MOTION_TYPE = 16 ,
  ESCORT_MOTION_TYPE = 17 ,
  NULL_MOTION_TYPE = 18
}
 
enum  MovementSlot {
  MOTION_SLOT_IDLE ,
  MOTION_SLOT_ACTIVE ,
  MOTION_SLOT_CONTROLLED ,
  MAX_MOTION_SLOT
}
 
enum  MMCleanFlag {
  MMCF_NONE = 0x00 ,
  MMCF_UPDATE = 0x01 ,
  MMCF_RESET = 0x02 ,
  MMCF_INUSE = 0x04
}
 
enum  RotateDirection {
  ROTATE_DIRECTION_LEFT ,
  ROTATE_DIRECTION_RIGHT
}
 

Macro Definition Documentation

◆ SPEED_CHARGE

#define SPEED_CHARGE   42.0f

◆ VISUAL_WAYPOINT

#define VISUAL_WAYPOINT   1

Enumeration Type Documentation

◆ MMCleanFlag

Enumerator
MMCF_NONE 
MMCF_UPDATE 
MMCF_RESET 
MMCF_INUSE 
70{
71 MMCF_NONE = 0x00,
72 MMCF_UPDATE = 0x01, // Clear or Expire called from update
73 MMCF_RESET = 0x02, // Flag if need top()->Reset()
74 MMCF_INUSE = 0x04, // pussywizard: Flag if in MotionMaster::UpdateMotion
75};
@ MMCF_RESET
Definition: MotionMaster.h:73
@ MMCF_NONE
Definition: MotionMaster.h:71
@ MMCF_UPDATE
Definition: MotionMaster.h:72
@ MMCF_INUSE
Definition: MotionMaster.h:74

◆ MovementGeneratorType

Enumerator
IDLE_MOTION_TYPE 
RANDOM_MOTION_TYPE 
WAYPOINT_MOTION_TYPE 
MAX_DB_MOTION_TYPE 
ANIMAL_RANDOM_MOTION_TYPE 
CONFUSED_MOTION_TYPE 
CHASE_MOTION_TYPE 
HOME_MOTION_TYPE 
FLIGHT_MOTION_TYPE 
POINT_MOTION_TYPE 
FLEEING_MOTION_TYPE 
DISTRACT_MOTION_TYPE 
ASSISTANCE_MOTION_TYPE 
ASSISTANCE_DISTRACT_MOTION_TYPE 
TIMED_FLEEING_MOTION_TYPE 
FOLLOW_MOTION_TYPE 
ROTATE_MOTION_TYPE 
EFFECT_MOTION_TYPE 
ESCORT_MOTION_TYPE 
NULL_MOTION_TYPE 
38{
39 IDLE_MOTION_TYPE = 0, // IdleMovementGenerator.h
40 RANDOM_MOTION_TYPE = 1, // RandomMovementGenerator.h
41 WAYPOINT_MOTION_TYPE = 2, // WaypointMovementGenerator.h
42 MAX_DB_MOTION_TYPE = 3, // *** this and below motion types can't be set in DB.
43 ANIMAL_RANDOM_MOTION_TYPE = MAX_DB_MOTION_TYPE, // AnimalRandomMovementGenerator.h
44 CONFUSED_MOTION_TYPE = 4, // ConfusedMovementGenerator.h
45 CHASE_MOTION_TYPE = 5, // TargetedMovementGenerator.h
46 HOME_MOTION_TYPE = 6, // HomeMovementGenerator.h
47 FLIGHT_MOTION_TYPE = 7, // WaypointMovementGenerator.h
48 POINT_MOTION_TYPE = 8, // PointMovementGenerator.h
49 FLEEING_MOTION_TYPE = 9, // FleeingMovementGenerator.h
50 DISTRACT_MOTION_TYPE = 10, // IdleMovementGenerator.h
51 ASSISTANCE_MOTION_TYPE = 11, // PointMovementGenerator.h (first part of flee for assistance)
52 ASSISTANCE_DISTRACT_MOTION_TYPE = 12, // IdleMovementGenerator.h (second part of flee for assistance)
53 TIMED_FLEEING_MOTION_TYPE = 13, // FleeingMovementGenerator.h (alt.second part of flee for assistance)
57 ESCORT_MOTION_TYPE = 17, // xinef: EscortMovementGenerator.h
59};
@ TIMED_FLEEING_MOTION_TYPE
Definition: MotionMaster.h:53
@ MAX_DB_MOTION_TYPE
Definition: MotionMaster.h:42
@ ASSISTANCE_MOTION_TYPE
Definition: MotionMaster.h:51
@ DISTRACT_MOTION_TYPE
Definition: MotionMaster.h:50
@ IDLE_MOTION_TYPE
Definition: MotionMaster.h:39
@ CHASE_MOTION_TYPE
Definition: MotionMaster.h:45
@ ROTATE_MOTION_TYPE
Definition: MotionMaster.h:55
@ ESCORT_MOTION_TYPE
Definition: MotionMaster.h:57
@ WAYPOINT_MOTION_TYPE
Definition: MotionMaster.h:41
@ FLEEING_MOTION_TYPE
Definition: MotionMaster.h:49
@ NULL_MOTION_TYPE
Definition: MotionMaster.h:58
@ CONFUSED_MOTION_TYPE
Definition: MotionMaster.h:44
@ HOME_MOTION_TYPE
Definition: MotionMaster.h:46
@ POINT_MOTION_TYPE
Definition: MotionMaster.h:48
@ FLIGHT_MOTION_TYPE
Definition: MotionMaster.h:47
@ FOLLOW_MOTION_TYPE
Definition: MotionMaster.h:54
@ ANIMAL_RANDOM_MOTION_TYPE
Definition: MotionMaster.h:43
@ RANDOM_MOTION_TYPE
Definition: MotionMaster.h:40
@ ASSISTANCE_DISTRACT_MOTION_TYPE
Definition: MotionMaster.h:52
@ EFFECT_MOTION_TYPE
Definition: MotionMaster.h:56

◆ MovementSlot

Enumerator
MOTION_SLOT_IDLE 
MOTION_SLOT_ACTIVE 
MOTION_SLOT_CONTROLLED 
MAX_MOTION_SLOT 
62{
67};
@ MOTION_SLOT_CONTROLLED
Definition: MotionMaster.h:65
@ MOTION_SLOT_ACTIVE
Definition: MotionMaster.h:64
@ MOTION_SLOT_IDLE
Definition: MotionMaster.h:63
@ MAX_MOTION_SLOT
Definition: MotionMaster.h:66

◆ RotateDirection

Enumerator
ROTATE_DIRECTION_LEFT 
ROTATE_DIRECTION_RIGHT 
78{
81};
@ ROTATE_DIRECTION_RIGHT
Definition: MotionMaster.h:80
@ ROTATE_DIRECTION_LEFT
Definition: MotionMaster.h:79