TrinityCore
Loading...
Searching...
No Matches
MovementInfo.h File Reference
#include "EnumFlag.h"
#include "ObjectGuid.h"
#include "Optional.h"
#include "Position.h"
#include <algorithm>
#include <vector>
+ Include dependency graph for MovementInfo.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MovementInfo
 
struct  MovementInfo::TransportInfo
 
struct  MovementInfo::Inertia
 
struct  MovementInfo::JumpInfo
 
struct  MovementInfo::AdvFlying
 
struct  MovementInfo::Drive
 
struct  MovementForce
 
class  MovementForces
 

Enumerations

enum  MovementFlags : uint64 {
  MOVEMENTFLAG_NONE = 0x0000000000000000 , MOVEMENTFLAG_FORWARD = 0x0000000000000001 , MOVEMENTFLAG_BACKWARD = 0x0000000000000002 , MOVEMENTFLAG_STRAFE_LEFT = 0x0000000000000004 ,
  MOVEMENTFLAG_STRAFE_RIGHT = 0x0000000000000008 , MOVEMENTFLAG_LEFT = 0x0000000000000010 , MOVEMENTFLAG_RIGHT = 0x0000000000000020 , MOVEMENTFLAG_PITCH_UP = 0x0000000000000040 ,
  MOVEMENTFLAG_PITCH_DOWN = 0x0000000000000080 , MOVEMENTFLAG_WALKING = 0x0000000000000100 , MOVEMENTFLAG_DISABLE_GRAVITY = 0x0000000000000200 , MOVEMENTFLAG_ROOT = 0x0000000000000400 ,
  MOVEMENTFLAG_FALLING = 0x0000000000000800 , MOVEMENTFLAG_FALLING_FAR = 0x0000000000001000 , MOVEMENTFLAG_PENDING_STOP = 0x0000000000002000 , MOVEMENTFLAG_PENDING_STRAFE_STOP = 0x0000000000004000 ,
  MOVEMENTFLAG_PENDING_FORWARD = 0x0000000000008000 , MOVEMENTFLAG_PENDING_BACKWARD = 0x0000000000010000 , MOVEMENTFLAG_PENDING_STRAFE_LEFT = 0x0000000000020000 , MOVEMENTFLAG_PENDING_STRAFE_RIGHT = 0x0000000000040000 ,
  MOVEMENTFLAG_PENDING_ROOT = 0x0000000000080000 , MOVEMENTFLAG_SWIMMING = 0x0000000000100000 , MOVEMENTFLAG_ASCENDING = 0x0000000000200000 , MOVEMENTFLAG_DESCENDING = 0x0000000000400000 ,
  MOVEMENTFLAG_CAN_FLY = 0x0000000000800000 , MOVEMENTFLAG_FLYING = 0x0000000001000000 , MOVEMENTFLAG_SPLINE_ELEVATION = 0x0000000002000000 , MOVEMENTFLAG_WATERWALKING = 0x0000000004000000 ,
  MOVEMENTFLAG_FALLING_SLOW = 0x0000000008000000 , MOVEMENTFLAG_CANNOT_SWIM = 0x0000000010000000 , MOVEMENTFLAG_DISABLE_COLLISION = 0x0000000020000000 , MOVEMENTFLAG_KNOCKBACK = 0x0000000040000000 ,
  MOVEMENTFLAG_TOUCHING_GROUND = 0x0000000080000000 , MOVEMENTFLAG_NO_STRAFE = 0x0000000100000000 , MOVEMENTFLAG_NO_JUMPING = 0x0000000200000000 , MOVEMENTFLAG_FULL_SPEED_TURNING = 0x0000000400000000 ,
  MOVEMENTFLAG_FULL_SPEED_PITCHING = 0x0000000800000000 , MOVEMENTFLAG_ALWAYS_ALLOW_PITCHING = 0x0000001000000000 , MOVEMENTFLAG_WATERWALKING_FULL_PITCH = 0x0000002000000000 , MOVEMENTFLAG_CAN_SWIM_TO_FLY_TRANS = 0x0000004000000000 ,
  MOVEMENTFLAG_CAN_TURN_WHILE_FALLING = 0x0000008000000000 , MOVEMENTFLAG_IGNORE_MOVEMENT_FORCES = 0x0000010000000000 , MOVEMENTFLAG_CAN_DOUBLE_JUMP = 0x0000020000000000 , MOVEMENTFLAG_DOUBLE_JUMP = 0x0000040000000000 ,
  MOVEMENTFLAG_UNK43 = 0x0000080000000000 , MOVEMENTFLAG_DISABLE_INERTIA = 0x0000100000000000 , MOVEMENTFLAG_CAN_ADV_FLY = 0x0000200000000000 , MOVEMENTFLAG_ADV_FLYING = 0x0000400000000000 ,
  MOVEMENTFLAG_UNK47 = 0x0000800000000000 , MOVEMENTFLAG_UNK48 = 0x0001000000000000 , MOVEMENTFLAG_FALLING_ADV_FLY_DISMOUNT = 0x0002000000000000 , MOVEMENTFLAG_UNK50 = 0x0004000000000000 ,
  MOVEMENTFLAG_WALKING_ON_WATER = 0x0008000000000000 , MOVEMENTFLAG_CAN_DRIVE = 0x0010000000000000 , MOVEMENTFLAG_DRIVING_FORWARD = 0x0020000000000000 , MOVEMENTFLAG_DRIVING_BACKWARD = 0x0040000000000000 ,
  MOVEMENTFLAG_UNK55 = 0x0080000000000000 , MOVEMENTFLAG_UNK56 = 0x0100000000000000 , MOVEMENTFLAG_UNK57 = 0x0200000000000000 , MOVEMENTFLAG_UNK58 = 0x0400000000000000 ,
  MOVEMENTFLAG_HOVER = 0x0800000000000000 , MOVEMENTFLAG_MASK_MOVING , MOVEMENTFLAG_MASK_TURNING , MOVEMENTFLAG_MASK_MOVING_FLY ,
  MOVEMENTFLAG_MASK_CREATURE_ALLOWED , MOVEMENTFLAG_MASK_PLAYER_ONLY , MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE
}
 
enum class  MovementForceType : uint8 { SingleDirectional = 0 , Gravity = 1 }
 

Functions

 DEFINE_ENUM_FLAG (MovementFlags)
 

Enumeration Type Documentation

◆ MovementFlags

Enumerator
MOVEMENTFLAG_NONE 
MOVEMENTFLAG_FORWARD 
MOVEMENTFLAG_BACKWARD 
MOVEMENTFLAG_STRAFE_LEFT 
MOVEMENTFLAG_STRAFE_RIGHT 
MOVEMENTFLAG_LEFT 
MOVEMENTFLAG_RIGHT 
MOVEMENTFLAG_PITCH_UP 
MOVEMENTFLAG_PITCH_DOWN 
MOVEMENTFLAG_WALKING 
MOVEMENTFLAG_DISABLE_GRAVITY 
MOVEMENTFLAG_ROOT 
MOVEMENTFLAG_FALLING 
MOVEMENTFLAG_FALLING_FAR 
MOVEMENTFLAG_PENDING_STOP 
MOVEMENTFLAG_PENDING_STRAFE_STOP 
MOVEMENTFLAG_PENDING_FORWARD 
MOVEMENTFLAG_PENDING_BACKWARD 
MOVEMENTFLAG_PENDING_STRAFE_LEFT 
MOVEMENTFLAG_PENDING_STRAFE_RIGHT 
MOVEMENTFLAG_PENDING_ROOT 
MOVEMENTFLAG_SWIMMING 
MOVEMENTFLAG_ASCENDING 
MOVEMENTFLAG_DESCENDING 
MOVEMENTFLAG_CAN_FLY 
MOVEMENTFLAG_FLYING 
MOVEMENTFLAG_SPLINE_ELEVATION 
MOVEMENTFLAG_WATERWALKING 
MOVEMENTFLAG_FALLING_SLOW 
MOVEMENTFLAG_CANNOT_SWIM 
MOVEMENTFLAG_DISABLE_COLLISION 
MOVEMENTFLAG_KNOCKBACK 
MOVEMENTFLAG_TOUCHING_GROUND 
MOVEMENTFLAG_NO_STRAFE 
MOVEMENTFLAG_NO_JUMPING 
MOVEMENTFLAG_FULL_SPEED_TURNING 
MOVEMENTFLAG_FULL_SPEED_PITCHING 
MOVEMENTFLAG_ALWAYS_ALLOW_PITCHING 
MOVEMENTFLAG_WATERWALKING_FULL_PITCH 
MOVEMENTFLAG_CAN_SWIM_TO_FLY_TRANS 
MOVEMENTFLAG_CAN_TURN_WHILE_FALLING 
MOVEMENTFLAG_IGNORE_MOVEMENT_FORCES 
MOVEMENTFLAG_CAN_DOUBLE_JUMP 
MOVEMENTFLAG_DOUBLE_JUMP 
MOVEMENTFLAG_UNK43 
MOVEMENTFLAG_DISABLE_INERTIA 
MOVEMENTFLAG_CAN_ADV_FLY 
MOVEMENTFLAG_ADV_FLYING 
MOVEMENTFLAG_UNK47 
MOVEMENTFLAG_UNK48 
MOVEMENTFLAG_FALLING_ADV_FLY_DISMOUNT 
MOVEMENTFLAG_UNK50 
MOVEMENTFLAG_WALKING_ON_WATER 
MOVEMENTFLAG_CAN_DRIVE 
MOVEMENTFLAG_DRIVING_FORWARD 
MOVEMENTFLAG_DRIVING_BACKWARD 
MOVEMENTFLAG_UNK55 
MOVEMENTFLAG_UNK56 
MOVEMENTFLAG_UNK57 
MOVEMENTFLAG_UNK58 
MOVEMENTFLAG_HOVER 
MOVEMENTFLAG_MASK_MOVING 
MOVEMENTFLAG_MASK_TURNING 
MOVEMENTFLAG_MASK_MOVING_FLY 
MOVEMENTFLAG_MASK_CREATURE_ALLOWED 
MOVEMENTFLAG_MASK_PLAYER_ONLY 
Todo:
if needed: add more flags to this masks that are exclusive to players
MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE 

Movement flags that have change status opcodes associated for players.

Definition at line 29 of file MovementInfo.h.

◆ MovementForceType

enum class MovementForceType : uint8
strong
Enumerator
SingleDirectional 
Gravity 

Definition at line 232 of file MovementInfo.h.

Function Documentation

◆ DEFINE_ENUM_FLAG()

DEFINE_ENUM_FLAG ( MovementFlags  )