aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Object
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-03-21 00:32:03 +0100
committerShauren <shauren.trinity@gmail.com>2014-03-21 00:32:03 +0100
commit0c3633e775aa60e264d586c7a0ae86c88deaf513 (patch)
tree7d51b846acde34f14f4ea023d318e1dcf2fe8b76 /src/server/game/Entities/Object
parent4c27c83efa811d128d4f2cbeb34afe6fcdacd5d8 (diff)
Core/GameObjects: Added workaround for elevators having different position for every player
Closes #11504
Diffstat (limited to 'src/server/game/Entities/Object')
-rw-r--r--src/server/game/Entities/Object/Object.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 4993f0f500a..7241087101d 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -469,7 +469,12 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
if (flags & UPDATEFLAG_TRANSPORT)
{
GameObject const* go = ToGameObject();
- if (go && go->IsTransport())
+ /** @TODO Use IsTransport() to also handle type 11 (TRANSPORT)
+ Currently grid objects are not updated if there are no nearby players,
+ this causes clients to receive different PathProgress
+ resulting in players seeing the object in a different position
+ */
+ if (go && go->ToTransport())
*data << uint32(go->GetGOValue()->Transport.PathProgress);
else
*data << uint32(getMSTime());