aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Object/Object.cpp7
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateData.h2
2 files changed, 7 insertions, 2 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 908620568d3..6cc8ada629d 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -211,6 +211,11 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c
break;
}
+ if (!(flags & UPDATEFLAG_LIVING))
+ if (WorldObject const* worldObject = dynamic_cast<WorldObject const*>(this))
+ if (!worldObject->m_movementInfo.transport.guid.IsEmpty())
+ flags |= UPDATEFLAG_TRANSPORT_POSITION;
+
if (flags & UPDATEFLAG_STATIONARY_POSITION)
{
// UPDATETYPE_CREATE_OBJECT2 for some gameobject types...
@@ -355,7 +360,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const
bool PlayHoverAnim = false;
bool IsSuppressingGreetings = false;
bool HasMovementUpdate = flags & UPDATEFLAG_LIVING;
- bool HasMovementTransport = flags & UPDATEFLAG_GO_TRANSPORT_POSITION;
+ bool HasMovementTransport = flags & UPDATEFLAG_TRANSPORT_POSITION;
bool Stationary = flags & UPDATEFLAG_STATIONARY_POSITION;
bool CombatVictim = flags & UPDATEFLAG_HAS_TARGET;
bool ServerTime = flags & UPDATEFLAG_TRANSPORT;
diff --git a/src/server/game/Entities/Object/Updates/UpdateData.h b/src/server/game/Entities/Object/Updates/UpdateData.h
index 2ee0adba299..0deb37d339e 100644
--- a/src/server/game/Entities/Object/Updates/UpdateData.h
+++ b/src/server/game/Entities/Object/Updates/UpdateData.h
@@ -42,7 +42,7 @@ enum OBJECT_UPDATE_FLAGS
UPDATEFLAG_LIVING = 0x0008,
UPDATEFLAG_STATIONARY_POSITION = 0x0010,
UPDATEFLAG_VEHICLE = 0x0020,
- UPDATEFLAG_GO_TRANSPORT_POSITION = 0x0040,
+ UPDATEFLAG_TRANSPORT_POSITION = 0x0040,
UPDATEFLAG_ROTATION = 0x0080,
UPDATEFLAG_ANIMKITS = 0x0100,
//UPDATEFLAG_AREATRIGGER = 0x0200,