aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-10-21 22:37:02 +0200
committerShauren <shauren.trinity@gmail.com>2015-10-21 22:37:02 +0200
commit935c93e099f534f701ff8787204ce19be2ed2df2 (patch)
treeeb06f1569e2a0b41899dbbbca6204b0310f7ba7a /src
parentc85647e6999b7717ae27a2d59ecd7c904e792992 (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.cpp4
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());