103 switch (spellInfo->
Id)
155 std::vector<Creature*> infernals;
157 for (
Creature* infernal : infernals)
261 if (!damageInfo || !damageInfo->
GetDamage())
286 targets.remove(
GetCaster()->GetVictim());
First const & RAND(First const &first, Second const &second, Rest const &... rest)
bool roll_chance(float chance, PseudoRandomDistributionState &state)
#define RegisterSpellScript(spell_script)
void GetCreatureListWithEntryInGrid(Container &container, WorldObject *source, uint32 entry, float maxSearchRange)
@ TARGET_UNIT_SRC_AREA_ENEMY
#define AuraEffectProcFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
@ SPELL_VAMPIRIC_AURA_HEAL
void AddSC_boss_anetheron()
void PreventDefaultAction()
HookList< EffectProcHandler > OnEffectProc
void JustEngagedWith(Unit *who) override
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void Repeat(Milliseconds time)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void MovePath(uint32 pathId, bool repeatable, Optional< Milliseconds > duration={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< std::pair< Milliseconds, Milliseconds > > waitTimeRangeAtPathEnd={}, Optional< float > wanderDistanceAtPathEnds={}, Optional< bool > followPathBackwardsFromEndToStart={}, Optional< bool > exactSplinePath={}, bool generatePath=true, Optional< MovementFadeObject > fadeObject={}, Scripting::v2::ActionResultSetter< MovementStopReason > &&scriptResult={})
DamageInfo * GetDamageInfo() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
void Summon(Creature const *summon)
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
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)
MotionMaster * GetMotionMaster()
bool HasUnitState(const uint32 f) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void FilterTargets(std::list< WorldObject * > &targets)
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect const *aurEff, ProcEventInfo &eventInfo)
#define RegisterHyjalCreatureAI(ai_name)
void RandomResize(C &container, std::size_t requestedSize)
void OnSpellCast(SpellInfo const *spellInfo) override
void KilledUnit(Unit *victim) override
void JustReachedHome() override
boss_anetheron(Creature *creature)
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
void WaypointPathEnded(uint32, uint32 pathId) override
void UpdateAI(uint32 diff) override
void JustAppeared() override
void JustSummoned(Creature *summon) override
void JustAppeared() override
void InitializeAI() override
npc_towering_infernal(Creature *creature)
void UpdateAI(uint32 diff) override
void EnterEvadeMode(EvadeReason) override
void DoAction(int32 action) override