diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index c19f5f1c05c..b67e15cdc0c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -12582,7 +12582,9 @@ void Unit::SetFacingTo(float ori, bool force) init.SetFacing(ori); //GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_FACE, MOTION_PRIORITY_HIGHEST); - init.Launch(); + UpdateSplineMovement(init.Launch()); + if (Creature* creature = ToCreature()) + creature->AI()->MovementInform(EFFECT_MOTION_TYPE, EVENT_FACE); } void Unit::SetFacingToObject(WorldObject const* object, bool force) @@ -12597,7 +12599,9 @@ void Unit::SetFacingToObject(WorldObject const* object, bool force) init.SetFacing(GetAbsoluteAngle(object)); // when on transport, GetAbsoluteAngle will still return global coordinates (and angle) that needs transforming //GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_FACE, MOTION_PRIORITY_HIGHEST); - init.Launch(); + UpdateSplineMovement(init.Launch()); + if (Creature* creature = ToCreature()) + creature->AI()->MovementInform(EFFECT_MOTION_TYPE, EVENT_FACE); } void Unit::SetFacingToPoint(Position const& point, bool force) @@ -12614,7 +12618,9 @@ void Unit::SetFacingToPoint(Position const& point, bool force) init.SetFacing(point.GetPositionX(), point.GetPositionY(), point.GetPositionZ()); //GetMotionMaster()->LaunchMoveSpline(std::move(init), EVENT_FACE, MOTION_PRIORITY_HIGHEST); - init.Launch(); + UpdateSplineMovement(init.Launch()); + if (Creature* creature = ToCreature()) + creature->AI()->MovementInform(EFFECT_MOTION_TYPE, EVENT_FACE); } bool Unit::SetWalk(bool enable) |