76#define SPELL_BLINK RAND(29208, 29209, 29210, 29211)
172 if (damage < me->GetHealth())
182 for (
uint8 it = 0; it < nSpells && num; ++it)
188 std::swap(spellsList[selected], spellsList[it]);
@ RAID_DIFFICULTY_25MAN_NORMAL
std::chrono::seconds Seconds
Seconds shorthand typedef.
Milliseconds randtime(Milliseconds min, Milliseconds max)
uint32 urand(uint32 min, uint32 max)
@ UNIT_FLAG_UNINTERACTIBLE
const uint32 SummonWarriorSpells[N_WARRIOR_SPELLS]
const uint32 SummonChampionSpells[N_CHAMPION_SPELLS]
@ EVENT_GROUND_ATTACKABLE
const uint32 SummonGuardianSpells[N_GUARDIAN_SPELLS]
void JustEngagedWith(Unit *who) override
@ EVADE_REASON_NO_HOSTILES
void DoZoneInCombat(Creature *creature=nullptr)
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
void SetReactState(ReactStates st)
void Repeat(Milliseconds time)
bool IsInPhase(PhaseIndex phase) const
void SetPhase(PhaseIndex phase)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void MoveChase(Unit *target, Optional< ChaseRange > dist={}, Optional< ChaseAngle > angle={})
void Summon(Creature const *summon)
void DoMeleeAttackIfReady()
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
bool IsWithinMeleeRange(Unit const *obj) const
void StopMoving(bool force=false)
MotionMaster * GetMotionMaster()
void SetHealth(uint32 val)
Unit * EnsureVictim() const
bool IsThreatened() const
bool HasUnitState(const uint32 f) const
void SetUnitFlag(UnitFlags flags)
void RemoveUnitFlag(UnitFlags flags)
void setActive(bool isActiveObject)
void SetFarVisible(bool on)
#define RegisterNaxxramasCreatureAI(ai_name)
T const & RAID_MODE(T const &normal10, T const &normal25) const
Difficulty GetDifficulty() const
void ResetThreatList(Unit *who=nullptr)
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
uint32 _SummonGuardianSpells[N_GUARDIAN_SPELLS]
void EnterEvadeMode(EvadeReason why) override
uint32 _SummonWarriorSpells[N_WARRIOR_SPELLS]
void JustSummoned(Creature *summon) override
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
boss_noth(Creature *creature)
uint32 _SummonChampionSpells[N_CHAMPION_SPELLS]
void KilledUnit(Unit *victim) override
void CastSummon(uint8 nWarrior, uint8 nChampion, uint8 nGuardian)
void UpdateAI(uint32 diff) override
void HandleSummon(uint32 *spellsList, const uint8 nSpells, uint8 num)