35 _aura(nullptr), _removedAura(nullptr), _caster(nullptr), _duration(0), _isViewpoint(false)
126 if (!
GetMap()->AddToMap(
this))
143 bool expired =
false;
165 sScriptMgr->OnDynamicObjectUpdate(
this, p_time);
214 caster->SetViewpoint(
this,
true);
223 caster->SetViewpoint(
this,
false);
258 std::size_t sizePos = data->
wpos();
269 std::size_t sizePos = data->
wpos();
286 if (requestedObjectMask.IsAnySet())
289 if (requestedDynamicObjectMask.IsAnySet())
293 std::size_t sizePos = buffer.
wpos();
298 m_objectData->WriteUpdate(buffer, requestedObjectMask,
true,
this, target);
#define TC_LOG_ERROR(filterType__,...)
int32 GetDuration() const
void UpdateOwner(uint32 diff, WorldObject *owner)
void SetDuration(int32 duration, bool withMods=false)
void _Remove(AuraRemoveMode removeMode)
void put(std::size_t pos, T value)
void BuildValuesUpdate(ByteBuffer *data, Player const *target) const override
void SetCasterViewpoint()
void Update(uint32 p_time) override
void AddToWorld() override
DynamicObject(bool isWorldObject)
SpellInfo const * GetSpellInfo() const
void SetDuration(int32 newDuration)
void RemoveCasterViewpoint()
uint32 GetSpellId() const
void BuildValuesCreate(ByteBuffer *data, Player const *target) const override
bool CreateDynamicObject(ObjectGuid::LowType guidlow, Unit *caster, SpellInfo const *spell, Position const &pos, float radius, DynamicObjectType type, SpellCastVisual spellVisual)
void ClearUpdateMask(bool remove) override
ObjectGuid GetCasterGUID() const
uint32 GetFaction() const override
void Delay(int32 delaytime)
UF::UpdateField< UF::DynamicObjectData, 0, TYPEID_DYNAMICOBJECT > m_dynamicObjectData
int32 GetDuration() const
void BuildValuesUpdateForPlayerWithMask(UpdateData *data, UF::ObjectData::Mask const &requestedObjectMask, UF::DynamicObjectData::Mask const &requestedDynamicObjectMask, Player const *target) const
void RemoveFromWorld() override
MapStoredObjectTypesContainer & GetObjectsStore()
ObjectGuid const & GetGUID() const
UF::UpdateField< UF::ObjectData, 0, TYPEID_OBJECT > m_objectData
CreateObjectBits m_updateFlag
virtual void ClearUpdateMask(bool remove)
void SetUpdateFieldValue(UF::UpdateFieldSetter< T > setter, typename UF::UpdateFieldSetter< T >::value_type value)
UF::UpdateFieldHolder m_values
void _Create(ObjectGuid const &guid)
ByteBuffer & PrepareValuesUpdateBuffer(UpdateData *data) const
static ObjectGuid GetGUID(Object const *o)
void SetEntry(uint32 entry)
virtual void SetObjectScale(float scale)
virtual UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const *target) const
static Player * ToPlayer(Object *o)
static void InheritPhaseShift(WorldObject *target, WorldObject const *source)
void SendDirectMessage(WorldPacket const *data) const
virtual TransportBase * RemovePassenger(WorldObject *passenger)=0
virtual void CalculatePassengerOffset(float &x, float &y, float &z, float *o=nullptr) const =0
This method transforms supplied global coordinates into local offsets.
virtual void AddPassenger(WorldObject *passenger)=0
bool Remove(KEY_TYPE const &handle)
bool Insert(KEY_TYPE const &handle, SPECIFIC_TYPE *obj)
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)
uint32 GetBlock(uint32 index) const
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
MovementInfo m_movementInfo
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
void operator()(Player const *player) const
UF::DynamicObjectData::Base DynamicObjectMask
UF::ObjectData::Base ObjectMask
DynamicObject const * Owner
struct MovementInfo::TransportInfo transport
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr void GetPosition(float &x, float &y) const
bool IsPositionValid() const
constexpr void Relocate(float x, float y)
uint32 SpellXSpellVisualID
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