TrinityCore
Loading...
Searching...
No Matches
GameObject Class Reference

#include <GameObject.h>

+ Inheritance diagram for GameObject:

Classes

struct  PerPlayerState
 
struct  ValuesUpdateForPlayerWithMaskSender
 

Public Member Functions

 GameObject ()
 
 ~GameObject ()
 
void BuildValuesUpdateForPlayerWithMask (UpdateData *data, UF::ObjectData::Mask const &requestedObjectMask, UF::GameObjectData::Mask const &requestedGameObjectMask, Player const *target, bool ignoreNestedChangesMask) const
 
void AddToWorld () override
 
void RemoveFromWorld () override
 
void CleanupsBeforeDelete (bool finalCleanup=true) override
 
void Update (uint32 diff) override
 
GameObjectTemplate const * GetGOInfo () const
 
GameObjectTemplateAddon const * GetTemplateAddon () const
 
GameObjectOverride const * GetGameObjectOverride () const
 
GameObjectData const * GetGameObjectData () const
 
GameObjectValue const * GetGOValue () const
 
bool IsTransport () const
 
bool IsDestructibleBuilding () const
 
ObjectGuid::LowType GetSpawnId () const
 
void SetLocalRotationAngles (float z_rot, float y_rot, float x_rot)
 
void SetLocalRotation (float qx, float qy, float qz, float qw)
 
void SetParentRotation (QuaternionData const &rotation)
 
QuaternionData const & GetLocalRotation () const
 
int64 GetPackedLocalRotation () const
 
QuaternionData GetWorldRotation () const
 
std::string GetNameForLocaleIdx (LocaleConstant locale) const override
 
bool HasLabel (int32 gameobjectLabel) const
 
std::span< int32 const > GetLabels () const
 
void SaveToDB ()
 
void SaveToDB (uint32 mapid, std::vector< Difficulty > const &spawnDifficulties)
 
bool LoadFromDB (ObjectGuid::LowType spawnId, Map *map, bool addToMap, bool=true)
 
ObjectGuid GetCreatorGUID () const override
 
void SetOwnerGUID (ObjectGuid owner)
 
ObjectGuid GetOwnerGUID () const override
 
void SetSpellId (uint32 id)
 
uint32 GetSpellId () const
 
time_t GetRespawnTime () const
 
time_t GetRespawnTimeEx () const
 
void SetRespawnTime (int32 respawn)
 
void Respawn ()
 
bool isSpawned () const
 
bool isSpawnedByDefault () const
 
void SetSpawnedByDefault (bool b)
 
uint32 GetRespawnDelay () const
 
void Refresh ()
 
void DespawnOrUnsummon (Milliseconds delay=0ms, Seconds forceRespawnTime=0s)
 
void DespawnForPlayer (Player *seer, Seconds respawnTime)
 
void Delete ()
 
void SendGameObjectDespawn ()
 
Loot * GetFishLoot (Player *lootOwner)
 
Loot * GetFishLootJunk (Player *lootOwner)
 
bool HasFlag (GameObjectFlags flags) const
 
void SetFlag (GameObjectFlags flags)
 
void RemoveFlag (GameObjectFlags flags)
 
void ReplaceAllFlags (GameObjectFlags flags)
 
void SetLevel (uint32 level)
 
GameobjectTypes GetGoType () const
 
void SetGoType (GameobjectTypes type)
 
GOState GetGoState () const
 
void SetGoState (GOState state)
 
GOState GetGoStateFor (ObjectGuid const &viewer) const
 
void SetGoStateFor (GOState state, Player const *viewer)
 
uint32 GetGoArtKit () const
 
void SetGoArtKit (uint32 artkit)
 
uint8 GetGoAnimProgress () const
 
void SetGoAnimProgress (uint8 animprogress)
 
std::span< uint32 const > GetPauseTimes () const
 
Optional< float > GetPathProgressForClient () const
 
void SetPathProgressForClient (float progress)
 
void EnableCollision (bool enable)
 
void Use (Unit *user, bool ignoreCastInProgress=false)
 
LootState getLootState () const
 
void SetLootState (LootState s, Unit *unit=nullptr)
 
uint16 GetLootMode () const
 
bool HasLootMode (uint16 lootMode) const
 
void SetLootMode (uint16 lootMode)
 
void AddLootMode (uint16 lootMode)
 
void RemoveLootMode (uint16 lootMode)
 
void ResetLootMode ()
 
void ClearLoot ()
 
bool IsFullyLooted () const
 
void OnLootRelease (Player *looter)
 
void AddToSkillupList (ObjectGuid const &PlayerGuidLow)
 
bool IsInSkillupList (ObjectGuid const &playerGuid) const
 
void ClearSkillupList ()
 
void AddUniqueUse (Player *player)
 
void AddUse ()
 
uint32 GetUseCount () const
 
uint32 GetUniqueUseCount () const
 
void SaveRespawnTime (uint32 forceDelay=0)
 
GuidUnorderedSet const & GetTapList () const
 
void SetTapList (GuidUnorderedSet tapList)
 
bool IsLootAllowedFor (Player const *player) const
 
bool HasLootRecipient () const
 
Loot * GetLootForPlayer (Player const *) const override
 
GameObject * GetLinkedTrap ()
 
void SetLinkedTrap (GameObject *linkedTrap)
 
bool hasQuest (uint32 quest_id) const override
 
bool hasInvolvedQuest (uint32 quest_id) const override
 
bool HasConditionalInteraction () const
 
bool CanActivateForPlayer (Player const *target) const
 
bool ActivateToQuest (Player const *target) const
 
void UseDoorOrButton (uint32 time_to_restore=0, bool alternative=false, Unit *user=nullptr)
 
void ResetDoorOrButton ()
 
void ActivateObject (GameObjectActions action, int32 param, WorldObject *spellCaster=nullptr, uint32 spellId=0, int32 effectIndex=-1)
 
void TriggeringLinkedGameObject (uint32 trapEntry, Unit *target)
 
bool IsNeverVisibleFor (WorldObject const *seer, bool allowServersideObjects) const override
 
bool IsAlwaysVisibleFor (WorldObject const *seer) const override
 
bool IsInvisibleDueToDespawn (WorldObject const *seer) const override
 
uint8 GetLevelForTarget (WorldObject const *target) const override
 
GameObject * LookupFishingHoleAround (float range)
 
void SendCustomAnim (uint32 anim)
 
bool IsInRange (float x, float y, float z, float radius) const
 
void ModifyHealth (int32 change, WorldObject *attackerOrHealer=nullptr, uint32 spellId=0)
 
void SetDestructibleState (GameObjectDestructibleState state, WorldObject *attackerOrHealer=nullptr, bool setHealth=false)
 
GameObjectDestructibleState GetDestructibleState () const
 
void SetRespawnCompatibilityMode (bool mode=true)
 
bool GetRespawnCompatibilityMode ()
 
std::string const & GetAIName () const
 
uint32 GetScriptId () const
 
GameObjectAI * AI () const
 
void InheritStringIds (GameObject const *parent)
 
bool HasStringId (std::string_view id) const
 
void SetScriptStringId (std::string id)
 
std::string_view GetStringId (StringIdType type) const
 
SpawnTrackingStateData const * GetSpawnTrackingStateDataForPlayer (Player const *player) const override
 
void SetDisplayId (uint32 displayid)
 
uint32 GetDisplayId () const
 
uint8 GetNameSetId () const
 
uint32 GetFaction () const override
 
void SetFaction (uint32 faction) override
 
Position GetRespawnPosition () const
 
TransportBase * ToTransportBase ()
 
TransportBase const * ToTransportBase () const
 
Transport * ToTransport ()
 
Transport const * ToTransport () const
 
Position const & GetStationaryPosition () const override
 
void RelocateStationaryPosition (float x, float y, float z, float o)
 
void RelocateStationaryPosition (Position const &pos)
 
void AfterRelocation ()
 
float GetInteractionDistance () const
 
void UpdateModelPosition ()
 
bool IsAtInteractDistance (Position const &pos, float radius) const
 
bool IsAtInteractDistance (Player const *player, SpellInfo const *spell=nullptr) const
 
bool IsWithinDistInMap (Player const *player) const
 
SpellInfo const * GetSpellForLock (Player const *player) const
 
uint16 GetAIAnimKitId () const override
 
void SetAnimKitId (uint16 animKitId, bool oneshot)
 
uint32 GetWorldEffectID () const
 
void SetWorldEffectID (uint32 worldEffectID)
 
Vignettes::VignetteData const * GetVignette () const
 
void SetVignette (uint32 vignetteId)
 
void SetSpellVisualId (int32 spellVisualId, ObjectGuid activatorGuid=ObjectGuid::Empty)
 
void AssaultCapturePoint (Player *player)
 
void UpdateCapturePoint ()
 
bool CanInteractWithCapturePoint (Player const *target) const
 
FlagState GetFlagState () const
 
ObjectGuid const & GetFlagCarrierGUID () const
 
time_t GetFlagTakenFromBaseTime () const
 
GuidUnorderedSet const * GetInsidePlayers () const
 
bool MeetsInteractCondition (Player const *user) const
 
void AIM_Destroy ()
 
bool AIM_Initialize ()
 
std::string GetDebugInfo () const override
 
void UpdateDynamicFlagsForNearbyPlayers ()
 
void HandleCustomTypeCommand (GameObjectTypeBase::CustomCommand const &command) const
 
TeamId GetControllingTeam () const
 
