106 if (
Player* player = i->GetSource())
108 if (player->IsGameMaster())
111 if (player->IsAlive())
133 if (pGrandChampion1 && pGrandChampion2 && pGrandChampion3)
235 for (
uint8 i = 0; i < 3; ++i)
261 Player* player = itr->GetSource();
288 Player* player = itr->GetSource();
304 return GetTrialOfTheChampionAI<generic_vehicleAI_toc5AI>(creature);
406 Player* player = itr->GetSource();
440 return GetTrialOfTheChampionAI<boss_warrior_toc5AI>(creature);
582 return GetTrialOfTheChampionAI<boss_mage_toc5AI>(creature);
732 return GetTrialOfTheChampionAI<boss_shaman_toc5AI>(creature);
859 if (target &&
me->
IsInRange(target, 5.0f, 30.0f,
false))
870 Player* player = itr->GetSource();
891 return GetTrialOfTheChampionAI<boss_hunter_toc5AI>(creature);
1015 return GetTrialOfTheChampionAI<boss_rouge_toc5AI>(creature);
uint32 urand(uint32 min, uint32 max)
bool roll_chance_i(int chance)
@ UNIT_FLAG_NON_ATTACKABLE
void AggroAllPlayers(Creature *temp)
@ SPELL_CHAIN_LIGHTNING_H
bool GrandChampionsOutVehicle(Creature *me)
void AddSC_boss_grand_champions()
virtual void JustReachedHome()
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void SetHomePosition(float x, float y, float z, float o)
void SetImmuneToPC(bool apply) override
void SetReactState(ReactStates st)
virtual bool SetBossState(uint32 id, EncounterState state)
virtual ObjectGuid GetGuidData(uint32 type) const override
PlayerList const & GetPlayers() const
static ObjectGuid GetGUID(Object const *o)
bool IsGameMaster() 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 DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
void EngageWithTarget(Unit *who)
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void SetUnitFlag(UnitFlags flags)
Vehicle * GetVehicleKit() const
void RemoveUnitFlag(UnitFlags flags)
Unit * GetPassenger(int8 seatId) const
Gets a passenger on specified seat.
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
bool IsInRange(WorldObject const *obj, float minRange, float maxRange, bool is3D=true) const
MovementInfo m_movementInfo
virtual uint32 GetData(uint32) const
virtual void SetData(uint32, uint32)
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void Start(bool isActiveAttacker=true, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false)
void AddWaypoint(uint32 id, float x, float y, float z, bool run)
void SetDespawnAtEnd(bool despawn)
void UpdateAI(uint32 diff) override
struct MovementInfo::TransportInfo transport
Unit * DoSelectLowestHpFriendly(float range, uint32 minHPDiff=1)
void ResetThreatList(Unit *who=nullptr)
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
void JustReachedHome() override
uint32 uiLightningArrowsTimer
void UpdateAI(uint32 uiDiff) override
void JustDied(Unit *) override
InstanceScript * instance
boss_hunter_toc5AI(Creature *creature)
void JustReachedHome() override
void UpdateAI(uint32 uiDiff) override
void JustDied(Unit *) override
boss_mage_toc5AI(Creature *creature)
InstanceScript * instance
void UpdateAI(uint32 uiDiff) override
uint32 uiPosionBottleTimer
boss_rouge_toc5AI(Creature *creature)
void JustReachedHome() override
void JustDied(Unit *) override
InstanceScript * instance
uint32 uiHealingWaveTimer
uint32 uiChainLightningTimer
void UpdateAI(uint32 uiDiff) override
void JustReachedHome() override
InstanceScript * instance
boss_shaman_toc5AI(Creature *creature)
void JustEngagedWith(Unit *who) override
void JustDied(Unit *) override
boss_warrior_toc5AI(Creature *creature)
InstanceScript * instance
uint32 uiMortalStrikeTimer
void JustReachedHome() override
void UpdateAI(uint32 uiDiff) override
void JustDied(Unit *) override
generic_vehicleAI_toc5AI(Creature *creature)
uint32 uiShieldBreakerTimer
InstanceScript * instance
void UpdateAI(uint32 uiDiff) override
void WaypointReached(uint32 waypointId, uint32) override
void SetData(uint32 uiType, uint32) override
void JustEngagedWith(Unit *) override