#define RegisterSpellScript(spell_script)
@ EMOTE_ONESHOT_BATTLE_ROAR
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define AuraEffectPeriodicFn(F, I, N)
@ UNIT_FLAG_UNINTERACTIBLE
#define RegisterBloodFurnaceCreatureAI(ai_name)
#define RegisterBloodFurnaceGameObjectAI(ai_name)
@ ACTION_ACTIVATE_BROGGOK
@ SPELL_DESPAWN_INCOMBAT_TRIGGER
@ SPELL_SUMMON_INCOMBAT_TRIGGER
@ SPELL_POISON_CLOUD_PASSIVE
void AddSC_boss_broggok()
@ NPC_BROGGOK_POISON_CLOUD
static Emote const PrisionersEmotes[]
uint32 GetTickNumber() const
SpellEffectInfo const & GetSpellEffectInfo() const
uint32 GetTotalTicks() const
void PreventDefaultAction()
HookList< EffectPeriodicHandler > OnEffectPeriodic
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
virtual void JustReachedHome()
void DoZoneInCombat(Creature *creature=nullptr)
void SetReactState(ReactStates st)
void Repeat(Milliseconds time)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void SetGoState(GOState state)
void SetFlag(GameObjectFlags flags)
virtual bool SetBossState(uint32 id, EncounterState state)
Creature * GetCreature(uint32 type)
EncounterState GetBossState(uint32 id) const
GameObject * GetGameObject(uint32 type)
void MovePath(uint32 pathId, bool repeatable)
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
void DespawnEntry(uint32 entry)
void Summon(Creature const *summon)
TaskContext & Repeat(std::chrono::duration< _Rep, _Period > const &duration)
TaskScheduler & CancelAll()
TaskScheduler & Schedule(std::chrono::duration< _Rep, _Period > const &time, task_handler_t const &task)
TaskScheduler & Update(success_t const &callback=EmptyCallback)
void DoMeleeAttackIfReady()
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim(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
void HandleEmoteCommand(Emote emoteId)
void SetUnitFlag(UnitFlags flags)
void RemoveUnitFlag(UnitFlags flags)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
bool Validate(SpellInfo const *spellInfo) override
void PeriodicTick(AuraEffect const *aurEff)
PrepareAuraScript(spell_broggok_poison_cloud)
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
virtual void ScheduleEvents()=0
InstanceScript * instance
BroggokPrisionersAI(Creature *creature)
void JustReachedHome() override
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
void EnterEvadeMode(EvadeReason) override
void JustSummoned(Creature *summoned) override
void UpdateOutOfCombatEvents(uint32 diff)
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
boss_broggok(Creature *creature)
void DoAction(int32 action) override
InstanceScript * instance
go_broggok_lever(GameObject *go)
bool OnGossipHello(Player *) override
void ScheduleEvents() override
npc_fel_orc_neophyte(Creature *creature)
void ScheduleEvents() override
npc_nascent_fel_orc(Creature *creature)