aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2013-11-18 20:57:02 +0100
committerjackpoz <giacomopoz@gmail.com>2013-11-18 20:57:02 +0100
commitd2065b0e502265e9b9127b1e4391b47b62a46b84 (patch)
tree90fd517b60ed7ce6cae1d9064ea23475b0f30d98 /src
parent2cad987a585eff86689e97eae743706b4dd6260e (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.cpp4
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);