262 me->HandleEmoteCommand(EMOTE_ONESHOT_SHOUT);
265 me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
268 me->HandleEmoteCommand(EMOTE_ONESHOT_BATTLE_ROAR);
bool roll_chance(float chance, PseudoRandomDistributionState &state)
#define RegisterSpellScript(spell_script)
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define AuraEffectPeriodicFn(F, I, N)
#define RegisterBloodFurnaceCreatureAI(ai_name)
#define RegisterBloodFurnaceGameObjectAI(ai_name)
@ SPELL_DESPAWN_INCOMBAT_TRIGGER
@ SPELL_SUMMON_INCOMBAT_TRIGGER
void AddSC_boss_broggok()
uint32 GetTickNumber() const
SpellEffectInfo const & GetSpellEffectInfo() const
uint32 GetTotalTicks() const
void PreventDefaultAction()
HookList< EffectPeriodicHandler > OnEffectPeriodic
void JustEngagedWith(Unit *who) override
virtual void JustReachedHome()
void SetReactState(ReactStates st)
bool HasStringId(std::string_view id) const
void SetImmuneToNPC(bool apply) override
void Repeat(Milliseconds time)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void ActivateObject(GameObjectActions action, int32 param, WorldObject *spellCaster=nullptr, uint32 spellId=0, int32 effectIndex=-1)
EncounterState GetBossState(uint32 id) const
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={})
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
static bool ValidateSpellEffect(std::initializer_list< std::pair< uint32, SpellEffIndex > > effects)
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={})
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()
void SetUninteractible(bool apply)
bool HasUnitState(const uint32 f) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
virtual void SetData(uint32, uint32)
bool Validate(SpellInfo const *spellInfo) override
void OnPeriodic(AuraEffect const *aurEff)
virtual void ScheduleEvents()=0
void JustAppeared() override
void UpdateAI(uint32 diff) override
bool IsHighCellPrisoner()
void JustEngagedWith(Unit *) override
BroggokPrisionerBaseAI(Creature *creature)
void JustReachedHome() override
void DoAction(int32 action) override
InstanceScript * Instance
void WaypointPathEnded(uint32, uint32) override
void JustAppeared() override
void UpdateOutOfCombatEvents(uint32 diff)
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void JustSummoned(Creature *) override
boss_broggok(Creature *creature)
void DoAction(int32 action) override
InstanceScript * _instance
go_broggok_lever(GameObject *go)
bool OnGossipHello(Player *) override
void ScheduleEvents() override
void ScheduleEvents() override