diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-10-30 14:41:27 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2024-10-30 14:41:27 +0100 |
| commit | 68db469ee1f992bcdc81de64d6af1007d303be05 (patch) | |
| tree | 776b61e7c2eaf0a07e1d8a711c09c1131603a13c /src/server/game/Entities/Conversation | |
| parent | 91c12c64037ca906c30f9718fadab619359f1616 (diff) | |
Core/PacketIO: Updated SMSG_UPDATE_OBJECT for 11.0.5
Diffstat (limited to 'src/server/game/Entities/Conversation')
| -rw-r--r-- | src/server/game/Entities/Conversation/Conversation.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Conversation/Conversation.h | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Entities/Conversation/Conversation.cpp b/src/server/game/Entities/Conversation/Conversation.cpp index 9d2b615ef8a..fa1d5204165 100644 --- a/src/server/game/Entities/Conversation/Conversation.cpp +++ b/src/server/game/Entities/Conversation/Conversation.cpp @@ -39,6 +39,8 @@ Conversation::Conversation() : WorldObject(false), _duration(0), _textureKitId(0 m_updateFlag.Stationary = true; m_updateFlag.Conversation = true; + m_entityFragments.Add(WowCS::EntityFragment::Tag_Conversation, false); + _lastLineEndTimes.fill(Milliseconds::zero()); } @@ -367,6 +369,7 @@ void Conversation::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags void Conversation::BuildValuesUpdateForPlayerWithMask(UpdateData* data, UF::ObjectData::Mask const& requestedObjectMask, UF::ConversationData::Mask const& requestedConversationMask, Player const* target) const { + UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target); UpdateMask<NUM_CLIENT_OBJECT_TYPES> valuesMask; if (requestedObjectMask.IsAnySet()) valuesMask.Set(TYPEID_OBJECT); @@ -377,6 +380,7 @@ void Conversation::BuildValuesUpdateForPlayerWithMask(UpdateData* data, UF::Obje ByteBuffer& buffer = PrepareValuesUpdateBuffer(data); std::size_t sizePos = buffer.wpos(); buffer << uint32(0); + BuildEntityFragmentsForValuesUpdateForPlayerWithMask(&buffer, flags); buffer << uint32(valuesMask.GetBlock(0)); if (valuesMask[TYPEID_OBJECT]) diff --git a/src/server/game/Entities/Conversation/Conversation.h b/src/server/game/Entities/Conversation/Conversation.h index 3719038e138..f56c8e1d3c6 100644 --- a/src/server/game/Entities/Conversation/Conversation.h +++ b/src/server/game/Entities/Conversation/Conversation.h @@ -87,7 +87,7 @@ class TC_GAME_API Conversation final : public WorldObject, public GridObject<Con uint32 GetScriptId() const; - UF::UpdateField<UF::ConversationData, 0, TYPEID_CONVERSATION> m_conversationData; + UF::UpdateField<UF::ConversationData, int32(WowCS::EntityFragment::CGObject), TYPEID_CONVERSATION> m_conversationData; private: Position _stationaryPosition; |
