18#ifndef TRINITYCORE_TEMPSUMMON_H
19#define TRINITYCORE_TEMPSUMMON_H
54 virtual void UnSummon(
uint32 msTime = 0);
59 Unit* GetSummonerUnit()
const;
60 Creature* GetSummonerCreatureBase()
const;
83 std::ptrdiff_t FindUsableTotemSlot(
Unit const* summoner)
const;
86 bool IsSharingTotemSlotWith(
ObjectGuid objectGuid)
const;
114 bool IsWarlockPet()
const {
return IsPetImp() || IsPetFelhunter() || IsPetVoidwalker() || IsPetSayaad() || IsPetDoomguard() || IsPetFelguard(); }
123 bool IsGuardianPet()
const;
136 bool InitStatsForLevel(
uint8 level);
150 void SetBonusDamage(
int32 damage);
@ CREATURE_STATIC_FLAG_6_DO_NOT_AUTO_RESUMMON
@ CREATURE_STATIC_FLAG_5_DONT_DISMISS_ON_FLYING_MOUNT
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
std::optional< T > Optional
Optional helper class to wrap optional values within.
void setDeathState(DeathState s) override
bool UpdateAllStats() override
void Update(uint32 time) override
bool UpdateStats(Stats stat) override
void RemoveFromWorld() override
void UpdateAttackPowerAndDamage(bool ranged=false) override
void UpdateArmor() override
bool HasFlag(CreatureStaticFlags flag) const
void UpdateMaxPower(Powers power) override
std::string GetDebugInfo() const override
void UpdateMaxHealth() override
ForcedUnsummonDelayEvent(TempSummon &owner)
float GetBonusStatFromOwner(Stats stat) const
int32 GetBonusDamage() const
bool IsPetDoomguard() const
void SetFollowAngle(float angle)
bool IsPetFelhunter() const
bool IsSpiritWolf() const
bool IsWarlockPet() const
float GetFollowAngle() const override
bool IsPetFelguard() const
bool IsPetAbomination() const
bool IsPetVoidwalker() const
Optional< uint32 > GetCreatureIdVisibleToSummoner() const
Optional< uint32 > GetDisplayIdVisibleToSummoner() const
TempSummonType GetSummonType() const
ObjectGuid GetSummonerGUID() const
void SaveToDB(uint32, std::vector< Difficulty > const &) override
void SetDontAutoResummon(bool dontAutoResummon)
void SetCanFollowOwner(bool can)
bool CanFollowOwner() const
SummonPropertiesEntry const *const m_Properties
void SetDontDismissOnFlyingMount(bool dontDismissOnFlyingMount)
Optional< uint32 > m_displayIdVisibleToSummoner
ObjectGuid m_summonerGUID
bool IsDismissedOnFlyingMount() const
Optional< uint32 > m_creatureIdVisibleToSummoner
bool IsAutoResummoned() const
Milliseconds GetTimer() const
void ModifyTimer(Milliseconds mod)
virtual void UpdateResistances(uint32 school)
virtual void UpdateDamagePhysical(WeaponAttackType attType)
virtual void UpdateObjectVisibilityOnDestroy()
virtual void UpdateObjectVisibilityOnCreate()