99 moveFlags &= ~MOVEMENTFLAG_MASK_MOVING;
105 uint32 moveFlagsForSpeed = moveFlags;
109 moveFlagsForSpeed &= ~MOVEMENTFLAG_WALKING;
113 if (creature->HasSearchedAssistance())
118 float speedLimit = [&]()
121 return std::numeric_limits<float>::max();
216 Vector3 finalSpot = transform(spot);
240 angle -= vehicle->GetOrientation();
242 angle -= transport->GetTransportOrientation();
258 MoveTo(G3D::Vector3(x, y, z), generatePath, forceDestination);
266 bool result = path.
CalculatePath(dest.x, dest.y, dest.z, forceDestination);
290 transport->CalculatePassengerOffset(input.x, input.y, input.z);
@ MOVEMENTFLAG_DISABLE_GRAVITY
@ MOVEMENTFLAG_FALLING_SLOW
@ UNIT_NPC_FLAG_2_STEERING
void MoveTo(Vector3 const &destination, bool generatePath=true, bool forceDestination=false)
void SetFacing(float angle)
void MovebyPath(PointsArray const &path, int32 pointId=0)
Location ComputePosition() const
void Initialize(MoveSplineInitArgs const &)
static Creature * ToCreature(Object *o)
static ObjectGuid GetGUID(Object const *o)
Movement::PointsArray const & GetPath() const
PathType GetPathType() const
bool CalculatePath(float destX, float destY, float destZ, bool forceDest=false)
float GetSpeed(UnitMoveType mtype) const
Unit * GetVehicleBase() const
bool HasNpcFlag2(NPCFlags2 flags) const
bool HasUnitMovementFlag(uint32 f) const
TransportBase * GetDirectTransport() const
Returns the transport this unit is on directly (if on vehicle and transport, return vehicle)
ObjectGuid GetTransGUID() const override
std::unique_ptr< Movement::MoveSpline > movespline
virtual bool CanSwim() const
int8 GetTransSeat() const
virtual void SendMessageToSet(WorldPacket const *data, bool self) const
TransportBase * GetTransport() const
MovementInfo m_movementInfo
MovementMonsterSpline SplineData
WorldPacket const * Write() override
TaggedPosition< Position::XYZ > Pos
void InitializeSplineData(::Movement::MoveSpline const &moveSpline)
UnitMoveType SelectSpeedType(uint32 moveFlags)
TC_GAME_API UInt32Counter splineIdGen
std::vector< Vector3 > PointsArray
@ MONSTER_MOVE_FACING_TARGET
@ MONSTER_MOVE_FACING_ANGLE
@ MONSTER_MOVE_FACING_SPOT
void RemoveMovementFlag(uint32 flag)
struct MovementInfo::TransportInfo transport
void SetMovementFlags(uint32 flag)
uint32 GetMovementFlags() const
struct Movement::FacingInfo::@323 f
bool Validate(Unit *unit) const
============================================================================================
bool TransformForTransport
constexpr float GetPositionX() const
constexpr float GetPositionY() const
float GetAbsoluteAngle(float x, float y) const
constexpr float GetOrientation() const
constexpr float GetPositionZ() const
uint8 StopDistanceTolerance