19 #ifndef TRINITY_MOTIONMASTER_H
20 #define TRINITY_MOTIONMASTER_H
32 #define VISUAL_WAYPOINT 1
80 #define SPEED_CHARGE 42.0f
94 while (!empty() && !top())
97 void push(_Ty _Val) { ++_top; Impl[_top] = _Val; }
103 return _needInit[_top];
121 bool empty()
const {
return (_top < 0); }
122 int size()
const {
return _top + 1; }
134 void DirectDelete(_Ty curr);
135 void DelayedDelete(_Ty curr);
137 void UpdateMotion(
uint32 diff);
166 void MoveTargetedHome();
167 void MoveRandom(
float spawndist = 0.0f);
169 void MoveChase(
Unit* target,
float dist = 0.0f,
float angle = 0.0f);
171 void MoveFleeing(
Unit* enemy,
uint32 time = 0);
174 void MovePoint(
uint32 id,
float x,
float y,
float z,
bool generatePath =
true);
182 void MoveKnockbackFrom(
float srcX,
float srcY,
float speedXY,
float speedZ);
183 void MoveJumpTo(
float angle,
float speedXY,
float speedZ);
189 void MoveCirclePath(
float x,
float y,
float z,
float radius,
bool clockwise,
uint8 stepCount);
190 void MoveSmoothPath(
uint32 pointId,
G3D::Vector3 const* pathPoints,
size_t pathSize,
bool walk);
191 void MoveFall(
uint32 id = 0);
193 void MoveSeekAssistance(
float x,
float y,
float z);
194 void MoveSeekAssistanceDistract(
uint32 timer);
196 void MoveDistract(
uint32 time);
197 void MovePath(
uint32 path_id,
bool repeatable);
203 void propagateSpeedChange();
205 bool GetDestination(
float &
x,
float &
y,
float &
z);
209 void DirectClean(
bool reset);
212 void DirectExpire(
bool reset);
213 void DelayedExpire();
MMCleanFlag
Definition: MotionMaster.h:66
Definition: MotionMaster.h:76
Definition: MotionMaster.h:37
Definition: MotionMaster.h:53
Definition: MotionMaster.h:49
static ObjectGuid const Empty
Definition: ObjectGuid.h:196
uint8 _cleanFlag
Definition: MotionMaster.h:221
void push(_Ty _Val)
Definition: MotionMaster.h:97
void pop()
Definition: MotionMaster.h:88
Definition: MotionMaster.h:44
void Clear(bool reset=true)
Definition: MotionMaster.h:138
float m_positionY
Definition: Position.h:53
Definition: MotionMaster.h:68
Definition: MotionMaster.h:75
Definition: MotionMaster.h:62
Definition: MotionMaster.h:60
ExpireList * _expList
Definition: MotionMaster.h:216
Definition: MotionMaster.h:45
arena_t NULL
Definition: jemalloc_internal.h:624
Definition: MotionMaster.h:38
float m_positionX
Definition: Position.h:52
Definition: MotionMaster.h:40
Definition: MotionMaster.h:47
Definition: MotionMaster.h:61
Definition: MotionMaster.h:48
_Ty top() const
Definition: MotionMaster.h:123
_Ty GetMotionSlot(int slot) const
Definition: MotionMaster.h:128
void MovePoint(uint32 id, Position const &pos, bool generatePath=true)
Definition: MotionMaster.h:172
int _top
Definition: MotionMaster.h:218
std::vector< _Ty > ExpireList
Definition: MotionMaster.h:215
float GetOrientation() const
Definition: Position.h:107
Definition: MotionMaster.h:69
Definition: MotionMaster.h:51
MovementGenerator * _Ty
Definition: MotionMaster.h:86
void MoveJump(Position const &pos, float speedXY, float speedZ, uint32 id=EVENT_JUMP, bool hasOrientation=false, uint32 arrivalSpellId=0, ObjectGuid const &arrivalSpellTargetGuid=ObjectGuid::Empty)
Definition: MotionMaster.h:184
Definition: MotionMaster.h:82
bool needInitTop() const
Definition: MotionMaster.h:99
float GetPositionY() const
Definition: Position.h:105
G3D::int16 z
Definition: Vector3int16.h:46
float GetPositionZ() const
Definition: Position.h:106
Definition: MotionMaster.h:54
uint32_t uint32
Definition: Define.h:150
static void Initialize(PCASC_SALSA20 pState, LPBYTE pbKey, DWORD cbKeyLength, LPBYTE pbVector)
Definition: CascDecrypt.cpp:81
G3D::int16 y
Definition: Vector2int16.h:38
Definition: PathGenerator.h:52
float m_positionZ
Definition: Position.h:54
Definition: MotionMaster.h:55
Definition: MotionMaster.h:63
Definition: MotionMaster.h:50
MovementSlot
Definition: MotionMaster.h:58
int size() const
Definition: MotionMaster.h:122
RotateDirection
Definition: MotionMaster.h:73
Definition: MotionMaster.h:70
#define TC_GAME_API
Definition: Define.h:134
#define SPEED_CHARGE
Definition: MotionMaster.h:80
MovementGeneratorType
Definition: MotionMaster.h:35
uint8_t uint8
Definition: Define.h:152
Definition: Position.h:27
#define ASSERT
Definition: Errors.h:55
Definition: SharedDefines.h:4414
Definition: SharedDefines.h:4413
Definition: ObjectGuid.h:189
Definition: MotionMaster.h:41
G3D::int16 x
Definition: Vector2int16.h:37
Definition: MotionMaster.h:42
Definition: MotionMaster.h:43
Definition: MovementGenerator.h:30
float GetPositionX() const
Definition: Position.h:104
void MovementExpired(bool reset=true)
Definition: MotionMaster.h:151
Unit * _owner
Definition: MotionMaster.h:219
Definition: MotionMaster.h:39
Definition: MotionMaster.h:46
Definition: MotionMaster.h:52
bool empty() const
Definition: MotionMaster.h:121
MotionMaster(Unit *unit)
Definition: MotionMaster.h:108