96 std::array<uint32, 3> teleportSpells = { };
@ ENCOUNTER_FRAME_DISENGAGE
std::array< uint32, 4 > const SlagmawTeleportSpells
@ SPELL_MAGNAW_TELEPORT_SOUTH
@ SPELL_MAGNAW_TELEPORT_NORTH
@ SPELL_MAGNAW_TELEPORT_EAST
@ SPELL_MAGNAW_TELEPORT_WEST
void AddSC_boss_slagmaw()
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
bool _EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void SendEncounterUnit(EncounterFrameType type, Unit const *unit, Optional< int32 > param1={}, Optional< int32 > param2={})
SpellCastResult DoCastSelf(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)
bool HasUnitState(const uint32 f) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
float GetDistance(WorldObject const *obj) const
auto SelectRandomContainerElement(C const &container) -> std::add_const_t< decltype(*std::ranges::begin(container))> &
#define RegisterRagefireChasmCreatureAI(ai_name)
void HandleSubmergePhase()
boss_slagmaw(Creature *creature)
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void EnterEvadeMode(EvadeReason) override
uint32 GetNextTeleportSpell()
uint32 _lastTeleportSpell
void JustDied(Unit *) override