diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 13 | ||||
-rw-r--r-- | src/server/game/Entities/Creature/Creature.h | 1 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 13 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 2 |
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 ee0a326cabf..cb32cfc0ee9 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -3584,19 +3584,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 cfa38d7af4c..d8fd4447ecb 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -458,7 +458,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 66a9124befd..f9c6d8d135e 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -825,11 +825,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 71fb021d40d..7dedf9418c0 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -13770,6 +13770,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 09ecfeb32ce..74c8ec63f43 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1825,6 +1825,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; |