85 return aura->GetCastId() == _createdBySpellCast;
135 if (!
GetMap()->AddToMap(
this))
163 if (requestedObjectMask.IsAnySet())
166 if (requestedSceneObjectMask.IsAnySet())
170 std::size_t sizePos = buffer.
wpos();
176 m_objectData->WriteUpdate(buffer, requestedObjectMask,
true,
this, target);
179 m_sceneObjectData->WriteUpdate(buffer, requestedSceneObjectMask,
true,
this, target);
constexpr std::underlying_type< E >::type AsUnderlyingType(E enumValue)
void put(std::size_t pos, T value)
MapStoredObjectTypesContainer & GetObjectsStore()
ObjectGuid::LowType GenerateLowGuid()
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 BuildEntityFragmentsForValuesUpdateForPlayerWithMask(ByteBuffer *data, EnumFlag< UF::UpdateFieldFlag > flags) const
void _Create(ObjectGuid const &guid)
ByteBuffer & PrepareValuesUpdateBuffer(UpdateData *data) const
static ObjectGuid GetGUID(Object const *o)
WowCS::EntityFragmentsHolder m_entityFragments
void SetEntry(uint32 entry)
virtual void SetObjectScale(float scale)
UF::UpdateField< UF::ObjectData, int32(WowCS::EntityFragment::CGObject), TYPEID_OBJECT > m_objectData
virtual UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const *target) const
static void InheritPhaseShift(WorldObject *target, WorldObject const *source)
void SendDirectMessage(WorldPacket const *data) const
void ClearUpdateMask(bool remove) override
void RemoveFromWorld() override
bool ShouldBeRemoved() const
void RelocateStationaryPosition(Position const &pos)
ObjectGuid GetOwnerGUID() const override
void AddToWorld() override
static SceneObject * CreateSceneObject(uint32 sceneId, Unit *creator, Position const &pos, ObjectGuid privateObjectOwner)
ObjectGuid _createdBySpellCast
UF::UpdateField< UF::SceneObjectData, int32(WowCS::EntityFragment::CGObject), TYPEID_SCENEOBJECT > m_sceneObjectData
void BuildValuesUpdateForPlayerWithMask(UpdateData *data, UF::ObjectData::Mask const &requestedObjectMask, UF::SceneObjectData::Mask const &requestedSceneObjectMask, Player const *target) const
bool Create(ObjectGuid::LowType lowGuid, SceneType type, uint32 sceneId, uint32 scriptPackageId, Map *map, Unit *creator, Position const &pos, ObjectGuid privateObjectOwner)
void BuildValuesCreate(ByteBuffer *data, UF::UpdateFieldFlag flags, Player const *target) const override
void BuildValuesUpdate(ByteBuffer *data, UF::UpdateFieldFlag flags, Player const *target) const override
void Update(uint32 diff) override
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
Aura * GetAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
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
void SetPrivateObjectOwner(ObjectGuid const &owner)
virtual void SetMap(Map *map)
void AddObjectToRemoveList()
void UpdatePositionData()
virtual void Update(uint32 diff)
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
constexpr void Relocate(float x, float y)
void operator()(Player const *player) const
UF::ObjectData::Base ObjectMask
SceneObject const * Owner
UF::SceneObjectData::Base SceneObjectMask
bool Remove(ObjectType *object)
bool Insert(ObjectType *object)
UpdateField< uint32, 0, 4 > SceneType
UpdateField< int32, 0, 1 > ScriptPackageID
UpdateField< ObjectGuid, 0, 3 > CreatedBy
UpdateField< uint32, 0, 2 > RndSeedVal
void Add(EntityFragment fragment, bool update)