55 return GetHyjalAI<boss_anetheronAI>(creature);
109 if (target && target->
IsAlive())
152 for (
uint8 i = 0; i < 3; ++i)
182 return GetHyjalAI<npc_towering_infernalAI>(creature);
229 if (!boss || boss->
isDead())
267 if (!damageInfo || !damageInfo->
GetDamage())
uint32 urand(uint32 min, uint32 max)
#define AuraEffectProcFn(F, I, N)
@ SPELL_VAMPIRIC_AURA_HEAL
void AddSC_boss_anetheron()
static constexpr uint32 PATH_ESCORT_ANETHERON
void PreventDefaultAction()
HookList< EffectProcHandler > OnEffectProc
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
virtual bool SetBossState(uint32 id, EncounterState state)
Creature * GetCreature(uint32 type)
virtual ObjectGuid GetGuidData(uint32 type) const override
DamageInfo * GetDamageInfo() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool IsValidAttackTarget(WorldObject const *target, SpellInfo const *bySpell=nullptr) const
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
spell_anetheron_vampiric_aura()
AuraScript * GetAuraScript() const override
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void Start(bool isActiveAttacker=true, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false)
void SetDespawnAtEnd(bool despawn)
void LoadPath(uint32 pathId)
void UpdateAI(uint32 diff) override
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
void UpdateAI(uint32 diff) override
void JustDied(Unit *killer) override
void JustEngagedWith(Unit *) override
boss_anetheronAI(Creature *creature)
void KilledUnit(Unit *who) override
void WaypointReached(uint32 waypointId, uint32) override
void JustDied(Unit *) override
InstanceScript * instance
npc_towering_infernalAI(Creature *creature)
void JustEngagedWith(Unit *) override
void MoveInLineOfSight(Unit *who) override
InstanceScript * instance
void KilledUnit(Unit *) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override