69 owner->SendDirectMessage(data.
Write());
76 TC_LOG_DEBUG(
"misc",
"Totem with entry {}, owned by player {}, does not have a specialized model for spell {} and race {}. Set to default.",
84 if (totemSpell->CalcCastTime())
126 owner->SendAutoRepeatCancel(
this);
131 if (
Group* group = owner->GetGroup())
133 for (
GroupReference* itr = group->GetFirstMember(); itr !=
nullptr; itr = itr->
next())
135 Player* target = itr->GetSource();
136 if (target && target->
IsInMap(owner) && group->SameSubGroup(owner, target))
146 bool requireImmunityPurgesEffectAttribute )
const
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
#define TC_LOG_DEBUG(filterType__, message__,...)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_AURA_PERIODIC_DAMAGE
@ SPELL_AURA_PERIODIC_LEECH
void Update(uint32 time) override
bool IsImmunedToSpellEffect(SpellInfo const *spellInfo, SpellEffectInfo const &spellEffectInfo, WorldObject const *caster, bool requireImmunityPurgesEffectAttribute=false) const override
void SetDisplayId(uint32 displayId, bool setNative=false) override
static char const * ToTitle(Enum value)
void AddEventAtOffset(BasicEvent *event, Milliseconds offset)
void InitStats(WorldObject *summoner, Milliseconds duration) override
ObjectGuid const & GetGUID() const
SpellImplicitTargetInfo TargetA
void SendCooldownEvent(SpellInfo const *spellInfo, uint32 itemId=0, Spell *spell=nullptr, bool startCooldown=true)
SpellTargetCheckTypes GetCheckType() const
Targets GetTarget() const
std::ptrdiff_t FindUsableTotemSlot(Unit const *summoner) const
SummonPropertiesEntry const *const m_Properties
void UnSummon(uint32 msTime=0) override
uint32 GetSpell(uint8 slot=0) const
void InitSummon(WorldObject *summoner) override
void Update(uint32 diff) override
void InitStats(WorldObject *summoner, Milliseconds duration) override
bool IsImmunedToSpellEffect(SpellInfo const *spellInfo, SpellEffectInfo const &spellEffectInfo, WorldObject const *caster, bool requireImmunityPurgesEffectAttribute=false) const override
Totem(SummonPropertiesEntry const *properties, Unit *owner)
void CombatStop(bool includingCast=false, bool mutualPvP=true, bool(*unitFilter)(Unit const *otherUnit)=nullptr)
std::array< ObjectGuid, MAX_SUMMON_SLOT > m_SummonSlot
UF::UpdateField< UF::UnitData, int32(WowCS::EntityFragment::CGObject), TYPEID_UNIT > m_unitData
SpellHistory * GetSpellHistory()
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void AddObjectToRemoveList()
bool IsInMap(WorldObject const *obj) const
WorldPackets::Duration< Milliseconds, int32 > Duration
WorldPacket const * Write() override