diff options
Diffstat (limited to 'src/game/TaxiHandler.cpp')
| -rw-r--r-- | src/game/TaxiHandler.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/game/TaxiHandler.cpp b/src/game/TaxiHandler.cpp index 5ba65c00660..fe1255e51a1 100644 --- a/src/game/TaxiHandler.cpp +++ b/src/game/TaxiHandler.cpp @@ -249,12 +249,19 @@ void WorldSession::HandleTaxiNextDestinationOpcode(WorldPacket& /*recv_data*/) objmgr.GetTaxiPath( sourcenode, destinationnode, path, cost); if(path && MountId) + { SendDoFlight( MountId, path, 1 ); // skip start fly node - else - GetPlayer()->m_taxi.ClearTaxiDestinations(); // clear problematic path and next + return; + } } - else - GetPlayer()->m_taxi.ClearTaxiDestinations(); // not destinations, clear source node + + GetPlayer()->m_taxi.ClearTaxiDestinations(); // not destinations, clear source node + GetPlayer()->Unmount(); + GetPlayer()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_TAXI_FLIGHT); + GetPlayer()->SetFallInformation(0, GetPlayer()->GetPositionZ()); + GetPlayer()->getHostilRefManager().setOnlineOfflineState(true); + if(GetPlayer()->pvpInfo.inHostileArea) + GetPlayer()->CastSpell(GetPlayer(), 2479, true); } void WorldSession::HandleActivateTaxiOpcode( WorldPacket & recv_data ) |
