aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-10-29 00:48:21 +0100
committerShauren <shauren.trinity@gmail.com>2024-10-29 00:48:21 +0100
commit963eb6b80c1231ebaadd29806666c9ae5b79a985 (patch)
tree4d0cdc792df7957172839918afca1070989a638b /src
parent9261140c9ddc5b15bc2e0abe9d8755552ae74d82 (diff)
Core/Objects: Fixup SMSG_UPDATE_OBJECT related refactors
* Object::BuildValuesUpdateWithFlag is actually unused * Restore UF::UpdateFieldFlag::Owner for players (self packet)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp13
-rw-r--r--src/server/game/Entities/Creature/Creature.h1
-rw-r--r--src/server/game/Entities/Object/Object.cpp4
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp13
-rw-r--r--src/server/game/Entities/Unit/Unit.h2
5 files changed, 15 insertions, 18 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index bcb5344bdbb..37eeab24446 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -3771,19 +3771,6 @@ void Creature::InitializeInteractSpellId()
SetInteractSpellId(0);
}
-UF::UpdateFieldFlag Creature::GetUpdateFieldFlagsFor(Player const* target) const
-{
- UF::UpdateFieldFlag flags = UF::UpdateFieldFlag::None;
- if (GetOwnerGUID() == target->GetGUID())
- flags |= UF::UpdateFieldFlag::Owner;
-
- if (HasDynamicFlag(UNIT_DYNFLAG_SPECIALINFO))
- if (HasAuraTypeWithCaster(SPELL_AURA_EMPATHY, target->GetGUID()))
- flags |= UF::UpdateFieldFlag::Empath;
-
- return flags;
-}
-
void Creature::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const
{
m_objectData->WriteCreate(*data, flags, this, target);
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index 81949f91770..9bb49a334a1 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -469,7 +469,6 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma
void SetInteractSpellId(int32 interactSpellId) { SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::InteractSpellID), interactSpellId); }
protected:
- UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const* target) const final;
void BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
void BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const override;
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index c7d440306f0..2a3a84db61c 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -794,11 +794,7 @@ UF::UpdateFieldFlag Object::GetUpdateFieldFlagsFor(Player const* /*target*/) con
void Object::BuildValuesUpdateWithFlag(ByteBuffer* data, UF::UpdateFieldFlag /*flags*/, Player const* /*target*/) const
{
- std::size_t sizePos = data->wpos();
*data << uint32(0);
- *data << uint32(0);
-
- data->put<uint32>(sizePos, data->wpos() - sizePos - 4);
}
void Object::AddToObjectUpdateIfNeeded()
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index fe0b7bd931c..abbee9da81e 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -13749,6 +13749,19 @@ bool Unit::IsSplineEnabled() const
return movespline->Initialized() && !movespline->Finalized();
}
+UF::UpdateFieldFlag Unit::GetUpdateFieldFlagsFor(Player const* target) const
+{
+ UF::UpdateFieldFlag flags = UF::UpdateFieldFlag::None;
+ if (target == this || GetOwnerGUID() == target->GetGUID())
+ flags |= UF::UpdateFieldFlag::Owner;
+
+ if (HasDynamicFlag(UNIT_DYNFLAG_SPECIALINFO))
+ if (HasAuraTypeWithCaster(SPELL_AURA_EMPATHY, target->GetGUID()))
+ flags |= UF::UpdateFieldFlag::Empath;
+
+ return flags;
+}
+
void Unit::DestroyForPlayer(Player* target) const
{
if (Battleground* bg = target->GetBattleground())
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index e40827ece4e..d5ac501e56d 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -1841,6 +1841,8 @@ class TC_GAME_API Unit : public WorldObject
protected:
explicit Unit (bool isWorldObject);
+ UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const* target) const override;
+
void DestroyForPlayer(Player* target) const override;
void ClearUpdateMask(bool remove) override;