112 council->AI()->EnterEvadeMode(why);
126 if (council->IsAlive())
144 DespawnTidesageCouncil(
instance, why);
159 if (!council->IsAlive() || council->IsInCombat())
162 council->AI()->DoZoneInCombat();
181 TidesageCouncilEncounterDone(
instance);
@ ENCOUNTER_FRAME_DISENGAGE
#define RegisterAreaTriggerAI(ai_name)
#define RegisterSpellScript(spell_script)
@ TRIGGERED_IGNORE_CAST_IN_PROGRESS
Will not check if a current cast is in progress.
@ TRIGGERED_IGNORE_POWER_COST
Will ignore power and reagent cost.
@ TRIGGERED_DONT_REPORT_CAST_ERROR
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
#define SpellEffectFn(F, I, N)
@ SAY_REINFORCING_WARD_WARNING
@ SAY_SWIFTING_WARD_WARNING
@ SAY_BLESSING_OF_THE_TEMPEST
@ SPELL_GALECALLER_FAYE_GAIN_ENERGY
@ SPELL_BLESSING_OF_THE_TEMPEST
@ SPELL_REINFORCING_WARD_SELECTOR
@ SPELL_BLESSING_OF_IRONSIDES
@ SPELL_REINFORCING_WARD_AREATRIGGER
@ SPELL_COSMETIC_REINFORCING_WARD
@ SPELL_SWIFTNESS_WARD_AREATRIGGER
@ SPELL_SWIFTNESS_WARD_SELECTOR
@ SPELL_BLOWBACK_AREATRIGGER
@ SPELL_REINFORCING_WARD_DAMAGE_TAKEN_BOSS
@ SPELL_COSMETIC_SWIFTNESS_WARD
@ SPELL_SWIFTNESS_WARD_HASTE_BOSS
@ SPELL_SWIFTNESS_WARD_HASTE_PLAYER
@ SPELL_REINFORCING_WARD_DISPEL_PLAYER
@ SPELL_BROTHER_IRONHULL_GAIN_ENERGY
@ SPELL_REINFORCING_WARD_DISPEL_BOSS
@ SPELL_REINFORCING_WARD_DAMAGE_TAKEN_PLAYER
uint32 const TidesageData[2]
void AddSC_boss_tidesage_council()
@ EVENT_BLESSING_OF_IRONSIDES
@ EVENT_BLESSING_OF_THE_TEMPEST
AreaTriggerAI(AreaTrigger *a, uint32 scriptId={}) noexcept
GuidUnorderedSet const & GetInsideUnits() const
HookList< AuraProcHandler > OnProc
InstanceScript *const instance
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
virtual void ExecuteEvent(uint32)
bool _EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void SetBoundary(CreatureBoundary const *boundary, bool negativeBoundaries=false)
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
virtual bool SetBossState(uint32 id, EncounterState state)
Creature * GetCreature(uint32 type)
CreatureBoundary const * GetBossBoundary(uint32 id) const
EncounterState GetBossState(uint32 id) const
void SendEncounterUnit(EncounterFrameType type, Unit const *unit, Optional< int32 > param1={}, Optional< int32 > param2={})
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< CastHandler > AfterCast
int32 GetEffectValueAsInt() const
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
TaskContext & Repeat(TaskScheduler::duration_t duration)
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={})
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
void SetPower(Powers power, int32 val, bool withPowerUpdate=true)
int32 GetMaxPower(Powers power) const
bool HasUnitState(const uint32 f) const
float GetPowerPct(Powers power) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void SetPowerType(Powers power, bool sendUpdate=true, bool onInit=false)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void HandleProc(ProcEventInfo const &) const
bool Validate(SpellInfo const *) override
void HandleAfterCast() const
bool Validate(SpellInfo const *spellInfo) override
void HandleHitTarget(SpellEffIndex) const
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
#define RegisterShrineOfTheStormCreatureAI(ai_name)
bool IsHeroicOrHigher() const
void JustEngagedWith(Unit *) override
virtual void ScheduleEvents()=0
TidesageCouncilSharedAI(Creature *creature, uint32 bossId)
void EnterEvadeMode(EvadeReason why) override
void JustDied(Unit *) override
void KilledUnit(Unit *victim) override
void UpdateAI(uint32 diff) override
void OnUnitEnter(Unit *unit) override
void OnCreate(Spell const *) override
void OnUnitEnter(Unit *unit) override
void OnUnitExit(Unit *unit, AreaTriggerExitReason) override
void OnUpdate(uint32 diff) override
void OnUnitExit(Unit *unit, AreaTriggerExitReason) override
void OnUnitEnter(Unit *unit) override
void OnUnitEnter(Unit *unit) override
void OnUnitExit(Unit *unit, AreaTriggerExitReason) override
void JustEngagedWith(Unit *who) override
void ExecuteEvent(uint32 eventId) override
void JustDied(Unit *killer) override
void ScheduleEvents() override
boss_brother_ironhull(Creature *creature)
void JustAppeared() override
void ScheduleEvents() override
void JustDied(Unit *killer) override
void JustEngagedWith(Unit *who) override
boss_galecaller_faye(Creature *creature)
void ExecuteEvent(uint32 eventId) override
void JustAppeared() override