bool IsWithinDistInMap (WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
 
- Public Member Functions inherited from WorldObject
virtual ~WorldObject ()
 
void AddToWorld () override
 
void RemoveFromWorld () override
 
void GetNearPoint2D (WorldObject const *searcher, float &x, float &y, float distance, float absAngle) const
 
void GetNearPoint (WorldObject const *searcher, float &x, float &y, float &z, float distance2d, float absAngle) const
 
void GetClosePoint (float &x, float &y, float &z, float size, float distance2d=0, float relAngle=0) const
 
void MovePosition (Position &pos, float dist, float angle, float maxHeightChange=6.0f) const
 
Position GetNearPosition (float dist, float angle)
 
void MovePositionToFirstCollision (Position &pos, float dist, float angle) const
 
Position GetFirstCollisionPosition (float dist, float angle)
 
Position GetRandomNearPosition (float radius)
 
void GetContactPoint (WorldObject const *obj, float &x, float &y, float &z, float distance2d=CONTACT_DISTANCE) const
 
virtual float GetCombatReach () const
 
void UpdateGroundPositionZ (float x, float y, float &z) const
 
void UpdateAllowedPositionZ (float x, float y, float &z, float *groundZ=nullptr) const
 
Position GetRandomPoint (Position const &srcPos, float distance, float minDistance=0.0f) const
 
uint32 GetInstanceId () const
 
PhaseShift & GetPhaseShift ()
 
PhaseShift const & GetPhaseShift () const
 
PhaseShift & GetSuppressedPhaseShift ()
 
PhaseShift const & GetSuppressedPhaseShift () const
 
bool InSamePhase (PhaseShift const &phaseShift) const
 
bool InSamePhase (WorldObject const *obj) const
 
int32 GetDBPhase () const
 
void SetDBPhase (int32 p)
 
uint32 GetZoneId () const
 
uint32 GetAreaId () const
 
void GetZoneAndAreaId (uint32 &zoneid, uint32 &areaid) const
 
bool IsInWorldPvpZone () const
 
bool IsOutdoors () const
 
ZLiquidStatus GetLiquidStatus () const
 
WmoLocation const * GetCurrentWmo () const
 
InstanceScript * GetInstanceScript () const
 
std::string const & GetName () const
 
void SetName (std::string newname)
 
std::string GetNameForLocaleIdx (LocaleConstant) const override
 
float GetDistance (WorldObject const *obj) const
 
float GetDistance (Position const &pos) const
 
float GetDistance (float x, float y, float z) const
 
float GetDistance2d (WorldObject const *obj) const
 
float GetDistance2d (float x, float y) const
 
float GetDistanceZ (WorldObject const *obj) const
 
bool IsSelfOrInSameMap (WorldObject const *obj) const
 
bool IsInMap (WorldObject const *obj) const
 
bool IsWithinDist3d (float x, float y, float z, float dist) const
 
bool IsWithinDist3d (Position const *pos, float dist) const
 
bool IsWithinDist2d (float x, float y, float dist) const
 
bool IsWithinDist2d (Position const *pos, float dist) const
 
bool IsWithinDist (WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
 
bool IsWithinDistInMap (WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
 
bool IsWithinLOS (float x, float y, float z, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing) const
 
bool IsWithinLOSInMap (WorldObject const *obj, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing) const
 
Position GetHitSpherePointFor (Position const &dest) const
 
void GetHitSpherePointFor (Position const &dest, float &x, float &y, float &z) const
 
bool GetDistanceOrder (WorldObject const *obj1, WorldObject const *obj2, bool is3D=true) const
 
bool IsInRange (WorldObject const *obj, float minRange, float maxRange, bool is3D=true) const
 
bool IsInRange2d (Position const *pos, float minRange, float maxRange) const
 
bool IsInRange3d (Position const *pos, float minRange, float maxRange) const
 
bool isInFront (WorldObject const *target, float arc=float(M_PI)) const
 
bool isInBack (WorldObject const *target, float arc=float(M_PI)) const
 
bool IsInBetween (Position const &pos1, Position const &pos2, float size=0) const
 
bool IsInBetween (WorldObject const *obj1, WorldObject const *obj2, float size=0) const
 
virtual void SendMessageToSet (WorldPacket const *data, bool self) const
 
virtual void SendMessageToSetInRange (WorldPacket const *data, float dist, bool self) const
 
virtual void SendMessageToSet (WorldPacket const *data, Player const *skipped_rcvr) const
 
void SendCombatLogMessage (WorldPackets::CombatLog::CombatLogServerPacket *combatLog) const
 
void PlayDistanceSound (uint32 soundId, Player const *target=nullptr) const
 
void StopDistanceSound (Player const *target=nullptr) const
 
void PlayDirectSound (uint32 soundId, Player const *target=nullptr, uint32 broadcastTextId=0) const
 
void PlayDirectMusic (uint32 musicId, Player const *target=nullptr) const
 
void PlayObjectSound (int32 soundKitId, ObjectGuid targetObject, Player const *target=nullptr, int32 broadcastTextId=0) const
 
void AddObjectToRemoveList ()
 
float GetGridActivationRange () const
 
float GetVisibilityRange () const
 
float GetSightRange (WorldObject const *target=nullptr) const
 
bool CanSeeOrDetect (WorldObject const *obj, CanSeeOrDetectExtraArgs const &args={ }) const
 
virtual void SetMap (Map *map)
 
virtual void ResetMap ()
 
Map * GetMap () const
 
Map * FindMap () const
 
void SetZoneScript ()
 
ZoneScript * FindZoneScript () const
 
ZoneScript * GetZoneScript () const
 
Scenario * GetScenario () const
 
TempSummon * SummonCreature (uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
 
TempSummon * SummonCreature (uint32 entry, float x, float y, float z, float o=0, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
 
TempSummon * SummonPersonalClone (Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, Player *privateObjectOwner=nullptr)
 
GameObject * SummonGameObject (uint32 entry, Position const &pos, QuaternionData const &rot, Seconds respawnTime, GOSummonType summonType=GO_SUMMON_TIMED_OR_CORPSE_DESPAWN)
 
GameObject * SummonGameObject (uint32 entry, float x, float y, float z, float ang, QuaternionData const &rot, Seconds respawnTime, GOSummonType summonType=GO_SUMMON_TIMED_OR_CORPSE_DESPAWN)
 
Creature * SummonTrigger (float x, float y, float z, float ang, Milliseconds despawnTime, CreatureAI *(*GetAI)(Creature *)=nullptr)
 
void SummonCreatureGroup (uint8 group, std::list< TempSummon * > *list=nullptr)
 
Creature * FindNearestCreature (uint32 entry, float range, bool alive=true) const
 
Creature * FindNearestCreatureWithOptions (float range, FindCreatureOptions const &options) const
 
GameObject * FindNearestGameObject (uint32 entry, float range, bool spawnedOnly=true) const
 
GameObject * FindNearestGameObjectWithOptions (float range, FindGameObjectOptions const &options) const
 
GameObject * FindNearestUnspawnedGameObject (uint32 entry, float range) const
 
GameObject * FindNearestGameObjectOfType (GameobjectTypes type, float range) const
 
Player * SelectNearestPlayer (float range) const
 
virtual ObjectGuid GetCharmerOrOwnerGUID () const
 
ObjectGuid GetCharmerOrOwnerOrOwnGUID () const
 
Unit * GetOwner () const
 
Unit * GetCharmerOrOwner () const
 
Unit * GetCharmerOrOwnerOrSelf () const
 
Player * GetCharmerOrOwnerPlayerOrPlayerItself () const
 
Player * GetAffectingPlayer () const
 
Player * GetSpellModOwner () const
 
SpellRange GetSpellMinMaxRangeForTarget (Unit const *target, SpellInfo const *spellInfo) const
 
SpellEffectValue ApplyEffectModifiers (SpellInfo const *spellInfo, uint8 effIndex, SpellEffectValue value) const
 
int32 CalcSpellDuration (SpellInfo const *spellInfo, std::vector< SpellPowerCost > const *powerCosts) const
 
int32 ModSpellDuration (SpellInfo const *spellInfo, WorldObject const *target, int32 duration, bool positive, uint32 effectMask) const
 
void ModSpellCastTime (SpellInfo const *spellInfo, int32 &castTime, Spell *spell=nullptr) const
 
void ModSpellDurationTime (SpellInfo const *spellInfo, int32 &durationTime, Spell *spell=nullptr) const
 
virtual float MeleeSpellMissChance (Unit const *victim, WeaponAttackType attType, SpellInfo const *spellInfo) const
 
virtual SpellMissInfo MeleeSpellHitResult (Unit *victim, SpellInfo const *spellInfo) const
 
SpellMissInfo MagicSpellHitResult (Unit *victim, SpellInfo const *spellInfo) const
 
SpellMissInfo SpellHitResult (Unit *victim, SpellInfo const *spellInfo, bool canReflect, bool canImmune) const
 
void SendSpellMiss (Unit *target, uint32 spellID, SpellMissInfo missInfo)
 
FactionTemplateEntry const * GetFactionTemplateEntry () const
 
ReputationRank GetReactionTo (WorldObject const *target) const
 
bool IsHostileTo (WorldObject const *target) const
 
bool IsHostileToPlayers () const
 
bool IsFriendlyTo (WorldObject const *target) const
 
bool IsNeutralToAll () const
 
SpellCastResult CastSpell (CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
 
void SendPlayOrphanSpellVisual (Position const &sourceLocation, ObjectGuid const &target, uint32 spellVisualId, float travelSpeed, bool speedAsTime=false, bool withSourceOrientation=false)
 
void SendPlayOrphanSpellVisual (Position const &sourceLocation, Position const &targetLocation, uint32 spellVisualId, float travelSpeed, bool speedAsTime=false, bool withSourceOrientation=false)
 
void SendPlayOrphanSpellVisual (ObjectGuid const &target, uint32 spellVisualId, float travelSpeed, bool speedAsTime=false, bool withSourceOrientation=false)
 
void SendPlayOrphanSpellVisual (Position const &targetLocation, uint32 spellVisualId, float travelSpeed, bool speedAsTime=false, bool withSourceOrientation=false)
 
void SendCancelOrphanSpellVisual (uint32 id)
 
bool IsValidAttackTarget (WorldObject const *target, SpellInfo const *bySpell=nullptr) const
 
bool IsValidAssistTarget (WorldObject const *target, SpellInfo const *bySpell=nullptr) const
 
Unit * GetMagicHitRedirectTarget (Unit *victim, SpellInfo const *spellInfo)
 
virtual uint32 GetCastSpellXSpellVisualId (SpellInfo const *spellInfo) const
 
template<typename Container >
void GetGameObjectListWithEntryInGrid (Container &gameObjectContainer, uint32 entry, float maxSearchRange=250.0f) const
 
template<typename Container >
void GetGameObjectListWithOptionsInGrid (Container &gameObjectContainer, float maxSearchRange, FindGameObjectOptions const &options) const
 
template<typename Container >
void GetCreatureListWithEntryInGrid (Container &creatureContainer, uint32 entry, float maxSearchRange=250.0f) const
 
template<typename Container >
void GetCreatureListWithOptionsInGrid (Container &creatureContainer, float maxSearchRange, FindCreatureOptions const &options) const
 
template<typename Container >
void GetPlayerListInGrid (Container &playerContainer, float maxSearchRange, bool alive=true) const
 
void DestroyForNearbyPlayers ()
 
virtual void UpdateObjectVisibility (bool forced=true)
 
virtual void UpdateObjectVisibilityOnCreate ()
 
virtual void UpdateObjectVisibilityOnDestroy ()
 
void UpdatePositionData ()
 
void BuildUpdate (UpdateDataMapType &) override
 
bool AddToObjectUpdate () override
 
void RemoveFromObjectUpdate () override
 
void AddToNotify (uint16 f)
 
bool isNeedNotify (uint16 f) const
 
uint16 GetNotifyFlags () const
 
void ResetAllNotifies ()
 
bool isActiveObject () const
 
void setActive (bool isActiveObject)
 
bool IsFarVisible () const
 
void SetFarVisible (bool on)
 
bool IsVisibilityOverridden () const
 
void SetVisibilityDistanceOverride (VisibilityDistanceType type)
 
void SetIsStoredInWorldObjectGridContainer (bool apply)
 
bool IsAlwaysStoredInWorldObjectGridContainer () const
 
bool IsStoredInWorldObjectGridContainer () const
 
TransportBase * GetTransport () const
 
float GetTransOffsetX () const
 
float GetTransOffsetY () const
 
float GetTransOffsetZ () const
 
float GetTransOffsetO () const
 
Position const & GetTransOffset () const
 
uint32 GetTransTime () const
 
int8 GetTransSeat () const
 
virtual ObjectGuid GetTransGUID () const
 
void SetTransport (TransportBase *t)
 
float GetFloorZ () const
 
virtual float GetCollisionHeight () const
 
float GetMapWaterOrGroundLevel (float x, float y, float z, float *ground=nullptr) const
 
float GetMapHeight (float x, float y, float z, bool vmap=true, float distanceToSearch=50.0f) const
 
std::string GetDebugInfo () const override
 
virtual uint16 GetMovementAnimKitId () const
 
virtual uint16 GetMeleeAnimKitId () const
 
bool IsPrivateObject () const
 
ObjectGuid GetPrivateObjectOwner () const
 
void SetPrivateObjectOwner (ObjectGuid const &owner)
 
bool CheckPrivateObjectOwnerVisibility (WorldObject const *seer) const
 
SmoothPhasing * GetOrCreateSmoothPhasing ()
 
SmoothPhasing * GetSmoothPhasing ()
 
SmoothPhasing const * GetSmoothPhasing () const
 
- Public Member Functions inherited from Object
virtual ~Object ()
 
uint32 GetEntry () const
 
void SetEntry (uint32 entry)
 
float GetObjectScale () const
 
virtual void SetObjectScale (float scale)
 
uint32 GetDynamicFlags () const
 
bool HasDynamicFlag (uint32 flag) const
 
void SetDynamicFlag (uint32 flag)
 
void RemoveDynamicFlag (uint32 flag)
 
void ReplaceAllDynamicFlags (uint32 flag)
 
void BuildValuesUpdateBlockForPlayerWithFlag (UpdateData *data, UF::UpdateFieldFlag flags, Player const *target) const
 
WorldObject * ToWorldObject ()
 
WorldObject const * ToWorldObject () const
 
Item * ToItem ()
 
Item const * ToItem () const
 
Unit * ToUnit ()
 
Unit const * ToUnit () const
 
Creature * ToCreature ()
 
Creature const * ToCreature () const
 
Player * ToPlayer ()
 
Player const * ToPlayer () const
 
GameObject * ToGameObject ()
 
GameObject const * ToGameObject () const
 
Corpse * ToCorpse ()
 
Corpse const * ToCorpse () const
 
DynamicObject * ToDynObject ()
 
DynamicObject const * ToDynObject () const
 
AreaTrigger * ToAreaTrigger ()
 
AreaTrigger const * ToAreaTrigger () const
 
SceneObject * ToSceneObject ()
 
SceneObject const * ToSceneObject () const
 
Conversation * ToConversation ()
 
Conversation const * ToConversation () const
 
Trinity::unique_weak_ptr< Object > GetWeakPtr () const
 
virtual void BuildValuesUpdateWithFlag (UF::UpdateFieldFlag flags, ByteBuffer &data, Player const *target) const
 
- Public Member Functions inherited from BaseEntity
virtual ~BaseEntity ()
 
bool IsInWorld () const
 
ObjectGuid const & GetGUID () const
 
TypeID GetTypeId () const
 
bool isType (TypeMask mask) const
 
bool IsWorldObject () const
 
bool IsItem () const
 
bool IsUnit () const
 
bool IsCreature () const
 
bool IsPlayer () const
 
bool IsGameObject () const
 
bool IsDynObject () const
 
bool IsCorpse () const
 
bool IsAreaTrigger () const
 
bool IsSceneObject () const
 
bool IsConversation () const
 
bool IsMeshObject () const
 
virtual void BuildCreateUpdateBlockForPlayer (UpdateData *data, Player *target) const
 
void SendUpdateToPlayer (Player *player) const
 
void BuildValuesUpdateBlockForPlayer (UpdateData *data, Player const *target) const
 
void BuildDestroyUpdateBlock (UpdateData *data) const
 
void BuildOutOfRangeUpdateBlock (UpdateData *data) const
 
ByteBuffer & PrepareValuesUpdateBuffer (UpdateData *data) const
 
virtual void DestroyForPlayer (Player const *target) const
 
void SendOutOfRangeForPlayer (Player const *target) const
 
void ClearUpdateMask (bool remove)
 
void SetIsNewObject (bool enable)
 
bool IsDestroyedObject () const
 
void SetDestroyedObject (bool destroyed)
 
void BuildUpdateChangesMask ()
 
void BuildFieldsUpdate (Player *player, UpdateDataMapType &data_map) const
 
template<typename T >
void ForceUpdateFieldChange (UF::UpdateFieldPrivateSetter< T > const &)
 
- Public Member Functions inherited from WorldLocation
constexpr WorldLocation ()
 
constexpr WorldLocation (uint32 mapId, float x, float y)
 
constexpr WorldLocation (uint32 mapId, float x, float y, float z)
 
constexpr WorldLocation (uint32 mapId, float x, float y, float z, float o)
 
constexpr WorldLocation (uint32 mapId, Position const &position)
 
constexpr void WorldRelocate (WorldLocation const &loc)
 
constexpr void WorldRelocate (WorldLocation const *loc)
 
constexpr void WorldRelocate (uint32 mapId, Position const &pos)
 
constexpr void WorldRelocate (uint32 mapId, float x, float y, float z, float o)
 
constexpr WorldLocation GetWorldLocation () const
 
constexpr uint32 GetMapId () const
 
std::string GetDebugInfo () const
 
- Public Member Functions inherited from Position
constexpr Position ()
 
constexpr Position (float x, float y)
 
constexpr Position (float x, float y, float z)
 
constexpr Position (float x, float y, float z, float o)
 
bool operator== (Position const &a) const
 
constexpr void Relocate (float x, float y)
 
constexpr void Relocate (float x, float y, float z)
 
constexpr void Relocate (float x, float y, float z, float o)
 
constexpr void Relocate (Position const &pos)
 
constexpr void Relocate (Position const *pos)
 
void RelocateOffset (Position const &offset)
 
constexpr void SetOrientation (float orientation)
 
constexpr float GetPositionX () const
 
constexpr float GetPositionY () const
 
constexpr float GetPositionZ () const
 
constexpr float GetOrientation () const
 
constexpr void GetPosition (float &x, float &y) const
 
constexpr void GetPosition (float &x, float &y, float &z) const
 
constexpr void GetPosition (float &x, float &y, float &z, float &o) const
 
constexpr Position GetPosition () const
 
Streamer< XY > PositionXYStream ()
 
ConstStreamer< XY > PositionXYStream () const
 
Streamer< XYZ > PositionXYZStream ()
 
ConstStreamer< XYZ > PositionXYZStream () const
 
Streamer< XYZO > PositionXYZOStream ()
 
ConstStreamer< XYZO > PositionXYZOStream () const
 
Streamer< PackedXYZ > PositionPackedXYZStream ()
 
ConstStreamer< PackedXYZ > PositionPackedXYZStream () const
 
bool IsPositionValid () const
 
constexpr float GetExactDist2dSq (const float x, const float y) const
 
constexpr float GetExactDist2dSq (Position const &pos) const
 
constexpr float GetExactDist2dSq (Position const *pos) const
 
float GetExactDist2d (const float x, const float y) const
 
float GetExactDist2d (Position const &pos) const
 
float GetExactDist2d (Position const *pos) const
 
constexpr float GetExactDistSq (float x, float y, float z) const
 
constexpr float GetExactDistSq (Position const &pos) const
 
constexpr float GetExactDistSq (Position const *pos) const
 
float GetExactDist (float x, float y, float z) const
 
float GetExactDist (Position const &pos) const
 
float GetExactDist (Position const *pos) const
 
Position GetPositionOffsetTo (Position const &endPos) const
 
Position GetPositionWithOffset (Position const &offset) const
 
float GetAbsoluteAngle (float x, float y) const
 
float GetAbsoluteAngle (Position const &pos) const
 
float GetAbsoluteAngle (Position const *pos) const
 
float ToAbsoluteAngle (float relAngle) const
 
float ToRelativeAngle (float absAngle) const
 
float GetRelativeAngle (float x, float y) const
 
float GetRelativeAngle (Position const &pos) const
 
float GetRelativeAngle (Position const *pos) const
 
constexpr bool IsInDist2d (float x, float y, float dist) const
 
constexpr bool IsInDist2d (Position const &pos, float dist) const
 
constexpr bool IsInDist2d (Position const *pos, float dist) const
 
constexpr bool IsInDist (float x, float y, float z, float dist) const
 
constexpr bool IsInDist (Position const &pos, float dist) const
 
constexpr bool IsInDist (Position const *pos, float dist) const
 
bool IsWithinBox (Position const &boxOrigin, float length, float width, float height) const
 
bool IsWithinVerticalCylinder (Position const &cylinderOrigin, float radius, float height, bool isDoubleVertical=false) const
 
bool IsInPolygon2D (Position const &polygonOrigin, std::span< Position const > vertices) const
 
bool HasInArc (float arcangle, Position const *pos, float border=2.0f) const
 
bool HasInLine (Position const *pos, float objSize, float width) const
 
std::string ToString () const
 
- Public Member Functions inherited from GridObject< GameObject >
virtual ~GridObject ()
 
bool IsInGrid () const
 
void AddToGrid (GridRefManager< GameObject > &m)
 
void RemoveFromGrid ()
 

Static Public Member Functions

static GameObject * CreateGameObject (uint32 entry, Map *map, Position const &pos, QuaternionData const &rotation, uint32 animProgress, GOState goState, uint32 artKit=0)
 
static GameObject * CreateGameObjectFromDB (ObjectGuid::LowType spawnId, Map *map, bool addToMap=true)
 
static bool DeleteFromDB (ObjectGuid::LowType spawnId)
 
static void SetGoArtKit (uint32 artkit, GameObject *go, ObjectGuid::LowType lowguid=UI64LIT(0))
 
- Static Public Member Functions inherited from WorldObject
static bool InSamePhase (WorldObject const *a, WorldObject const *b)
 
static ReputationRank GetFactionReactionTo (FactionTemplateEntry const *factionTemplateEntry, WorldObject const *target)
 
- Static Public Member Functions inherited from Object
static WorldObject * ToWorldObject (Object *o)
 
static WorldObject const * ToWorldObject (Object const *o)
 
static Item * ToItem (Object *o)
 
static Item const * ToItem (Object const *o)
 
static Unit * ToUnit (Object *o)
 
static Unit const * ToUnit (Object const *o)
 
static Creature * ToCreature (Object *o)
 
static Creature const * ToCreature (Object const *o)
 
static Player * ToPlayer (Object *o)
 
static Player const * ToPlayer (Object const *o)
 
static GameObject * ToGameObject (Object *o)
 
static GameObject const * ToGameObject (Object const *o)
 
static Corpse * ToCorpse (Object *o)
 
static Corpse const * ToCorpse (Object const *o)
 
static DynamicObject * ToDynObject (Object *o)
 
static DynamicObject const * ToDynObject (Object const *o)
 
static AreaTrigger * ToAreaTrigger (Object *o)
 
static AreaTrigger const * ToAreaTrigger (Object const *o)
 
static SceneObject * ToSceneObject (Object *o)
 
static SceneObject const * ToSceneObject (Object const *o)
 
static Conversation * ToConversation (Object *o)
 
static Conversation const * ToConversation (Object const *o)
 
- Static Public Member Functions inherited from BaseEntity
static ObjectGuid GetGUID (BaseEntity const *o)
 
- Static Public Member Functions inherited from Position
static float NormalizeOrientation (float o)
 

Public Attributes

std::unique_ptr< Loot > m_loot
 
std::unordered_map< ObjectGuid, std::unique_ptr< Loot > > m_personalLoot
 
std::unique_ptr< GameObjectModel > m_model
 
UF::UpdateField< UF::GameObjectData, int32(WowCS::EntityFragment::CGObject), TYPEID_GAMEOBJECT > m_gameObjectData
 
- Public Attributes inherited from WorldObject
FlaggedValuesArray32< int32, uint32, StealthType, TOTAL_STEALTH_TYPES > m_stealth
 
FlaggedValuesArray32< int32, uint32, StealthType, TOTAL_STEALTH_TYPES > m_stealthDetect
 
FlaggedValuesArray32< int32, uint64, InvisibilityType, TOTAL_INVISIBILITY_TYPES > m_invisibility
 
FlaggedValuesArray32< int32, uint64, InvisibilityType, TOTAL_INVISIBILITY_TYPES > m_invisibilityDetect
 
FlaggedValuesArray32< int32, uint32, ServerSideVisibilityType, TOTAL_SERVERSIDE_VISIBILITY_TYPES > m_serverSideVisibility
 
FlaggedValuesArray32< int32, uint32, ServerSideVisibilityType, TOTAL_SERVERSIDE_VISIBILITY_TYPES > m_serverSideVisibilityDetect
 
uint32 LastUsedScriptID
 
MovementInfo m_movementInfo
 
EventProcessor m_Events
 
- Public Attributes inherited from Object
UF::UpdateField< UF::ObjectData, int32(WowCS::EntityFragment::CGObject), TYPEID_OBJECT > m_objectData
 
- Public Attributes inherited from BaseEntity
UF::UpdateFieldHolder m_values
 
- Public Attributes inherited from WorldLocation
uint32 m_mapId
 
- Public Attributes inherited from Position
float m_positionX
 
float m_positionY
 
float m_positionZ
 

Protected Types

typedef std::map< uint32, ObjectGuid > ChairSlotAndUser
 

Protected Member Functions

void BuildValuesCreate (UF::UpdateFieldFlag flags, ByteBuffer &data, Player const *target) const override
 
void BuildValuesUpdate (UF::UpdateFieldFlag flags, ByteBuffer &data, Player const *target) const override
 
void ClearValuesChangesMask () override
 
void CreateModel ()
 
void UpdateModel ()
 
- Protected Member Functions inherited from WorldObject
 WorldObject (bool isWorldObject)
 
virtual void ProcessPositionDataChanged (PositionFullTerrainStatus const &data)
 
void SetLocationMapId (uint32 _mapId)
 
void SetLocationInstanceId (uint32 _instanceId)
 
virtual bool CanNeverSee (WorldObject const *obj, bool ignorePhaseShift=false) const
 
virtual bool CanAlwaysSee (WorldObject const *) const
 
virtual bool IsAlwaysDetectableFor (WorldObject const *seer) const
 
virtual void Heartbeat ()
 
- Protected Member Functions inherited from Object
 Object ()
 
void BuildEntityFragmentsForValuesUpdateForPlayerWithMask (ByteBuffer &data, EnumFlag< UF::UpdateFieldFlag > flags) const
 
- Protected Member Functions inherited from BaseEntity
 BaseEntity ()
 
void _Create (ObjectGuid const &guid)
 
template<typename T >
void SetUpdateFieldValue (UF::UpdateFieldPrivateSetter< T > setter, typename UF::UpdateFieldPrivateSetter< T >::value_type value)
 
template<typename T >
void SetUpdateFieldFlagValue (UF::UpdateFieldPrivateSetter< T > setter, typename UF::UpdateFieldPrivateSetter< T >::value_type flag)
 
template<typename T >
void RemoveUpdateFieldFlagValue (UF::UpdateFieldPrivateSetter< T > setter, typename UF::UpdateFieldPrivateSetter< T >::value_type flag)
 
template<typename T >
UF::DynamicUpdateFieldSetter< T >::insert_result AddDynamicUpdateFieldValue (UF::DynamicUpdateFieldSetter< T > setter)
 
template<typename T >
UF::DynamicUpdateFieldSetter< T >::insert_result InsertDynamicUpdateFieldValue (UF::DynamicUpdateFieldSetter< T > setter, uint32 index)
 
template<typename T >
void RemoveDynamicUpdateFieldValue (UF::DynamicUpdateFieldSetter< T > setter, uint32 index)
 
template<typename T >
void ClearDynamicUpdateFieldValues (UF::DynamicUpdateFieldSetter< T > setter)
 
template<typename K , typename V >
void RemoveMapUpdateFieldValue (UF::MapUpdateFieldSetter< K, V > setter, std::type_identity_t< K > const &key)
 
template<typename T >
void InsertSetUpdateFieldValue (UF::SetUpdateFieldSetter< T > setter, std::type_identity_t< T > const &key)
 
template<typename T >
void RemoveSetUpdateFieldValue (UF::SetUpdateFieldSetter< T > setter, std::type_identity_t< T > const &key)
 
template<typename T >
void RemoveOptionalUpdateFieldValue (UF::OptionalUpdateFieldSetter< T > setter)
 
template<typename T >
void SetUpdateFieldStatValue (UF::UpdateFieldPrivateSetter< T > setter, typename UF::UpdateFieldPrivateSetter< T >::value_type value)
 
template<typename T >
void ApplyModUpdateFieldValue (UF::UpdateFieldPrivateSetter< T > setter, typename UF::UpdateFieldPrivateSetter< T >::value_type mod, bool apply)
 
template<typename T >
void ApplyPercentModUpdateFieldValue (UF::UpdateFieldPrivateSetter< T > setter, float percent, bool apply)
 
template<typename Action >
void DoWithSuppressingObjectUpdates (Action &&action)
 
void BuildMovementUpdate (ByteBuffer &data, CreateObjectBits flags, Player const *target) const
 
virtual UF::UpdateFieldFlag GetUpdateFieldFlagsFor (Player const *target) const
 
void AddToObjectUpdateIfNeeded ()
 
- Protected Member Functions inherited from MapObject
 MapObject ()
 

Protected Attributes

uint32 m_spellId
 
time_t m_respawnTime
 
uint32 m_respawnDelayTime
 
uint32 m_despawnDelay
 
Seconds m_despawnRespawnTime
 
LootState m_lootState
 
ObjectGuid m_lootStateUnitGUID
 
bool m_spawnedByDefault
 
time_t m_restockTime
 
time_t m_cooldownTime
 
GOState m_prevGoState
 
GuidSet m_SkillupList
 
ObjectGuid m_ritualOwnerGUID
 
GuidSet m_unique_users
 
uint32 m_usetimes
 
ChairSlotAndUser ChairListSlots
 
ObjectGuid::LowType m_spawnId
 For new or temporary gameobjects is 0 for saved it is lowguid.
 
GameObjectTemplate const * m_goInfo
 
GameObjectTemplateAddon const * m_goTemplateAddon
 
GameObjectData const * m_goData
 
std::unique_ptr< GameObjectTypeBase > m_goTypeImpl
 
GameObjectValue m_goValue
 
std::array< std::string const *, 3 > m_stringIds
 
Optional< std::string > m_scriptStringId
 
int64 m_packedRotation
 
QuaternionData m_localRotation
 
Position m_stationaryPosition
 
GuidUnorderedSet m_tapList
 
uint16 m_LootMode
 
ObjectGuid m_linkedTrap
 
- Protected Attributes inherited from WorldObject
std::string m_name
 
bool m_isActive
 
bool m_isFarVisible
 
Optional< float > m_visibilityDistanceOverride
 
bool const m_isStoredInWorldObjectGridContainer
 
ZoneScript * m_zoneScript
 
TransportBase * m_transport
 
uint32 m_zoneId
 
uint32 m_areaId
 
float m_staticFloorZ
 
bool m_outdoors
 
ZLiquidStatus m_liquidStatus
 
Optional< WmoLocation > m_currentWmo
 
- Protected Attributes inherited from BaseEntity
TypeID m_objectTypeId = NUM_CLIENT_OBJECT_TYPES
 
CreateObjectBits m_updateFlag = {}
 
WowCS::EntityFragmentsHolder m_entityFragments
 
bool m_objectUpdated = false
 

Private Member Functions

bool Create (uint32 entry, Map *map, Position const &pos, QuaternionData const &rotation, uint32 animProgress, GOState goState, uint32 artKit, bool dynamic, ObjectGuid::LowType spawnid)
 
void RemoveFromOwner ()
 
void SwitchDoorOrButton (bool activate, bool alternative=false)
 
void UpdatePackedRotation ()
 
bool _IsWithinDist (WorldObject const *obj, float dist2compare, bool, bool, bool) const override
 Object distance/size - overridden from Object::_IsWithinDist. Needs to take in account proper GO size.
 
std::unordered_map< ObjectGuid, PerPlayerState > & GetOrCreatePerPlayerStates ()
 

Private Attributes

GameObjectAI * m_AI
 
bool m_respawnCompatibilityMode
 
uint16 _animKitId
 
uint32 _worldEffectID
 
Optional< float > m_transportPathProgress
 
std::unique_ptr< Vignettes::VignetteData > m_vignette
 
std::unique_ptr< std::unordered_map< ObjectGuid, PerPlayerState > > m_perPlayerState
 

Additional Inherited Members

- Static Protected Member Functions inherited from BaseEntity
static void BuildEntityFragments (ByteBuffer &data, std::span< WowCS::EntityFragment const > fragments)
 

Detailed Description

Definition at line 171 of file GameObject.h.

Member Typedef Documentation

◆ ChairSlotAndUser

typedef std::map<uint32, ObjectGuid> GameObject::ChairSlotAndUser
protected

Definition at line 489 of file GameObject.h.

Constructor & Destructor Documentation

◆ GameObject()

◆ ~GameObject()

GameObject::~GameObject ( )

Definition at line 876 of file GameObject.cpp.

References m_AI.

Member Function Documentation

◆ _IsWithinDist()

bool GameObject::_IsWithinDist ( WorldObject const *  obj,
float  dist2compare,
bool  ,
bool  ,
bool   
) const
inlineoverrideprivatevirtual

Object distance/size - overridden from Object::_IsWithinDist. Needs to take in account proper GO size.

Following check does check 3d distance

Reimplemented from WorldObject.

Definition at line 516 of file GameObject.h.

References Position::GetPositionX(), Position::GetPositionY(), and Position::GetPositionZ().

◆ ActivateObject()

void GameObject::ActivateObject ( GameObjectActions  action,
int32  param,
WorldObject *  spellCaster = nullptr,
uint32  spellId = 0,
int32  effectIndex = -1 
)

◆ ActivateToQuest()

◆ AddLootMode()

void GameObject::AddLootMode ( uint16  lootMode)
inline

Definition at line 315 of file GameObject.h.

◆ AddToSkillupList()

void GameObject::AddToSkillupList ( ObjectGuid const &  PlayerGuidLow)
inline

Definition at line 322 of file GameObject.h.

Referenced by Spell::EffectOpenLock().

◆ AddToWorld()

◆ AddUniqueUse()

void GameObject::AddUniqueUse ( Player *  player)

Definition at line 1791 of file GameObject.cpp.

References AddUse(), BaseEntity::GetGUID(), and m_unique_users.

Referenced by Spell::EffectTransmitted(), and Use().

◆ AddUse()

◆ AfterRelocation()

◆ AI()

◆ AIM_Destroy()

◆ AIM_Initialize()

◆ AssaultCapturePoint()

◆ BuildValuesCreate()

void GameObject::BuildValuesCreate ( UF::UpdateFieldFlag  flags,
ByteBuffer &  data,
Player const *  target 
) const
overrideprotectedvirtual

Implements Object.

Definition at line 4163 of file GameObject.cpp.

References flags, m_gameObjectData, and Object::m_objectData.

◆ BuildValuesUpdate()

void GameObject::BuildValuesUpdate ( UF::UpdateFieldFlag  flags,
ByteBuffer &  data,
Player const *  target 
) const
overrideprotectedvirtual

◆ BuildValuesUpdateForPlayerWithMask()

◆ CanActivateForPlayer()

bool GameObject::CanActivateForPlayer ( Player const *  target) const

Definition at line 2324 of file GameObject.cpp.

References ActivateToQuest(), and MeetsInteractCondition().

◆ CanInteractWithCapturePoint()

◆ CleanupsBeforeDelete()

void GameObject::CleanupsBeforeDelete ( bool  finalCleanup = true)
overridevirtual

Reimplemented from WorldObject.

Reimplemented in Transport.

Definition at line 905 of file GameObject.cpp.

References WorldObject::CleanupsBeforeDelete(), RemoveFromOwner(), and SetVignette().

Referenced by Transport::CleanupsBeforeDelete().

◆ ClearLoot()

void GameObject::ClearLoot ( )

Definition at line 3932 of file GameObject.cpp.

References m_loot, m_personalLoot, m_unique_users, and m_usetimes.

Referenced by Update().

◆ ClearSkillupList()

void GameObject::ClearSkillupList ( )
inline

Definition at line 327 of file GameObject.h.

◆ ClearValuesChangesMask()

void GameObject::ClearValuesChangesMask ( )
overrideprotectedvirtual

◆ Create()

bool GameObject::Create ( uint32  entry,
Map *  map,
Position const &  pos,
QuaternionData const &  rotation,
uint32  animProgress,
GOState  goState,
uint32  artKit,
bool  dynamic,
ObjectGuid::LowType  spawnid 
)
private

Definition at line 985 of file GameObject.cpp.

References _animKitId, BaseEntity::_Create(), BaseEntity::AddDynamicUpdateFieldValue(), FlaggedValuesArray32< T_VALUES, T_FLAGS, FLAG_TYPE, ARRAY_SIZE >::AddFlag(), Map::AddToMap(), FlaggedValuesArray32< T_VALUES, T_FLAGS, FLAG_TYPE, ARRAY_SIZE >::AddValue(), GameObjectTemplateAddon::AIAnimKitID, GameObjectAddon::AIAnimKitID, AIM_Initialize(), CreateObjectBits::AnimKit, GameObjectTemplate::AreaNameSet, GameObjectValue::AssaultTimer, ASSERT, AsUnderlyingType(), GameObjectValue::Building, GameObjectValue::CapturePoint, GameObjectTemplate::capturePoint, CreateGameObject(), CreateModel(), GameObjectTemplate::destructibleBuilding, GameObjectValue::DestructibleHitpoint, GameObjectTemplate::DestructibleModelRec, GameObjectTemplate::displayId, GameObjectTemplate::DoodadSetA, GameObjectTemplate::DoodadSetB, UF::GameObjectData::EnableDoodadSets, GameObjectTemplate::entry, GameObjectValue::FishingHole, CreateObjectBits::GameObject, GameObject, GAMEOBJECT_TYPE_CAPTURE_POINT, GAMEOBJECT_TYPE_CONTROL_ZONE, GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING, GAMEOBJECT_TYPE_FISHINGHOLE, GAMEOBJECT_TYPE_FISHINGNODE, GAMEOBJECT_TYPE_MAP_OBJ_TRANSPORT, GAMEOBJECT_TYPE_NEW_FLAG, GAMEOBJECT_TYPE_NEW_FLAG_DROP, GAMEOBJECT_TYPE_PHASEABLE_MO, GAMEOBJECT_TYPE_TRANSPORT, GAMEOBJECT_TYPE_TRAP, Map::GenerateLowGuid(), Map::GetDifficultyID(), ZoneScript::GetGameObjectEntry(), GetGameObjectOverride(), GetGOInfo(), Map::GetId(), DestructibleHitpoint::GetMaxHealth(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), GetSpawnId(), Gigantic, GO_STATE_READY, GO_STATE_TRANSPORT_ACTIVE, GO_STATE_TRANSPORT_STOPPED, GameObjectValue::Health, GameObjectTemplate::HealthRec, Infinite, Map::Instanceable(), INVISIBILITY_TRAP, GameObjectAddon::invisibilityType, GameObjectAddon::InvisibilityValue, GameObjectTemplate::IsGiganticGameObject(), GameObjectTemplate::IsInfiniteGameObject(), GameObjectTemplate::IsLargeGameObject(), Position::IsPositionValid(), Large, GameObjectValue::LastTeamCapture, WorldObject::LastUsedScriptID, m_gameObjectData, m_goInfo, m_goTemplateAddon, m_goTypeImpl, m_goValue, WorldObject::m_invisibility, m_prevGoState, m_spawnId, m_stationaryPosition, WorldObject::m_stealth, m_stringIds, BaseEntity::m_updateFlag, BaseEntity::m_values, WorldObject::m_zoneScript, MAX_GAMEOBJECT_TYPE, GameObjectValue::MaxOpens, GameObjectTemplate::maxRestock, GameObjectTemplate::minRestock, UF::UpdateFieldHolder::ModifyValue(), GameObjectTemplate::name, WorldPackets::Battleground::Neutral, GameObjectAddon::ParentRotation, UF::GameObjectData::ParentRotation, GameObjectTemplate::phaseableMO, Position::Relocate(), RemoveFlag(), ReplaceAllFlags(), GameObjectTemplate::ScriptId, CreateObjectBits::ServerTime, WorldObject::setActive(), SetDisplayId(), Object::SetEntry(), SetFaction(), SetFlag(), SetGoAnimProgress(), SetGoArtKit(), SetGoState(), SetGoType(), SetLevel(), SetLinkedTrap(), SetLocalRotation(), WorldObject::SetMap(), WorldObject::SetName(), Object::SetObjectScale(), SetParentRotation(), SetRespawnCompatibilityMode(), BaseEntity::SetUpdateFieldValue(), SetVignette(), WorldObject::SetVisibilityDistanceOverride(), SetWorldEffectID(), WorldObject::SetZoneScript(), GameObjectTemplate::size, sObjectMgr, GameObjectTemplate::spell, GameObjectTemplate::SpellVisual1, UF::GameObjectData::SpellVisualID, sSpellMgr, GameObjectTemplate::startOpen, GameObjectValue::State, STEALTH_TRAP, GameObjectTemplate::stealthAffected, GameObjectTemplate::stealthed, GameObjectTemplate::StringId, TARGET_CHECK_ALLY, TARGET_CHECK_DEFAULT, TARGET_CHECK_ENEMY, TARGET_OBJECT_TYPE_UNIT, GameObjectValue::TargetSearcherCheckType, TC_LOG_ERROR, TEAM_NEUTRAL, Template, ObjectGuid::ToString(), GameObjectTemplate::transport, Transport, GameObjectValue::Trap, GameObjectTemplate::trap, GameObjectTemplate::type, UpdateCapturePoint(), WorldObject::UpdatePositionData(), urand(), QuaternionData::w, GameObjectTemplateAddon::WorldEffectID, GameObjectAddon::WorldEffectID, QuaternionData::x, QuaternionData::y, and QuaternionData::z.

Referenced by CreateGameObject(), and LoadFromDB().

◆ CreateGameObject()

◆ CreateGameObjectFromDB()

◆ CreateModel()

◆ Delete()

◆ DeleteFromDB()

◆ DespawnForPlayer()

◆ DespawnOrUnsummon()

◆ EnableCollision()

void GameObject::EnableCollision ( bool  enable)

Definition at line 4077 of file GameObject.cpp.

References m_model.

Referenced by AddToWorld(), SetGoState(), and SetLootState().

◆ GetAIAnimKitId()

uint16 GameObject::GetAIAnimKitId ( ) const
inlineoverridevirtual

Reimplemented from WorldObject.

Definition at line 433 of file GameObject.h.

◆ GetAIName()

std::string const & GameObject::GetAIName ( ) const

Definition at line 900 of file GameObject.cpp.

References Object::GetEntry(), and sObjectMgr.

Referenced by GetDebugInfo().

◆ GetControllingTeam()

◆ GetCreatorGUID()

ObjectGuid GameObject::GetCreatorGUID ( ) const
inlineoverridevirtual

Implements WorldObject.

Definition at line 240 of file GameObject.h.

◆ GetDebugInfo()

std::string GameObject::GetDebugInfo ( ) const
overridevirtual

Reimplemented from BaseEntity.

Reimplemented in Transport.

Definition at line 4665 of file GameObject.cpp.

References GetAIName(), WorldObject::GetDebugInfo(), GetGoState(), GetScriptId(), and GetSpawnId().

Referenced by Transport::GetDebugInfo().

◆ GetDestructibleState()

◆ GetDisplayId()

uint32 GameObject::GetDisplayId ( ) const
inline

Definition at line 400 of file GameObject.h.

Referenced by IsNeverVisibleFor().

◆ GetFaction()

◆ GetFishLoot()

◆ GetFishLootJunk()

◆ GetFlagCarrierGUID()

ObjectGuid const & GameObject::GetFlagCarrierGUID ( ) const

◆ GetFlagState()

FlagState GameObject::GetFlagState ( ) const

◆ GetFlagTakenFromBaseTime()

◆ GetGameObjectData()

◆ GetGameObjectOverride()

GameObjectOverride const * GameObject::GetGameObjectOverride ( ) const

Definition at line 1770 of file GameObject.cpp.

References m_goTemplateAddon, m_spawnId, and sObjectMgr.

Referenced by Transport::Create(), Create(), Delete(), and Update().

◆ GetGoAnimProgress()

uint8 GameObject::GetGoAnimProgress ( ) const
inline

Definition at line 296 of file GameObject.h.

Referenced by SaveToDB(), Update(), and Use().

◆ GetGoArtKit()

uint32 GameObject::GetGoArtKit ( ) const
inline

Definition at line 294 of file GameObject.h.

Referenced by SaveToDB().

◆ GetGOInfo()

GameObjectTemplate const * GameObject::GetGOInfo ( ) const
inline

Definition at line 209 of file GameObject.h.

Referenced by GameObjectType::ControlZone::ActivateObject(), ActivateToQuest(), AssaultCapturePoint(), BaseEntity::BuildMovementUpdate(), GameObjectType::ControlZone::CalculateTimeNeeded(), Spell::CheckCast(), GameObjectType::ControlZone::ControlZone(), Create(), Garrison::Plot::CreateGameObject(), CreateModel(), Spell::EffectOpenLock(), Transport::EnableMovement(), Player::GetGameObjectIfCanInteractWith(), Player::GetGossipMenuForSource(), GetInteractionDistance(), GetLevelForTarget(), GameObjectType::Transport::GetMapIdForSpawning(), Transport::GetMapIdForSpawning(), GameObjectType::ControlZone::GetMaxHordeValue(), GameObjectType::ControlZone::GetMinAllianceValue(), GetScriptId(), GetSpellForLock(), GameObjectType::ControlZone::GetStartingValue(), UF::ViewerDependentValue< UF::GameObjectData::FlagsTag >::GetValue(), go_twilight_portal::go_twilight_portal(), WorldSession::HandleAlterAppearance(), OutdoorPvPSI::HandleCustomSpell(), gobject_commandscript::HandleGameObjectMoveCommand(), gobject_commandscript::HandleGameObjectTurnCommand(), GameObjectType::ControlZone::HandleHeartbeat(), GameObjectType::ControlZone::HandleUnitEnterExit(), HasConditionalInteraction(), IsAtInteractDistance(), IsAtInteractDistance(), IsDestructibleBuilding(), IsNeverVisibleFor(), IsTransport(), LoadFromDB(), Transport::LoadStaticPassengers(), ModifyHealth(), battleground_deephaul_ravine::OnFlagStateChange(), battleground_arathi_basin::OnGameObjectCreate(), instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript::OnGameObjectCreate(), instance_onyxias_lair::instance_onyxias_lair_InstanceMapScript::OnGameObjectRemove(), go_simon_cluster::go_simon_clusterAI::OnGossipHello(), go_apexis_relic::go_apexis_relicAI::OnGossipHello(), OnLootRelease(), go_celestial_planetarium_access::OnReportUse(), Trinity::NearestGameObjectFishingHole::operator()(), Trinity::GameObjectFocusCheck::operator()(), Trinity::GameObjectInRangeCheck::operator()(), RemoveFromOwner(), go_vazruden_liquid_fire::Reset(), SaveToDB(), GameObjectType::ControlZone::SearchTargets(), SetDestructibleState(), SetLootState(), GameObjectType::NewFlag::SetState(), GameObjectType::Transport::Transport(), GameObjectType::Transport::Update(), Update(), Transport::Update(), UpdateCapturePoint(), Player::UpdateVisibleObjectInteractions(), Use(), and UseDoorOrButton().

◆ GetGoState()

◆ GetGoStateFor()

GOState GameObject::GetGoStateFor ( ObjectGuid const &  viewer) const

◆ GetGoType()

GameobjectTypes GameObject::GetGoType ( ) const
inline

◆ GetGOValue()

GameObjectValue const * GameObject::GetGOValue ( ) const
inline

◆ GetInsidePlayers()

◆ GetInteractionDistance()

◆ GetLabels()

std::span< int32 const > GameObject::GetLabels ( ) const

Definition at line 3701 of file GameObject.cpp.

References Object::GetEntry(), and sDB2Manager.

Referenced by HasLabel().

◆ GetLevelForTarget()

uint8 GameObject::GetLevelForTarget ( WorldObject const *  target) const
overridevirtual

◆ GetLinkedTrap()

◆ GetLocalRotation()

QuaternionData const & GameObject::GetLocalRotation ( ) const
inline

Definition at line 224 of file GameObject.h.

Referenced by GetWorldRotation().

◆ GetLootForPlayer()

Loot * GameObject::GetLootForPlayer ( Player const *  player) const
overridevirtual

Reimplemented from Object.

Definition at line 4147 of file GameObject.cpp.

References BaseEntity::GetGUID(), m_loot, m_personalLoot, and Trinity::Containers::MapGetValuePtr().

Referenced by IsLootAllowedFor(), and Use().

◆ GetLootMode()

uint16 GameObject::GetLootMode ( ) const
inline

Definition at line 312 of file GameObject.h.

Referenced by Use().

◆ getLootState()

LootState GameObject::getLootState ( ) const
inline

Definition at line 308 of file GameObject.h.

Referenced by ActivateToQuest(), AddToWorld(), UpdateModel(), and Use().

◆ GetNameForLocaleIdx()

std::string GameObject::GetNameForLocaleIdx ( LocaleConstant  locale) const
overridevirtual

Implements BaseEntity.

Definition at line 3686 of file GameObject.cpp.

References DEFAULT_LOCALE, Object::GetEntry(), WorldObject::GetName(), and sObjectMgr.

◆ GetNameSetId()

◆ GetOrCreatePerPlayerStates()

std::unordered_map< ObjectGuid, GameObject::PerPlayerState > & GameObject::GetOrCreatePerPlayerStates ( )
private

Definition at line 4588 of file GameObject.cpp.

References m_perPlayerState.

Referenced by DespawnForPlayer(), and SetGoStateFor().

◆ GetOwnerGUID()

◆ GetPackedLocalRotation()

int64 GameObject::GetPackedLocalRotation ( ) const
inline

Definition at line 225 of file GameObject.h.

Referenced by BaseEntity::BuildMovementUpdate().

◆ GetPathProgressForClient()

Optional< float > GameObject::GetPathProgressForClient ( ) const
inline

Definition at line 301 of file GameObject.h.

Referenced by BaseEntity::BuildMovementUpdate().

◆ GetPauseTimes()

std::span< uint32 const > GameObject::GetPauseTimes ( ) const

Definition at line 4225 of file GameObject.cpp.

References m_goTypeImpl.

◆ GetRespawnCompatibilityMode()

bool GameObject::GetRespawnCompatibilityMode ( )
inline

Definition at line 386 of file GameObject.h.

Referenced by gobject_commandscript::HandleGameObjectInfoCommand().

◆ GetRespawnDelay()

uint32 GameObject::GetRespawnDelay ( ) const
inline

Definition at line 273 of file GameObject.h.

Referenced by gobject_commandscript::HandleGameObjectTargetCommand().

◆ GetRespawnPosition()

Position GameObject::GetRespawnPosition ( ) const

◆ GetRespawnTime()

time_t GameObject::GetRespawnTime ( ) const
inline

Definition at line 260 of file GameObject.h.

◆ GetRespawnTimeEx()

time_t GameObject::GetRespawnTimeEx ( ) const

◆ GetScriptId()

◆ GetSpawnId()

◆ GetSpawnTrackingStateDataForPlayer()

◆ GetSpellForLock()

◆ GetSpellId()

uint32 GameObject::GetSpellId ( ) const
inline

Definition at line 258 of file GameObject.h.

Referenced by Unit::AddGameObject(), Unit::RemoveGameObjectImpl(), and Update().

◆ GetStationaryPosition()

Position const & GameObject::GetStationaryPosition ( ) const
inlineoverridevirtual

Reimplemented from WorldObject.

Definition at line 415 of file GameObject.h.

Referenced by GameObjectType::Transport::Update().

◆ GetStringId()

std::string_view GameObject::GetStringId ( StringIdType  type) const
inline

Definition at line 395 of file GameObject.h.

Referenced by InheritStringIds(), and SaveToDB().

◆ GetTapList()

GuidUnorderedSet const & GameObject::GetTapList ( ) const
inline

Definition at line 340 of file GameObject.h.

Referenced by Use().

◆ GetTemplateAddon()

GameObjectTemplateAddon const * GameObject::GetTemplateAddon ( ) const
inline

Definition at line 210 of file GameObject.h.

Referenced by ActivateObject(), and Use().

◆ GetUniqueUseCount()

uint32 GameObject::GetUniqueUseCount ( ) const
inline

Definition at line 333 of file GameObject.h.

Referenced by Use().

◆ GetUseCount()

uint32 GameObject::GetUseCount ( ) const
inline

◆ GetVignette()

Vignettes::VignetteData const * GameObject::GetVignette ( ) const
inline

Definition at line 439 of file GameObject.h.

Referenced by BeforeVisibilityDestroy< GameObject >().

◆ GetWorldEffectID()

uint32 GameObject::GetWorldEffectID ( ) const
inline

Definition at line 436 of file GameObject.h.

Referenced by BaseEntity::BuildMovementUpdate().

◆ GetWorldRotation()

◆ HandleCustomTypeCommand()

◆ HasConditionalInteraction()

bool GameObject::HasConditionalInteraction ( ) const

◆ HasFlag()

◆ hasInvolvedQuest()

bool GameObject::hasInvolvedQuest ( uint32  quest_id) const
overridevirtual

Reimplemented from Object.

Definition at line 2160 of file GameObject.cpp.

References Object::GetEntry(), and sObjectMgr.

◆ HasLabel()

bool GameObject::HasLabel ( int32  gameobjectLabel) const

Definition at line 3696 of file GameObject.cpp.

References advstd::ranges::contains, and GetLabels().

◆ HasLootMode()

bool GameObject::HasLootMode ( uint16  lootMode) const
inline

Definition at line 313 of file GameObject.h.

◆ HasLootRecipient()

bool GameObject::HasLootRecipient ( ) const
inline

Definition at line 343 of file GameObject.h.

Referenced by IsLootAllowedFor().

◆ hasQuest()

bool GameObject::hasQuest ( uint32  quest_id) const
overridevirtual

Reimplemented from Object.

Definition at line 2155 of file GameObject.cpp.

References Object::GetEntry(), and sObjectMgr.

◆ HasStringId()

bool GameObject::HasStringId ( std::string_view  id) const

◆ InheritStringIds()

void GameObject::InheritStringIds ( GameObject const *  parent)

Definition at line 3640 of file GameObject.cpp.

References GetStringId(), m_stringIds, Script, and SetScriptStringId().

◆ IsAlwaysVisibleFor()

bool GameObject::IsAlwaysVisibleFor ( WorldObject const *  seer) const
overridevirtual

◆ IsAtInteractDistance() [1/2]

bool GameObject::IsAtInteractDistance ( Player const *  player,
SpellInfo const *  spell = nullptr 
) const

◆ IsAtInteractDistance() [2/2]

◆ IsDestructibleBuilding()

◆ IsFullyLooted()

bool GameObject::IsFullyLooted ( ) const

Definition at line 3944 of file GameObject.cpp.

References m_loot, and m_personalLoot.

Referenced by WorldSession::DoLootRelease().

◆ IsInRange()

bool GameObject::IsInRange ( float  x,
float  y,
float  z,
float  radius 
) const

Check if the distance between the 2 objects is 0, can happen if both objects are on the same position. The code below this check wont crash if dist is 0 because 0/0 in float operations is valid, and returns infinite

Definition at line 3605 of file GameObject.cpp.

References GameObjectTemplate::displayId, GameObjectDisplayInfoEntry::GeoBoxMax, GameObjectDisplayInfoEntry::GeoBoxMin, Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), WorldObject::IsWithinDist3d(), m_goInfo, sGameObjectDisplayInfoStore, DBCPosition3D::X, DBCPosition3D::Y, and DBCPosition3D::Z.

Referenced by Trinity::GameObjectInRangeCheck::operator()().

◆ IsInSkillupList()

bool GameObject::IsInSkillupList ( ObjectGuid const &  playerGuid) const
inline

Definition at line 323 of file GameObject.h.

Referenced by Spell::EffectOpenLock().

◆ IsInvisibleDueToDespawn()

bool GameObject::IsInvisibleDueToDespawn ( WorldObject const *  seer) const
overridevirtual

◆ IsLootAllowedFor()

bool GameObject::IsLootAllowedFor ( Player const *  player) const

◆ IsNeverVisibleFor()

bool GameObject::IsNeverVisibleFor ( WorldObject const *  seer,
bool  allowServersideObjects 
) const
overridevirtual

Reimplemented from WorldObject.

Definition at line 2203 of file GameObject.cpp.

References GetDisplayId(), GetGOInfo(), WorldObject::IsNeverVisibleFor(), and m_goTypeImpl.

◆ isSpawned()

◆ isSpawnedByDefault()

bool GameObject::isSpawnedByDefault ( ) const
inline

Definition at line 271 of file GameObject.h.

◆ IsTransport()

bool GameObject::IsTransport ( ) const

◆ IsWithinDistInMap() [1/2]

◆ IsWithinDistInMap() [2/2]

bool WorldObject::IsWithinDistInMap ( WorldObject const *  obj,
float  dist2compare,
bool  is3D = true,
bool  incOwnRadius = true,
bool  incTargetRadius = true 
) const

Definition at line 362 of file Object.cpp.

◆ LoadFromDB()

◆ LookupFishingHoleAround()

GameObject * GameObject::LookupFishingHoleAround ( float  range)

Definition at line 2412 of file GameObject.cpp.

References Cell::VisitGridObjects().

Referenced by Use().

◆ MeetsInteractCondition()

bool GameObject::MeetsInteractCondition ( Player const *  user) const

◆ ModifyHealth()

◆ OnLootRelease()

◆ Refresh()

◆ RelocateStationaryPosition() [1/2]

void GameObject::RelocateStationaryPosition ( float  x,
float  y,
float  z,
float  o 
)
inline

◆ RelocateStationaryPosition() [2/2]

void GameObject::RelocateStationaryPosition ( Position const &  pos)
inline

Definition at line 417 of file GameObject.h.

◆ RemoveFlag()

◆ RemoveFromOwner()

◆ RemoveFromWorld()

◆ RemoveLootMode()

void GameObject::RemoveLootMode ( uint16  lootMode)
inline

Definition at line 316 of file GameObject.h.

◆ ReplaceAllFlags()

void GameObject::ReplaceAllFlags ( GameObjectFlags  flags)
inline

Definition at line 285 of file GameObject.h.

References flags, UF::GameObjectData::Flags, and m_gameObjectData.

Referenced by Transport::Create(), Create(), Delete(), Update(), and Use().

◆ ResetDoorOrButton()

◆ ResetLootMode()

void GameObject::ResetLootMode ( )
inline

Definition at line 317 of file GameObject.h.

References LOOT_MODE_DEFAULT.

Referenced by GameObject().

◆ Respawn()

◆ SaveRespawnTime()

◆ SaveToDB() [1/2]

void GameObject::SaveToDB ( )

◆ SaveToDB() [2/2]

◆ SendCustomAnim()

◆ SendGameObjectDespawn()

◆ SetAnimKitId()

◆ SetDestructibleState()

◆ SetDisplayId()

◆ SetFaction()

◆ SetFlag()

void GameObject::SetFlag ( GameObjectFlags  flags)
inline

Definition at line 283 of file GameObject.h.

References flags, UF::GameObjectData::Flags, and m_gameObjectData.

Referenced by ActivateObject(), Create(), CreateModel(), go_suppression_device::Deactivate(), go_empowering_blood_orb::HandleObjectUse(), LoadFromDB(), instance_razorfen_downs::instance_razorfen_downs_InstanceMapScript::OnGameObjectCreate(), instance_ulduar::instance_ulduar_InstanceMapScript::OnGameObjectCreate(), instance_stratholme::instance_stratholme_InstanceMapScript::OnGameObjectCreate(), instance_uldaman::instance_uldaman_InstanceMapScript::OnGameObjectCreate(), instance_blackfathom_deeps::instance_blackfathom_deeps_InstanceMapScript::OnGameObjectCreate(), instance_ahnkahet::instance_ahnkahet_InstanceScript::OnGameObjectCreate(), instance_utgarde_pinnacle::instance_utgarde_pinnacle_InstanceMapScript::OnGameObjectCreate(), go_blackened_urn::go_blackened_urnAI::OnGossipHello(), go_blackfathom_fire::OnGossipHello(), go_elune_fire::go_elune_fireAI::OnGossipHello(), go_prince_taldaram_sphere::OnGossipHello(), go_gundrak_altar::OnGossipHello(), containment_sphere::OnGossipHello(), go_mimiron_hardmode_button::go_mimiron_hardmode_buttonAI::OnGossipHello(), go_razorscale_harpoon::go_razorscale_harpoonAI::OnGossipHello(), go_palehoof_sphere::OnGossipHello(), go_chromaggus_lever::OnGossipHello(), go_celestial_planetarium_access::OnReportUse(), go_razorscale_mole_machine::go_razorscale_mole_machineAI::Reset(), SetDestructibleState(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetTeleporterState(), SwitchDoorOrButton(), Use(), and instance_sunken_temple::instance_sunken_temple_InstanceMapScript::UseStatue().

◆ SetGoAnimProgress()

void GameObject::SetGoAnimProgress ( uint8  animprogress)
inline

◆ SetGoArtKit() [1/2]

◆ SetGoArtKit() [2/2]

void GameObject::SetGoArtKit ( uint32  artkit,
GameObject *  go,
ObjectGuid::LowType  lowguid = UI64LIT(0) 
)
static

Definition at line 2598 of file GameObject.cpp.

References GetGameObjectData(), SetGoArtKit(), and sObjectMgr.

◆ SetGoState()

void GameObject::SetGoState ( GOState  state)

Definition at line 3992 of file GameObject.cpp.

References AI(), EnableCollision(), GetGoState(), GO_STATE_READY, BaseEntity::IsInWorld(), IsTransport(), m_gameObjectData, m_goTypeImpl, m_model, BaseEntity::m_values, UF::UpdateFieldHolder::ModifyValue(), GameObjectAI::OnStateChanged(), BaseEntity::SetUpdateFieldValue(), and UF::GameObjectData::State.

Referenced by go_suppression_device::Activate(), ActivateObject(), Transport::Create(), Create(), instance_dire_maul::instance_dire_maul_InstanceMapScript::CrystalCreatureCheck(), go_suppression_device::Deactivate(), Delete(), Transport::EnableMovement(), InstanceScript::HandleGameObject(), go_empowering_blood_orb::HandleObjectUse(), instance_ulduar::instance_ulduar_InstanceMapScript::OnGameObjectCreate(), BattlefieldTB::OnGameObjectCreate(), instance_zulaman::instance_zulaman_InstanceScript::OnGameObjectCreate(), instance_firelands::instance_firelands_InstanceScript::OnGameObjectCreate(), instance_stonecore::instance_stonecore_InstanceScript::OnGameObjectCreate(), instance_ahnkahet::instance_ahnkahet_InstanceScript::OnGameObjectCreate(), instance_gundrak::instance_gundrak_InstanceMapScript::OnGameObjectCreate(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnGameObjectCreate(), go_blackfathom_fire::OnGossipHello(), go_prince_taldaram_sphere::OnGossipHello(), go_gundrak_altar::OnGossipHello(), containment_sphere::OnGossipHello(), go_mimiron_hardmode_button::go_mimiron_hardmode_buttonAI::OnGossipHello(), go_palehoof_sphere::OnGossipHello(), go_chromaggus_lever::OnGossipHello(), battleground_isle_of_conquest::OnStart(), GameObjectType::Transport::OnStateChanged(), FrozenThroneResetWorker::operator()(), go_caribou_trap::Reset(), go_mammoth_trap::Reset(), ResetDoorOrButton(), boss_novos::SetCrystalStatus(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::SetTeleporterState(), go_mammoth_trap::SpellHit(), SwitchDoorOrButton(), GameObjectType::Transport::Update(), Update(), Transport::Update(), go_caribou_trap::UpdateAI(), InstanceScript::UpdateDoorState(), instance_ulduar::instance_ulduar_InstanceMapScript::UpdateDoorState(), and Use().

◆ SetGoStateFor()

◆ SetGoType()

void GameObject::SetGoType ( GameobjectTypes  type)
inline

Definition at line 289 of file GameObject.h.

References m_gameObjectData, and UF::GameObjectData::TypeID.

Referenced by Transport::Create(), and Create().

◆ SetLevel()

void GameObject::SetLevel ( uint32  level)
inline

◆ SetLinkedTrap()

void GameObject::SetLinkedTrap ( GameObject *  linkedTrap)
inline

Definition at line 347 of file GameObject.h.

References BaseEntity::GetGUID().

Referenced by Create().

◆ SetLocalRotation()

void GameObject::SetLocalRotation ( float  qx,
float  qy,
float  qz,
float  qw 
)

◆ SetLocalRotationAngles()

void GameObject::SetLocalRotationAngles ( float  z_rot,
float  y_rot,
float  x_rot 
)

◆ SetLootMode()

void GameObject::SetLootMode ( uint16  lootMode)
inline

Definition at line 314 of file GameObject.h.

◆ SetLootState()

◆ SetOwnerGUID()

void GameObject::SetOwnerGUID ( ObjectGuid  owner)
inline

◆ SetParentRotation()

void GameObject::SetParentRotation ( QuaternionData const &  rotation)

◆ SetPathProgressForClient()

void GameObject::SetPathProgressForClient ( float  progress)

◆ SetRespawnCompatibilityMode()

void GameObject::SetRespawnCompatibilityMode ( bool  mode = true)
inline

Definition at line 385 of file GameObject.h.

Referenced by Create().

◆ SetRespawnTime()

◆ SetScriptStringId()

void GameObject::SetScriptStringId ( std::string  id)

Definition at line 3654 of file GameObject.cpp.

References AsUnderlyingType(), m_scriptStringId, m_stringIds, and Script.

Referenced by InheritStringIds().

◆ SetSpawnedByDefault()

void GameObject::SetSpawnedByDefault ( bool  b)
inline

Definition at line 272 of file GameObject.h.

Referenced by WorldObject::SummonGameObject().

◆ SetSpellId()

◆ SetSpellVisualId()

◆ SetTapList()

void GameObject::SetTapList ( GuidUnorderedSet  tapList)
inline

◆ SetVignette()

void GameObject::SetVignette ( uint32  vignetteId)

Definition at line 4352 of file GameObject.cpp.

References Vignettes::Create(), m_vignette, Vignettes::Remove(), and sVignetteStore.

Referenced by CleanupsBeforeDelete(), and Create().

◆ SetWorldEffectID()

void GameObject::SetWorldEffectID ( uint32  worldEffectID)
inline

Definition at line 437 of file GameObject.h.

Referenced by Create().

◆ SwitchDoorOrButton()

void GameObject::SwitchDoorOrButton ( bool  activate,
bool  alternative = false 
)
private

◆ ToTransport() [1/2]

◆ ToTransport() [2/2]

Transport const * GameObject::ToTransport ( ) const
inline

Definition at line 413 of file GameObject.h.

References GAMEOBJECT_TYPE_MAP_OBJ_TRANSPORT.

◆ ToTransportBase() [1/2]

TransportBase * GameObject::ToTransportBase ( )
inline

Definition at line 409 of file GameObject.h.

References ToTransportBase().

Referenced by ToTransportBase().

◆ ToTransportBase() [2/2]

TransportBase const * GameObject::ToTransportBase ( ) const

◆ TriggeringLinkedGameObject()

void GameObject::TriggeringLinkedGameObject ( uint32  trapEntry,
Unit *  target 
)

◆ Update()

void GameObject::Update ( uint32  diff)
overridevirtual
Todo:
This is activation radius. Casting radius must be selected from spell data.
Todo:
nullptr target won't work for target type 1

Reimplemented from WorldObject.

Reimplemented in Transport.

Definition at line 1292 of file GameObject.cpp.

References WorldObject::AddObjectToRemoveList(), Map::AddToMap(), AI(), AIM_Initialize(), WorldPackets::Battleground::AllianceCaptured, Map::ApplyDynamicModeRespawnScaling(), GameObjectValue::AssaultTimer, UpdateData::BuildPacket(), BuildValuesUpdateForPlayerWithMask(), GameObjectTemplate::CaptureBroadcastAlliance, GameObjectTemplate::CaptureBroadcastHorde, GameObjectTemplate::CaptureEventAlliance, GameObjectTemplate::CaptureEventHorde, GameObjectValue::CapturePoint, GameObjectTemplate::capturePoint, CastSpell, GameObjectTemplate::charges, CHAT_MSG_BG_SYSTEM_ALLIANCE, CHAT_MSG_BG_SYSTEM_HORDE, GameObjectTemplate::Checkallunits, GameObjectTemplate::chest, GameObjectTemplate::chestRestockTime, ClearLoot(), CONFIG_RESPAWN_DYNAMICMODE, WorldPackets::Battleground::ContestedAlliance, WorldPackets::Battleground::ContestedHorde, GameObjectTemplate::cooldown, Delete(), DespawnOrUnsummon(), FISHING_BOBBER_READY_TIME, GameObjectValue::FishingHole, GAMEOBJECT_TYPE_BUTTON, GAMEOBJECT_TYPE_CAPTURE_POINT, GAMEOBJECT_TYPE_CHEST, GAMEOBJECT_TYPE_DOOR, GAMEOBJECT_TYPE_FISHINGHOLE, GAMEOBJECT_TYPE_FISHINGNODE, GAMEOBJECT_TYPE_GOOBER, GAMEOBJECT_TYPE_NEW_FLAG_DROP, GAMEOBJECT_TYPE_TRAP, UF::HasChangesMask< Bits >::GetChangesMask(), GameObjectTemplate::GetCharges(), Object::GetEntry(), GetGameObjectData(), GetGameObjectOverride(), GameTime::GetGameTime(), GameTime::GetGameTimeMS(), GetGoAnimProgress(), GetGOInfo(), GetGoState(), GetGoType(), Map::GetLinkedRespawnTime(), GetLinkedTrap(), WorldObject::GetMap(), WorldLocation::GetMapId(), WorldObject::GetOwner(), GetOwnerGUID(), ObjectAccessor::GetPlayer(), Map::GetPoolData(), GetSpawnId(), GetSpellId(), GameTime::GetSystemTime(), BaseEntity::GetTypeId(), ObjectAccessor::GetUnit(), GO_ACTIVATED, GO_FLAG_IN_USE, GO_FLAG_NODESPAWN, GO_JUST_DEACTIVATED, GO_NOT_READY, GO_READY, GO_STATE_READY, GameObjectTemplate::goober, GRID_MAP_TYPE_MASK_CREATURE, GRID_MAP_TYPE_MASK_PLAYER, WorldPackets::Battleground::HordeCaptured, IN_MILLISECONDS, InBase, GameObjectTemplate::IsDespawnAtAction(), isSpawned(), GameObjectValue::LastTeamCapture, m_cooldownTime, m_despawnDelay, m_despawnRespawnTime, m_goTypeImpl, m_goValue, m_loot, m_lootState, m_lootStateUnitGUID, m_perPlayerState, m_personalLoot, m_respawnCompatibilityMode, m_respawnDelayTime, m_respawnTime, m_restockTime, m_SkillupList, m_spawnedByDefault, m_spawnId, m_unique_users, m_usetimes, UF::HasChangesMask< Bits >::MarkChanged(), GameObjectValue::MaxOpens, GameObjectTemplate::maxRestock, GameObjectTemplate::minRestock, MINUTE, SpawnData::poolId, GameObjectTemplate::radius, RemoveFlag(), Unit::RemoveGameObject(), ReplaceAllFlags(), GameObjectAI::Reset(), ResetDoorOrButton(), SaveRespawnTime(), SendCustomAnim(), Player::SendDirectMessage(), SendGameObjectDespawn(), SetGoState(), SetLootState(), CastSpellExtraArgs::SetOriginalCaster(), SetRespawnTime(), sObjectMgr, GameObjectTemplate::spell, sPoolMgr, sSpellMgr, GameObjectTemplate::startDelay, GameObjectValue::State, UF::GameObjectData::State, sWorld, TARGET_OBJECT_TYPE_UNIT, GameObjectValue::TargetSearcherCheckType, TC_LOG_ERROR, TEAM_ALLIANCE, TEAM_HORDE, Object::ToPlayer(), Object::ToUnit(), GameObjectValue::Trap, GameObjectTemplate::trap, GameEvents::Trigger(), GameObjectTemplate::type, TYPEID_PLAYER, WorldObject::Update(), GameObjectAI::UpdateAI(), UpdateCapturePoint(), UpdateDynamicFlagsForNearbyPlayers(), WorldObject::UpdateObjectVisibility(), WorldObject::UpdateObjectVisibilityOnDestroy(), Player::UpdateVisibilityOf(), urand(), Cell::VisitAllObjects(), Cell::VisitWorldObjects(), and WEEK.

◆ UpdateCapturePoint()

◆ UpdateDynamicFlagsForNearbyPlayers()

void GameObject::UpdateDynamicFlagsForNearbyPlayers ( )

◆ UpdateModel()

◆ UpdateModelPosition()

◆ UpdatePackedRotation()

void GameObject::UpdatePackedRotation ( )
private

◆ Use()

void GameObject::Use ( Unit *  user,
bool  ignoreCastInProgress = false 
)
Todo:
find reasonable value for fishing hole search
Todo:
I do not understand this hack. Need some explanation.

Definition at line 2626 of file GameObject.cpp.

References AddUniqueUse(), AddUse(), AdventureJournal, AI(), GameObjectTemplate::AllowMultiInteract, GameObjectTemplate::animSpell, WorldPackets::Artifact::OpenArtifactForge::ArtifactGUID, ARTIFACTS_ALL_WEAPONS_GENERAL_WEAPON_EQUIPPED_PASSIVE, AssaultCapturePoint(), Loot::AutoStore(), AzeriteForge, GameObjectTemplate::barberChair, GameObjectTemplate::camera, Player::CanUseBattlegroundObject(), GameObjectTemplate::casters, GameObjectTemplate::castersGrouped, GameObjectTemplate::casterTargetSpell, GameObjectTemplate::casterTargetSpellTargets, CastSpell, WorldObject::CastSpell(), CatchFishInFishingHole, GameObjectTemplate::chair, GameObjectTemplate::chairheight, ChairListSlots, GameObjectTemplate::chairslots, GameObjectTemplate::charges, GameObjectTemplate::chest, GameObjectTemplate::chestLoot, GameObjectTemplate::chestPersonalLoot, GameObjectTemplate::chestPushLoot, ObjectGuid::Clear(), CONTACT_DISTANCE, GameObjectTemplate::ContentTuningId, GameObjectTemplate::cooldown, CURRENT_CHANNELED_SPELL, GameObjectTemplate::customAnim, GameObjectTemplate::CustomizationFeatureMask, WorldPackets::Misc::EnableBarberShop::CustomizationFeatureMask, GameObjectTemplate::CustomSitAnimKit, DEFAULT_VISIBILITY_DISTANCE, Delete(), DespawnForPlayer(), DespawnOrUnsummon(), Dropped, GameObjectTemplate::DungeonEncounter, GameObjectTemplate::entry, ERR_MUST_EQUIP_ARTIFACT, GameObjectTemplate::eventID, Everywhere, ContentTuningEntry::ExpansionID, Loot::FillLoot(), ObjectAccessor::FindPlayer(), Unit::FinishSpell(), GameObjectTemplate::flagDrop, GameObjectTemplate::flagStand, WorldPackets::Artifact::OpenArtifactForge::ForgeGUID, GameObjectTemplate::ForgeType, GAMEOBJECT_TYPE_BARBER_CHAIR, GAMEOBJECT_TYPE_BUTTON, GAMEOBJECT_TYPE_CAMERA, GAMEOBJECT_TYPE_CAPTURE_POINT, GAMEOBJECT_TYPE_CHAIR, GAMEOBJECT_TYPE_CHEST, GAMEOBJECT_TYPE_DOOR, GAMEOBJECT_TYPE_FISHINGHOLE, GAMEOBJECT_TYPE_FISHINGNODE, GAMEOBJECT_TYPE_FLAGDROP, GAMEOBJECT_TYPE_FLAGSTAND, GAMEOBJECT_TYPE_GATHERING_NODE, GAMEOBJECT_TYPE_GOOBER, GAMEOBJECT_TYPE_ITEM_FORGE, GAMEOBJECT_TYPE_MEETINGSTONE, GAMEOBJECT_TYPE_NEW_FLAG, GAMEOBJECT_TYPE_NEW_FLAG_DROP, GAMEOBJECT_TYPE_QUESTGIVER, GAMEOBJECT_TYPE_RITUAL, GAMEOBJECT_TYPE_SPELL_FOCUS, GAMEOBJECT_TYPE_SPELLCASTER, GAMEOBJECT_TYPE_TRAP, GAMEOBJECT_TYPE_UI_LINK, WorldPackets::GameObject::PageText::GameObjectGUID, GameObjectTemplate::gatheringNode, GenerateDungeonEncounterPersonalLoot(), Loot::generateMoneyLoot(), WorldObject::GetAreaId(), Unit::GetAura(), GameObjectTemplate::GetAutoCloseTime(), Aura::GetCastItemGUID(), WorldObject::GetCharmerOrOwnerPlayerOrPlayerItself(), DB2Manager::GetContentTuningForArea(), ItemBonusMgr::GetContextForPlayer(), Unit::GetCurrentSpell(), WorldObject::GetDistance2d(), Object::GetEntry(), GetFishLoot(), GetFishLootJunk(), GameTime::GetGameTime(), GameTime::GetGameTimeMS(), GetGoAnimProgress(), GetGOInfo(), GetGoType(), Player::GetGroup(), BaseEntity::GetGUID(), Player::GetItemByEntry(), Player::GetItemByGuid(), Unit::GetLevel(), GetLootForPlayer(), GameObjectTemplate::GetLootId(), GetLootMode(), getLootState(), WorldObject::GetMap(), Map::GetMapDifficulty(), WorldLocation::GetMapId(), WorldObject::GetName(), GameObjectTemplate::GetNoDamageImmune(), Position::GetOrientation(), WorldObject::GetOwner(), GetOwnerGUID(), ObjectAccessor::GetPlayer(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Player::GetProfessionSkillForExp(), Player::GetQuestStatus(), Player::GetSkillValue(), GetSpawnId(), GameObjectType::NewFlag::GetState(), GetTapList(), Unit::GetTarget(), GetTemplateAddon(), BaseEntity::GetTypeId(), GetUniqueUseCount(), ObjectAccessor::GetUnit(), Unit::GetVehicle(), WorldObject::GetZoneScript(), Player::GiveXP(), GO_ACTIVATED, GO_DYNFLAG_LO_NO_INTERACT, GO_FLAG_IN_MULTI_USE, GO_FLAG_IN_USE, GO_JUST_DEACTIVATED, GO_READY, GO_STATE_ACTIVE, GameObjectTemplate::goober, GameObjectTemplate::gossipID, HandleCustomTypeCommand(), HasFlag(), IN_MILLISECONDS, InBase, WorldPackets::GameObject::GameObjectInteraction::InteractionType, irand(), Unit::IsAlive(), GameObjectTemplate::IsDespawnAtAction(), ObjectGuid::IsEmpty(), Player::IsInSameRaidWith(), Group::IsMember(), GameObjectTemplate::IsUsableMounted(), GameObjectTemplate::IsUsingGroupLootRules(), Item, ITEM_ID_HEART_OF_AZEROTH, GameObjectTemplate::itemForge, ItemInteraction, Player::KillCreditGO(), GameObjectTemplate::linkedTrap, LookupFishingHoleAround(), LOOT_CHEST, LOOT_FISHINGHOLE, LOOT_MODE_DEFAULT, LootTemplates_Gameobject, m_cooldownTime, m_goInfo, m_goTypeImpl, m_loot, m_personalLoot, M_PI, Player::m_playerData, m_respawnDelayTime, m_ritualOwnerGUID, m_unique_users, m_usetimes, m_vignette, MAX_GAMEOBJECT_TYPE, GameObjectTemplateAddon::Maxgold, GameObjectTemplate::MaxNumberofLoots, MeetsInteractCondition(), GameObjectTemplateAddon::Mingold, Unit::NearTeleportTo(), GameObjectTemplate::newflag, NULL_BAG, NULL_SLOT, GameObjectTemplate::ObjectDespawnDelay, WorldPackets::GameObject::GameObjectInteraction::ObjectGUID, ObliterumForge, GameObjectTemplate::pageID, GameObjectTemplate::partyOnly, GameObjectTemplate::pickupSpell, GameObjectTemplate::playerCast, Player::PrepareGossipMenu(), QUEST_STATUS_INCOMPLETE, GameObjectTemplate::questID, Vignettes::Remove(), Unit::RemoveAurasByType(), RemoveFromOwner(), ReplaceAllFlags(), GameObjectTemplate::ritual, GameObjectTemplate::ritualPersistent, Quest::RoundXPValue(), sAreaTableStore, ScrappingMachine, sDB2Manager, Trinity::Containers::SelectRandomContainerElement(), Player::SendCinematicStart(), SendCustomAnim(), Player::SendDirectMessage(), Player::SendLoot(), Player::SendPreparedGossip(), BaseEntity::SendUpdateToPlayer(), Loot::SetDungeonEncounterId(), Object::SetDynamicFlag(), SetFlag(), SetGoState(), SetGoStateFor(), SetLootState(), SetOwnerGUID(), SetSpellId(), Unit::SetStandState(), GameObjectTemplate::size, SKILL_FISHING, sObjectMgr, sOutdoorPvPMgr, GameObjectTemplate::spell, SPELL_AURA_MOD_INVISIBILITY, SPELL_AURA_MOD_STEALTH, SPELL_AURA_MOUNTED, SPELL_CAST_OK, SPELL_FAILED_SUCCESS, GameObjectTemplate::spellCaster, sQuestXPStore, sSpellMgr, Taken, TC_LOG_DEBUG, TC_LOG_ERROR, TELE_TO_NOT_LEAVE_COMBAT, TELE_TO_NOT_LEAVE_TRANSPORT, TELE_TO_NOT_UNSUMMON_PET, Player::TeleportTo(), Object::ToPlayer(), ObjectGuid::ToString(), Position::ToString(), GameObjectTemplate::trap, GameEvents::Trigger(), TRIGGERED_FULL_MASK, TRIGGERED_IGNORE_CAST_IN_PROGRESS, GameObjectTemplate::triggeredEvent, CastSpellExtraArgsInit::TriggerFlags, TriggeringLinkedGameObject(), TYPEID_PLAYER, GameObjectTemplate::UILinkType, UNIT_FLAG_IMMUNE, UNIT_STAND_STATE_SIT, UNIT_STAND_STATE_SIT_LOW_CHAIR, Player::UpdateCriteria(), Player::UpdateFishingSkill(), Use(), UseDoorOrButton(), WorldPackets::Artifact::OpenArtifactForge::Write(), WorldPackets::GameObject::PageText::Write(), WorldPackets::GameObject::GameObjectInteraction::Write(), WorldPackets::Misc::EnableBarberShop::Write(), and GameObjectTemplate::xpDifficulty.

Referenced by ActivateObject(), Spell::EffectOpenLock(), npc_valiance_keep_cannoneer::UpdateAI(), and Use().

◆ UseDoorOrButton()

Member Data Documentation

◆ _animKitId

uint16 GameObject::_animKitId
private

Definition at line 524 of file GameObject.h.

Referenced by Create(), and SetAnimKitId().

◆ _worldEffectID

uint32 GameObject::_worldEffectID
private

Definition at line 525 of file GameObject.h.

◆ ChairListSlots

ChairSlotAndUser GameObject::ChairListSlots
protected

Definition at line 490 of file GameObject.h.

Referenced by Use().

◆ m_AI

GameObjectAI* GameObject::m_AI
private

Definition at line 522 of file GameObject.h.

Referenced by AIM_Destroy(), AIM_Initialize(), and ~GameObject().

◆ m_cooldownTime

time_t GameObject::m_cooldownTime
protected

Definition at line 479 of file GameObject.h.

Referenced by GameObject(), ResetDoorOrButton(), Update(), Use(), and UseDoorOrButton().

◆ m_despawnDelay

uint32 GameObject::m_despawnDelay
protected

Definition at line 473 of file GameObject.h.

Referenced by DespawnOrUnsummon(), GameObject(), and Update().

◆ m_despawnRespawnTime

Seconds GameObject::m_despawnRespawnTime
protected

Definition at line 474 of file GameObject.h.

Referenced by DespawnOrUnsummon(), GameObject(), and Update().

◆ m_gameObjectData

◆ m_goData

GameObjectData const* GameObject::m_goData
protected

◆ m_goInfo

◆ m_goTemplateAddon

GameObjectTemplateAddon const* GameObject::m_goTemplateAddon
protected

Definition at line 494 of file GameObject.h.

Referenced by Transport::Create(), Create(), GameObject(), and GetGameObjectOverride().

◆ m_goTypeImpl

◆ m_goValue

◆ m_linkedTrap

ObjectGuid GameObject::m_linkedTrap
protected

Definition at line 508 of file GameObject.h.

Referenced by GetLinkedTrap().

◆ m_localRotation

QuaternionData GameObject::m_localRotation
protected

Definition at line 502 of file GameObject.h.

Referenced by SaveToDB(), SetLocalRotation(), and UpdatePackedRotation().

◆ m_loot

std::unique_ptr<Loot> GameObject::m_loot

Definition at line 337 of file GameObject.h.

Referenced by ClearLoot(), GetLootForPlayer(), IsFullyLooted(), SetLootState(), Update(), and Use().

◆ m_LootMode

uint16 GameObject::m_LootMode
protected

Definition at line 506 of file GameObject.h.

◆ m_lootState

LootState GameObject::m_lootState
protected

Definition at line 475 of file GameObject.h.

Referenced by GameObject(), ResetDoorOrButton(), SetLootState(), Update(), and UseDoorOrButton().

◆ m_lootStateUnitGUID

ObjectGuid GameObject::m_lootStateUnitGUID
protected

Definition at line 476 of file GameObject.h.

Referenced by SetLootState(), and Update().

◆ m_model

◆ m_packedRotation

int64 GameObject::m_packedRotation
protected

Definition at line 501 of file GameObject.h.

Referenced by GameObject(), and UpdatePackedRotation().

◆ m_perPlayerState

std::unique_ptr<std::unordered_map<ObjectGuid, PerPlayerState> > GameObject::m_perPlayerState
private

◆ m_personalLoot

std::unordered_map<ObjectGuid, std::unique_ptr<Loot> > GameObject::m_personalLoot

Definition at line 338 of file GameObject.h.

Referenced by ClearLoot(), GetLootForPlayer(), IsFullyLooted(), Update(), and Use().

◆ m_prevGoState

GOState GameObject::m_prevGoState
protected

Definition at line 481 of file GameObject.h.

Referenced by Create(), GameObject(), and ResetDoorOrButton().

◆ m_respawnCompatibilityMode

bool GameObject::m_respawnCompatibilityMode
private

Definition at line 523 of file GameObject.h.

Referenced by Delete(), LoadFromDB(), SaveRespawnTime(), SetRespawnTime(), and Update().

◆ m_respawnDelayTime

uint32 GameObject::m_respawnDelayTime
protected

◆ m_respawnTime

time_t GameObject::m_respawnTime
protected

◆ m_restockTime

time_t GameObject::m_restockTime
protected

Definition at line 478 of file GameObject.h.

Referenced by GameObject(), SetLootState(), and Update().

◆ m_ritualOwnerGUID

ObjectGuid GameObject::m_ritualOwnerGUID
protected

Definition at line 485 of file GameObject.h.

Referenced by Use().

◆ m_scriptStringId

Optional<std::string> GameObject::m_scriptStringId
protected

Definition at line 499 of file GameObject.h.

Referenced by SetScriptStringId().

◆ m_SkillupList

GuidSet GameObject::m_SkillupList
protected

Definition at line 483 of file GameObject.h.

Referenced by Update().

◆ m_spawnedByDefault

bool GameObject::m_spawnedByDefault
protected

◆ m_spawnId

ObjectGuid::LowType GameObject::m_spawnId
protected

For new or temporary gameobjects is 0 for saved it is lowguid.

Definition at line 492 of file GameObject.h.

Referenced by AddToWorld(), Create(), GameObject(), GetGameObjectOverride(), LoadFromDB(), RemoveFromWorld(), Respawn(), SaveRespawnTime(), SaveToDB(), SaveToDB(), SetGoArtKit(), and Update().

◆ m_spellId

uint32 GameObject::m_spellId
protected

Definition at line 470 of file GameObject.h.

Referenced by GameObject(), and RemoveFromOwner().

◆ m_stationaryPosition

Position GameObject::m_stationaryPosition
protected

Definition at line 503 of file GameObject.h.

Referenced by Create(), GameObject(), and Transport::UpdatePosition().

◆ m_stringIds

std::array<std::string const*, 3> GameObject::m_stringIds
protected

Definition at line 498 of file GameObject.h.

Referenced by Create(), HasStringId(), InheritStringIds(), LoadFromDB(), and SetScriptStringId().

◆ m_tapList

GuidUnorderedSet GameObject::m_tapList
protected

Definition at line 505 of file GameObject.h.

Referenced by IsLootAllowedFor().

◆ m_transportPathProgress

Optional<float> GameObject::m_transportPathProgress
private

Definition at line 526 of file GameObject.h.

Referenced by SetPathProgressForClient().

◆ m_unique_users

GuidSet GameObject::m_unique_users
protected

Definition at line 486 of file GameObject.h.

Referenced by AddUniqueUse(), ClearLoot(), Update(), and Use().

◆ m_usetimes

uint32 GameObject::m_usetimes
protected

Definition at line 487 of file GameObject.h.

Referenced by ClearLoot(), GameObject(), Update(), and Use().

◆ m_vignette

std::unique_ptr<Vignettes::VignetteData> GameObject::m_vignette
private

Definition at line 528 of file GameObject.h.

Referenced by AfterRelocation(), SetVignette(), and Use().


The documentation for this class was generated from the following files: