203 return GetGruulsLairAI<boss_high_king_maulgarAI>(creature);
300 return GetGruulsLairAI<boss_olm_the_summonerAI>(creature);
393 return GetGruulsLairAI<boss_kiggler_the_crazedAI>(creature);
474 return GetGruulsLairAI<boss_blindeye_the_seerAI>(creature);
531 if (GreaterFireball_Timer < diff || me->IsWithinDist(
me->
GetVictim(), 30))
548 std::vector<Unit*> target_list;
553 target_list.push_back(target);
555 Unit* target =
nullptr;
556 if (!target_list.empty())
557 target = *(target_list.begin() +
rand32() % target_list.size());
568 return GetGruulsLairAI<boss_krosh_firehandAI>(creature);
uint32 urand(uint32 min, uint32 max)
@ SPELL_GREATER_POLYMORPH
@ SPELL_GREATER_PW_SHIELD
void AddSC_boss_high_king_maulgar()
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
virtual bool SetBossState(uint32 id, EncounterState state)
virtual ObjectGuid GetGuidData(uint32 type) const override
void MoveChase(Unit *target, Optional< ChaseRange > dist={}, Optional< ChaseAngle > angle={})
Trinity::IteratorPair< ThreatListIterator, std::nullptr_t > GetUnsortedThreatList() const
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)
void SetVirtualItem(uint32 slot, uint32 itemId, uint16 appearanceModId=0, uint16 itemVisual=0)
ThreatManager & GetThreatManager()
void SetInCombatWith(Unit *enemy, bool addSecondUnitSuppressed=false)
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
bool Attack(Unit *victim, bool meleeAttack)
InstanceScript * GetInstanceScript() const
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
boss_kiggler_the_crazed()
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void AttackStart(Unit *) override
== Triggered Actions Requested ==================
bool HealthBelowPct(uint32 pct) const
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
void JustDied(Unit *) override
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
uint32 GreaterPowerWordShield_Timer
boss_blindeye_the_seerAI(Creature *creature)
InstanceScript * instance
uint32 PrayerofHealing_Timer
void JustEngagedWith(Unit *) override
boss_high_king_maulgarAI(Creature *creature)
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void DoAction(int32 actionId) override
InstanceScript * instance
void KilledUnit(Unit *) override
boss_kiggler_the_crazedAI(Creature *creature)
void UpdateAI(uint32 diff) override
uint32 LightningBolt_Timer
uint32 GreaterPolymorph_Timer
void JustEngagedWith(Unit *) override
InstanceScript * instance
uint32 ArcaneExplosion_Timer
void JustDied(Unit *) override
void UpdateAI(uint32 diff) override
boss_krosh_firehandAI(Creature *creature)
void JustEngagedWith(Unit *) override
InstanceScript * instance
uint32 GreaterFireball_Timer
void JustDied(Unit *) override
void AttackStart(Unit *who) override
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) override
boss_olm_the_summonerAI(Creature *creature)
void JustEngagedWith(Unit *) override
void JustDied(Unit *) override
InstanceScript * instance