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
337 {
338 pos.Relocate(0.0f, 0.0f, 0.0f, 0.0f);
340 jump.Reset();
341 }
void Reset()
Definition Object.h:325
void Reset()
Definition Object.h:300
struct MovementInfo::JumpInfo jump
struct MovementInfo::TransportInfo transport
Position pos
Definition Object.h:294
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
353{ flags2 |= flag; }
uint16 flags2
Definition Object.h:293

References flags2.

◆ AddMovementFlag()

void MovementInfo::AddMovementFlag ( uint32  flag)
inline

◆ GetExtraMovementFlags()

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

References flags2.

◆ GetMovementFlags()

◆ GetSpeedType() [1/2]

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

References flags, and GetSpeedType().

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

◆ GetSpeedType() [2/2]

UnitMoveType MovementInfo::GetSpeedType ( uint32  moveFlags)
static
1003{
1004 if (moveFlags & MOVEMENTFLAG_FLYING)
1005 {
1006 if (moveFlags & MOVEMENTFLAG_BACKWARD)
1007 return MOVE_FLIGHT_BACK;
1008
1009 return MOVE_FLIGHT;
1010 }
1011 else if (moveFlags & MOVEMENTFLAG_SWIMMING)
1012 {
1013 if (moveFlags & MOVEMENTFLAG_BACKWARD)
1014 return MOVE_SWIM_BACK;
1015
1016 return MOVE_SWIM;
1017 }
1018 else if (moveFlags & MOVEMENTFLAG_WALKING)
1019 return MOVE_WALK;
1020 else if (moveFlags & MOVEMENTFLAG_BACKWARD)
1021 return MOVE_RUN_BACK;
1022
1023 return MOVE_RUN;
1024}
@ 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
354{ return flags2 & flag; }

References flags2.

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

◆ HasMovementFlag()

◆ OutDebug()

void MovementInfo::OutDebug ( )
1027{
1028 LOG_INFO("movement", "MOVEMENT INFO");
1029 LOG_INFO("movement", "guid {}", guid.ToString());
1030 LOG_INFO("movement", "flags {}", flags);
1031 LOG_INFO("movement", "flags2 {}", flags2);
1032 LOG_INFO("movement", "time {} current time {}", flags2, uint64(::GameTime::GetGameTime().count()));
1033 LOG_INFO("movement", "position: `{}`", pos.ToString());
1034
1036 {
1037 LOG_INFO("movement", "TRANSPORT:");
1038 LOG_INFO("movement", "guid: {}", transport.guid.ToString());
1039 LOG_INFO("movement", "position: `{}`", transport.pos.ToString());
1040 LOG_INFO("movement", "seat: {}", transport.seat);
1041 LOG_INFO("movement", "time: {}", transport.time);
1042
1044 {
1045 LOG_INFO("movement", "time2: {}", transport.time2);
1046 }
1047 }
1048
1050 LOG_INFO("movement", "pitch: {}", pitch);
1051
1052 LOG_INFO("movement", "fallTime: {}", fallTime);
1054 LOG_INFO("movement", "j_zspeed: {} j_sinAngle: {} j_cosAngle: {} j_xyspeed: {}", jump.zspeed, jump.sinAngle, jump.cosAngle, jump.xyspeed);
1055
1057 LOG_INFO("movement", "splineElevation: {}", splineElevation);
1058}
std::uint64_t uint64
Definition Define.h:106
#define LOG_INFO(filterType__,...)
Definition Log.h:153
@ 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:48
Seconds GetGameTime()
Definition GameTime.cpp:38
float cosAngle
Definition Object.h:330
float xyspeed
Definition Object.h:330
float zspeed
Definition Object.h:330
float sinAngle
Definition Object.h:330
uint32 time2
Definition Object.h:313
ObjectGuid guid
Definition Object.h:309
uint32 time
Definition Object.h:312
int8 seat
Definition Object.h:311
Position pos
Definition Object.h:310
ObjectGuid guid
Definition Object.h:291
uint32 fallTime
Definition Object.h:320
float splineElevation
Definition Object.h:334
float pitch
Definition Object.h:317
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
356{ fallTime = newFallTime; }

References fallTime.

Referenced by MotionMaster::MoveFall().

◆ SetMovementFlags()

void MovementInfo::SetMovementFlags ( uint32  flag)
inline
344{ 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: