31m_timer(0), m_lifetime(0), m_canFollowOwner(true)
207 if (oldSummon && oldSummon->
IsSummon())
270 if (owner->GetTypeId() ==
TYPEID_UNIT && owner->ToCreature()->IsAIEnabled())
271 owner->ToCreature()->AI()->SummonedCreatureDespawn(
this);
273 owner->ToGameObject()->AI()->SummonedCreatureDespawn(
this);
292 for (
ObjectGuid& summonSlot : owner->m_SummonSlot)
304 std::stringstream sstr;
313 :
TempSummon(properties, owner, isWorldObject), m_owner(owner)
353 if (controlled->GetEntry() ==
GetEntry() && controlled->IsAlive())
370 std::stringstream sstr;
378, m_bonusSpellDamage(0)
415 std::stringstream sstr;
421 :
Minion(properties, owner, false)
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
#define TC_LOG_ERROR(filterType__,...)
@ TEMPSUMMON_DEAD_DESPAWN
@ TEMPSUMMON_MANUAL_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
@ TEMPSUMMON_TIMED_OR_DEAD_DESPAWN
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
@ TEMPSUMMON_CORPSE_DESPAWN
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
@ UNIT_MASK_CONTROLABLE_GUARDIAN
virtual void JustSummoned(Creature *)
virtual void IsSummonedBy(WorldObject *)
void setDeathState(DeathState s) override
void Update(uint32 time) override
uint32 m_spells[MAX_CREATURE_SPELLS]
void SetReactState(ReactStates st)
void RemoveFromWorld() override
std::string GetDebugInfo() const override
void AddEvent(BasicEvent *event, Milliseconds e_time, bool set_addtime=true)
Milliseconds CalculateTime(Milliseconds t_offset) const
bool Execute(uint64 e_time, uint32 p_time) override
virtual void JustSummoned(Creature *)
GameObjectAI * AI() const
void InitSummon() override
Guardian(SummonPropertiesEntry const *properties, Unit *owner, bool isWorldObject)
void InitStats(uint32 duration) override
bool InitStatsForLevel(uint8 level)
float m_statFromOwner[MAX_STATS]
std::string GetDebugInfo() const override
Creature * GetCreature(ObjectGuid const &guid)
std::string GetDebugInfo() const override
void setDeathState(DeathState s) override
void RemoveFromWorld() override
bool IsGuardianPet() const
Minion(SummonPropertiesEntry const *properties, Unit *owner, bool isWorldObject)
void InitStats(uint32 duration) override
std::string ToString() const
static Creature * ToCreature(Object *o)
static Unit * ToUnit(Object *o)
static GameObject * ToGameObject(Object *o)
static ObjectGuid GetGUID(Object const *o)
ObjectGuid GetGUID() const
static Player * ToPlayer(Object *o)
void Remove(PetSaveMode mode, bool returnreagent=false)
void CharmSpellInitialize()
void Update(uint32 time) override
Puppet(SummonPropertiesEntry const *properties, Unit *owner)
void InitSummon() override
void InitStats(uint32 duration) override
WorldObject * GetSummoner() const
virtual void UnSummon(uint32 msTime=0)
TempSummonType GetSummonType() const
ObjectGuid GetSummonerGUID() const
virtual void InitSummon()
void SetTempSummonType(TempSummonType type)
virtual void InitStats(uint32 lifetime)
void RemoveFromWorld() override
void Update(uint32 time) override
SummonPropertiesEntry const *const m_Properties
std::string GetDebugInfo() const override
GameObject * GetSummonerGameObject() const
ObjectGuid m_summonerGUID
void UpdateObjectVisibilityOnCreate() override
Creature * GetSummonerCreatureBase() const
TempSummon(SummonPropertiesEntry const *properties, WorldObject *owner, bool isWorldObject)
Unit * GetSummonerUnit() const
void SetMinion(Minion *minion, bool apply)
void SetMinionGUID(ObjectGuid guid)
void SetFaction(uint32 faction) override
ObjectGuid GetCharmedGUID() const
TempSummon * ToTempSummon()
bool m_ControlledByPlayer
ObjectGuid GetMinionGUID() const
uint32 GetFaction() const override
void SetLevel(uint8 lvl, bool sendUpdate=true)
CharmInfo * InitCharmInfo()
uint32 HasUnitTypeMask(uint32 mask) const
bool SetCharmedBy(Unit *charmer, CharmType type, AuraApplication const *aurApp=nullptr)
void SetPetGUID(ObjectGuid guid)
void SetCreatorGUID(ObjectGuid creator)
ObjectGuid m_SummonSlot[MAX_SUMMON_SLOT]
void AddObjectToRemoveList()
virtual void UpdateObjectVisibility(bool forced=true)
TC_GAME_API WorldObject * GetWorldObject(WorldObject const &, ObjectGuid const &)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void InitCharmCreateSpells()