91 switch (spellInfo->
Id)
175 return !unit->IsWithinMeleeRange(caster);
180 if (targets.size() >= 2)
194 if (targets.size() >= 2)
#define ASSERT_NOTNULL(pointer)
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ TARGET_UNIT_SRC_AREA_ENEMY
@ AURA_EFFECT_HANDLE_REAPPLY
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_MOD_DECREASE_SPEED
@ TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD
Will ignore GCD.
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraEffectRemoveFn(F, I, N, M)
@ SPELL_GROUND_SLAM_DUMMY
@ SPELL_SUMMON_RANDOM_TRACTOR
@ SPELL_HURTFUL_STRIKE_PRIMER
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectApplyHandler > AfterEffectApply
uint8 GetStackAmount() const
void JustEngagedWith(Unit *who) override
void Repeat(Milliseconds time)
void RescheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
static Unit * ToUnit(Object *o)
float CalcRadius(WorldObject *caster=nullptr, Spell *=nullptr) const
HookList< CastHandler > AfterCast
int32 GetHitDamage() const
HookList< HitHandler > OnHit
Unit * GetHitUnit() const
SpellEffectInfo const & GetEffectInfo() const
HookList< EffectHandler > OnEffectHitTarget
void SetHitDamage(int32 damage)
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
float GetThreat(Unit const *who, bool includeOffline=false) const
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
ThreatManager & GetThreatManager()
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
float GetDistance2d(WorldObject const *obj) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
void AfterApply(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gruul_gronn_lords_grasp)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_gruul_ground_slam)
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gruul_hurtful_strike_primer)
void FilterTargets(std::list< WorldObject * > &targets)
void AfterRemove(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_gruul_look_around)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_gruul_shatter_effect)
PrepareSpellScript(spell_gruul_shatter)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
#define RegisterGruulsLairCreatureAI(ai_name)
void DoPlaySoundToSet(WorldObject *source, uint32 soundId)
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void OnSpellCast(SpellInfo const *spellInfo) override
void JustEngagedWith(Unit *who) override
void JustDied(Unit *) override
boss_gruul(Creature *creature)
void ExecuteEvent(uint32 eventId) override
void KilledUnit(Unit *who) override