TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
BossAI Class Reference

#include <ScriptedCreature.h>

Public Member Functions

 BossAI (Creature *creature, uint32 bossId)
 
virtual ~BossAI ()
 
void JustSummoned (Creature *summon) override
 
void SummonedCreatureDespawn (Creature *summon) override
 
virtual void UpdateAI (uint32 diff) override
 
virtual void ExecuteEvent (uint32)
 
virtual void ScheduleTasks ()
 
void Reset () override
 
void EnterCombat (Unit *) override
 
void JustDied (Unit *) override
 
void JustReachedHome () override
 
bool CanAIAttack (Unit const *target) const override
 
- Public Member Functions inherited from ScriptedAI
 ScriptedAI (Creature *creature)
 
virtual ~ScriptedAI ()
 
void AttackStartNoMove (Unit *target)
 
void DamageTaken (Unit *, uint32 &) override
 
void KilledUnit (Unit *) override
 
void SpellHit (Unit *, SpellInfo const *) override
 
void SpellHitTarget (Unit *, SpellInfo const *) override
 
void OnPossess (bool)
 
void AttackStart (Unit *) override
 
void DoStartMovement (Unit *target, float distance=0.0f, float angle=0.0f)
 
void DoStartNoMovement (Unit *target)
 
void DoStopAttack ()
 
void DoCastSpell (Unit *target, SpellInfo const *spellInfo, bool triggered=false)
 
void DoPlaySoundToSet (WorldObject *source, uint32 soundId)
 
void DoResetThreat ()
 
float DoGetThreat (Unit *unit)
 
void DoModifyThreatPercent (Unit *unit, int32 pct)
 
void DoTeleportTo (float x, float y, float z, uint32 time=0)
 
void DoTeleportTo (float const pos[4])
 
void DoTeleportPlayer (Unit *unit, float x, float y, float z, float o)
 
void DoTeleportAll (float x, float y, float z, float o)
 
Unit * DoSelectLowestHpFriendly (float range, uint32 minHPDiff=1)
 
std::list< Creature * > DoFindFriendlyCC (float range)
 
std::list< Creature * > DoFindFriendlyMissingBuff (float range, uint32 spellId)
 
Player * GetPlayerAtMinimumRange (float minRange)
 
Creature * DoSpawnCreature (uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, uint32 despawntime)
 
bool HealthBelowPct (uint32 pct) const
 
bool HealthAbovePct (uint32 pct) const
 
SpellInfo const * SelectSpell (Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, float rangeMin, float rangeMax, SelectEffect effect)
 
