First const & RAND(First const &first, Second const &second, Rest const &... rest)
@ CURRENT_CHANNELED_SPELL
void AddSC_boss_high_botanist_freywinn()
@ SPELL_CANCEL_TRANQUILITY
void JustEngagedWith(Unit *who) override
void DoZoneInCombat(Creature *creature=nullptr)
bool IsEngaged() const override
void Repeat(Milliseconds time)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void DoMeleeAttackIfReady()
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
void InterruptSpell(CurrentSpellTypes spellType, bool withDelayed=true, bool withInstant=true, SpellCastResult result=SPELL_FAILED_INTERRUPTED, Optional< SpellCastResult > resultOther={})
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool HasUnitState(const uint32 f) const
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void KilledUnit(Unit *) override
void JustDied(Unit *) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void JustSummoned(Creature *summon) override
boss_high_botanist_freywinn(Creature *creature)
@ DATA_HIGH_BOTANIST_FREYWINN
#define RegisterBotanicaCreatureAI(ai_name)