mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
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:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user