diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-04-07 00:05:46 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-04-07 00:05:46 +0200 |
commit | be3ae90dc488894afea8e4cca74d9105558fff53 (patch) | |
tree | 4edff4d861660895128cc4a199e5fe726a3d0c64 /src/server/game/Movement/MotionMaster.cpp | |
parent | b265c49977235dea5e7e69d7b6fb93f4943bf87a (diff) |
Core/Movement: Ensure land and takeoff animations even if gravity enabled/disabled state is not what spline generator expects
Diffstat (limited to 'src/server/game/Movement/MotionMaster.cpp')
-rw-r--r-- | src/server/game/Movement/MotionMaster.cpp | 5 |
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: |