diff options
author | Subv <s.v.h21@hotmail.com> | 2012-12-24 11:13:50 -0500 |
---|---|---|
committer | Subv <s.v.h21@hotmail.com> | 2012-12-24 11:13:50 -0500 |
commit | c6c07c1477fcbc4a8c7293e757b5402290a7d0ec (patch) | |
tree | 007da49959ac9b0b8c1703f04ad880d3fd2e4fdc /src | |
parent | 73d1ef72713061aef106ed8d80b1060236a86959 (diff) | |
parent | 7092e9350bbb8123de688be0bf5dd87d8196d34f (diff) |
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/Entities/Unit/Unit.cpp
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 7f3577ff7b3..f3111fab39c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -16659,15 +16659,20 @@ void Unit::NearTeleportTo(float x, float y, float z, float orientation, bool cas ToPlayer()->TeleportTo(GetMapId(), x, y, z, orientation, TELE_TO_NOT_LEAVE_TRANSPORT | TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET | (casting ? TELE_TO_SPELL : 0)); else { - UpdatePosition(x, y, z, orientation, true); - Position pos; // dummy, not used for creatures. + Position pos = {x, y, z, orientation}; SendTeleportPacket(pos); + UpdatePosition(x, y, z, orientation, true); UpdateObjectVisibility(); } } -void Unit::SendTeleportPacket(Position& oldPos) +void Unit::SendTeleportPacket(Position& pos) { + Position oldPos = {GetPositionX(), GetPositionY(), GetPositionZMinusOffset(), GetOrientation()}; + + if (GetTypeId() == TYPEID_UNIT) + Relocate(&pos); + ObjectGuid guid = GetGUID(); ObjectGuid transGuid = GetTransGUID(); @@ -16723,6 +16728,8 @@ void Unit::SendTeleportPacket(Position& oldPos) data << float(GetPositionY()); if (GetTypeId() == TYPEID_PLAYER) + Relocate(&pos); + else Relocate(&oldPos); SendMessageToSet(&data, true); |