117 std::vector<Creature*> vaultWarders;
119 for (
Creature* vaultWarder : vaultWarders)
125 if (_phase < PHASE_HEALTH_66 && me->HealthBelowPctDamaged(66, damage))
131 if (_phase < PHASE_HEALTH_33 && me->HealthBelowPctDamaged(33, damage))
276 switch (spellInfo->
Id)
288 DoCastSelf(SPELL_STONE_DWARF_AWAKEN_VISUAL);
292 me->RemoveAurasDueToSpell(SPELL_STONED);
293 me->SetUninteractible(false);
294 me->SetImmuneToAll(false);
341 switch (spellInfo->
Id)
353 DoCastSelf(SPELL_STONE_DWARF_AWAKEN_VISUAL);
357 me->RemoveAurasDueToSpell(SPELL_STONED);
358 me->SetUninteractible(false);
359 me->SetImmuneToAll(false);
417 DoCastSelf(SPELL_STONE_DWARF_AWAKEN_VISUAL);
421 me->SetFaction(FACTION_TITAN_3);
422 me->SetUninteractible(false);
423 me->SetImmuneToAll(false);
434 switch (spellInfo->
Id)
449 DoCastSelf(SPELL_STONE_DWARF_AWAKEN_VISUAL);
453 me->SetFaction(FACTION_TITAN);
454 me->RemoveAurasDueToSpell(SPELL_STONED);
455 me->SetUninteractible(false);
456 me->SetImmuneToAll(false);
void GetCreatureListWithOptionsInGrid(Container &container, WorldObject *source, float maxSearchRange, FindCreatureOptions const &options)
void AddSC_boss_archaedas()
@ SPELL_STONE_DWARF_AWAKEN_VISUAL
@ SPELL_EARTHEN_GUARDS_DESTROYED
@ SPELL_DESTROY_EARTHEN_GUARDS
@ ACTION_ACTIVATE_VAULT_WARDERS
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
bool HasStringId(std::string_view id) const
void SetImmuneToAll(bool apply) override
void Repeat(Milliseconds time)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
virtual bool SetBossState(uint32 id, EncounterState state)
TaskScheduler::repeated_t GetRepeatCounter() const
Returns the repeat counter which increases every time the task is repeated.
TaskContext & Repeat(TaskScheduler::duration_t duration)
TaskScheduler & CancelAll()
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={})
void SetUninteractible(bool apply)
bool HasUnitState(const uint32 f) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void JustReachedHome() override
void JustDied(Unit *) override
boss_archaedas(Creature *creature)
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void DoAction(int32 action) override
void EnterEvadeMode(EvadeReason why) override
void JustEngagedWith(Unit *who) override
void UpdateOutOfCombatEvents(uint32 diff)
void UpdateAI(uint32 diff) override
void KilledUnit(Unit *) override
void JustAppeared() override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
npc_earthen_guardian(Creature *creature)
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
npc_earthen_hallshaper_custodian(Creature *creature)
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
void DoAction(int32 action) override
void UpdateAI(uint32 diff) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
npc_vault_warder(Creature *creature)
void JustEngagedWith(Unit *) override
@ ACTION_ARCHAEDAS_AWAKEN
#define RegisterUldamanCreatureAI(ai_name)