diff options
author | ccrs <ccrs@users.noreply.github.com> | 2018-06-03 10:06:57 -0700 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-09-28 00:15:13 +0200 |
commit | 426f9f2f92b26fbb68e7cda9290ccbd586c6af4e (patch) | |
tree | ede70b7865c2edb58964c7aa668eb1250a5816ab /src/server/game/Handlers/TaxiHandler.cpp | |
parent | 3e0af19b7767d6e71a7467874fdad566cea5ee87 (diff) |
Core/Movement: MotionMaster reimplementation (#21888)
Internal structure and handling changes, nothing behavioural (or thats the intention at least).
(cherry picked from commit 982643cd96790ffc54e7a3e507469649f3b074d2)
Diffstat (limited to 'src/server/game/Handlers/TaxiHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/TaxiHandler.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/server/game/Handlers/TaxiHandler.cpp b/src/server/game/Handlers/TaxiHandler.cpp index 2b8c1098e8c..da4800ca319 100644 --- a/src/server/game/Handlers/TaxiHandler.cpp +++ b/src/server/game/Handlers/TaxiHandler.cpp @@ -130,7 +130,7 @@ void WorldSession::SendDoFlight(uint32 mountDisplayId, uint32 path, uint32 pathN if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - GetPlayer()->GetMotionMaster()->Clear(MOTION_SLOT_CONTROLLED); + GetPlayer()->GetMotionMaster()->Remove(FLIGHT_MOTION_TYPE); if (mountDisplayId) GetPlayer()->Mount(mountDisplayId); @@ -231,11 +231,10 @@ void WorldSession::SendActivateTaxiReply(ActivateTaxiReply reply) void WorldSession::HandleTaxiRequestEarlyLanding(WorldPackets::Taxi::TaxiRequestEarlyLanding& /*taxiRequestEarlyLanding*/) { - if (GetPlayer()->GetMotionMaster()->GetCurrentMovementGeneratorType() == FLIGHT_MOTION_TYPE) + if (FlightPathMovementGenerator* flight = dynamic_cast<FlightPathMovementGenerator*>(GetPlayer()->GetMotionMaster()->GetCurrentMovementGenerator())) { if (GetPlayer()->m_taxi.RequestEarlyLanding()) { - FlightPathMovementGenerator* flight = static_cast<FlightPathMovementGenerator*>(GetPlayer()->GetMotionMaster()->top()); flight->LoadPath(GetPlayer(), flight->GetPath()[flight->GetCurrentNode()]->NodeIndex); flight->Reset(GetPlayer()); } |