diff options
author | Shauren <shauren.trinity@gmail.com> | 2015-10-21 22:37:02 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2015-10-21 22:37:02 +0200 |
commit | 935c93e099f534f701ff8787204ce19be2ed2df2 (patch) | |
tree | eb06f1569e2a0b41899dbbbca6204b0310f7ba7a /src | |
parent | c85647e6999b7717ae27a2d59ecd7c904e792992 (diff) |
Core/Player: Fixed being teleported into void when on a transport
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 9d18fddb2b6..b306fb149bd 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -15460,8 +15460,10 @@ void Unit::SendTeleportPacket(Position& pos) { WorldPackets::Movement::MoveTeleport moveTeleport; moveTeleport.MoverGUID = GetGUID(); - moveTeleport.TransportGUID = GetTransGUID(); moveTeleport.Pos.Relocate(pos); + if (TransportBase* transportBase = GetDirectTransport()) + transportBase->CalculatePassengerOffset(moveTeleport.Pos.m_positionX, moveTeleport.Pos.m_positionY, moveTeleport.Pos.m_positionZ); + moveTeleport.TransportGUID = GetTransGUID(); moveTeleport.Facing = GetOrientation(); moveTeleport.SequenceIndex = m_movementCounter++; ToPlayer()->SendDirectMessage(moveTeleport.Write()); |