void SetEquipmentSlots (bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
 
void SetCombatMovement (bool allowMovement)
 
bool IsCombatMovementAllowed () const
 
bool IsHeroic () const
 
Difficulty GetDifficulty () const
 
bool Is25ManRaid () const
 
template<class T >
const T & DUNGEON_MODE (const T &normal5, const T &heroic10) const
 
template<class T >
const T & RAID_MODE (const T &normal10, const T &normal25) const
 
template<class T >
const T & RAID_MODE (const T &normal10, const T &normal25, const T &heroic10, const T &heroic25) const
 
- Public Member Functions inherited from CreatureAI
void Talk (uint8 id, WorldObject const *whisperTarget=nullptr)
 
 CreatureAI (Creature *creature)
 
virtual ~CreatureAI ()
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At ================================= More...
 
void TriggerAlert (Unit const *who) const
 
virtual bool CanRespawn ()
 
virtual void EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
virtual void IsSummonedBy (Unit *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void AttackedBy (Unit *)
 
virtual bool IsEscorted () const
 
virtual void JustRespawned ()
 
virtual void MovementInform (uint32, uint32)
 
void OnCharmed (bool apply) override
 
void DoZoneInCombat (Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
 
virtual void ReceiveEmote (Player *, uint32)
 
virtual void OwnerAttackedBy (Unit *)
 
virtual void OwnerAttacked (Unit *)
 
virtual void CorpseRemoved (uint32 &)
 == Triggered Actions Requested ================== More...
 
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields ======================================= More...
 
virtual void OnSpellClick (Unit *, bool &)
 
virtual bool CanSeeAlways (WorldObject const *)
 
int32 VisualizeBoundary (uint32 duration, Unit *owner=nullptr, bool fill=false) const
 
virtual bool CheckInRoom ()
 
CreatureBoundary const * GetBoundary () const
 
- Public Member Functions inherited from UnitAI
 UnitAI (Unit *unit)
 
virtual ~UnitAI ()
 
virtual void InitializeAI ()
 
virtual void DoAction (int32)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void SetGUID (ObjectGuid, int32=0)
 
virtual ObjectGuid GetGUID (int32=0) const
 
Unit * SelectTarget (SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
 
template<class PREDICATE >
Unit * SelectTarget (SelectAggroTarget targetType, uint32 position, PREDICATE const &predicate)
 
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectAggroTarget targetType, float dist=0.0f, bool playerOnly=false, int32 aura=0)
 
template<class PREDICATE >
void SelectTargetList (std::list< Unit * > &targetList, PREDICATE const &predicate, uint32 maxTargets, SelectAggroTarget targetType)
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType)
 
virtual void HealReceived (Unit *, uint32 &)
 
virtual void HealDone (Unit *, uint32 &)
 
virtual void SpellInterrupted (uint32, uint32)
 
void AttackStartCaster (Unit *victim, float dist)
 
void DoCast (uint32 spellId)
 
void DoCast (Unit *victim, uint32 spellId, bool triggered=false)
 
void DoCastVictim (uint32 spellId, bool triggered=false)
 
void DoCastAOE (uint32 spellId, bool triggered=false)
 
void DoMeleeAttackIfReady ()
 
bool DoSpellAttackIfReady (uint32 spellId)
 
virtual void sGossipHello (Player *)
 
virtual void sGossipSelect (Player *, uint32, uint32)
 
virtual void sGossipSelectCode (Player *, uint32, uint32, char const *)
 
virtual void sQuestAccept (Player *, Quest const *)
 
virtual void sQuestSelect (Player *, Quest const *)
 
virtual void sQuestReward (Player *, Quest const *, uint32)
 
virtual bool sOnDummyEffect (Unit *, uint32, SpellEffIndex)
 
virtual void sOnGameEvent (bool, uint16)
 

Public Attributes

InstanceScript *const instance
 
- Public Attributes inherited from ScriptedAI
bool IsFleeing
 

Protected Member Functions

void _Reset ()
 
void _EnterCombat ()
 
void _JustDied ()
 
void _JustReachedHome ()
 
void _DespawnAtEvade ()
 
void TeleportCheaters ()
 
- Protected Member Functions inherited from CreatureAI
bool UpdateVictim ()
 
bool UpdateVictimWithGaze ()
 
void SetGazeOn (Unit *target)
 
Creature * DoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
Creature * DoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
Creature * DoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
bool CheckBoundary (Position const *who=nullptr) const
 
void SetBoundary (CreatureBoundary const *boundary)
 
virtual void MoveInLineOfSight (Unit *)
 
bool _EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 

Protected Attributes

EventMap events
 
SummonList summons
 
TaskScheduler scheduler
 
- Protected Attributes inherited from CreatureAI
Creature *const me
 
CreatureBoundary const * _boundary
 
- Protected Attributes inherited from UnitAI
Unit *const me
 

Private Attributes

uint32 const _bossId
 

Additional Inherited Members

- Public Types inherited from CreatureAI
enum  EvadeReason { EVADE_REASON_NO_HOSTILES, EVADE_REASON_BOUNDARY, EVADE_REASON_SEQUENCE_BREAK, EVADE_REASON_OTHER }
 
- Static Public Member Functions inherited from UnitAI
static void FillAISpellInfo ()
 
- Static Public Attributes inherited from UnitAI
static AISpellInfoType * AISpellInfo
 

Constructor & Destructor Documentation

BossAI::BossAI ( Creature *  creature,
uint32  bossId 
)
444  : ScriptedAI(creature),
445  instance(creature->GetInstanceScript()),
446  summons(creature),
447  _bossId(bossId)
448 {
449  if (instance)
451  scheduler.SetValidator([this]
452  {
454  });
455 }
CreatureBoundary const * GetBossBoundary(uint32 id) const
Definition: InstanceScript.h:229
TaskScheduler & SetValidator(P &&predicate)
Sets a validator which is asked if tasks are allowed to be executed.
Definition: TaskScheduler.h:197
uint32 const _bossId
Definition: ScriptedCreature.h:376
ScriptedAI(Creature *creature)
Definition: ScriptedCreature.cpp:100
Definition: Unit.h:565
InstanceScript * GetInstanceScript()
Definition: Object.cpp:1540
TaskScheduler scheduler
Definition: ScriptedCreature.h:373
Creature *const me
Definition: CreatureAI.h:71
void SetBoundary(CreatureBoundary const *boundary)
Definition: CreatureAI.h:83
SummonList summons
Definition: ScriptedCreature.h:372
bool HasUnitState(const uint32 f) const
Definition: Unit.h:1395
InstanceScript *const instance
Definition: ScriptedCreature.h:340

+ Here is the call graph for this function:

virtual BossAI::~BossAI ( )
inlinevirtual
338 { }

Member Function Documentation

void BossAI::_DespawnAtEvade ( )
protected
540 {
541  uint32 corpseDelay = me->GetCorpseDelay();
542  uint32 respawnDelay = me->GetRespawnDelay();
543 
544  me->SetCorpseDelay(1);
545  me->SetRespawnDelay(29);
546 
548 
549  me->SetCorpseDelay(corpseDelay);
550  me->SetRespawnDelay(respawnDelay);
551 }
void DespawnOrUnsummon(uint32 msTimeToDespawn=0)
Definition: Creature.cpp:1774
uint32 GetRespawnDelay() const
Definition: Creature.h:637
uint32 GetCorpseDelay() const
Definition: Creature.h:493
Creature *const me
Definition: CreatureAI.h:71
void SetCorpseDelay(uint32 delay)
Definition: Creature.h:492
uint32_t uint32
Definition: Define.h:150
void SetRespawnDelay(uint32 delay)
Definition: Creature.h:638

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void BossAI::_EnterCombat ( )
protected
481 {
482  if (instance)
483  {
484  // bosses do not respawn, check only on enter combat
486  {
488  return;
489  }
491  }
492 
494  me->setActive(true);
495  DoZoneInCombat();
496  ScheduleTasks();
497 }
uint32 const _bossId
Definition: ScriptedCreature.h:376
void setActive(bool isActiveObject)
Definition: Object.cpp:1473
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
Definition: CreatureAI.cpp:168
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
Definition: CreatureAI.cpp:47
virtual void ScheduleTasks()
Definition: ScriptedCreature.h:353
Creature *const me
Definition: CreatureAI.h:71
Definition: CreatureAI.h:89
Definition: InstanceScript.h:59
virtual bool SetBossState(uint32 id, EncounterState state)
Definition: InstanceScript.cpp:273
void SetCombatPulseDelay(uint32 delay)
Definition: Creature.h:645
virtual bool CheckRequiredBosses(uint32, Player const *=nullptr) const
Definition: InstanceScript.h:236
InstanceScript *const instance
Definition: ScriptedCreature.h:340

+ Here is the call graph for this function:

void BossAI::_JustDied ( )
protected
472 {
473  events.Reset();
476  if (instance)
478 }
uint32 const _bossId
Definition: ScriptedCreature.h:376
void DespawnAll()
Definition: ScriptedCreature.cpp:66
void Reset()
Definition: EventMap.cpp:20
Definition: inflate.h:49
TaskScheduler scheduler
Definition: ScriptedCreature.h:373
virtual bool SetBossState(uint32 id, EncounterState state)
Definition: InstanceScript.cpp:273
SummonList summons
Definition: ScriptedCreature.h:372
TaskScheduler & CancelAll()
Definition: TaskScheduler.cpp:44
EventMap events
Definition: ScriptedCreature.h:371
InstanceScript *const instance
Definition: ScriptedCreature.h:340

+ Here is the call graph for this function:

void BossAI::_JustReachedHome ( )
inlineprotected
366 { me->setActive(false); }
void setActive(bool isActiveObject)
Definition: Object.cpp:1473
Creature *const me
Definition: CreatureAI.h:71

+ Here is the caller graph for this function:

void BossAI::_Reset ( )
protected
458 {
459  if (!me->IsAlive())
460  return;
461 
463  me->ResetLootMode();
464  events.Reset();
467  if (instance)
469 }
uint32 const _bossId
Definition: ScriptedCreature.h:376
void DespawnAll()
Definition: ScriptedCreature.cpp:66
void Reset()
Definition: EventMap.cpp:20
TaskScheduler scheduler
Definition: ScriptedCreature.h:373
Creature *const me
Definition: CreatureAI.h:71
bool IsAlive() const
Definition: Unit.h:1692
Definition: InstanceScript.h:58
virtual bool SetBossState(uint32 id, EncounterState state)
Definition: InstanceScript.cpp:273
SummonList summons
Definition: ScriptedCreature.h:372
void ResetLootMode()
Definition: Creature.h:597
TaskScheduler & CancelAll()
Definition: TaskScheduler.cpp:44
EventMap events
Definition: ScriptedCreature.h:371
void SetCombatPulseDelay(uint32 delay)
Definition: Creature.h:645
InstanceScript *const instance
Definition: ScriptedCreature.h:340

+ Here is the call graph for this function:

bool BossAI::CanAIAttack ( Unit const *  target) const
inlineoverridevirtual

Reimplemented from UnitAI.

Reimplemented in boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_the_lich_king::boss_the_lich_kingAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, and boss_general_zarithrian::boss_general_zarithrianAI.

360 { return CheckBoundary(target); }
bool CheckBoundary(Position const *who=nullptr) const
Definition: CreatureAI.cpp:353

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void BossAI::EnterCombat ( Unit *  )
inlineoverridevirtual

Reimplemented from ScriptedAI.

Reimplemented in npc_toc_retro_paladin::npc_toc_retro_paladinAI, npc_toc_hunter::npc_toc_hunterAI, npc_toc_warlock::npc_toc_warlockAI, boss_elder_ironbranch::boss_elder_ironbranchAI, boss_icehowl::boss_icehowlAI, boss_elder_stonebark::boss_elder_stonebarkAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_sister_svalna::boss_sister_svalnaAI, boss_elder_brightleaf::boss_elder_brightleafAI, boss_faction_championsAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_malygos::boss_malygosAI, boss_jormungarAI, boss_the_lich_king::boss_the_lich_kingAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, boss_voice_of_yogg_saron::boss_voice_of_yogg_saronAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_twilight_halion::boss_twilight_halionAI, boss_mimiron::boss_mimironAI, boss_nefarian::boss_nefarianAI, boss_fjola::boss_fjolaAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_razorscale::boss_razorscaleAI, boss_hodir::boss_hodirAI, boss_kelthuzad::boss_kelthuzadAI, boss_freya::boss_freyaAI, boss_halion::boss_halionAI, boss_four_horsemen::boss_four_horsemenAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_archimonde::boss_archimondeAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_twin_baseAI, boss_sindragosa::boss_sindragosaAI, boss_professor_putricide::boss_professor_putricideAI, boss_dalronn_the_controller::boss_dalronn_the_controllerAI, boss_vazruden::boss_vazrudenAI, boss_xt002::boss_xt002_AI, generic_halionAI, boss_gormok::boss_gormokAI, boss_blood_council_controller::boss_blood_council_controllerAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_warbringer_omrogg::boss_warbringer_omroggAI, boss_muru::boss_muruAI, boss_gothik::boss_gothikAI, boss_shade_of_akama::boss_shade_of_akamaAI, boss_chromaggus::boss_chromaggusAI, boss_skarvald_the_constructor::boss_skarvald_the_constructorAI, boss_rend_blackhand::boss_rend_blackhandAI, boss_temple_guardian_anhuur::boss_temple_guardian_anhuurAI, boss_viscidus::boss_viscidusAI, boss_earthrager_ptah::boss_earthrager_ptahAI, boss_warp_splinter::boss_warp_splinterAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_svala::boss_svalaAI, boss_laj::boss_lajAI, boss_sartharion::boss_sartharionAI, boss_onyxia::boss_onyxiaAI, boss_steelbreaker::boss_steelbreakerAI, boss_anraphet::boss_anraphetAI, boss_tyrannus::boss_tyrannusAI, boss_lord_marrowgar::boss_lord_marrowgarAI, boss_anubrekhan::boss_anubrekhanAI, boss_ick::boss_ickAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_high_priestess_azil::boss_high_priestess_azilAI, boss_palehoof::boss_palehoofAI, boss_alar::boss_alarAI, boss_ignis::boss_ignis_AI, boss_sapphiron::boss_sapphironAI, boss_ayamiss::boss_ayamissAI, boss_keleseth::boss_kelesethAI, boss_ymiron::boss_ymironAI, boss_slabhide::boss_slabhideAI, boss_grandmaster_vorpil::boss_grandmaster_vorpilAI, boss_ossirian::boss_ossirianAI, boss_jaraxxus::boss_jaraxxusAI, boss_mandokir::boss_mandokirAI, boss_skeram::boss_skeramAI, boss_general_vezax::boss_general_vezaxAI, boss_urom::boss_uromAI, boss_auriaya::boss_auriayaAI, boss_mother_shahraz::boss_shahrazAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, boss_pyroguard_emberseer::boss_pyroguard_emberseerAI, boss_volkhan::boss_volkhanAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_rotface::boss_rotfaceAI, boss_noth::boss_nothAI, boss_kologarn::boss_kologarnAI, boss_entropius::boss_entropiusAI, boss_eregos::boss_eregosAI, boss_festergut::boss_festergutAI, boss_razuvious::boss_razuviousAI, boss_harbinger_skyriss::boss_harbinger_skyrissAI, boss_gal_darah::boss_gal_darahAI, generic_boss_controllerAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_slad_ran::boss_slad_ranAI, boss_ragnaros::boss_ragnarosAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, boss_gruul::boss_gruulAI, boss_novos::boss_novosAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_supremus::boss_supremusAI, boss_garfrost::boss_garfrostAI, boss_loken::boss_lokenAI, boss_prince_taldaram::boss_prince_taldaramAI, boss_heigan::boss_heiganAI, boss_maexxna::boss_maexxnaAI, boss_ichoron::boss_ichoronAI, boss_emalon::boss_emalonAI, boss_najentus::boss_najentusAI, boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, boss_faerlina::boss_faerlinaAI, boss_krik_thir::boss_krik_thirAI, boss_patchwerk::boss_patchwerkAI, boss_sjonnir::boss_sjonnirAI, boss_ozruk::boss_ozrukAI, boss_bronjahm::boss_bronjahmAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_alizabal::boss_alizabalAI, boss_vaelastrasz::boss_vaelAI, boss_tharon_ja::boss_tharon_jaAI, boss_xevozz::boss_xevozzAI, boss_trollgore::boss_trollgoreAI, boss_varos::boss_varosAI, boss_darkweaver_syth::boss_darkweaver_sythAI, boss_nazan::boss_nazanAI, boss_keristrasza::boss_keristraszaAI, boss_vexallus::boss_vexallusAI, boss_rajaxx::boss_rajaxxAI, boss_omor_the_unscarred::boss_omor_the_unscarredAI, boss_anzu::boss_anzuAI, boss_majordomo::boss_majordomoAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_ormorok::boss_ormorokAI, boss_murmur::boss_murmurAI, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, boss_buru::boss_buruAI, boss_moorabi::boss_moorabiAI, boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI, boss_gluth::boss_gluthAI, boss_talon_king_ikiss::boss_talon_king_ikissAI, boss_loatheb::boss_loathebAI, boss_elder_nadox::boss_elder_nadoxAI, boss_drakos::boss_drakosAI, boss_void_reaver::boss_void_reaverAI, boss_herod::boss_herodAI, boss_zum_rah::boss_zum_rahAI, boss_maiden_of_virtue::boss_maiden_of_virtueAI, boss_archavon::boss_archavonAI, boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI, boss_gyth::boss_gythAI, boss_overlord_wyrmthalak::boss_overlordwyrmthalakAI, boss_mechano_lord_capacitus::boss_mechano_lord_capacitusAI, boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI, boss_romogg_bonecrusher::boss_romogg_bonecrusherAI, boss_king_dred::boss_king_dredAI, boss_thorim::boss_thorimAI, boss_falric::boss_falricAI, boss_mennu_the_betrayer::boss_mennu_the_betrayerAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_instructor_malicia::boss_instructormaliciaAI, boss_maiden_of_grief::boss_maiden_of_griefAI, boss_zuramat::boss_zuramatAI, boss_golemagg::boss_golemaggAI, boss_blackheart_the_inciter::boss_blackheart_the_inciterAI, boss_rokmar_the_crackler::boss_rokmar_the_cracklerAI, boss_amnennar_the_coldbringer::boss_amnennar_the_coldbringerAI, boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI, boss_sulfuron::boss_sulfuronAI, boss_pandemonius::boss_pandemoniusAI, boss_hydromancer_thespia::boss_thespiaAI, boss_nethermancer_sepethrea::boss_nethermancer_sepethreaAI, boss_commander_sarannis::boss_commander_sarannisAI, boss_magmadar::boss_magmadarAI, boss_eck::boss_eckAI, boss_toravon::boss_toravonAI, boss_erekem::boss_erekemAI, boss_gatewatcher_gyrokill::boss_gatewatcher_gyrokillAI, boss_postmaster_malown::boss_postmaster_malownAI, boss_amanitar::boss_amanitarAI, boss_occuthar::boss_occutharAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_jindo_the_godbreaker::boss_jindo_the_godbreakerAI, boss_chrono_lord_deja::boss_chrono_lord_dejaAI, boss_krystallus::boss_krystallusAI, boss_gatewatcher_iron_hand::boss_gatewatcher_iron_handAI, boss_corla::boss_corlaAI, boss_halycon::boss_halyconAI, boss_interrogator_vishas::boss_interrogator_vishasAI, boss_epoch::boss_epochAI, boss_aeonus::boss_aeonusAI, boss_temporus::boss_temporusAI, boss_marwyn::boss_marwynAI, boss_koralon::boss_koralonAI, boss_quagmirran::boss_quagmirranAI, boss_zereketh_the_unbound::boss_zereketh_the_unboundAI, boss_arcanist_doan::boss_arcanist_doanAI, boss_bloodmage_thalnos::boss_bloodmage_thalnosAI, boss_infinite_corruptor::boss_infinite_corruptorAI, boss_salramm::boss_salrammAI, boss_baron_geddon::boss_baron_geddonAI, boss_daakara::boss_daakaraAI, boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI, boss_nalorakk::boss_nalorakkAI, boss_mordresh_fire_eye::boss_mordresh_fire_eyeAI, boss_beauty::boss_beautyAI, boss_garr::boss_garrAI, boss_broggok::boss_broggokAI, boss_ascendant_lord_obsidius::boss_ascendant_lord_obsidiusAI, boss_karsh_steelbender::boss_karsh_steelbenderAI, boss_hexlord_malacrass::boss_hex_lord_malacrassAI, boss_venoxis::boss_venoxisAI, boss_lord_alexei_barov::boss_lordalexeibarovAI, boss_zanzil::boss_zanzilAI, boss_shadow_hunter_voshgajin::boss_shadowvoshAI, boss_warmaster_voone::boss_warmastervooneAI, boss_aku_mai::boss_aku_maiAI, boss_grobbulus::boss_grobbulusAI, boss_the_beast::boss_thebeastAI, boss_urok_doomhowl::boss_urok_doomhowlAI, boss_gehennas::boss_gehennasAI, boss_lucifron::boss_lucifronAI, boss_doctor_theolen_krastinov::boss_theolenkrastinovAI, boss_janalai::boss_janalaiAI, boss_kilnara::boss_kilnaraAI, boss_meathook::boss_meathookAI, boss_glutton::boss_gluttonAI, boss_mother_smolderweb::boss_mothersmolderwebAI, boss_broodlord::boss_broodlordAI, boss_halazzi::boss_halazziAI, boss_highlord_omokk::boss_highlordomokkAI, boss_azshir_the_sleepless::boss_azshir_the_sleeplessAI, boss_tuten_kash::boss_tuten_kashAI, boss_nexus_commanders::boss_nexus_commandersAI, boss_cyanigosa::boss_cyanigosaAI, boss_the_maker::boss_the_makerAI, boss_drakkisath::boss_drakkisathAI, boss_illucia_barov::boss_illuciabarovAI, boss_lorekeeper_polkelt::boss_lorekeeperpolkeltAI, boss_the_ravenian::boss_theravenianAI, boss_moragg::boss_moraggAI, boss_pit_lord_argaloth::boss_pit_lord_argalothAI, boss_shazzrah::boss_shazzrahAI, boss_houndmaster_loksey::boss_houndmaster_lokseyAI, boss_scorn::boss_scornAI, boss_flamegor::boss_flamegorAI, boss_grilek::boss_grilekAI, boss_hazzarah::boss_hazzarahAI, boss_renataki::boss_renatakiAI, boss_wushoolay::boss_wushoolayAI, quartermaster_zigris::boss_quatermasterzigrisAI, boss_kelris::boss_kelrisAI, boss_akilzon::boss_akilzonAI, boss_ebonroc::boss_ebonrocAI, boss_firemaw::boss_firemawAI, boss_lavanthor::boss_lavanthorAI, and boss_gelihast::boss_gelihastAI.

356 { _EnterCombat(); }
void _EnterCombat()
Definition: ScriptedCreature.cpp:480

+ Here is the caller graph for this function:

void BossAI::JustDied ( Unit *  )
inlineoverridevirtual

Reimplemented from ScriptedAI.

Reimplemented in npc_toc_enh_shaman::npc_toc_enh_shamanAI, boss_malygos::boss_malygosAI, boss_elder_ironbranch::boss_elder_ironbranchAI, boss_icehowl::boss_icehowlAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_elder_stonebark::boss_elder_stonebarkAI, boss_sister_svalna::boss_sister_svalnaAI, boss_elder_brightleaf::boss_elder_brightleafAI, boss_kaelthas::boss_kaelthasAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_faction_championsAI, boss_freya::boss_freyaAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_jormungarAI, boss_voice_of_yogg_saron::boss_voice_of_yogg_saronAI, boss_the_lich_king::boss_the_lich_kingAI, boss_twilight_halion::boss_twilight_halionAI, boss_archimonde::boss_archimondeAI, boss_mimiron::boss_mimironAI, boss_nefarian::boss_nefarianAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_razorscale::boss_razorscaleAI, boss_halion::boss_halionAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_kelthuzad::boss_kelthuzadAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_four_horsemen::boss_four_horsemenAI, boss_professor_putricide::boss_professor_putricideAI, boss_urom::boss_uromAI, boss_blood_council_controller::boss_blood_council_controllerAI, boss_ymiron::boss_ymironAI, boss_xt002::boss_xt002_AI, boss_warbringer_omrogg::boss_warbringer_omroggAI, boss_sindragosa::boss_sindragosaAI, boss_gothik::boss_gothikAI, boss_eregos::boss_eregosAI, boss_vazruden::boss_vazrudenAI, boss_twin_baseAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_general_vezax::boss_general_vezaxAI, boss_razorscale_controller::boss_razorscale_controllerAI, boss_prince_taldaram::boss_prince_taldaramAI, boss_auriaya::boss_auriayaAI, boss_svala::boss_svalaAI, boss_viscidus::boss_viscidusAI, boss_steelbreaker::boss_steelbreakerAI, boss_palehoof::boss_palehoofAI, boss_gormok::boss_gormokAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, boss_thaddius::boss_thaddiusAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_rend_blackhand::boss_rend_blackhandAI, boss_tyrannus::boss_tyrannusAI, boss_temple_guardian_anhuur::boss_temple_guardian_anhuurAI, boss_earthrager_ptah::boss_earthrager_ptahAI, boss_warp_splinter::boss_warp_splinterAI, boss_sartharion::boss_sartharionAI, boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_ick::boss_ickAI, boss_ossirian::boss_ossirianAI, boss_sapphiron::boss_sapphironAI, boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI, boss_noth::boss_nothAI, boss_slad_ran::boss_slad_ranAI, boss_lord_marrowgar::boss_lord_marrowgarAI, boss_anraphet::boss_anraphetAI, boss_ichoron::boss_ichoronAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_keleseth::boss_kelesethAI, boss_trollgore::boss_trollgoreAI, boss_krik_thir::boss_krik_thirAI, boss_mandokir::boss_mandokirAI, boss_gal_darah::boss_gal_darahAI, boss_ignis::boss_ignis_AI, boss_high_priestess_azil::boss_high_priestess_azilAI, boss_varos::boss_varosAI, boss_slabhide::boss_slabhideAI, boss_anubrekhan::boss_anubrekhanAI, boss_volkhan::boss_volkhanAI, boss_mother_shahraz::boss_shahrazAI, boss_kologarn::boss_kologarnAI, boss_talon_king_ikiss::boss_talon_king_ikissAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, boss_rotface::boss_rotfaceAI, boss_festergut::boss_festergutAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_pyroguard_emberseer::boss_pyroguard_emberseerAI, boss_novos::boss_novosAI, boss_grandmaster_vorpil::boss_grandmaster_vorpilAI, boss_drakos::boss_drakosAI, boss_jaraxxus::boss_jaraxxusAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_skeram::boss_skeramAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_krystallus::boss_krystallusAI, boss_sjonnir::boss_sjonnirAI, boss_ozruk::boss_ozrukAI, boss_faerlina::boss_faerlinaAI, boss_garfrost::boss_garfrostAI, boss_gruul::boss_gruulAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, generic_boss_controllerAI, boss_xevozz::boss_xevozzAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_elder_nadox::boss_elder_nadoxAI, boss_harbinger_skyriss::boss_harbinger_skyrissAI, boss_loken::boss_lokenAI, boss_omor_the_unscarred::boss_omor_the_unscarredAI, boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI, boss_tharon_ja::boss_tharon_jaAI, boss_moorabi::boss_moorabiAI, boss_ormorok::boss_ormorokAI, boss_salramm::boss_salrammAI, boss_zuramat::boss_zuramatAI, boss_razuvious::boss_razuviousAI, boss_shattered_executioner::boss_shattered_executionerAI, boss_darkweaver_syth::boss_darkweaver_sythAI, boss_king_dred::boss_king_dredAI, boss_epoch::boss_epochAI, boss_keristrasza::boss_keristraszaAI, boss_alizabal::boss_alizabalAI, boss_bronjahm::boss_bronjahmAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, boss_falric::boss_falricAI, boss_chrono_lord_deja::boss_chrono_lord_dejaAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_heigan::boss_heiganAI, boss_mechano_lord_capacitus::boss_mechano_lord_capacitusAI, boss_herod::boss_herodAI, boss_anzu::boss_anzuAI, boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI, boss_erekem::boss_erekemAI, boss_murmur::boss_murmurAI, boss_razorgore::boss_razorgoreAI, boss_aeonus::boss_aeonusAI, boss_patchwerk::boss_patchwerkAI, boss_gyth::boss_gythAI, boss_nexus_commanders::boss_nexus_commandersAI, boss_blackheart_the_inciter::boss_blackheart_the_inciterAI, boss_nethermancer_sepethrea::boss_nethermancer_sepethreaAI, boss_overlord_wyrmthalak::boss_overlordwyrmthalakAI, boss_meathook::boss_meathookAI, boss_zum_rah::boss_zum_rahAI, boss_maiden_of_grief::boss_maiden_of_griefAI, boss_amnennar_the_coldbringer::boss_amnennar_the_coldbringerAI, boss_vexallus::boss_vexallusAI, boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI, boss_rajaxx::boss_rajaxxAI, boss_najentus::boss_najentusAI, boss_occuthar::boss_occutharAI, boss_kurinnaxx::boss_kurinnaxxAI, boss_commander_sarannis::boss_commander_sarannisAI, boss_temporus::boss_temporusAI, boss_gatewatcher_iron_hand::boss_gatewatcher_iron_handAI, boss_corla::boss_corlaAI, boss_amanitar::boss_amanitarAI, boss_pit_lord_argaloth::boss_pit_lord_argalothAI, boss_interrogator_vishas::boss_interrogator_vishasAI, boss_marwyn::boss_marwynAI, boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI, boss_void_reaver::boss_void_reaverAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_maiden_of_virtue::boss_maiden_of_virtueAI, boss_arcanist_doan::boss_arcanist_doanAI, boss_bloodmage_thalnos::boss_bloodmage_thalnosAI, boss_ascendant_lord_obsidius::boss_ascendant_lord_obsidiusAI, boss_karsh_steelbender::boss_karsh_steelbenderAI, boss_halycon::boss_halyconAI, boss_jindo_the_godbreaker::boss_jindo_the_godbreakerAI, boss_infinite_corruptor::boss_infinite_corruptorAI, boss_the_maker::boss_the_makerAI, boss_mordresh_fire_eye::boss_mordresh_fire_eyeAI, boss_beauty::boss_beautyAI, boss_thorim::boss_thorimAI, boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI, boss_warmaster_voone::boss_warmastervooneAI, boss_daakara::boss_daakaraAI, boss_mennu_the_betrayer::boss_mennu_the_betrayerAI, boss_nalorakk::boss_nalorakkAI, boss_glutton::boss_gluttonAI, boss_rokmar_the_crackler::boss_rokmar_the_cracklerAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_cyanigosa::boss_cyanigosaAI, boss_shadow_hunter_voshgajin::boss_shadowvoshAI, boss_hexlord_malacrass::boss_hex_lord_malacrassAI, boss_venoxis::boss_venoxisAI, boss_the_beast::boss_thebeastAI, boss_urok_doomhowl::boss_urok_doomhowlAI, boss_zanzil::boss_zanzilAI, boss_moragg::boss_moraggAI, boss_romogg_bonecrusher::boss_romogg_bonecrusherAI, boss_drakkisath::boss_drakkisathAI, boss_mother_smolderweb::boss_mothersmolderwebAI, boss_janalai::boss_janalaiAI, boss_kilnara::boss_kilnaraAI, boss_gatewatcher_gyrokill::boss_gatewatcher_gyrokillAI, boss_highlord_omokk::boss_highlordomokkAI, boss_azshir_the_sleepless::boss_azshir_the_sleeplessAI, boss_scorn::boss_scornAI, boss_halazzi::boss_halazziAI, boss_tuten_kash::boss_tuten_kashAI, boss_pandemonius::boss_pandemoniusAI, boss_houndmaster_loksey::boss_houndmaster_lokseyAI, boss_quagmirran::boss_quagmirranAI, boss_kelris::boss_kelrisAI, boss_hydromancer_thespia::boss_thespiaAI, boss_zereketh_the_unbound::boss_zereketh_the_unboundAI, quartermaster_zigris::boss_quatermasterzigrisAI, boss_grilek::boss_grilekAI, boss_hazzarah::boss_hazzarahAI, boss_renataki::boss_renatakiAI, boss_wushoolay::boss_wushoolayAI, boss_lavanthor::boss_lavanthorAI, and boss_akilzon::boss_akilzonAI.

357 { _JustDied(); }
void _JustDied()
Definition: ScriptedCreature.cpp:471

+ Here is the caller graph for this function:

void BossAI::JustReachedHome ( )
inlineoverridevirtual

Reimplemented from CreatureAI.

Reimplemented in boss_icehowl::boss_icehowlAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_sister_svalna::boss_sister_svalnaAI, boss_dreadscale::boss_dreadscaleAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_faction_championsAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, boss_the_lich_king::boss_the_lich_kingAI, boss_jormungarAI, boss_kaelthas::boss_kaelthasAI, boss_archimonde::boss_archimondeAI, boss_fjola::boss_fjolaAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_nefarian::boss_nefarianAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_sindragosa::boss_sindragosaAI, boss_professor_putricide::boss_professor_putricideAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_blood_council_controller::boss_blood_council_controllerAI, generic_halionAI, boss_palehoof::boss_palehoofAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_volkhan::boss_volkhanAI, boss_temple_guardian_anhuur::boss_temple_guardian_anhuurAI, boss_gormok::boss_gormokAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_earthrager_ptah::boss_earthrager_ptahAI, boss_twin_baseAI, boss_anraphet::boss_anraphetAI, boss_lord_marrowgar::boss_lord_marrowgarAI, boss_sartharion::boss_sartharionAI, boss_rotface::boss_rotfaceAI, boss_festergut::boss_festergutAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_jaraxxus::boss_jaraxxusAI, boss_anubrekhan::boss_anubrekhanAI, boss_ichoron::boss_ichoronAI, boss_gal_darah::boss_gal_darahAI, boss_xevozz::boss_xevozzAI, boss_faerlina::boss_faerlinaAI, boss_bronjahm::boss_bronjahmAI, boss_razuvious::boss_razuviousAI, boss_erekem::boss_erekemAI, boss_zuramat::boss_zuramatAI, boss_moragg::boss_moraggAI, and boss_lavanthor::boss_lavanthorAI.

358 { _JustReachedHome(); }
void _JustReachedHome()
Definition: ScriptedCreature.h:366

+ Here is the caller graph for this function:

void BossAI::JustSummoned ( Creature *  summon)
overridevirtual

Reimplemented from ScriptedAI.

Reimplemented in npc_toc_enh_shaman::npc_toc_enh_shamanAI, boss_aerial_command_unit::boss_aerial_command_unitAI, boss_vx_001::boss_vx_001AI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_leviathan_mk_ii::boss_leviathan_mk_iiAI, boss_the_lich_king::boss_the_lich_kingAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_kaelthas::boss_kaelthasAI, boss_freya::boss_freyaAI, boss_voice_of_yogg_saron::boss_voice_of_yogg_saronAI, boss_archimonde::boss_archimondeAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_sindragosa::boss_sindragosaAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_professor_putricide::boss_professor_putricideAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_corborus::boss_corborusAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_horAI, boss_muru::boss_muruAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_gothik::boss_gothikAI, boss_warbringer_omrogg::boss_warbringer_omroggAI, boss_kologarn::boss_kologarnAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_volkhan::boss_volkhanAI, boss_novos::boss_novosAI, boss_ymiron::boss_ymironAI, boss_slad_ran::boss_slad_ranAI, boss_trollgore::boss_trollgoreAI, boss_ignis::boss_ignis_AI, boss_svala::boss_svalaAI, boss_onyxia::boss_onyxiaAI, boss_laj::boss_lajAI, boss_rotface::boss_rotfaceAI, boss_ichoron::boss_ichoronAI, boss_krik_thir::boss_krik_thirAI, boss_noth::boss_nothAI, boss_eregos::boss_eregosAI, boss_alar::boss_alarAI, boss_auriaya::boss_auriayaAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, boss_entropius::boss_entropiusAI, boss_bronjahm::boss_bronjahmAI, boss_harbinger_skyriss::boss_harbinger_skyrissAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, boss_anubrekhan::boss_anubrekhanAI, boss_darkweaver_syth::boss_darkweaver_sythAI, boss_sjonnir::boss_sjonnirAI, boss_prince_taldaram::boss_prince_taldaramAI, boss_xevozz::boss_xevozzAI, boss_omor_the_unscarred::boss_omor_the_unscarredAI, boss_shattered_executioner::boss_shattered_executionerAI, boss_ozruk::boss_ozrukAI, boss_nazan::boss_nazanAI, boss_vexallus::boss_vexallusAI, boss_ayamiss::boss_ayamissAI, boss_commander_sarannis::boss_commander_sarannisAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_gluth::boss_gluthAI, boss_emalon::boss_emalonAI, boss_occuthar::boss_occutharAI, boss_skeram::boss_skeramAI, and boss_broggok::boss_broggokAI.

512 {
513  summons.Summon(summon);
514  if (me->IsInCombat())
515  DoZoneInCombat(summon);
516 }
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
Definition: CreatureAI.cpp:47
bool IsInCombat() const
Definition: Unit.h:1584
void Summon(Creature const *summon)
Definition: ScriptedCreature.h:92
Creature *const me
Definition: CreatureAI.h:71
SummonList summons
Definition: ScriptedCreature.h:372

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void BossAI::Reset ( )
inlineoverridevirtual

Reimplemented from ScriptedAI.

Reimplemented in npc_toc_pet_hunter::npc_toc_pet_hunterAI, npc_toc_pet_warlock::npc_toc_pet_warlockAI, npc_toc_retro_paladin::npc_toc_retro_paladinAI, npc_toc_enh_shaman::npc_toc_enh_shamanAI, npc_toc_rogue::npc_toc_rogueAI, npc_toc_dk::npc_toc_dkAI, npc_toc_warrior::npc_toc_warriorAI, npc_toc_boomkin::npc_toc_boomkinAI, npc_toc_hunter::npc_toc_hunterAI, npc_toc_mage::npc_toc_mageAI, npc_toc_warlock::npc_toc_warlockAI, npc_toc_shadow_priest::npc_toc_shadow_priestAI, npc_toc_priest::npc_toc_priestAI, npc_toc_paladin::npc_toc_paladinAI, boss_elder_ironbranch::boss_elder_ironbranchAI, boss_icehowl::boss_icehowlAI, npc_toc_shaman::npc_toc_shamanAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_leviathan_mk_ii::boss_leviathan_mk_iiAI, boss_elder_stonebark::boss_elder_stonebarkAI, npc_toc_druid::npc_toc_druidAI, boss_sister_svalna::boss_sister_svalnaAI, boss_dreadscale::boss_dreadscaleAI, boss_elder_brightleaf::boss_elder_brightleafAI, boss_acidmaw::boss_acidmawAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_faction_championsAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, boss_jormungarAI, boss_the_lich_king::boss_the_lich_kingAI, boss_voice_of_yogg_saron::boss_voice_of_yogg_saronAI, boss_eydis::boss_eydisAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_mimiron::boss_mimironAI, boss_kaelthas::boss_kaelthasAI, boss_nefarian::boss_nefarianAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_malygos::boss_malygosAI, boss_fjola::boss_fjolaAI, boss_razorscale::boss_razorscaleAI, boss_hodir::boss_hodirAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_freya::boss_freyaAI, boss_kelthuzad::boss_kelthuzadAI, boss_halion::boss_halionAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_archimonde::boss_archimondeAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_sindragosa::boss_sindragosaAI, boss_professor_putricide::boss_professor_putricideAI, generic_halionAI, boss_vazruden::boss_vazrudenAI, boss_xt002::boss_xt002_AI, boss_horAI, boss_blood_council_controller::boss_blood_council_controllerAI, boss_razorscale_controller::boss_razorscale_controllerAI, boss_muru::boss_muruAI, boss_chromaggus::boss_chromaggusAI, boss_thaddius::boss_thaddiusAI, boss_gothik::boss_gothikAI, boss_skarvald_the_constructor::boss_skarvald_the_constructorAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_twin_baseAI, boss_rend_blackhand::boss_rend_blackhandAI, boss_shade_of_akama::boss_shade_of_akamaAI, boss_warp_splinter::boss_warp_splinterAI, boss_gormok::boss_gormokAI, boss_razuvious::boss_razuviousAI, boss_warbringer_omrogg::boss_warbringer_omroggAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_steelbreaker::boss_steelbreakerAI, boss_svala::boss_svalaAI, boss_onyxia::boss_onyxiaAI, boss_sartharion::boss_sartharionAI, boss_ick::boss_ickAI, boss_tyrannus::boss_tyrannusAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_anraphet::boss_anraphetAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, boss_lord_marrowgar::boss_lord_marrowgarAI, boss_kologarn::boss_kologarnAI, boss_four_horsemen::boss_four_horsemenAI, boss_ignis::boss_ignis_AI, boss_ymiron::boss_ymironAI, boss_high_priestess_azil::boss_high_priestess_azilAI, boss_keleseth::boss_kelesethAI, boss_alar::boss_alarAI, boss_general_vezax::boss_general_vezaxAI, boss_palehoof::boss_palehoofAI, boss_slabhide::boss_slabhideAI, boss_mandokir::boss_mandokirAI, boss_sapphiron::boss_sapphironAI, boss_urom::boss_uromAI, boss_auriaya::boss_auriayaAI, boss_mother_shahraz::boss_shahrazAI, boss_earthrager_ptah::boss_earthrager_ptahAI, boss_maexxna::boss_maexxnaAI, boss_volkhan::boss_volkhanAI, boss_entropius::boss_entropiusAI, boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_ossirian::boss_ossirianAI, boss_faerlina::boss_faerlinaAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, boss_temple_guardian_anhuur::boss_temple_guardian_anhuurAI, boss_viscidus::boss_viscidusAI, boss_rotface::boss_rotfaceAI, boss_anubrekhan::boss_anubrekhanAI, boss_jaraxxus::boss_jaraxxusAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_eregos::boss_eregosAI, boss_slad_ran::boss_slad_ranAI, boss_ragnaros::boss_ragnarosAI, generic_boss_controllerAI, boss_gruul::boss_gruulAI, boss_gal_darah::boss_gal_darahAI, boss_grandmaster_vorpil::boss_grandmaster_vorpilAI, boss_supremus::boss_supremusAI, boss_harbinger_skyriss::boss_harbinger_skyrissAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_noth::boss_nothAI, boss_loken::boss_lokenAI, boss_novos::boss_novosAI, boss_garfrost::boss_garfrostAI, boss_prince_taldaram::boss_prince_taldaramAI, boss_corborus::boss_corborusAI, boss_festergut::boss_festergutAI, boss_ichoron::boss_ichoronAI, boss_ayamiss::boss_ayamissAI, boss_krik_thir::boss_krik_thirAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, boss_sjonnir::boss_sjonnirAI, boss_xevozz::boss_xevozzAI, boss_tharon_ja::boss_tharon_jaAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_alizabal::boss_alizabalAI, boss_trollgore::boss_trollgoreAI, boss_darkweaver_syth::boss_darkweaver_sythAI, boss_nazan::boss_nazanAI, boss_vaelastrasz::boss_vaelAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, boss_laj::boss_lajAI, boss_ozruk::boss_ozrukAI, boss_emalon::boss_emalonAI, boss_shattered_executioner::boss_shattered_executionerAI, boss_razorgore::boss_razorgoreAI, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_ormorok::boss_ormorokAI, boss_anzu::boss_anzuAI, boss_pyroguard_emberseer::boss_pyroguard_emberseerAI, boss_keristrasza::boss_keristraszaAI, boss_varos::boss_varosAI, boss_omor_the_unscarred::boss_omor_the_unscarredAI, boss_bronjahm::boss_bronjahmAI, boss_moorabi::boss_moorabiAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_heigan::boss_heiganAI, boss_rajaxx::boss_rajaxxAI, boss_patchwerk::boss_patchwerkAI, boss_elder_nadox::boss_elder_nadoxAI, boss_loatheb::boss_loathebAI, boss_herod::boss_herodAI, boss_zum_rah::boss_zum_rahAI, boss_vexallus::boss_vexallusAI, boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI, boss_overlord_wyrmthalak::boss_overlordwyrmthalakAI, boss_najentus::boss_najentusAI, boss_moam::boss_moamAI, boss_king_dred::boss_king_dredAI, boss_drakos::boss_drakosAI, boss_skeram::boss_skeramAI, boss_gyth::boss_gythAI, boss_falric::boss_falricAI, boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI, boss_instructor_malicia::boss_instructormaliciaAI, boss_zuramat::boss_zuramatAI, boss_blackheart_the_inciter::boss_blackheart_the_inciterAI, boss_murmur::boss_murmurAI, boss_golemagg::boss_golemaggAI, boss_talon_king_ikiss::boss_talon_king_ikissAI, boss_postmaster_malown::boss_postmaster_malownAI, boss_amnennar_the_coldbringer::boss_amnennar_the_coldbringerAI, boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI, boss_kurinnaxx::boss_kurinnaxxAI, boss_chrono_lord_deja::boss_chrono_lord_dejaAI, boss_mennu_the_betrayer::boss_mennu_the_betrayerAI, boss_commander_sarannis::boss_commander_sarannisAI, boss_void_reaver::boss_void_reaverAI, boss_magmadar::boss_magmadarAI, boss_maiden_of_virtue::boss_maiden_of_virtueAI, boss_aeonus::boss_aeonusAI, boss_temporus::boss_temporusAI, boss_eck::boss_eckAI, boss_erekem::boss_erekemAI, boss_rokmar_the_crackler::boss_rokmar_the_cracklerAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_jindo_the_godbreaker::boss_jindo_the_godbreakerAI, boss_amanitar::boss_amanitarAI, boss_krystallus::boss_krystallusAI, boss_maiden_of_grief::boss_maiden_of_griefAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_marwyn::boss_marwynAI, boss_halycon::boss_halyconAI, boss_interrogator_vishas::boss_interrogator_vishasAI, boss_corla::boss_corlaAI, boss_romogg_bonecrusher::boss_romogg_bonecrusherAI, boss_arcanist_doan::boss_arcanist_doanAI, boss_bloodmage_thalnos::boss_bloodmage_thalnosAI, boss_daakara::boss_daakaraAI, boss_nalorakk::boss_nalorakkAI, boss_beauty::boss_beautyAI, boss_mordresh_fire_eye::boss_mordresh_fire_eyeAI, boss_ascendant_lord_obsidius::boss_ascendant_lord_obsidiusAI, boss_karsh_steelbender::boss_karsh_steelbenderAI, boss_hexlord_malacrass::boss_hex_lord_malacrassAI, boss_venoxis::boss_venoxisAI, boss_pandemonius::boss_pandemoniusAI, boss_quagmirran::boss_quagmirranAI, boss_broggok::boss_broggokAI, boss_zanzil::boss_zanzilAI, boss_hydromancer_thespia::boss_thespiaAI, boss_zereketh_the_unbound::boss_zereketh_the_unboundAI, boss_warmaster_voone::boss_warmastervooneAI, boss_infinite_corruptor::boss_infinite_corruptorAI, boss_thorim::boss_thorimAI, boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI, boss_shadow_hunter_voshgajin::boss_shadowvoshAI, boss_the_beast::boss_thebeastAI, boss_urok_doomhowl::boss_urok_doomhowlAI, boss_janalai::boss_janalaiAI, boss_kilnara::boss_kilnaraAI, boss_aku_mai::boss_aku_maiAI, boss_mother_smolderweb::boss_mothersmolderwebAI, boss_lord_alexei_barov::boss_lordalexeibarovAI, boss_halazzi::boss_halazziAI, boss_highlord_omokk::boss_highlordomokkAI, boss_glutton::boss_gluttonAI, boss_drakkisath::boss_drakkisathAI, boss_azshir_the_sleepless::boss_azshir_the_sleeplessAI, boss_moragg::boss_moraggAI, boss_houndmaster_loksey::boss_houndmaster_lokseyAI, boss_scorn::boss_scornAI, boss_grilek::boss_grilekAI, boss_hazzarah::boss_hazzarahAI, boss_renataki::boss_renatakiAI, boss_wushoolay::boss_wushoolayAI, quartermaster_zigris::boss_quatermasterzigrisAI, boss_tuten_kash::boss_tuten_kashAI, boss_akilzon::boss_akilzonAI, and boss_lavanthor::boss_lavanthorAI.

355 { _Reset(); }
void _Reset()
Definition: ScriptedCreature.cpp:457

+ Here is the caller graph for this function:

virtual void BossAI::ScheduleTasks ( )
inlinevirtual
void BossAI::SummonedCreatureDespawn ( Creature *  summon)
overridevirtual

Reimplemented from ScriptedAI.

Reimplemented in npc_toc_enh_shaman::npc_toc_enh_shamanAI, boss_sindragosa::boss_sindragosaAI, boss_gothik::boss_gothikAI, boss_twin_baseAI, boss_ichoron::boss_ichoronAI, boss_eregos::boss_eregosAI, boss_anubrekhan::boss_anubrekhanAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_loatheb::boss_loathebAI, and boss_zuramat::boss_zuramatAI.

519 {
520  summons.Despawn(summon);
521 }
void Despawn(Creature const *summon)
Definition: ScriptedCreature.h:93
SummonList summons
Definition: ScriptedCreature.h:372

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void BossAI::TeleportCheaters ( )
protected
500 {
501  float x, y, z;
502  me->GetPosition(x, y, z);
503 
505  for (ThreatContainer::StorageType::const_iterator itr = threatList.begin(); itr != threatList.end(); ++itr)
506  if (Unit* target = (*itr)->getTarget())
507  if (target->GetTypeId() == TYPEID_PLAYER && !CheckBoundary(target))
508  target->NearTeleportTo(x, y, z, 0);
509 }
ThreatContainer::StorageType const & getThreatList() const
Definition: ThreatManager.h:263
Creature *const me
Definition: CreatureAI.h:71
G3D::int16 z
Definition: Vector3int16.h:46
void GetPosition(float &x, float &y) const
Definition: Position.h:109
G3D::int16 y
Definition: Vector2int16.h:38
Definition: ObjectGuid.h:33
std::list< HostileReference * > StorageType
Definition: ThreatManager.h:149
ThreatManager & getThreatManager()
Definition: Unit.h:1998
G3D::int16 x
Definition: Vector2int16.h:37
Definition: Unit.h:1305
bool CheckBoundary(Position const *who=nullptr) const
Definition: CreatureAI.cpp:353

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void BossAI::UpdateAI ( uint32  diff)
overridevirtual

Reimplemented from ScriptedAI.

Reimplemented in npc_toc_pet_hunter::npc_toc_pet_hunterAI, npc_toc_pet_warlock::npc_toc_pet_warlockAI, npc_toc_retro_paladin::npc_toc_retro_paladinAI, npc_toc_enh_shaman::npc_toc_enh_shamanAI, npc_toc_rogue::npc_toc_rogueAI, npc_toc_dk::npc_toc_dkAI, npc_toc_warrior::npc_toc_warriorAI, npc_toc_boomkin::npc_toc_boomkinAI, npc_toc_hunter::npc_toc_hunterAI, npc_toc_mage::npc_toc_mageAI, npc_toc_warlock::npc_toc_warlockAI, boss_aerial_command_unit::boss_aerial_command_unitAI, npc_toc_shadow_priest::npc_toc_shadow_priestAI, npc_toc_priest::npc_toc_priestAI, boss_vx_001::boss_vx_001AI, boss_prince_valanar_icc::boss_prince_valanarAI, npc_toc_paladin::npc_toc_paladinAI, boss_icehowl::boss_icehowlAI, boss_elder_ironbranch::boss_elder_ironbranchAI, boss_sister_svalna::boss_sister_svalnaAI, npc_toc_shaman::npc_toc_shamanAI, boss_the_lich_king::boss_the_lich_kingAI, boss_elder_stonebark::boss_elder_stonebarkAI, boss_leviathan_mk_ii::boss_leviathan_mk_iiAI, npc_toc_druid::npc_toc_druidAI, boss_malygos::boss_malygosAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_elder_brightleaf::boss_elder_brightleafAI, boss_faction_championsAI, boss_kaelthas::boss_kaelthasAI, boss_professor_putricide::boss_professor_putricideAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_jormungarAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_voice_of_yogg_saron::boss_voice_of_yogg_saronAI, boss_mimiron::boss_mimironAI, boss_nefarian::boss_nefarianAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_sindragosa::boss_sindragosaAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_razorscale::boss_razorscaleAI, boss_hodir::boss_hodirAI, boss_sartharion::boss_sartharionAI, boss_freya::boss_freyaAI, boss_gothik::boss_gothikAI, boss_halion::boss_halionAI, boss_kelthuzad::boss_kelthuzadAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_four_horsemen::boss_four_horsemenAI, boss_thaddius::boss_thaddiusAI, boss_onyxia::boss_onyxiaAI, boss_blood_council_controller::boss_blood_council_controllerAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_warbringer_omrogg::boss_warbringer_omroggAI, boss_xt002::boss_xt002_AI, generic_halionAI, boss_razorscale_controller::boss_razorscale_controllerAI, boss_shade_of_akama::boss_shade_of_akamaAI, boss_vazruden::boss_vazrudenAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_kologarn::boss_kologarnAI, boss_rend_blackhand::boss_rend_blackhandAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, boss_gormok::boss_gormokAI, boss_steelbreaker::boss_steelbreakerAI, boss_svala::boss_svalaAI, boss_mandokir::boss_mandokirAI, boss_sapphiron::boss_sapphironAI, boss_volkhan::boss_volkhanAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_slabhide::boss_slabhideAI, boss_auriaya::boss_auriayaAI, boss_ossirian::boss_ossirianAI, boss_tyrannus::boss_tyrannusAI, boss_anraphet::boss_anraphetAI, boss_alar::boss_alarAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, boss_temple_guardian_anhuur::boss_temple_guardian_anhuurAI, boss_noth::boss_nothAI, boss_chromaggus::boss_chromaggusAI, boss_viscidus::boss_viscidusAI, boss_warp_splinter::boss_warp_splinterAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_high_priestess_azil::boss_high_priestess_azilAI, boss_eregos::boss_eregosAI, boss_ignis::boss_ignis_AI, boss_earthrager_ptah::boss_earthrager_ptahAI, boss_urom::boss_uromAI, boss_pyroguard_emberseer::boss_pyroguard_emberseerAI, boss_ick::boss_ickAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI, boss_lord_marrowgar::boss_lord_marrowgarAI, boss_ichoron::boss_ichoronAI, boss_garfrost::boss_garfrostAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, boss_rotface::boss_rotfaceAI, boss_keleseth::boss_kelesethAI, boss_laj::boss_lajAI, boss_anubrekhan::boss_anubrekhanAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_festergut::boss_festergutAI, boss_palehoof::boss_palehoofAI, boss_gruul::boss_gruulAI, boss_keristrasza::boss_keristraszaAI, boss_erekem::boss_erekemAI, boss_grandmaster_vorpil::boss_grandmaster_vorpilAI, boss_harbinger_skyriss::boss_harbinger_skyrissAI, boss_ayamiss::boss_ayamissAI, boss_shattered_executioner::boss_shattered_executionerAI, boss_bronjahm::boss_bronjahmAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_sjonnir::boss_sjonnirAI, boss_general_vezax::boss_general_vezaxAI, boss_alizabal::boss_alizabalAI, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, boss_skeram::boss_skeramAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_faerlina::boss_faerlinaAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_jaraxxus::boss_jaraxxusAI, boss_vexallus::boss_vexallusAI, boss_loken::boss_lokenAI, boss_buru::boss_buruAI, boss_novos::boss_novosAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_corborus::boss_corborusAI, boss_xevozz::boss_xevozzAI, boss_ozruk::boss_ozrukAI, boss_prince_taldaram::boss_prince_taldaramAI, boss_razuvious::boss_razuviousAI, boss_vaelastrasz::boss_vaelAI, boss_ragnaros::boss_ragnarosAI, boss_elder_nadox::boss_elder_nadoxAI, boss_ormorok::boss_ormorokAI, boss_razorgore::boss_razorgoreAI, boss_emalon::boss_emalonAI, boss_tharon_ja::boss_tharon_jaAI, boss_omor_the_unscarred::boss_omor_the_unscarredAI, boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI, boss_krik_thir::boss_krik_thirAI, boss_maexxna::boss_maexxnaAI, boss_zuramat::boss_zuramatAI, boss_anzu::boss_anzuAI, boss_nazan::boss_nazanAI, boss_heigan::boss_heiganAI, boss_moam::boss_moamAI, boss_slad_ran::boss_slad_ranAI, boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI, boss_amanitar::boss_amanitarAI, boss_falric::boss_falricAI, boss_loatheb::boss_loathebAI, boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI, boss_king_dred::boss_king_dredAI, boss_patchwerk::boss_patchwerkAI, boss_occuthar::boss_occutharAI, boss_gyth::boss_gythAI, boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI, boss_chrono_lord_deja::boss_chrono_lord_dejaAI, boss_temporus::boss_temporusAI, boss_trollgore::boss_trollgoreAI, boss_varos::boss_varosAI, boss_commander_sarannis::boss_commander_sarannisAI, boss_aeonus::boss_aeonusAI, boss_mechano_lord_capacitus::boss_mechano_lord_capacitusAI, boss_gluth::boss_gluthAI, boss_majordomo::boss_majordomoAI, boss_zum_rah::boss_zum_rahAI, boss_murmur::boss_murmurAI, boss_rajaxx::boss_rajaxxAI, boss_blackheart_the_inciter::boss_blackheart_the_inciterAI, boss_nethermancer_sepethrea::boss_nethermancer_sepethreaAI, boss_maiden_of_grief::boss_maiden_of_griefAI, boss_overlord_wyrmthalak::boss_overlordwyrmthalakAI, boss_void_reaver::boss_void_reaverAI, boss_maiden_of_virtue::boss_maiden_of_virtueAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_amnennar_the_coldbringer::boss_amnennar_the_coldbringerAI, boss_kurinnaxx::boss_kurinnaxxAI, boss_archavon::boss_archavonAI, boss_mennu_the_betrayer::boss_mennu_the_betrayerAI, boss_marwyn::boss_marwynAI, boss_romogg_bonecrusher::boss_romogg_bonecrusherAI, boss_golemagg::boss_golemaggAI, boss_drakos::boss_drakosAI, boss_gatewatcher_iron_hand::boss_gatewatcher_iron_handAI, boss_corla::boss_corlaAI, boss_pit_lord_argaloth::boss_pit_lord_argalothAI, boss_instructor_malicia::boss_instructormaliciaAI, boss_rokmar_the_crackler::boss_rokmar_the_cracklerAI, boss_gatewatcher_gyrokill::boss_gatewatcher_gyrokillAI, boss_postmaster_malown::boss_postmaster_malownAI, boss_thorim::boss_thorimAI, boss_sulfuron::boss_sulfuronAI, boss_daakara::boss_daakaraAI, boss_halycon::boss_halyconAI, boss_nalorakk::boss_nalorakkAI, boss_toravon::boss_toravonAI, boss_ascendant_lord_obsidius::boss_ascendant_lord_obsidiusAI, boss_karsh_steelbender::boss_karsh_steelbenderAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_arcanist_doan::boss_arcanist_doanAI, boss_zereketh_the_unbound::boss_zereketh_the_unboundAI, boss_hexlord_malacrass::boss_hex_lord_malacrassAI, boss_venoxis::boss_venoxisAI, boss_krystallus::boss_krystallusAI, boss_magmadar::boss_magmadarAI, boss_azshir_the_sleepless::boss_azshir_the_sleeplessAI, boss_zanzil::boss_zanzilAI, boss_koralon::boss_koralonAI, boss_beauty::boss_beautyAI, boss_jindo_the_godbreaker::boss_jindo_the_godbreakerAI, boss_mordresh_fire_eye::boss_mordresh_fire_eyeAI, boss_quagmirran::boss_quagmirranAI, boss_janalai::boss_janalaiAI, boss_kilnara::boss_kilnaraAI, boss_cyanigosa::boss_cyanigosaAI, boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI, boss_mother_smolderweb::boss_mothersmolderwebAI, boss_warmaster_voone::boss_warmastervooneAI, boss_halazzi::boss_halazziAI, boss_glutton::boss_gluttonAI, boss_grobbulus::boss_grobbulusAI, boss_shadow_hunter_voshgajin::boss_shadowvoshAI, boss_baron_geddon::boss_baron_geddonAI, boss_the_beast::boss_thebeastAI, boss_urok_doomhowl::boss_urok_doomhowlAI, boss_moragg::boss_moraggAI, boss_drakkisath::boss_drakkisathAI, boss_broodlord::boss_broodlordAI, boss_garr::boss_garrAI, boss_highlord_omokk::boss_highlordomokkAI, boss_tuten_kash::boss_tuten_kashAI, boss_lord_alexei_barov::boss_lordalexeibarovAI, boss_akilzon::boss_akilzonAI, boss_gehennas::boss_gehennasAI, boss_lucifron::boss_lucifronAI, boss_doctor_theolen_krastinov::boss_theolenkrastinovAI, boss_kelris::boss_kelrisAI, quartermaster_zigris::boss_quatermasterzigrisAI, boss_shazzrah::boss_shazzrahAI, boss_illucia_barov::boss_illuciabarovAI, boss_lorekeeper_polkelt::boss_lorekeeperpolkeltAI, boss_the_ravenian::boss_theravenianAI, boss_flamegor::boss_flamegorAI, boss_lavanthor::boss_lavanthorAI, boss_grilek::boss_grilekAI, boss_hazzarah::boss_hazzarahAI, boss_renataki::boss_renatakiAI, boss_wushoolay::boss_wushoolayAI, boss_ebonroc::boss_ebonrocAI, boss_firemaw::boss_firemawAI, and boss_gelihast::boss_gelihastAI.

524 {
525  if (!UpdateVictim())
526  return;
527 
528  events.Update(diff);
529 
531  return;
532 
533  while (uint32 eventId = events.ExecuteEvent())
534  ExecuteEvent(eventId);
535 
537 }
bool UpdateVictim()
Definition: CreatureAI.cpp:233
Definition: Unit.h:565
Creature *const me
Definition: CreatureAI.h:71
uint32_t uint32
Definition: Define.h:150
void Update(uint32 time)
Definition: EventMap.h:54
uint32 ExecuteEvent()
Definition: EventMap.cpp:46
void DoMeleeAttackIfReady()
Definition: UnitAI.cpp:49
bool HasUnitState(const uint32 f) const
Definition: Unit.h:1395
EventMap events
Definition: ScriptedCreature.h:371
virtual void ExecuteEvent(uint32)
Definition: ScriptedCreature.h:351

+ Here is the call graph for this function:

Member Data Documentation

uint32 const BossAI::_bossId
private
EventMap BossAI::events
protected
InstanceScript* const BossAI::instance
TaskScheduler BossAI::scheduler
protected
SummonList BossAI::summons
protected

The documentation for this class was generated from the following files: