AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
MovementInfo Struct Reference

#include "Object.h"

Classes

struct  JumpInfo
 
struct  TransportInfo
 

Public Member Functions

 MovementInfo ()
 
uint32 GetMovementFlags () const
 
void SetMovementFlags (uint32 flag)
 
void AddMovementFlag (uint32 flag)
 
void RemoveMovementFlag (uint32 flag)
 
bool HasMovementFlag (uint32 flag) const
 
UnitMoveType GetSpeedType () const
 
uint16 GetExtraMovementFlags () const
 
void AddExtraMovementFlag (uint16 flag)
 
bool HasExtraMovementFlag (uint16 flag) const
 
void SetFallTime (uint32 newFallTime)
 
void OutDebug ()
 

Static Public Member Functions

static UnitMoveType GetSpeedType (uint32 moveFlags)
 

Public Attributes

ObjectGuid guid
 
uint32 flags {0}
 
uint16 flags2 {0}
 
Position pos
 
uint32 time {0}
 
struct MovementInfo::TransportInfo transport
 
float pitch {0.0f}
 
uint32 fallTime {0}
 
struct MovementInfo::JumpInfo jump
 
float splineElevation {0.0f}
 

Detailed Description

Constructor & Destructor Documentation

◆ MovementInfo()

MovementInfo::MovementInfo ( )
inline
336 {
337 pos.Relocate(0.0f, 0.0f, 0.0f, 0.0f);
339 jump.Reset();
340 }
void Reset()
Definition Object.h:324
void Reset()
Definition Object.h:299
struct MovementInfo::JumpInfo jump
struct MovementInfo::TransportInfo transport
Position pos
Definition Object.h:293
void Relocate(float x, float y)
Definition Position.h:77

References jump, pos, Position::Relocate(), MovementInfo::TransportInfo::Reset(), MovementInfo::JumpInfo::Reset(), and transport.

Member Function Documentation

◆ AddExtraMovementFlag()

void MovementInfo::AddExtraMovementFlag ( uint16  flag)
inline
352{ flags2 |= flag; }
uint16 flags2
Definition Object.h:292

References flags2.

◆ AddMovementFlag()

void MovementInfo::AddMovementFlag ( uint32  flag)
inline

◆ GetExtraMovementFlags()

uint16 MovementInfo::GetExtraMovementFlags ( ) const
inline
351{ return flags2; }

References flags2.

◆ GetMovementFlags()

◆ GetSpeedType() [1/2]

UnitMoveType MovementInfo::GetSpeedType ( ) const
inline
348{ return GetSpeedType(flags); }
UnitMoveType GetSpeedType() const
Definition Object.h:348

References flags, and GetSpeedType().

Referenced by GetSpeedType(), GetTargetSpeedInMotion(), PredictPosition(), and Movement::SelectSpeedType().

◆ GetSpeedType() [2/2]

UnitMoveType MovementInfo::GetSpeedType ( uint32  moveFlags)
static
999{
1000 if (moveFlags & MOVEMENTFLAG_FLYING)
1001 {
1002 if (moveFlags & MOVEMENTFLAG_BACKWARD)
1003 return MOVE_FLIGHT_BACK;
1004
1005 return MOVE_FLIGHT;
1006 }
1007 else if (moveFlags & MOVEMENTFLAG_SWIMMING)
1008 {
1009 if (moveFlags & MOVEMENTFLAG_BACKWARD)
1010 return MOVE_SWIM_BACK;
1011
1012 return MOVE_SWIM;
1013 }
1014 else if (moveFlags & MOVEMENTFLAG_WALKING)
1015 return MOVE_WALK;
1016 else if (moveFlags & MOVEMENTFLAG_BACKWARD)
1017 return MOVE_RUN_BACK;
1018
1019 return MOVE_RUN;
1020}
@ MOVEMENTFLAG_BACKWARD
Definition UnitDefines.h:373
@ MOVEMENTFLAG_FLYING
Definition UnitDefines.h:397
@ MOVEMENTFLAG_SWIMMING
Definition UnitDefines.h:393
@ MOVEMENTFLAG_WALKING
Definition UnitDefines.h:380
@ MOVE_FLIGHT
Definition UnitDefines.h:362
@ MOVE_SWIM
Definition UnitDefines.h:359
@ MOVE_FLIGHT_BACK
Definition UnitDefines.h:363
@ MOVE_SWIM_BACK
Definition UnitDefines.h:360
@ MOVE_RUN
Definition UnitDefines.h:357
@ MOVE_RUN_BACK
Definition UnitDefines.h:358
@ MOVE_WALK
Definition UnitDefines.h:356

References MOVE_FLIGHT, MOVE_FLIGHT_BACK, MOVE_RUN, MOVE_RUN_BACK, MOVE_SWIM, MOVE_SWIM_BACK, MOVE_WALK, MOVEMENTFLAG_BACKWARD, MOVEMENTFLAG_FLYING, MOVEMENTFLAG_SWIMMING, and MOVEMENTFLAG_WALKING.

◆ HasExtraMovementFlag()

bool MovementInfo::HasExtraMovementFlag ( uint16  flag) const
inline
353{ return flags2 & flag; }

References flags2.

Referenced by WorldSession::ReadMovementInfo(), and WorldSession::WriteMovementInfo().

◆ HasMovementFlag()

◆ OutDebug()

void MovementInfo::OutDebug ( )
1023{
1024 LOG_INFO("movement", "MOVEMENT INFO");
1025 LOG_INFO("movement", "guid {}", guid.ToString());
1026 LOG_INFO("movement", "flags {}", flags);
1027 LOG_INFO("movement", "flags2 {}", flags2);
1028 LOG_INFO("movement", "time {} current time {}", flags2, uint64(::GameTime::GetGameTime().count()));
1029 LOG_INFO("movement", "position: `{}`", pos.ToString());
1030
1032 {
1033 LOG_INFO("movement", "TRANSPORT:");
1034 LOG_INFO("movement", "guid: {}", transport.guid.ToString());
1035 LOG_INFO("movement", "position: `{}`", transport.pos.ToString());
1036 LOG_INFO("movement", "seat: {}", transport.seat);
1037 LOG_INFO("movement", "time: {}", transport.time);
1038
1040 {
1041 LOG_INFO("movement", "time2: {}", transport.time2);
1042 }
1043 }
1044
1046 LOG_INFO("movement", "pitch: {}", pitch);
1047
1048 LOG_INFO("movement", "fallTime: {}", fallTime);
1050 LOG_INFO("movement", "j_zspeed: {} j_sinAngle: {} j_cosAngle: {} j_xyspeed: {}", jump.zspeed, jump.sinAngle, jump.cosAngle, jump.xyspeed);
1051
1053 LOG_INFO("movement", "splineElevation: {}", splineElevation);
1054}
std::uint64_t uint64
Definition Define.h:106
#define LOG_INFO(filterType__,...)
Definition Log.h:166
@ MOVEMENTFLAG_ONTRANSPORT
Definition UnitDefines.h:381
@ MOVEMENTFLAG_FALLING
Definition UnitDefines.h:384
@ MOVEMENTFLAG_SPLINE_ELEVATION
Definition UnitDefines.h:398
@ MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING
Definition UnitDefines.h:435
@ MOVEMENTFLAG2_INTERPOLATED_MOVEMENT
Definition UnitDefines.h:440
std::string ToString() const
Definition ObjectGuid.cpp:47
Seconds GetGameTime()
Definition GameTime.cpp:38
float cosAngle
Definition Object.h:329
float xyspeed
Definition Object.h:329
float zspeed
Definition Object.h:329
float sinAngle
Definition Object.h:329
uint32 time2
Definition Object.h:312
ObjectGuid guid
Definition Object.h:308
uint32 time
Definition Object.h:311
int8 seat
Definition Object.h:310
Position pos
Definition Object.h:309
ObjectGuid guid
Definition Object.h:290
uint32 fallTime
Definition Object.h:319
float splineElevation
Definition Object.h:333
float pitch
Definition Object.h:316
std::string ToString() const
Definition Position.cpp:59

References MovementInfo::JumpInfo::cosAngle, fallTime, flags, flags2, GameTime::GetGameTime(), guid, MovementInfo::TransportInfo::guid, jump, LOG_INFO, MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING, MOVEMENTFLAG2_INTERPOLATED_MOVEMENT, MOVEMENTFLAG_FALLING, MOVEMENTFLAG_FLYING, MOVEMENTFLAG_ONTRANSPORT, MOVEMENTFLAG_SPLINE_ELEVATION, MOVEMENTFLAG_SWIMMING, pitch, pos, MovementInfo::TransportInfo::pos, MovementInfo::TransportInfo::seat, MovementInfo::JumpInfo::sinAngle, splineElevation, MovementInfo::TransportInfo::time, MovementInfo::TransportInfo::time2, ObjectGuid::ToString(), Position::ToString(), transport, MovementInfo::JumpInfo::xyspeed, and MovementInfo::JumpInfo::zspeed.

◆ RemoveMovementFlag()

◆ SetFallTime()

void MovementInfo::SetFallTime ( uint32  newFallTime)
inline
355{ fallTime = newFallTime; }

References fallTime.

Referenced by MotionMaster::MoveFall().

◆ SetMovementFlags()

void MovementInfo::SetMovementFlags ( uint32  flag)
inline
343{ flags = flag; }

References flags.

Referenced by Movement::MoveSplineInit::Launch().

Member Data Documentation

◆ fallTime

◆ flags

◆ flags2

◆ guid

◆ jump

◆ pitch

float MovementInfo::pitch {0.0f}

◆ pos

◆ splineElevation

float MovementInfo::splineElevation {0.0f}

◆ time

◆ transport

struct MovementInfo::TransportInfo MovementInfo::transport

Referenced by WorldObject::_IsWithinDist(), Vehicle::AddPassenger(), MotionTransport::AddPassenger(), StaticTransport::AddPassenger(), Unit::BuildMovementPacket(), WorldSession::BuildPartyMemberStatsChangedPacket(), DynamicObject::CleanupsBeforeDelete(), GameObject::CleanupsBeforeDelete(), MotionTransport::CleanupsBeforeDelete(), StaticTransport::CleanupsBeforeDelete(), Unit::CleanupsBeforeDelete(), MotionTransport::CreateGOPassenger(), MotionTransport::CreateNPCPassenger(), MotionTransport::DelayedTeleportTransport(), go_commandscript::DoTeleportToTransport(), WorldObject::GetTransOffsetO(), WorldObject::GetTransOffsetX(), WorldObject::GetTransOffsetY(), WorldObject::GetTransOffsetZ(), WorldObject::GetTransSeat(), WorldObject::GetTransTime(), misc_commandscript::HandleAppearCommand(), misc_commandscript::HandleGPSCommand(), WorldSession::HandleMoverRelocation(), WorldSession::HandleMoveWorldportAck(), WorldSession::HandlePlayerLoginFromDB(), WorldSession::HandleRequestPartyMemberStatsOpcode(), Movement::MoveSplineInit::Launch(), Player::LoadFromDB(), MovementInfo(), OutDebug(), WorldSession::ProcessMovementInfo(), WorldSession::ReadMovementInfo(), spell_igb_teleport_to_enemy_ship::RelocateTransportOffset(), Vehicle::RemovePassenger(), MotionTransport::RemovePassenger(), StaticTransport::RemovePassenger(), Movement::MoveSplineInit::Stop(), Player::TeleportTo(), StaticTransport::UpdatePassengerPositions(), MotionTransport::UpdatePassengerPositions(), Unit::UpdateSplinePosition(), WorldSession::VerifyMovementInfo(), and WorldSession::WriteMovementInfo().


The documentation for this struct was generated from the following files: