diff options
author | Shauren <shauren.trinity@gmail.com> | 2014-11-02 18:53:15 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2014-11-02 18:53:15 +0100 |
commit | 2b0d4112506d5df42e271ed97b57dda4922702d0 (patch) | |
tree | 3fce39e0c6251af143b6a6b9c4f73f65b71f49fb /src | |
parent | 4f7bd78b562a69ebc556e9c00f8e3812ad694c88 (diff) |
Core/Entities: Fixed transport data in update object for non-units
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 7 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Updates/UpdateData.h | 2 |
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, |