aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement/MotionMaster.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Movement/MotionMaster.cpp')
-rw-r--r--src/server/game/Movement/MotionMaster.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index 7b43eea41ae..aec3bc208a8 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -713,6 +713,8 @@ void MotionMaster::MoveLand(uint32 id, Position const& pos, Optional<int32> tier
{
init.MoveTo(PositionToVector3(pos), false);
init.SetAnimation(AnimTier::Ground, tierTransitionId.value_or(1));
+ init.SetFly(); // ensure smooth animation even if gravity is enabled before calling this function
+ init.SetSmooth();
switch (speedSelectionMode)
{
case MovementWalkRunSpeedSelectionMode::ForceRun:
@@ -740,7 +742,8 @@ void MotionMaster::MoveTakeoff(uint32 id, Position const& pos, Optional<int32> t
std::function<void(Movement::MoveSplineInit&)> initializer = [=](Movement::MoveSplineInit& init)
{
init.MoveTo(PositionToVector3(pos), false);
- init.SetAnimation(AnimTier::Hover, tierTransitionId.value_or(15));
+ init.SetAnimation(AnimTier::Fly, tierTransitionId.value_or(2));
+ init.SetFly(); // ensure smooth animation even if gravity is disabled after calling this function
switch (speedSelectionMode)
{
case MovementWalkRunSpeedSelectionMode::ForceRun: