Core/GameObjects: Added workaround for elevators having different position for every player

Closes #11504
This commit is contained in:
Shauren committed 2014-03-21 00:32:03 +01:00
1 parent 4c27c83efa
commit 0c3633e775
3 files changed
+13 -8

No files matched your search

+6 -1
View File
@@ -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());