aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/AreaTrigger
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-10-30 14:41:27 +0100
committerShauren <shauren.trinity@gmail.com>2024-10-30 14:41:27 +0100
commit68db469ee1f992bcdc81de64d6af1007d303be05 (patch)
tree776b61e7c2eaf0a07e1d8a711c09c1131603a13c /src/server/game/Entities/AreaTrigger
parent91c12c64037ca906c30f9718fadab619359f1616 (diff)
Core/PacketIO: Updated SMSG_UPDATE_OBJECT for 11.0.5
Diffstat (limited to 'src/server/game/Entities/AreaTrigger')
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.cpp4
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
index 475c046c4b7..6b9b05924c8 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
@@ -53,6 +53,8 @@ AreaTrigger::AreaTrigger() : WorldObject(false), MapObject(), _spawnId(0), _aurE
m_updateFlag.Stationary = true;
m_updateFlag.AreaTrigger = true;
+
+ m_entityFragments.Add(WowCS::EntityFragment::Tag_AreaTrigger, false);
}
AreaTrigger::~AreaTrigger()
@@ -1396,6 +1398,7 @@ void AreaTrigger::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags,
void AreaTrigger::BuildValuesUpdateForPlayerWithMask(UpdateData* data, UF::ObjectData::Mask const& requestedObjectMask,
UF::AreaTriggerData::Mask const& requestedAreaTriggerMask, Player const* target) const
{
+ UF::UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
UpdateMask<NUM_CLIENT_OBJECT_TYPES> valuesMask;
if (requestedObjectMask.IsAnySet())
valuesMask.Set(TYPEID_OBJECT);
@@ -1406,6 +1409,7 @@ void AreaTrigger::BuildValuesUpdateForPlayerWithMask(UpdateData* data, UF::Objec
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/AreaTrigger/AreaTrigger.h b/src/server/game/Entities/AreaTrigger/AreaTrigger.h
index 5544ecc9b90..c1fc706d191 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.h
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.h
@@ -166,7 +166,7 @@ class TC_GAME_API AreaTrigger final : public WorldObject, public GridObject<Area
void UpdateShape();
- UF::UpdateField<UF::AreaTriggerData, 0, TYPEID_AREATRIGGER> m_areaTriggerData;
+ UF::UpdateField<UF::AreaTriggerData, int32(WowCS::EntityFragment::CGObject), TYPEID_AREATRIGGER> m_areaTriggerData;
protected:
void _UpdateDuration(int32 newDuration);