From 3af5237f8cdf426b78feb0686d487f70ee429993 Mon Sep 17 00:00:00 2001 From: thenecromancer Date: Wed, 13 Jan 2010 10:04:48 +0100 Subject: Do not remove MOVEMENTFLAG_ONTRANSPORT when unit has existing GAMEOBJECT_TYPE_TRANSPORT in movement info Note that this will fix movement on elevators only visualy ( server position is still going to be wrong ) --HG-- branch : trunk --- src/game/MovementHandler.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp index e675352f198..e249766ed35 100644 --- a/src/game/MovementHandler.cpp +++ b/src/game/MovementHandler.cpp @@ -307,7 +307,11 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data ) } if (!mover->GetTransport() && !mover->GetVehicle()) - movementInfo.flags &= ~MOVEMENTFLAG_ONTRANSPORT; + { + GameObject *go = mover->GetMap()->GetGameObject(movementInfo.t_guid); + if (!go || go->GetGoType() != GAMEOBJECT_TYPE_TRANSPORT) + movementInfo.flags &= ~MOVEMENTFLAG_ONTRANSPORT; + } } else if (plMover && plMover->GetTransport()) // if we were on a transport, leave { -- cgit v1.2.3