diff options
author | jackpoz <giacomopoz@gmail.com> | 2013-11-18 20:57:02 +0100 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2013-11-18 20:57:02 +0100 |
commit | d2065b0e502265e9b9127b1e4391b47b62a46b84 (patch) | |
tree | 90fd517b60ed7ce6cae1d9064ea23475b0f30d98 /src | |
parent | 2cad987a585eff86689e97eae743706b4dd6260e (diff) |
Core/Transports: Fix triggered assertion in Transports
Relocate only Players in world when updating transport's and its passengers' positions.
Thanks vlad852 .
Closes #11209 .
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Transport/Transport.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp index 2663add5db1..ddb0775dc01 100644 --- a/src/server/game/Entities/Transport/Transport.cpp +++ b/src/server/game/Entities/Transport/Transport.cpp @@ -530,7 +530,9 @@ void Transport::UpdatePassengerPositions(std::set<WorldObject*>& passengers) break; } case TYPEID_PLAYER: - GetMap()->PlayerRelocation(passenger->ToPlayer(), x, y, z, o); + //relocate only passengers in world and skip any player that might be still logging in/teleporting + if (passenger->IsInWorld()) + GetMap()->PlayerRelocation(passenger->ToPlayer(), x, y, z, o); break; case TYPEID_GAMEOBJECT: GetMap()->GameObjectRelocation(passenger->ToGameObject(), x, y, z, o, false); |