36 _aura(nullptr), _removedAura(nullptr), _caster(nullptr), _duration(0), _isViewpoint(false)
96 _Create(ObjectGuid::Create<HighGuid::DynamicObject>(
GetMapId(), spell->
Id, guidlow));
123 if (!
GetMap()->AddToMap(
this))
140 bool expired =
false;
162 sScriptMgr->OnDynamicObjectUpdate(
this, p_time);
211 caster->SetViewpoint(
this,
true);
220 caster->SetViewpoint(
this,
false);
274 if (requestedObjectMask.IsAnySet())
277 if (requestedDynamicObjectMask.IsAnySet())
281 std::size_t sizePos = buffer.
wpos();
287 m_objectData->WriteUpdate(requestedObjectMask, buffer, target,
this, ignoreNestedChangesMask);
290 m_dynamicObjectData->WriteUpdate(requestedDynamicObjectMask, buffer, target,
this, ignoreNestedChangesMask);
#define TC_LOG_ERROR(filterType__, message__,...)
int32 GetDuration() const
void UpdateOwner(uint32 diff, WorldObject *owner)
void SetDuration(int32 duration, bool withMods=false)
void _Remove(AuraRemoveMode removeMode)
ObjectGuid const & GetGUID() const
void SetUpdateFieldValue(UF::UpdateFieldPrivateSetter< T > setter, typename UF::UpdateFieldPrivateSetter< T >::value_type value)
WowCS::EntityFragmentsHolder m_entityFragments
UF::UpdateFieldHolder m_values
void _Create(ObjectGuid const &guid)
CreateObjectBits m_updateFlag
ByteBuffer & PrepareValuesUpdateBuffer(UpdateData *data) const
virtual UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const *target) const
void put(std::size_t pos, T value)
UF::UpdateField< UF::DynamicObjectData, int32(WowCS::EntityFragment::CGObject), TYPEID_DYNAMICOBJECT > m_dynamicObjectData
void SetCasterViewpoint()
void Update(uint32 p_time) override
void AddToWorld() override
void BuildValuesUpdateForPlayerWithMask(UpdateData *data, UF::ObjectData::Mask const &requestedObjectMask, UF::DynamicObjectData::Mask const &requestedDynamicObjectMask, Player const *target, bool ignoreNestedChangesMask) const
DynamicObject(bool isWorldObject)
SpellInfo const * GetSpellInfo() const
void SetDuration(int32 newDuration)
void RemoveCasterViewpoint()
uint32 GetSpellId() const
bool CreateDynamicObject(ObjectGuid::LowType guidlow, Unit *caster, SpellInfo const *spell, Position const &pos, float radius, DynamicObjectType type, SpellCastVisual spellVisual)
void ClearValuesChangesMask() override
void BuildValuesCreate(UF::UpdateFieldFlag flags, ByteBuffer &data, Player const *target) const override
ObjectGuid GetCasterGUID() const
uint32 GetFaction() const override
void Delay(int32 delaytime)
int32 GetDuration() const
void RemoveFromWorld() override
void BuildValuesUpdate(UF::UpdateFieldFlag flags, ByteBuffer &data, Player const *target) const override
MapStoredObjectTypesContainer & GetObjectsStore()
void BuildEntityFragmentsForValuesUpdateForPlayerWithMask(ByteBuffer &data, EnumFlag< UF::UpdateFieldFlag > flags) const
void SetEntry(uint32 entry)
virtual void ClearValuesChangesMask()
virtual void SetObjectScale(float scale)
UF::UpdateField< UF::ObjectData, int32(WowCS::EntityFragment::CGObject), TYPEID_OBJECT > m_objectData
static void InheritPhaseShift(WorldObject *target, WorldObject const *source)
void SendDirectMessage(WorldPacket const *data) const
virtual Position GetPositionOffsetTo(Position const &endPos) const =0
This method transforms supplied global coordinates into local offsets.
virtual void AddPassenger(WorldObject *passenger, Position const &offset)=0
virtual TransportBase * RemovePassenger(WorldObject *passenger)=0
Mask const & GetChangesMask() const
MutableFieldReference< T, false > ModifyValue(UpdateField< T, BlockBit, Bit >(Derived::*field))
void ClearChangesMask(UpdateField< T, BlockBit, Bit >(Derived::*field))
bool HasChanged(uint32 index) const
uint32 GetChangedObjectTypeMask() const
void _UnregisterDynObject(DynamicObject *dynObj)
void _RegisterDynObject(DynamicObject *dynObj)
uint32 GetFaction() const override
bool BuildPacket(WorldPacket *packet)
constexpr uint32 GetBlock(uint32 index) const
constexpr void Set(uint32 index)
constexpr uint32 GetMapId() const
void AddToWorld() override
void RemoveFromWorld() override
TransportBase * GetTransport() const
void setActive(bool isActiveObject)
virtual void SetMap(Map *map)
void AddObjectToRemoveList()
void UpdatePositionData()
bool IsStoredInWorldObjectGridContainer() const
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
bool IgnoreNestedChangesMask
void operator()(Player const *player) const
UF::DynamicObjectData::Base DynamicObjectMask
UF::ObjectData::Base ObjectMask
DynamicObject const * Owner
constexpr float GetPositionX() const
constexpr float GetPositionY() const
bool IsPositionValid() const
constexpr void Relocate(float x, float y)
uint32 SpellXSpellVisualID
bool Insert(ValueType< ObjectType > object)
bool Remove(ValueType< ObjectType > object)
UpdateField< ObjectGuid, 0, 1 > Caster
UpdateField< uint8, 0, 2 > Type
UpdateField< uint32, 0, 6 > CastTime
UpdateField< float, 0, 5 > Radius
UpdateField< UF::SpellCastVisual, 0, 3 > SpellVisual
UpdateField< int32, 0, 4 > SpellID
int32 SpellXSpellVisualID
void Add(EntityFragment fragment, bool update, void const *data=nullptr)