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;
77 std::ptrdiff_t FindUsableTotemSlot(
Unit const* summoner)
const;
80 bool IsSharingTotemSlotWith(
ObjectGuid objectGuid)
const;
108 bool IsWarlockPet()
const {
return IsPetImp() || IsPetFelhunter() || IsPetVoidwalker() || IsPetSayaad() || IsPetDoomguard() || IsPetFelguard(); }
117 bool IsGuardianPet()
const;
130 bool InitStatsForLevel(
uint8 level);
144 void SetBonusDamage(
int32 damage);
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
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 SetCanFollowOwner(bool can)
bool CanFollowOwner() const
SummonPropertiesEntry const *const m_Properties
Optional< uint32 > m_displayIdVisibleToSummoner
ObjectGuid m_summonerGUID
Optional< uint32 > m_creatureIdVisibleToSummoner
Milliseconds GetTimer() const
void ModifyTimer(Milliseconds mod)
virtual void UpdateResistances(uint32 school)
virtual void UpdateDamagePhysical(WeaponAttackType attType)
virtual void UpdateObjectVisibilityOnDestroy()
virtual void UpdateObjectVisibilityOnCreate()