AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
MotionMaster.h File Reference
#include "Common.h"
#include "Object.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 
68{
69 MMCF_NONE = 0x00,
70 MMCF_UPDATE = 0x01, // Clear or Expire called from update
71 MMCF_RESET = 0x02, // Flag if need top()->Reset()
72 MMCF_INUSE = 0x04, // pussywizard: Flag if in MotionMaster::UpdateMotion
73};
@ MMCF_RESET
Definition: MotionMaster.h:71
@ MMCF_NONE
Definition: MotionMaster.h:69
@ MMCF_UPDATE
Definition: MotionMaster.h:70
@ MMCF_INUSE
Definition: MotionMaster.h:72

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

◆ MovementSlot

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

◆ RotateDirection

Enumerator
ROTATE_DIRECTION_LEFT 
ROTATE_DIRECTION_RIGHT 
76{
79};
@ ROTATE_DIRECTION_RIGHT
Definition: MotionMaster.h:78
@ ROTATE_DIRECTION_LEFT
Definition: MotionMaster.h:77