Core/Objects: Fixup SMSG_UPDATE_OBJECT related refactors

* Object::BuildValuesUpdateWithFlag is actually unused
* Restore UF::UpdateFieldFlag::Owner for players (self packet)
This commit is contained in:
Shauren
2024-10-29 00:48:21 +01:00
parent 9261140c9d
commit 963eb6b80c
5 changed files with 15 additions and 18 deletions

View File

@@ -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);

View File

@@ -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;

View File

@@ -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()

View File

@@ -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())

View File

@@ -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;