aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthenecromancer <none@none>2010-01-13 10:04:48 +0100
committerthenecromancer <none@none>2010-01-13 10:04:48 +0100
commit3af5237f8cdf426b78feb0686d487f70ee429993 (patch)
tree6d1124d4577d20c5ef22ebe61b3f22b8fb035cf7
parentac4bab545197f9fb393d7225d5c3d6597871978a (diff)
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
-rw-r--r--src/game/MovementHandler.cpp6
1 files changed, 5 insertions, 1 deletions
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
{