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
343 {
344 pos.Relocate(0.0f, 0.0f, 0.0f, 0.0f);
346 jump.Reset();
347 }
void Reset()
Definition Object.h:331
void Reset()
Definition Object.h:306
struct MovementInfo::JumpInfo jump
struct MovementInfo::TransportInfo transport
Position pos
Definition Object.h:300
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
359{ flags2 |= flag; }
uint16 flags2
Definition Object.h:299

References flags2.

◆ AddMovementFlag()

void MovementInfo::AddMovementFlag ( uint32  flag)
inline

◆ GetExtraMovementFlags()

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

References flags2.

◆ GetMovementFlags()

◆ GetSpeedType() [1/2]

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

References flags, and GetSpeedType().

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

◆ GetSpeedType() [2/2]

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

References flags2.

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

◆ HasMovementFlag()

◆ OutDebug()

void MovementInfo::OutDebug ( )
1032{
1033 LOG_INFO("movement", "MOVEMENT INFO");
1034 LOG_INFO("movement", "guid {}", guid.ToString());
1035 LOG_INFO("movement", "flags {}", flags);
1036 LOG_INFO("movement", "flags2 {}", flags2);
1037 LOG_INFO("movement", "time {} current time {}", flags2, uint64(::GameTime::GetGameTime().count()));
1038 LOG_INFO("movement", "position: `{}`", pos.ToString());
1039
1041 {
1042 LOG_INFO("movement", "TRANSPORT:");
1043 LOG_INFO("movement", "guid: {}", transport.guid.ToString());
1044 LOG_INFO("movement", "position: `{}`", transport.pos.ToString());
1045 LOG_INFO("movement", "seat: {}", transport.seat);
1046 LOG_INFO("movement", "time: {}", transport.time);
1047
1049 {
1050 LOG_INFO("movement", "time2: {}", transport.time2);
1051 }
1052 }
1053
1055 LOG_INFO("movement", "pitch: {}", pitch);
1056
1057 LOG_INFO("movement", "fallTime: {}", fallTime);
1059 LOG_INFO("movement", "j_zspeed: {} j_sinAngle: {} j_cosAngle: {} j_xyspeed: {}", jump.zspeed, jump.sinAngle, jump.cosAngle, jump.xyspeed);
1060
1062 LOG_INFO("movement", "splineElevation: {}", splineElevation);
1063}
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:336
float xyspeed
Definition Object.h:336
float zspeed
Definition Object.h:336
float sinAngle
Definition Object.h:336
uint32 time2
Definition Object.h:319
ObjectGuid guid
Definition Object.h:315
uint32 time
Definition Object.h:318
int8 seat
Definition Object.h:317
Position pos
Definition Object.h:316
ObjectGuid guid
Definition Object.h:297
uint32 fallTime
Definition Object.h:326
float splineElevation
Definition Object.h:340
float pitch
Definition Object.h:323
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
362{ fallTime = newFallTime; }

References fallTime.

Referenced by MotionMaster::MoveFall().

◆ SetMovementFlags()

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