diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-09-03 22:00:20 -0300 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-02-19 15:34:57 +0100 |
| commit | b1b150a419241e926669807363913553b73f8b47 (patch) | |
| tree | 5696fceb8136773daf3143ec9cec3166c0e8b851 | |
| parent | b239afb0ef3086020637f43c8a48a38eef6b9fee (diff) | |
Core/Transport: do not relocate players on board of vehicles when near teleporting. Vehicle should take care of that
(cherry picked from commit 7470bf6b97eed6732fd1e076bb290f4f97e402a3)
| -rw-r--r-- | src/server/game/Entities/Transport/Transport.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp index 42112c9845d..b8329d24a8b 100644 --- a/src/server/game/Entities/Transport/Transport.cpp +++ b/src/server/game/Entities/Transport/Transport.cpp @@ -628,6 +628,11 @@ bool Transport::TeleportTransport(uint32 newMapid, float x, float y, float z, fl { if ((*itr)->GetTypeId() == TYPEID_PLAYER) { + // will be relocated in UpdatePosition of the vehicle + if (Unit* veh = (*itr)->ToUnit()->GetVehicleBase()) + if (veh->GetTransport() == this) + continue; + float destX, destY, destZ, destO; (*itr)->m_movementInfo.transport.pos.GetPosition(destX, destY, destZ, destO); TransportBase::CalculatePassengerPosition(destX, destY, destZ, &destO, x, y, z, o); |
