AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
CreatureAI Class Reference

#include "CreatureAI.h"

Inheritance diagram for CreatureAI:
UnitAI AggressorAI ArcherAI CombatAI NullCreatureAI PassiveAI PetAI PossessedAI ReactorAI ScriptedAI SmartAI TotemAI TurretAI VehicleAI ironhand_guardian::ironhand_guardianAI npc_announcer_toc5::npc_announcer_toc5AI npc_batrider npc_beryl_sorcerer::npc_beryl_sorcererAI npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI npc_hyldsmeet_protodrake::npc_hyldsmeet_protodrakeAI npc_maredis_firestar::npc_maredis_firestarAI npc_mc_core_hound::npc_mc_core_houndAI npc_rookery_hatcher::npc_rookery_hatcherAI npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI npc_wounded_skirmisher

Public Types

enum  EvadeReason {
  EVADE_REASON_NO_HOSTILES ,
  EVADE_REASON_BOUNDARY ,
  EVADE_REASON_SEQUENCE_BREAK ,
  EVADE_REASON_NO_PATH ,
  EVADE_REASON_OTHER
}
 

Public Member Functions

void Talk (uint8 id, WorldObject const *whisperTarget=nullptr, Milliseconds delay=0s)
 Causes the creature to talk/say the text assigned to their entry in the creature_text database table.
 
void Talk (uint8 id, Milliseconds delay)
 
WorldObjectGetSummoner () const
 Returns the summoner creature/object, if the creature is a temporary summon.
 
 CreatureAI (Creature *creature)
 
 ~CreatureAI () override
 
void MoveCircleChecks ()
 
void MoveBackwardsChecks ()
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At =================================
 
void TriggerAlert (Unit const *who) const
 
virtual bool CanRespawn ()
 
virtual void EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
virtual void JustEngagedWith (Unit *)
 Called for reaction when initially engaged.
 
virtual void JustDied (Unit *)
 
virtual void KilledUnit (Unit *)
 
virtual void JustSummoned (Creature *)
 
virtual void IsSummonedBy (WorldObject *)
 
virtual void SummonedCreatureDespawn (Creature *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void SummonedCreatureDespawnAll ()
 
virtual void SummonedCreatureEvade (Creature *)
 
virtual void SpellHit (Unit *, SpellInfo const *)
 
virtual void SpellHitTarget (Unit *, SpellInfo const *)
 
virtual void AttackedBy (Unit *)
 
virtual bool IsEscorted ()
 
virtual void JustRespawned ()
 
virtual void MovementInform (uint32, uint32)
 
virtual void PathEndReached (uint32)
 
void OnCharmed (bool apply) override
 Called when unit is charmed.
 
virtual void JustReachedHome ()
 
void DoZoneInCombat (Creature *creature=nullptr, float maxRangeToNearestTarget=250.0f)
 
virtual void ReceiveEmote (Player *, uint32)
 
virtual void OwnerAttackedBy (Unit *)
 
virtual void OwnerAttacked (Unit *)
 
virtual void CorpseRemoved (uint32 &)
 == Triggered Actions Requested ==================
 
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields =======================================
 
virtual bool BeforeSpellClick (Unit *)
 
virtual void OnSpellClick (Unit *, bool &)
 
virtual bool CanSeeAlways (WorldObject const *)
 
virtual bool CanBeSeen (Player const *)
 
virtual bool CanAlwaysBeDetectable (WorldObject const *)
 
virtual void PetStopAttack ()
 
virtual bool CheckInRoom ()
 
CreatureBoundary const * GetBoundary () const
 
void SetBoundary (CreatureBoundary const *boundary, bool negativeBoundaries=false)
 
bool IsInBoundary (Position const *who=nullptr) const
 
virtual void CalculateThreat (Unit *, float &, SpellInfo const *)
 
virtual bool OnTeleportUnreacheablePlayer (Player *)
 
virtual void OnAuraRemove (AuraApplication *, AuraRemoveMode)
 
- Public Member Functions inherited from UnitAI
 UnitAI (Unit *unit)
 
virtual ~UnitAI ()
 
virtual bool CanAIAttack (Unit const *) const
 
virtual void AttackStart (Unit *)
 
virtual void UpdateAI (uint32)=0
 Use to start attacking a target. Called just before JustEngagedWith()
 
virtual void InitializeAI ()
 
virtual void Reset ()
 
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
 
UnitSelectTarget (SelectTargetMethod targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
 
template<class PREDICATE >
UnitSelectTarget (SelectTargetMethod targetType, uint32 position, PREDICATE const &predicate)
 
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
 Select the best (up to) <num> targets (in <targetType> order) from the threat list that fulfill the following:
 
template<class PREDICATE >
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 position, PREDICATE const &predicate)
 
virtual void JustEnteredCombat (Unit *)
 Called when the unit enters combat.
 
virtual void JustExitedCombat ()
 Called when the unit leaves combat.
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType, SpellSchoolMask)
 Called at any Damage to any victim (before damage apply)
 
virtual void DamageTaken (Unit *, uint32 &, DamageEffectType, SpellSchoolMask)
 Called at any Damage from any attacker (before damage apply)
 
virtual void HealReceived (Unit *, uint32 &)
 Called when the creature receives heal.
 
virtual void OnPowerUpdate (Powers, int32, int32, uint32)
 Called when the creature power updates.
 
virtual void HealDone (Unit *, uint32 &)
 Called when the unit heals.
 
virtual void OnCalculateMeleeDamageReceived (uint32 &, Unit *)
 Called during damage calculations.
 
virtual void OnCalculateSpellDamageReceived (int32 &, Unit *)
 
virtual void OnCalculatePeriodicTickReceived (uint32 &, Unit *)
 Called during calculation when receiving periodic healing or damage (DoT or HoT)
 
void AttackStartCaster (Unit *victim, float dist)
 
SpellCastResult DoAddAuraToAllHostilePlayers (uint32 spellid)
 
SpellCastResult DoCast (uint32 spellId)
 
SpellCastResult DoCast (Unit *victim, uint32 spellId, bool triggered=false)
 
SpellCastResult DoCastSelf (uint32 spellId, bool triggered=false)
 
SpellCastResult DoCastToAllHostilePlayers (uint32 spellid, bool triggered=false)
 To specify the caster as target if the spell is self-cast.
 
SpellCastResult DoCastVictim (uint32 spellId, bool triggered=false)
 
SpellCastResult DoCastAOE (uint32 spellId, bool triggered=false)
 
SpellCastResult DoCastRandomTarget (uint32 spellId, uint32 threatTablePosition=0, float dist=0.0f, bool playerOnly=true, bool triggered=false, bool withTank=true)
 Cast the spell on a random unit from the threat list.
 
SpellCastResult DoCastMaxThreat (uint32 spellId, uint32 threatTablePosition=0, float dist=0.0f, bool playerOnly=true, bool triggered=false)
 Cast spell on the top threat target, which may not be the current victim.
 
float DoGetSpellMaxRange (uint32 spellId, bool positive=false)
 
void DoMeleeAttackIfReady ()
 
bool DoSpellAttackIfReady (uint32 spell)
 
void DoSpellAttackToRandomTargetIfReady (uint32 spell, uint32 threatTablePosition=0, float dist=0.f, bool playerOnly=true)
 
virtual void SummonMovementInform (Creature *, uint32, uint32)
 Called when a summon reaches a waypoint or point movement finished.
 
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 sQuestComplete (Player *, Quest const *)
 
virtual void sQuestReward (Player *, Quest const *, uint32)
 
virtual void sOnGameEvent (bool, uint16)
 
virtual std::string GetDebugInfo () const
 

Static Public Member Functions

static bool IsInBounds (CreatureBoundary const &boundary, Position const *who)
 
- Static Public Member Functions inherited from UnitAI
static void FillAISpellInfo ()
 

Protected Member Functions

bool UpdateVictim ()
 
bool UpdateVictimWithGaze ()
 
void SetGazeOn (Unit *target)
 
CreatureDoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
virtual void MoveInLineOfSight (Unit *)
 
bool _EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 

Protected Attributes

Creature *const me
 
EventMap events
 
TaskScheduler scheduler
 
CreatureBoundary const * _boundary
 
bool _negateBoundary
 
- Protected Attributes inherited from UnitAI
Unit *const me
 

Private Attributes

bool m_MoveInLineOfSight_locked
 

Additional Inherited Members

- Static Public Attributes inherited from UnitAI
static AISpellInfoTypeAISpellInfo
 

Detailed Description

Member Enumeration Documentation

◆ EvadeReason

Enumerator
EVADE_REASON_NO_HOSTILES 
EVADE_REASON_BOUNDARY 
EVADE_REASON_SEQUENCE_BREAK 
EVADE_REASON_NO_PATH 
EVADE_REASON_OTHER 
88 {
89 EVADE_REASON_NO_HOSTILES, // the creature's threat list is empty
90 EVADE_REASON_BOUNDARY, // the creature has moved outside its evade boundary
91 EVADE_REASON_SEQUENCE_BREAK, // this is a boss and the pre-requisite encounters for engaging it are not defeated yet
92 EVADE_REASON_NO_PATH, // the creature was unable to reach its target for over 5 seconds
94 };
@ EVADE_REASON_OTHER
Definition CreatureAI.h:93
@ EVADE_REASON_BOUNDARY
Definition CreatureAI.h:90
@ EVADE_REASON_NO_HOSTILES
Definition CreatureAI.h:89
@ EVADE_REASON_SEQUENCE_BREAK
Definition CreatureAI.h:91
@ EVADE_REASON_NO_PATH
Definition CreatureAI.h:92

Constructor & Destructor Documentation

◆ CreatureAI()

CreatureAI::CreatureAI ( Creature creature)
inlineexplicit
101: UnitAI(creature), me(creature), _boundary(nullptr), _negateBoundary(false), m_MoveInLineOfSight_locked(false) { }
CreatureBoundary const * _boundary
Definition CreatureAI.h:232
bool _negateBoundary
Definition CreatureAI.h:233
bool m_MoveInLineOfSight_locked
Definition CreatureAI.h:236
Creature *const me
Definition CreatureAI.h:72
Definition UnitAI.h:193

◆ ~CreatureAI()

CreatureAI::~CreatureAI ( )
inlineoverride
103{}

Member Function Documentation

◆ _EnterEvadeMode()

bool CreatureAI::_EnterEvadeMode ( EvadeReason  why = EVADE_REASON_OTHER)
protected
304{
305 if (!me->IsAlive())
306 {
307 return false;
308 }
309
310 // don't remove vehicle auras, passengers aren't supposed to drop off the vehicle
311 // don't remove clone caster on evade (to be verified)
313
314 me->ClearComboPointHolders(); // Remove all combo points targeting this unit
315 // sometimes bosses stuck in combat?
317 me->CombatStop(true);
318 me->LoadCreaturesAddon(true);
319 me->SetLootRecipient(nullptr);
323
324 if (ZoneScript* zoneScript = me->GetZoneScript() ? me->GetZoneScript() : (ZoneScript*)me->GetInstanceScript())
325 zoneScript->OnCreatureEvade(me);
326
327 if (me->IsInEvadeMode())
328 {
329 return false;
330 }
331 else if (CreatureGroup* formation = me->GetFormation())
332 {
333 formation->MemberEvaded(me);
334 }
335
336 if (TempSummon* summon = me->ToTempSummon())
337 {
338 if (WorldObject* summoner = summon->GetSummoner())
339 {
340 if (summoner->ToCreature() && summoner->ToCreature()->IsAIEnabled)
341 {
342 summoner->ToCreature()->AI()->SummonedCreatureEvade(me);
343 }
344 else if (summoner->ToGameObject() && summoner->ToGameObject()->AI())
345 {
346 summoner->ToGameObject()->AI()->SummonedCreatureEvade(me);
347 }
348 }
349 }
350
351 return true;
352}
Definition CreatureGroups.h:90
bool LoadCreaturesAddon(bool reload=false)
Definition Creature.cpp:2715
void SetLootRecipient(Unit *unit, bool withGroup=true)
Definition Creature.cpp:1326
void SetCannotReachTarget(ObjectGuid const &target=ObjectGuid::Empty)
Definition Creature.cpp:3677
CreatureGroup const * GetFormation() const
Definition Creature.h:357
void ResetPlayerDamageReq()
Definition Creature.cpp:3834
void ClearLastLeashExtensionTimePtr()
Definition Creature.cpp:3720
bool IsInEvadeMode() const
Definition Creature.h:135
Definition TemporarySummon.h:40
void ClearAllThreat()
Definition ThreatMgr.cpp:417
void RemoveEvadeAuras()
Definition Unit.cpp:5469
void CombatStop(bool includingCast=false)
Definition Unit.cpp:10481
bool IsAlive() const
Definition Unit.h:1707
TempSummon * ToTempSummon()
Definition Unit.h:702
void ClearComboPointHolders()
Definition Unit.cpp:16971
ThreatMgr & GetThreatMgr()
Definition Unit.h:912
Definition Object.h:410
ZoneScript * GetZoneScript() const
Definition Object.h:542
Definition ZoneScript.h:26

References ThreatMgr::ClearAllThreat(), Unit::ClearComboPointHolders(), Creature::ClearLastLeashExtensionTimePtr(), Unit::CombatStop(), Creature::GetFormation(), WorldObject::GetInstanceScript(), Unit::GetThreatMgr(), WorldObject::GetZoneScript(), Unit::IsAlive(), Creature::IsInEvadeMode(), Creature::LoadCreaturesAddon(), me, Unit::RemoveEvadeAuras(), Creature::ResetPlayerDamageReq(), Creature::SetCannotReachTarget(), Creature::SetLootRecipient(), and Unit::ToTempSummon().

Referenced by boss_eadric::boss_eadricAI::DamageTaken(), boss_paletress::boss_paletressAI::DamageTaken(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::DamageTaken(), boss_jindo::EnterEvadeMode(), npc_argent_captainAI::EnterEvadeMode(), boss_kologarn::boss_kologarnAI::EnterEvadeMode(), npc_ulduar_vx001::npc_ulduar_vx001AI::EnterEvadeMode(), npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI::EnterEvadeMode(), boss_yoggsaron_sara::boss_yoggsaron_saraAI::EnterEvadeMode(), npc_tournament_training_dummy::npc_tournament_training_dummyAI::EnterEvadeMode(), npc_training_dummy::npc_training_dummyAI::EnterEvadeMode(), npc_target_dummy::npc_target_dummyAI::EnterEvadeMode(), EnterEvadeMode(), SmartAI::EnterEvadeMode(), and boss_algalon_the_observer::boss_algalon_the_observerAI::UpdateAI().

◆ AttackedBy()

virtual void CreatureAI::AttackedBy ( Unit )
inlinevirtual

◆ BeforeSpellClick()

virtual bool CreatureAI::BeforeSpellClick ( Unit )
inlinevirtual

◆ CalculateThreat()

virtual void CreatureAI::CalculateThreat ( Unit ,
float &  ,
SpellInfo const *   
)
inlinevirtual

Reimplemented in boss_mandokir::boss_mandokirAI.

220{ }

◆ CanAlwaysBeDetectable()

virtual bool CreatureAI::CanAlwaysBeDetectable ( WorldObject const *  )
inlinevirtual

Reimplemented in boss_renataki::boss_renatakiAI.

208{ return false; }

◆ CanBeSeen()

◆ CanRespawn()

virtual bool CreatureAI::CanRespawn ( )
inlinevirtual

Reimplemented in BossAI, and SmartAI.

117{ return true; }

Referenced by Creature::Respawn().

◆ CanSeeAlways()

virtual bool CreatureAI::CanSeeAlways ( WorldObject const *  )
inlinevirtual

Reimplemented in boss_renataki::boss_renatakiAI.

205{ return false; }

◆ CheckInRoom()

bool CreatureAI::CheckInRoom ( )
virtual

Reimplemented in boss_priestess_delrissa, boss_sacrolash, boss_kalecgos, boss_hakkar::boss_hakkarAI, boss_onyxia, boss_bug_trio, and boss_viscidus.

407{
408 if (IsInBoundary())
409 return true;
410 else
411 {
413 return false;
414 }
415}
bool IsInBoundary(Position const *who=nullptr) const
Definition CreatureAI.cpp:386
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
Definition CreatureAI.cpp:208

References EnterEvadeMode(), EVADE_REASON_BOUNDARY, and IsInBoundary().

Referenced by Creature::Update().

◆ CorpseRemoved()

virtual void CreatureAI::CorpseRemoved ( uint32 )
inlinevirtual

== Triggered Actions Requested ==================

== State checks =================================

Reimplemented in npc_captain_saeed::npc_captain_saeedAI, npc_simone::npc_simoneAI, and SmartAI.

193{}

Referenced by Creature::RemoveCorpse().

◆ DoSummon() [1/2]

Creature * CreatureAI::DoSummon ( uint32  entry,
Position const &  pos,
uint32  despawnTime = 30000,
TempSummonType  summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN 
)
protected
425{
426 return me->SummonCreature(entry, pos, summonType, despawnTime);
427}
TempSummon * SummonCreature(uint32 id, const Position &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0, SummonPropertiesEntry const *properties=nullptr, bool visibleBySummonerOnly=false) const
Definition Object.cpp:2368

References me, and WorldObject::SummonCreature().

Referenced by npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI::MoveInLineOfSight(), npc_gothik_trigger::npc_gothik_triggerAI::SpellHit(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::UpdateAI(), npc_toc_warlock::npc_toc_warlockAI::UpdateAI(), npc_toc_hunter::npc_toc_hunterAI::UpdateAI(), npc_vh_teleportation_portal::npc_vh_teleportation_portalAI::UpdateAI(), npc_blessed_banner::npc_blessed_bannerAI::UpdateAI(), and boss_ichoron::boss_ichoronAI::UpdateAI().

◆ DoSummon() [2/2]

Creature * CreatureAI::DoSummon ( uint32  entry,
WorldObject obj,
float  radius = 5.0f,
uint32  despawnTime = 30000,
TempSummonType  summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN 
)
protected
430{
431 Position pos = obj->GetRandomNearPosition(radius);
432 return me->SummonCreature(entry, pos, summonType, despawnTime);
433}
Position GetRandomNearPosition(float radius)
Definition Object.cpp:2748
Definition Position.h:27

References WorldObject::GetRandomNearPosition(), me, and WorldObject::SummonCreature().

◆ DoSummonFlyer()

Creature * CreatureAI::DoSummonFlyer ( uint32  entry,
WorldObject obj,
float  flightZ,
float  radius = 5.0f,
uint32  despawnTime = 30000,
TempSummonType  summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN 
)
protected
436{
437 Position pos = obj->GetRandomNearPosition(radius);
438 pos.m_positionZ += flightZ;
439 return me->SummonCreature(entry, pos, summonType, despawnTime);
440}
float m_positionZ
Definition Position.h:57

References WorldObject::GetRandomNearPosition(), Position::m_positionZ, me, and WorldObject::SummonCreature().

Referenced by boss_flame_leviathan::boss_flame_leviathanAI::UpdateAI().

◆ DoZoneInCombat()

void CreatureAI::DoZoneInCombat ( Creature creature = nullptr,
float  maxRangeToNearestTarget = 250.0f 
)
107{
108 if (!creature)
109 {
110 creature = me;
111 }
112
113 if (creature->IsInEvadeMode())
114 {
115 return;
116 }
117
118 Map* map = creature->GetMap();
119 if (!map->IsDungeon()) //use IsDungeon instead of Instanceable, in case battlegrounds will be instantiated
120 {
121 LOG_ERROR("entities.unit.ai", "DoZoneInCombat call for map {} that isn't a dungeon (creature entry = {})", map->GetId(), creature->IsCreature() ? creature->ToCreature()->GetEntry() : 0);
122 return;
123 }
124
125 Map::PlayerList const& playerList = map->GetPlayers();
126 if (playerList.IsEmpty())
127 {
128 return;
129 }
130
131 for (Map::PlayerList::const_iterator itr = playerList.begin(); itr != playerList.end(); ++itr)
132 {
133 if (Player* player = itr->GetSource())
134 {
135 if (!IsValidCombatTarget(creature, player))
136 {
137 continue;
138 }
139
140 if (!creature->IsWithinDistInMap(player, maxRangeToNearestTarget))
141 {
142 continue;
143 }
144
145 creature->SetInCombatWith(player);
146 player->SetInCombatWith(creature);
147
148 if (creature->CanHaveThreatList())
149 {
150 creature->AddThreat(player, 0.0f);
151 }
152 }
153 }
154}
bool IsValidCombatTarget(Creature *source, Player *target)
Definition CreatureAI.cpp:76
#define LOG_ERROR(filterType__,...)
Definition Log.h:157
Definition LinkedList.h:139
bool IsEmpty() const
Definition LinkedList.h:97
Definition MapRefMgr.h:26
iterator begin()
Definition MapRefMgr.h:36
iterator end()
Definition MapRefMgr.h:37
Definition Map.h:156
bool IsDungeon() const
Definition Map.h:295
uint32 GetId() const
Definition Map.h:229
PlayerList const & GetPlayers() const
Definition Map.h:333
uint32 GetEntry() const
Definition Object.h:115
bool IsCreature() const
Definition Object.h:204
Creature * ToCreature()
Definition Object.h:205
Definition Player.h:1081
void AddThreat(Unit *victim, float fThreat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=nullptr)
Definition Unit.cpp:14705
void SetInCombatWith(Unit *enemy, uint32 duration=0)
Definition Unit.cpp:13626
bool CanHaveThreatList(bool skipAliveCheck=false) const
Definition Unit.cpp:14666
Map * GetMap() const
Definition Object.h:536
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition Object.cpp:1332

References Unit::AddThreat(), MapRefMgr::begin(), Unit::CanHaveThreatList(), MapRefMgr::end(), Object::GetEntry(), Map::GetId(), WorldObject::GetMap(), Map::GetPlayers(), Object::IsCreature(), Map::IsDungeon(), LinkedListHead::IsEmpty(), Creature::IsInEvadeMode(), IsValidCombatTarget(), WorldObject::IsWithinDistInMap(), LOG_ERROR, me, Unit::SetInCombatWith(), and Object::ToCreature().

Referenced by BossAI::_JustEngagedWith(), boss_apothecary_hummel::boss_apothecary_hummelAI::DoAction(), npc_apothecary_genericAI::DoAction(), npc_coren_direbrew::DoAction(), npc_direbrew_antagonist::DoAction(), boss_cthun::DoAction(), boss_pathaleon_the_calculator::DoAction(), boss_tyrannus::boss_tyrannusAI::DoAction(), boss_bug_trio::DoFinalSpell(), SummonList::DoZoneInCombat(), StartMovementEvent::Execute(), npc_rookery_hatcher::npc_rookery_hatcherAI::InitializeAI(), boss_solakar_flamewreath::boss_solakar_flamewreathAI::InitializeAI(), boss_urok_doomhowl::boss_urok_doomhowlAI::InitializeAI(), npc_shade_of_jindo::IsSummonedBy(), npc_raging_flames::IsSummonedBy(), boss_sartharion_dragonAI::JustEngagedWith(), npc_malchezaar_axe::JustEngagedWith(), boss_terestian_illhoof::JustEngagedWith(), boss_crone::JustEngagedWith(), boss_bigbadwolf::JustEngagedWith(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::JustEngagedWith(), npc_akilzon_eagle::JustEngagedWith(), boss_zuljin::JustEngagedWith(), boss_mandokir::boss_mandokirAI::JustEngagedWith(), boss_cthun::JustEngagedWith(), npc_claw_tentacle::JustEngagedWith(), npc_giant_claw_tentacle::JustEngagedWith(), npc_giant_eye_tentacle::JustEngagedWith(), npc_dirt_mound::JustEngagedWith(), boss_anubarak_trial::boss_anubarak_trialAI::JustEngagedWith(), npc_swarm_scarab::npc_swarm_scarabAI::JustEngagedWith(), boss_jaraxxus::boss_jaraxxusAI::JustEngagedWith(), boss_twin_valkyrAI::JustEngagedWith(), boss_bronjahm::boss_bronjahmAI::JustEngagedWith(), boss_devourer_of_souls::boss_devourer_of_soulsAI::JustEngagedWith(), boss_garfrost::boss_garfrostAI::JustEngagedWith(), boss_ick::boss_ickAI::JustEngagedWith(), npc_cult_fanatic::npc_cult_fanaticAI::JustEngagedWith(), npc_cult_adherent::npc_cult_adherentAI::JustEngagedWith(), npc_darnavan::npc_darnavanAI::JustEngagedWith(), boss_lord_marrowgar::JustEngagedWith(), npc_argent_captainAI::JustEngagedWith(), boss_malygos::boss_malygosAI::JustEngagedWith(), npc_nexus_lord::npc_nexus_lordAI::JustEngagedWith(), boss_ignis::boss_ignisAI::JustEngagedWith(), boss_mimiron::boss_mimironAI::JustEngagedWith(), boss_cyanigosa::boss_cyanigosaAI::JustEngagedWith(), boss_ichoron::boss_ichoronAI::JustEngagedWith(), boss_lavanthor::boss_lavanthorAI::JustEngagedWith(), boss_moragg::boss_moraggAI::JustEngagedWith(), boss_xevozz::boss_xevozzAI::JustEngagedWith(), boss_zuramat::boss_zuramatAI::JustEngagedWith(), boss_curator::JustEngagedWith(), boss_moroes::JustEngagedWith(), boss_netherspite::JustEngagedWith(), boss_jeklik::JustEngagedWith(), npc_anubisath_sentinel::aqsentinelAI::JustEngagedWith(), boss_prince_keleseth_icc::boss_prince_kelesethAI::JustEngagedWith(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustEngagedWith(), boss_prince_valanar_icc::boss_prince_valanarAI::JustEngagedWith(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::JustEngagedWith(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustEngagedWith(), boss_festergut::boss_festergutAI::JustEngagedWith(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::JustEngagedWith(), boss_professor_putricide::boss_professor_putricideAI::JustEngagedWith(), boss_rotface::boss_rotfaceAI::JustEngagedWith(), boss_erekem::boss_erekemAI::JustEngagedWith(), npc_erekem_guard::npc_erekem_guardAI::JustEngagedWith(), boss_eregos::boss_eregosAI::JustSummoned(), BossAI::JustSummoned(), boss_rend_blackhand::boss_rend_blackhandAI::JustSummoned(), boss_ragnaros::boss_ragnarosAI::JustSummoned(), boss_attumen::JustSummoned(), boss_kormok::JustSummoned(), boss_onyxia::JustSummoned(), boss_black_knight::boss_black_knightAI::JustSummoned(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustSummoned(), npc_ahune_bunny::JustSummoned(), boss_grand_champion::boss_grand_championAI::MovementInform(), boss_sister_svalna::boss_sister_svalnaAI::MovementInform(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::npc_pos_martin_or_gorkun_secondAI(), boss_nefarian::PathEndReached(), npc_zuljin_vortex::Reset(), npc_direbrew_minion::Reset(), npc_eye_tentacle::Reset(), npc_swarm_scarab::npc_swarm_scarabAI::Reset(), npc_nerubian_burrower::npc_nerubian_burrowerAI::Reset(), npc_fel_infernal::npc_fel_infernalAI::Reset(), npc_mistress_of_pain::npc_mistress_of_painAI::Reset(), npc_anubarak_spike::npc_anubarak_spikeAI::SelectNewTarget(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::SetData(), npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI::SetData(), npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI::SetData(), Creature::SetInCombatWithZone(), npc_ulduar_iron_construct::npc_ulduar_iron_constructAI::SpellHit(), npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI::SpellHitTarget(), boss_lord_valthalak::boss_lord_valthalakAI::StartFighting(), boss_heigan::boss_heiganAI::StartFightPhase(), npc_coren_direbrew::SummonSister(), Creature::Update(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::UpdateAI(), boss_ragnaros::boss_ragnarosAI::UpdateAI(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::UpdateAI(), npc_memory::npc_memoryAI::UpdateAI(), npc_cult_fanatic::npc_cult_fanaticAI::UpdateAI(), npc_cult_adherent::npc_cult_adherentAI::UpdateAI(), npc_raging_spirit::npc_raging_spiritAI::UpdateAI(), boss_razorscale::boss_razorscaleAI::UpdateAI(), npc_ahune_bunny::UpdateAI(), boss_ichoron::boss_ichoronAI::UpdateAI(), and InstanceScript::UpdateMinionState().

◆ EnterEvadeMode()

void CreatureAI::EnterEvadeMode ( EvadeReason  why = EVADE_REASON_OTHER)
virtual

Reimplemented in boss_hakkar::boss_hakkarAI, boss_jindo, boss_dorothee, boss_roar, boss_strawman, boss_tinhead, boss_crone, boss_bigbadwolf, boss_julianne, boss_romulo, CritterAI, npc_av_marshal_or_warmaster::npc_av_marshal_or_warmasterAI, boss_drekthar::boss_drektharAI, boss_vanndar::boss_vanndarAI, boss_gyth::boss_gythAI, boss_rend_blackhand::boss_rend_blackhandAI, boss_ragnaros::boss_ragnarosAI, boss_attumen, boss_nightbane, boss_priestess_lackey_commonAI, boss_kiljaeden, boss_entropius, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, npc_amanishi_tempest, boss_arlokk::boss_arlokkAI, boss_jeklik, boss_archimonde, npc_black_morass_summoned_add, boss_ayamiss, boss_buru, boss_bug_trio, boss_skeram, boss_twinemperorsAI, npc_cork_gizelton::npc_cork_gizeltonAI, npc_clintar_spirit::npc_clintar_spiritAI, npc_twiggy_flathead::npc_twiggy_flatheadAI, boss_amanitar, npc_twilight_volunteer, boss_anub_arak::boss_anub_arakAI, boss_halion::boss_halionAI, boss_black_knight::boss_black_knightAI, boss_bronjahm::boss_bronjahmAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, boss_falric::boss_falricAI, boss_marwyn::boss_marwynAI, npc_ghostly_priest::npc_ghostly_priestAI, npc_phantom_mage::npc_phantom_mageAI, npc_phantom_hallucination::npc_phantom_hallucinationAI, npc_shadowy_mercenary::npc_shadowy_mercenaryAI, npc_spectral_footman::npc_spectral_footmanAI, npc_tortured_rifleman::npc_tortured_riflemanAI, boss_frostsworn_general::boss_frostsworn_generalAI, npc_hor_spiritual_reflection::npc_hor_spiritual_reflectionAI, boss_garfrost::boss_garfrostAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_festergut::boss_festergutAI, boss_professor_putricide::boss_professor_putricideAI, boss_rotface::boss_rotfaceAI, boss_sindragosa::boss_sindragosaAI, boss_the_lich_king::boss_the_lich_kingAI, npc_tirion_fordring_tft::npc_tirion_fordringAI, npc_argent_captainAI, boss_kelthuzad::boss_kelthuzadAI, boss_noth::boss_nothAI, boss_thaddius_summon::boss_thaddius_summonAI, boss_malygos::boss_malygosAI, npc_crystalline_frayer, boss_urom::boss_uromAI, boss_varos::boss_varosAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_ignis::boss_ignisAI, boss_kologarn::boss_kologarnAI, boss_mimiron::boss_mimironAI, npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI, npc_ulduar_vx001::npc_ulduar_vx001AI, npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI, boss_razorscale::boss_razorscaleAI, boss_thorim::boss_thorimAI, boss_yoggsaron_sara::boss_yoggsaron_saraAI, npc_ulduar_arachnopod_destroyer::npc_ulduar_arachnopod_destroyerAI, boss_ingvar_the_plunderer, boss_svala::boss_svalaAI, boss_ymiron::boss_ymironAI, boss_cyanigosa::boss_cyanigosaAI, boss_erekem::boss_erekemAI, boss_ichoron::boss_ichoronAI, boss_lavanthor::boss_lavanthorAI, boss_moragg::boss_moraggAI, boss_xevozz::boss_xevozzAI, boss_zuramat::boss_zuramatAI, npc_tournament_training_dummy::npc_tournament_training_dummyAI, npc_wild_wyrm::npc_wild_wyrmAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, boss_shirrak_the_dead_watcher, boss_blackheart_the_inciter, boss_murmur, boss_illidan_stormrage, boss_illidari_council, boss_illidari_council_memberAI, boss_shade_of_akama, boss_fathomguard_sharkkis, boss_fathomguard_tidalvess, boss_fathomguard_caribdis, boss_the_lurker_below, boss_harbinger_skyriss, boss_alar, boss_nethermancer_sepethrea, npc_captain_saeed::npc_captain_saeedAI, npc_training_dummy::npc_training_dummyAI, npc_target_dummy::npc_target_dummyAI, BossAI, SmartAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, GuardAI, PossessedAI, NullCreatureAI, PetAI, TotemAI, npc_burning_spirit::npc_burning_spiritAI, boss_doomrel::boss_doomrelAI, npc_chesspiece, boss_midnight, npc_koltira_deathweaver::npc_koltira_deathweaverAI, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, npc_marzon_silent_blade::npc_marzon_silent_bladeAI, npc_varian_wrynn::npc_varian_wrynnAI, npc_thrall_bfu::npc_thrall_bfuAI, boss_zuljin, npc_brain_wash_totem, npc_hallows_end_soh, boss_ouro, npc_dirt_mound, npc_sergeant_bly::npc_sergeant_blyAI, npc_amanitar_mushrooms, npc_onyx_flamecaller::npc_onyx_flamecallerAI, boss_twilight_halion::boss_twilight_halionAI, boss_grand_champion::boss_grand_championAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_faction_championsAI, npc_toc_pet_warlock::npc_toc_pet_warlockAI, npc_toc_pet_hunter::npc_toc_pet_hunterAI, boss_jaraxxus::boss_jaraxxusAI, npc_fel_infernal::npc_fel_infernalAI, npc_mistress_of_pain::npc_mistress_of_painAI, boss_gormok::boss_gormokAI, boss_jormungarAI, boss_icehowl::boss_icehowlAI, boss_twin_valkyrAI, boss_tyrannus::boss_tyrannusAI, npc_pos_freed_slave::npc_pos_freed_slaveAI, npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI, npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI, gunship_npc_AI, npc_gunship_boarding_addAI, npc_little_ooze::npc_little_oozeAI, npc_big_ooze::npc_big_oozeAI, npc_terenas_menethil::npc_terenas_menethilAI, npc_valithria_cloud::npc_valithria_cloudAI, npc_gothik_trigger::npc_gothik_triggerAI, npc_tesla::npc_teslaAI, npc_assembly_lightning::npc_assembly_lightningAI, boss_flame_leviathan_seat::boss_flame_leviathan_seatAI, npc_ulduar_hodir_priest::npc_ulduar_hodir_priestAI, npc_ulduar_hodir_druid::npc_ulduar_hodir_druidAI, npc_ulduar_hodir_shaman::npc_ulduar_hodir_shamanAI, npc_ulduar_hodir_mage::npc_ulduar_hodir_mageAI, boss_thorim_lightning_orb::boss_thorim_lightning_orbAI, violet_hold_trashAI, npc_future_you::npc_future_youAI, npc_mrfloppy::npc_mrfloppyAI, npc_frosthound::npc_frosthoundAI, npc_icefang::npc_icefangAI, npc_parasitic_shadowfiend, npc_akama_shade, boss_ahune, boss_nazan, boss_vazruden, npc_raging_flames, npc_pet_gen_argent_pony_bridle, npc_pet_gen_toxic_wasteling, npc_pet_hunter_snake_trap, npc_pet_mage_mirror_image, npc_escortAI, FollowerAI, npc_vengeful_shade::npc_vengeful_shadeAI, and boss_kologarn_arms::boss_kologarn_armsAI.

209{
210 if (!_EnterEvadeMode(why))
211 return;
212
213 LOG_DEBUG("entities.unit", "Creature {} enters evade mode.", me->GetEntry());
214
215 if (!me->GetVehicle()) // otherwise me will be in evade mode forever
216 {
217 if (Unit* owner = me->GetCharmerOrOwner())
218 {
219 me->GetMotionMaster()->Clear(false);
221 }
222 else
223 {
224 // Required to prevent attacking creatures that are evading and cause them to reenter combat
225 // Does not apply to MoveFollow
228 }
229 }
230
231 Reset();
232 if (me->IsVehicle()) // use the same sequence of addtoworld, aireset may remove all summons!
233 {
234 me->GetVehicleKit()->Reset(true);
235 }
236
237 sScriptMgr->OnUnitEnterEvadeMode(me, why);
238
239 // despawn bosses at reset - only verified tbc/woltk bosses with this reset type
240 CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(me->GetEntry());
242 {
244 }
245}
@ CREATURE_FLAG_EXTRA_HARD_RESET
Definition CreatureData.h:76
#define LOG_DEBUG(filterType__,...)
Definition Log.h:169
@ MOTION_SLOT_ACTIVE
Definition MotionMaster.h:64
#define sObjectMgr
Definition ObjectMgr.h:1636
#define PET_FOLLOW_DIST
Definition PetDefines.h:202
#define sScriptMgr
Definition ScriptMgr.h:727
@ UNIT_STATE_EVADE
Definition UnitDefines.h:191
bool _EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
Definition CreatureAI.cpp:303
void DespawnOnEvade(Seconds respawnDelay=20s)
Definition Creature.cpp:2191
void MoveTargetedHome(bool walk=false)
The unit will return this initial position (owner for pets and summoned creatures)....
Definition MotionMaster.cpp:259
void MoveFollow(Unit *target, float dist, float angle, MovementSlot slot=MOTION_SLOT_ACTIVE, bool inheritWalkState=true, bool inheritSpeed=true)
The unit will follow this target. Doesn't work with UNIT_FLAG_DISABLE_MOVE.
Definition MotionMaster.cpp:409
void Clear(bool reset=true)
Definition MotionMaster.h:167
virtual void Reset()
Definition UnitAI.h:206
Definition Unit.h:636
bool IsVehicle() const
Definition Unit.h:766
Vehicle * GetVehicle() const
Definition Unit.h:1839
MotionMaster * GetMotionMaster()
Definition Unit.h:1673
void AddUnitState(uint32 f)
Definition Unit.h:706
Unit * GetCharmerOrOwner() const
Definition Unit.h:1220
virtual float GetFollowAngle() const
Definition Unit.h:1809
Vehicle * GetVehicleKit() const
Definition Unit.h:1838
void Reset(bool evading=false)
Definition Vehicle.cpp:119
Definition CreatureData.h:186
bool HasFlagsExtra(uint32 flag) const
Definition CreatureData.h:283

References _EnterEvadeMode(), Unit::AddUnitState(), MotionMaster::Clear(), CREATURE_FLAG_EXTRA_HARD_RESET, Creature::DespawnOnEvade(), Unit::GetCharmerOrOwner(), Object::GetEntry(), Unit::GetFollowAngle(), Unit::GetMotionMaster(), Unit::GetVehicle(), Unit::GetVehicleKit(), CreatureTemplate::HasFlagsExtra(), Unit::IsVehicle(), LOG_DEBUG, me, MOTION_SLOT_ACTIVE, MotionMaster::MoveFollow(), MotionMaster::MoveTargetedHome(), PET_FOLLOW_DIST, UnitAI::Reset(), Vehicle::Reset(), sObjectMgr, sScriptMgr, and UNIT_STATE_EVADE.

Referenced by BossAI::_EnterEvadeMode(), CheckInRoom(), npc_battle_at_valhalas::npc_battle_at_valhalasAI::CheckSummons(), npc_simone::npc_simoneAI::CorpseRemoved(), npc_akama_shade::DamageTaken(), boss_mal_ganis::boss_mal_ganisAI::DamageTaken(), npc_eris_hevenfire::npc_eris_hevenfireAI::DoAction(), npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI::DoAction(), npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI::DoAction(), boss_kelthuzad_minion::boss_kelthuzad_minionAI::DoAction(), npc_akama_illidan::DoAction(), boss_dorothee::EnterEvadeMode(), boss_roar::EnterEvadeMode(), boss_strawman::EnterEvadeMode(), boss_tinhead::EnterEvadeMode(), boss_crone::EnterEvadeMode(), boss_bigbadwolf::EnterEvadeMode(), boss_julianne::EnterEvadeMode(), boss_romulo::EnterEvadeMode(), CritterAI::EnterEvadeMode(), npc_av_marshal_or_warmaster::npc_av_marshal_or_warmasterAI::EnterEvadeMode(), boss_drekthar::boss_drektharAI::EnterEvadeMode(), boss_vanndar::boss_vanndarAI::EnterEvadeMode(), boss_priestess_lackey_commonAI::EnterEvadeMode(), boss_kiljaeden::EnterEvadeMode(), npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI::EnterEvadeMode(), npc_amanishi_tempest::EnterEvadeMode(), boss_skeram::EnterEvadeMode(), npc_twiggy_flathead::npc_twiggy_flatheadAI::EnterEvadeMode(), npc_twilight_volunteer::EnterEvadeMode(), boss_black_knight::boss_black_knightAI::EnterEvadeMode(), boss_bronjahm::boss_bronjahmAI::EnterEvadeMode(), boss_devourer_of_souls::boss_devourer_of_soulsAI::EnterEvadeMode(), boss_falric::boss_falricAI::EnterEvadeMode(), boss_marwyn::boss_marwynAI::EnterEvadeMode(), npc_ghostly_priest::npc_ghostly_priestAI::EnterEvadeMode(), npc_phantom_mage::npc_phantom_mageAI::EnterEvadeMode(), npc_phantom_hallucination::npc_phantom_hallucinationAI::EnterEvadeMode(), npc_shadowy_mercenary::npc_shadowy_mercenaryAI::EnterEvadeMode(), npc_spectral_footman::npc_spectral_footmanAI::EnterEvadeMode(), npc_tortured_rifleman::npc_tortured_riflemanAI::EnterEvadeMode(), boss_frostsworn_general::boss_frostsworn_generalAI::EnterEvadeMode(), npc_hor_spiritual_reflection::npc_hor_spiritual_reflectionAI::EnterEvadeMode(), boss_garfrost::boss_garfrostAI::EnterEvadeMode(), boss_prince_keleseth_icc::boss_prince_kelesethAI::EnterEvadeMode(), boss_prince_taldaram_icc::boss_prince_taldaramAI::EnterEvadeMode(), boss_festergut::boss_festergutAI::EnterEvadeMode(), boss_rotface::boss_rotfaceAI::EnterEvadeMode(), npc_tirion_fordring_tft::npc_tirion_fordringAI::EnterEvadeMode(), boss_kelthuzad::boss_kelthuzadAI::EnterEvadeMode(), boss_noth::boss_nothAI::EnterEvadeMode(), boss_thaddius_summon::boss_thaddius_summonAI::EnterEvadeMode(), boss_malygos::boss_malygosAI::EnterEvadeMode(), npc_crystalline_frayer::EnterEvadeMode(), boss_urom::boss_uromAI::EnterEvadeMode(), boss_varos::boss_varosAI::EnterEvadeMode(), boss_algalon_the_observer::boss_algalon_the_observerAI::EnterEvadeMode(), boss_ignis::boss_ignisAI::EnterEvadeMode(), boss_mimiron::boss_mimironAI::EnterEvadeMode(), npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI::EnterEvadeMode(), boss_razorscale::boss_razorscaleAI::EnterEvadeMode(), boss_thorim::boss_thorimAI::EnterEvadeMode(), npc_ulduar_arachnopod_destroyer::npc_ulduar_arachnopod_destroyerAI::EnterEvadeMode(), boss_ingvar_the_plunderer::EnterEvadeMode(), boss_svala::boss_svalaAI::EnterEvadeMode(), boss_ymiron::boss_ymironAI::EnterEvadeMode(), boss_cyanigosa::boss_cyanigosaAI::EnterEvadeMode(), boss_erekem::boss_erekemAI::EnterEvadeMode(), boss_ichoron::boss_ichoronAI::EnterEvadeMode(), boss_lavanthor::boss_lavanthorAI::EnterEvadeMode(), boss_moragg::boss_moraggAI::EnterEvadeMode(), boss_xevozz::boss_xevozzAI::EnterEvadeMode(), boss_zuramat::boss_zuramatAI::EnterEvadeMode(), npc_wild_wyrm::npc_wild_wyrmAI::EnterEvadeMode(), npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI::EnterEvadeMode(), boss_shirrak_the_dead_watcher::EnterEvadeMode(), boss_blackheart_the_inciter::EnterEvadeMode(), boss_illidari_council_memberAI::EnterEvadeMode(), boss_fathomguard_sharkkis::EnterEvadeMode(), boss_fathomguard_tidalvess::EnterEvadeMode(), boss_fathomguard_caribdis::EnterEvadeMode(), boss_nethermancer_sepethrea::EnterEvadeMode(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::EnterEvadeMode(), NPCStaveQuestAI::EvadeOnFeignDeath(), spell_illidari_council_empyreal_balance::HandleAfterCast(), ScriptedAI::IsInRoom(), npc_dragonflayer_forge_master::JustEngagedWith(), FrostwingGauntletRespawner::operator()(), Creature::SelectVictim(), npc_warden_mellichar::npc_warden_mellicharAI::SetData(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::SpellHit(), npc_nether_drake::npc_nether_drakeAI::SpellHit(), npc_kiljaeden_controller::SummonedCreatureDies(), Unit::TauntFadeOut(), npc_av_marshal_or_warmaster::npc_av_marshal_or_warmasterAI::UpdateAI(), boss_drekthar::boss_drektharAI::UpdateAI(), boss_galvangar::boss_galvangarAI::UpdateAI(), boss_vanndar::boss_vanndarAI::UpdateAI(), npc_death_knight_initiate::npc_death_knight_initiateAI::UpdateAI(), npc_crusade_persuaded::npc_crusade_persuadedAI::UpdateAI(), npc_eris_hevenfire::npc_eris_hevenfireAI::UpdateAI(), npc_anachronos_the_ancient::npc_anachronos_the_ancientAI::UpdateAI(), npc_anachronos_quest_trigger::npc_anachronos_quest_triggerAI::UpdateAI(), npc_taskmaster_fizzule::npc_taskmaster_fizzuleAI::UpdateAI(), npc_plucky::npc_pluckyAI::UpdateAI(), boss_ick::boss_ickAI::UpdateAI(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::UpdateAI(), npc_icc_putricades_trap::npc_icc_putricades_trapAI::UpdateAI(), boss_volkhan::boss_volkhanAI::UpdateAI(), boss_algalon_the_observer::boss_algalon_the_observerAI::UpdateAI(), boss_flame_leviathan::boss_flame_leviathanAI::UpdateAI(), boss_hodir::boss_hodirAI::UpdateAI(), boss_xt002::boss_xt002AI::UpdateAI(), boss_palehoof::boss_palehoofAI::UpdateAI(), boss_skadi::boss_skadiAI::UpdateAI(), npc_sinkhole_kill_credit::npc_sinkhole_kill_creditAI::UpdateAI(), npc_battle_at_valhalas::npc_battle_at_valhalasAI::UpdateAI(), npc_warden_mellichar::npc_warden_mellicharAI::UpdateAI(), npc_magister_aledis::UpdateAI(), npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI::UpdateAI(), npc_unkor_the_ruthless::npc_unkor_the_ruthlessAI::UpdateAI(), npc_artorius::npc_artoriusAI::UpdateAI(), npc_simone::npc_simoneAI::UpdateAI(), npc_nelson::npc_nelsonAI::UpdateAI(), npc_franklin::npc_franklinAI::UpdateAI(), npc_chicken_cluck::npc_chicken_cluckAI::UpdateAI(), PassiveAI::UpdateAI(), InstanceScript::UpdateMinionState(), and UpdateVictim().

◆ GetBoundary()

CreatureBoundary const * CreatureAI::GetBoundary ( ) const
inline
214{ return _boundary; }

References _boundary.

◆ GetSummoner()

WorldObject * CreatureAI::GetSummoner ( ) const

Returns the summoner creature/object, if the creature is a temporary summon.

69{
70 if (TempSummon* summon = me->ToTempSummon())
71 return summon->GetSummoner();
72
73 return nullptr;
74}

References me, and Unit::ToTempSummon().

Referenced by npc_zuljin_vortex::ChangeToNewPlayer(), npc_janalai_hatcher::MovementInform(), npc_frost_tomb::npc_frost_tomb(), and npc_zuljin_vortex::Reset().

◆ IsEscorted()

virtual bool CreatureAI::IsEscorted ( )
inlinevirtual

Reimplemented in npc_escortAI, and SmartAI.

151{ return false; }

◆ IsInBoundary()

bool CreatureAI::IsInBoundary ( Position const *  who = nullptr) const
387{
388 if (!_boundary)
389 return true;
390
391 if (!who)
392 who = me;
393
395}
static bool IsInBounds(CreatureBoundary const &boundary, Position const *who)
Definition CreatureAI.cpp:397

References _boundary, _negateBoundary, IsInBounds(), and me.

Referenced by CheckInRoom(), boss_prince_valanar_icc::boss_prince_valanarAI::CheckRoom(), and BossAI::TeleportCheaters().

◆ IsInBounds()

bool CreatureAI::IsInBounds ( CreatureBoundary const &  boundary,
Position const *  who 
)
static
398{
399 for (AreaBoundary const* areaBoundary : boundary)
400 if (!areaBoundary->IsWithinBoundary(pos))
401 return false;
402
403 return true;
404}
Definition AreaBoundary.h:24

Referenced by IsInBoundary().

◆ IsSummonedBy()

virtual void CreatureAI::IsSummonedBy ( WorldObject )
inlinevirtual

Reimplemented in boss_gyth::boss_gythAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_rend_blackhand::boss_rend_blackhandAI, npc_corrupted_totem, boss_kormok, boss_jarien, boss_sothos, boss_gahzranka, npc_shade_of_jindo, npc_direbrew_minion, npc_hyjal_jaina::hyjalJainaAI, boss_aeonus, npc_clintar_spirit::npc_clintar_spiritAI, npc_taldaram_flamesphere, npc_onyx_flamecaller::npc_onyx_flamecallerAI, npc_living_inferno::npc_living_infernoAI, npc_kinetic_bomb::npc_kinetic_bombAI, npc_coldflame::npc_coldflameAI, npc_putricide_oozeAI, npc_big_ooze::npc_big_oozeAI, npc_raging_spirit::npc_raging_spiritAI, npc_lk_spirit_bomb::npc_lk_spirit_bombAI, npc_suppresser::npc_suppresserAI, npc_ulduar_saronite_vapors::npc_ulduar_saronite_vaporsAI, npc_anzu_spirit, npc_parasitic_shadowfiend, npc_blade_of_azzinoth, npc_flame_of_azzinoth, npc_supremus_punch_invisible_stalker, npc_raging_flames, npc_crashin_thrashin_robot, TriggerAI, SmartAI, npc_burning_spirit::npc_burning_spiritAI, npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI, npc_drakonid_spawner, boss_attumen, npc_demon_chain, npc_risen_guardian::npc_risen_guardianAI, npc_demonic_vapor, npc_tiger_matriarch::npc_tiger_matriarchAI, npc_bone_spike::npc_bone_spikeAI, npc_little_ooze::npc_little_oozeAI, npc_strangulate_vehicle::npc_strangulate_vehicleAI, boss_maexxna_webwrap::boss_maexxna_webwrapAI, npc_oculus_drake::npc_oculus_drakeAI, boss_kologarn_eyebeam::boss_kologarn_eyebeamAI, npc_wintergarde_gryphon, npc_spiritual_insight::npc_spiritual_insightAI, npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI, npc_frostbrood_skytalon::npc_frostbrood_skytalonAI, npc_maiev_illidan, npc_inner_demon, npc_invisible_tractor_beam_source, npc_oscillating_frequency_scanner_master_bunny::npc_oscillating_frequency_scanner_master_bunnyAI, npc_infernal_attacker::npc_infernal_attackerAI, npc_korkron_or_wildhammer, npc_kservant::npc_kservantAI, npc_pet_gen_fetch_ball, npc_spirit_shade::npc_spirit_shadeAI, npc_venomhide_hatchling::npc_venomhide_hatchlingAI, and npc_arcanite_dragonling.

135{}

Referenced by TempSummon::InitSummon().

◆ JustDied()

virtual void CreatureAI::JustDied ( Unit )
inlinevirtual

Reimplemented in NPCStaveQuestAI, PossessedAI, ScriptedAI, BossAI, WorldBossAI, npc_escortAI, FollowerAI, boss_balinda, boss_ambassador_flamelash::boss_ambassador_flamelashAI, boss_emperor_dagran_thaurissan::boss_draganthaurissanAI, boss_gyth::boss_gythAI, boss_halycon::boss_halyconAI, boss_highlord_omokk::boss_highlordomokkAI, boss_mor_grayhoof, boss_overlord_wyrmthalak::boss_overlordwyrmthalakAI, boss_pyroguard_emberseer::boss_pyroguard_emberseerAI, boss_quartermaster_zigris, boss_rend_blackhand::boss_rend_blackhandAI, boss_solakar_flamewreath::boss_solakar_flamewreathAI, boss_broodlord::boss_broodlordAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_nefarian, npc_corrupted_totem, boss_razorgore::boss_razorgoreAI, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, npc_flamewaker_priest::npc_flamewaker_priestAI, npc_chesspiece, boss_attumen, boss_malchezaar, boss_servant_quarters, boss_shade_of_aran, npc_kilrek, npc_demon_chain, boss_terestian_illhoof, boss_dorothee, boss_roar, boss_strawman, boss_tinhead, boss_crone, boss_bigbadwolf, boss_julianne, boss_romulo, boss_priestess_delrissa, boss_priestess_lackey_commonAI, boss_vexallus, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, boss_kormok, boss_apothecary_hummel::boss_apothecary_hummelAI, npc_apothecary_frye, npc_apothecary_baxter, boss_baroness_anastari::boss_baroness_anastariAI, boss_sacrolash, boss_alythess, boss_kalec, boss_sathrovarr, npc_kiljaeden_controller, boss_kiljaeden, boss_entropius, npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI, npc_deathstalker_fearleia, npc_ravenclaw_apparition::npc_ravenclaw_apparitionAI, boss_akilzon, boss_zuljin, npc_zulaman_hostage::npc_zulaman_hostageAI, boss_arlokk::boss_arlokkAI, npc_zulian_prowler::npc_zulian_prowlerAI, boss_hakkar::boss_hakkarAI, boss_mandokir::boss_mandokirAI, npc_ohgan::npc_ohganAI, npc_chained_spirit, npc_vilebranch_speaker, boss_thekal, npc_zealot_lorkhan, npc_zealot_zath, npc_coren_direbrew, npc_hallows_end_soh, boss_headless_horseman, boss_azuregos::boss_azuregosAI, npc_hyjal_jaina::hyjalJainaAI, npc_hyjal_thrall::hyjalThrallAI, npc_hyjal_tyrande::hyjalTyrandeAI, boss_epoch::boss_epochAI, boss_infinite_corruptor::boss_infinite_corruptorAI, boss_mal_ganis::boss_mal_ganisAI, boss_meathook::boss_meathookAI, boss_salramm::boss_salrammAI, npc_arthas::npc_arthasAI, boss_captain_skarloc, boss_lieutenant_drake, boss_aeonus, boss_chrono_lord_deja, boss_temporus, npc_medivh_bm, boss_isalien, npc_belnistrasz::npc_belnistraszAI, boss_moam, npc_anubisath_guardian, boss_rajaxx, npc_obsidian_destroyer, boss_eye_of_cthun, npc_eye_tentacle, npc_claw_tentacle, npc_giant_claw_tentacle, npc_giant_eye_tentacle, boss_sartura, boss_skeram, npc_anubisath_sentinel::aqsentinelAI, npc_anubisath_defender, npc_ahnqiraji_critter, npc_muglash::npc_muglashAI, npc_clintar_spirit::npc_clintar_spiritAI, npc_omen::npc_omenAI, npc_qiraj_war_spawn::npc_qiraj_war_spawnAI, npc_ame::npc_ameAI, boss_amanitar, boss_elder_nadox, boss_volazj, boss_jedoga_shadowseeker, npc_taldaram_flamesphere, boss_taldaram, boss_sartharion::boss_sartharionAI, boss_sartharion_dragonAI, npc_living_inferno::npc_living_infernoAI, npc_memory::npc_memoryAI, npc_argent_soldier::npc_argent_soldierAI, boss_black_knight::boss_black_knightAI, npc_toc5_grand_champion_minion::npc_toc5_grand_champion_minionAI, boss_anubarak_trial::boss_anubarak_trialAI, npc_swarm_scarab::npc_swarm_scarabAI, npc_nerubian_burrower::npc_nerubian_burrowerAI, boss_faction_championsAI, boss_jaraxxus::boss_jaraxxusAI, npc_fel_infernal::npc_fel_infernalAI, npc_mistress_of_pain::npc_mistress_of_painAI, npc_snobold_vassal::npc_snobold_vassalAI, boss_gormok::boss_gormokAI, boss_jormungarAI, boss_icehowl::boss_icehowlAI, boss_twin_valkyrAI, boss_bronjahm::boss_bronjahmAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, boss_falric::boss_falricAI, boss_marwyn::boss_marwynAI, npc_ghostly_priest::npc_ghostly_priestAI, npc_phantom_mage::npc_phantom_mageAI, npc_phantom_hallucination::npc_phantom_hallucinationAI, npc_shadowy_mercenary::npc_shadowy_mercenaryAI, npc_spectral_footman::npc_spectral_footmanAI, npc_tortured_rifleman::npc_tortured_riflemanAI, boss_frostsworn_general::boss_frostsworn_generalAI, npc_hor_spiritual_reflection::npc_hor_spiritual_reflectionAI, npc_hor_raging_ghoul::npc_hor_raging_ghoulAI, npc_hor_risen_witch_doctor::npc_hor_risen_witch_doctorAI, npc_hor_lumbering_abomination::npc_hor_lumbering_abominationAI, boss_garfrost::boss_garfrostAI, boss_ick::boss_ickAI, boss_tyrannus::boss_tyrannusAI, boss_drakkari_elemental::boss_drakkari_elementalAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_prince_valanar_icc::boss_prince_valanarAI, npc_dark_nucleus::npc_dark_nucleusAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_festergut::boss_festergutAI, npc_stinky_icc::npc_stinky_iccAI, npc_gunship::npc_gunshipAI, gunship_npc_AI, boss_lord_marrowgar, npc_bone_spike::npc_bone_spikeAI, boss_professor_putricide::boss_professor_putricideAI, boss_rotface::boss_rotfaceAI, npc_little_ooze::npc_little_oozeAI, npc_big_ooze::npc_big_oozeAI, npc_precious_icc::npc_precious_iccAI, boss_sindragosa::boss_sindragosaAI, npc_ice_tomb::npc_ice_tombAI, npc_spinestalker::npc_spinestalkerAI, npc_rimefang::npc_rimefangAI, boss_the_lich_king::boss_the_lich_kingAI, npc_raging_spirit::npc_raging_spiritAI, npc_spirit_warden::npc_spirit_wardenAI, npc_lk_wicked_spirit::npc_lk_wicked_spiritAI, npc_gluttonous_abomination::npc_gluttonous_abominationAI, npc_rotting_frost_giant::npc_rotting_frost_giantAI, boss_sister_svalna::boss_sister_svalnaAI, npc_argent_captainAI, npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI, npc_isle_of_conquest_turret::npc_isle_of_conquest_turretAI, npc_boss_gothik_minion::npc_boss_gothik_minionAI, boss_kelthuzad_minion::boss_kelthuzad_minionAI, boss_maexxna_webwrap::boss_maexxna_webwrapAI, boss_thaddius_summon::boss_thaddius_summonAI, npc_mr_bigglesworth, boss_malygos::boss_malygosAI, npc_nexus_lord::npc_nexus_lordAI, npc_eoe_wyrmrest_skytalon::npc_eoe_wyrmrest_skytalonAI, boss_drakos::boss_drakosAI, boss_eregos::boss_eregosAI, boss_urom::boss_uromAI, boss_varos::boss_varosAI, boss_bjarngrim::boss_bjarngrimAI, boss_ionar::boss_ionarAI, boss_loken::boss_lokenAI, boss_volkhan::boss_volkhanAI, boss_krystallus::boss_krystallusAI, boss_maiden_of_grief::boss_maiden_of_griefAI, boss_sjonnir::boss_sjonnirAI, boss_sjonnir_iron_sludge::boss_sjonnir_iron_sludgeAI, brann_bronzebeard::brann_bronzebeardAI, boss_steelbreaker::boss_steelbreakerAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_auriaya::boss_auriayaAI, npc_auriaya_feral_defender::npc_auriaya_feral_defenderAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_freya_iron_root::boss_freya_iron_rootAI, boss_freya_summons::boss_freya_summonsAI, boss_vezax::boss_vezaxAI, npc_ulduar_saronite_vapors::npc_ulduar_saronite_vaporsAI, npc_ulduar_saronite_animus::npc_ulduar_saronite_animusAI, npc_ulduar_hodir_priest::npc_ulduar_hodir_priestAI, npc_ulduar_hodir_druid::npc_ulduar_hodir_druidAI, npc_ulduar_hodir_shaman::npc_ulduar_hodir_shamanAI, npc_ulduar_hodir_mage::npc_ulduar_hodir_mageAI, npc_ulduar_iron_construct::npc_ulduar_iron_constructAI, boss_ignis::boss_ignisAI, boss_kologarn::boss_kologarnAI, boss_kologarn_arms::boss_kologarn_armsAI, boss_razorscale::boss_razorscaleAI, boss_thorim_start_npcs::boss_thorim_start_npcsAI, boss_thorim_runic_colossus::boss_thorim_runic_colossusAI, boss_thorim_ancient_rune_giant::boss_thorim_ancient_rune_giantAI, boss_xt002::boss_xt002AI, npc_xt002_heart::npc_xt002_heartAI, npc_xt002_boombot::npc_xt002_boombotAI, boss_yoggsaron_guardian_of_ys::boss_yoggsaron_guardian_of_ysAI, boss_yoggsaron::boss_yoggsaronAI, boss_yoggsaron_constrictor_tentacle::boss_yoggsaron_constrictor_tentacleAI, boss_yoggsaron_influence_tentacle::boss_yoggsaron_influence_tentacleAI, npc_ulduar_storm_tempered_keeper::npc_ulduar_storm_tempered_keeperAI, boss_ingvar_the_plunderer, boss_keleseth, boss_skarvald_the_constructor, boss_dalronn_the_controller, npc_dragonflayer_forge_master, boss_palehoof::boss_palehoofAI, npc_massive_jormungar::npc_massive_jormungarAI, npc_ferocious_rhino::npc_ferocious_rhinoAI, npc_ravenous_furbolg::npc_ravenous_furbolgAI, npc_frenzied_worgen::npc_frenzied_worgenAI, boss_skadi::boss_skadiAI, boss_svala::boss_svalaAI, boss_ymiron::boss_ymironAI, boss_archavon::boss_archavonAI, boss_emalon::boss_emalonAI, boss_koralon::boss_koralonAI, boss_toravon::boss_toravonAI, boss_cyanigosa::boss_cyanigosaAI, boss_erekem::boss_erekemAI, boss_ichoron::boss_ichoronAI, npc_ichor_globule::npc_ichor_globuleAI, boss_lavanthor::boss_lavanthorAI, boss_moragg::boss_moraggAI, boss_xevozz::boss_xevozzAI, boss_zuramat::boss_zuramatAI, npc_vh_void_sentry::npc_vh_void_sentryAI, npc_vh_teleportation_portal::npc_vh_teleportation_portalAI, violet_hold_trashAI, npc_mootoo_the_younger::npc_mootoo_the_youngerAI, npc_bonker_togglevolt::npc_bonker_togglevoltAI, npc_thassarian2::npc_thassarian2AI, npc_counselor_talbot::npc_counselor_talbotAI, npc_mindless_ghoul::npc_mindless_ghoulAI, npc_wintergarde_gryphon, npc_q24545_wretched_ghoul::npc_q24545_wretched_ghoulAI, npc_q24545_vegard::npc_q24545_vegardAI, npc_your_inner_turmoil::npc_your_inner_turmoilAI, npc_apothecary_hanes::npc_Apothecary_HanesAI, npc_blessed_banner::npc_blessed_bannerAI, npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI, npc_engineer_helice::npc_engineer_heliceAI, npc_frosthound::npc_frosthoundAI, npc_icefang::npc_icefangAI, boss_exarch_maladaar, boss_nexusprince_shaffar, boss_tavarok, boss_darkweaver_syth, boss_talon_king_ikiss, boss_ambassador_hellmaw, boss_blackheart_the_inciter, boss_grandmaster_vorpil, boss_illidari_council_memberAI, boss_essence_of_anger::boss_essence_of_angerAI, boss_doomlord_kazzak::boss_doomlordkazzakAI, boss_doomwalker, boss_fathomguard_sharkkis, boss_fathomguard_tidalvess, boss_fathomguard_caribdis, npc_inner_demon, boss_ahune, npc_frozen_core, npc_ahune_bunny, boss_mennu_the_betrayer, boss_hydromancer_thespia, boss_mekgineer_steamrigger, boss_warlord_kalithresh, boss_swamplord_muselek, boss_gruul, boss_high_king_maulgar, boss_olm_the_summoner, boss_kiggler_the_crazed, boss_blindeye_the_seer, boss_krosh_firehand, boss_kelidan_the_breaker, boss_the_maker, boss_omor_the_unscarred, boss_vazruden, boss_watchkeeper_gargolmar, boss_grand_warlock_nethekurse, npc_millhouse_manastorm::npc_millhouse_manastormAI, npc_warden_mellichar::npc_warden_mellicharAI, boss_dalliah_the_doomsayer, boss_harbinger_skyriss, boss_wrath_scryer_soccothrates, boss_zereketh_the_unbound, boss_commander_sarannis, boss_high_botanist_freywinn, boss_thorngrin_the_tender, boss_warp_splinter, advisor_baseAI, boss_gatewatcher_gyrokill, boss_gatewatcher_iron_hand, boss_mechano_lord_capacitus, boss_nethermancer_sepethrea, boss_pathaleon_the_calculator, npc_maghar_captive::npc_maghar_captiveAI, npc_kurenai_captive::npc_kurenai_captiveAI, npc_captain_saeed::npc_captain_saeedAI, npc_bessy::npc_bessyAI, npc_maxx_a_million_escort::npc_maxx_a_million_escortAI, npc_infernal_attacker::npc_infernal_attackerAI, npc_enslaved_netherwing_drake, npc_illidari_spawn::npc_illidari_spawnAI, npc_enraged_spirit::npc_enraged_spiritAI, npc_korkron_or_wildhammer, npc_isla_starmane::npc_isla_starmaneAI, npc_pet_dk_ghoul::npc_pet_dk_ghoulAI, boss_taerar::boss_taerarAI, CombatAI, GuardAI, SmartAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_curator, boss_maiden_of_virtue, boss_moroes, boss_netherspite, boss_felblood_kaelthas, boss_selin_fireheart, npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI, boss_jarien, boss_sothos, boss_brutallus, boss_felmyst, boss_halazzi, boss_janalai, boss_nalorakk, npc_amanishi_tempest, boss_jeklik, boss_marli, boss_venoxis, boss_anetheron, boss_azgalor, boss_kazrogal, boss_rage_winterchill, boss_epoch_hunter, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, boss_ayamiss, boss_buru, npc_buru_egg, boss_kurinnaxx, npc_general_andorov, boss_bug_trio, boss_cthun, boss_twinemperorsAI, npc_webbed_creature::npc_webbed_creatureAI, npc_cork_gizelton::npc_cork_gizeltonAI, boss_anub_arak::boss_anub_arakAI, boss_hadronox::boss_hadronoxAI, boss_krik_thir::boss_krik_thirAI, boss_sartharion_tenebron::boss_sartharion_tenebronAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_halion::boss_halionAI, boss_twilight_halion::boss_twilight_halionAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_novos::boss_novosAI, boss_tharon_ja::boss_tharon_jaAI, boss_trollgore::boss_trollgoreAI, boss_eck::boss_eckAI, boss_gal_darah::boss_gal_darahAI, boss_moorabi::boss_moorabiAI, boss_slad_ran::boss_slad_ranAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, npc_darnavan::npc_darnavanAI, npc_four_car_garage::npc_four_car_garageAI, boss_anubrekhan::boss_anubrekhanAI, boss_faerlina::boss_faerlinaAI, boss_four_horsemen::boss_four_horsemenAI, boss_gluth::boss_gluthAI, boss_gothik::boss_gothikAI, boss_grobbulus::boss_grobbulusAI, boss_heigan::boss_heiganAI, boss_kelthuzad::boss_kelthuzadAI, boss_loatheb::boss_loathebAI, boss_maexxna::boss_maexxnaAI, boss_noth::boss_nothAI, boss_patchwerk::boss_patchwerkAI, boss_razuvious::boss_razuviousAI, boss_sapphiron::boss_sapphironAI, boss_thaddius::boss_thaddiusAI, npc_scion_of_eternity::npc_scion_of_eternityAI, boss_anomalus, boss_commander_stoutbeard, boss_keristrasza, boss_magus_telestra, boss_ormorok, boss_flame_leviathan_defense_turret::boss_flame_leviathan_defense_turretAI, boss_freya_elder_stonebark::boss_freya_elder_stonebarkAI, boss_freya_elder_brightleaf::boss_freya_elder_brightleafAI, boss_freya_elder_ironbranch::boss_freya_elder_ironbranchAI, npc_xt002_scrapbot::npc_xt002_scrapbotAI, npc_frost_tomb, npc_nerubar_victim::npc_nerubar_victimAI, boss_pandemonius, boss_gurtogg_bloodboil, boss_illidan_stormrage, boss_mother_shahraz, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, boss_shade_of_akama, boss_teron_gorefiend, boss_najentus, boss_fathomlord_karathress, boss_hydross_the_unstable, boss_lady_vashj, boss_morogrim_tidewalker, boss_magtheridon, boss_porung, boss_warbringer_omrogg, boss_warchief_kargath_bladefist, boss_alar, boss_high_astromancer_solarian, boss_kaelthas, boss_void_reaver, npc_torloth_the_magnificent::npc_torloth_the_magnificentAI, and npc_simone::npc_simoneAI.

128{}

Referenced by boss_sindragosa::boss_sindragosaAI::SummonedCreatureDespawn(), and spell_igb_check_for_players::TriggerWipe().

◆ JustEngagedWith()

virtual void CreatureAI::JustEngagedWith ( Unit )
inlinevirtual

Called for reaction when initially engaged.

Reimplemented in boss_sartharion_dragonAI, CasterAI, CritterAI, ScriptedAI, BossAI, WorldBossAI, boss_balinda, boss_drekthar::boss_drektharAI, boss_galvangar::boss_galvangarAI, boss_vanndar::boss_vanndarAI, boss_ambassador_flamelash::boss_ambassador_flamelashAI, boss_anubshiah::boss_anubshiahAI, boss_emperor_dagran_thaurissan::boss_draganthaurissanAI, boss_eviscerator::boss_evisceratorAI, boss_general_angerforge::boss_general_angerforgeAI, boss_gorosh_the_dervish::boss_gorosh_the_dervishAI, boss_grizzle::boss_grizzleAI, boss_hedrum::boss_hedrumAI, boss_high_interrogator_gerstahn::boss_high_interrogator_gerstahnAI, boss_magmus::boss_magmusAI, boss_moira_bronzebeardAI, boss_high_priestess_thaurissanAI, boss_okthor::boss_okthorAI, boss_doomrel::boss_doomrelAI, boss_drakkisath::boss_drakkisathAI, boss_gyth::boss_gythAI, boss_halycon::boss_halyconAI, boss_highlord_omokk::boss_highlordomokkAI, boss_mor_grayhoof, boss_overlord_wyrmthalak::boss_overlordwyrmthalakAI, boss_pyroguard_emberseer::boss_pyroguard_emberseerAI, npc_blackhand_incarcerator::npc_blackhand_incarceratorAI, boss_rend_blackhand::boss_rend_blackhandAI, npc_rookery_hatcher::npc_rookery_hatcherAI, boss_solakar_flamewreath::boss_solakar_flamewreathAI, boss_the_beast::boss_thebeastAI, boss_urok_doomhowl::boss_urok_doomhowlAI, boss_warmaster_voone::boss_warmastervooneAI, boss_nefarian, boss_razorgore::boss_razorgoreAI, boss_baron_geddon::boss_baron_geddonAI, boss_garr::boss_garrAI, boss_gehennas::boss_gehennasAI, boss_lucifron::boss_lucifronAI, boss_magmadar::boss_magmadarAI, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, boss_shazzrah::boss_shazzrahAI, boss_sulfuron::boss_sulfuronAI, npc_flamewaker_priest::npc_flamewaker_priestAI, npc_lava_spawn, boss_mr_smite::boss_mr_smiteAI, boss_malchezaar, npc_netherspite_infernal, npc_malchezaar_axe, boss_servant_quarters, boss_shade_of_aran, npc_kilrek, npc_demon_chain, boss_terestian_illhoof, boss_dorothee, npc_tito, boss_roar, boss_strawman, boss_tinhead, boss_crone, npc_cyclone, boss_bigbadwolf, boss_julianne, boss_romulo, npc_barnes::npc_barnesAI, npc_image_of_medivh::npc_image_of_medivhAI, boss_priestess_delrissa, boss_vexallus, npc_unworthy_initiate::npc_unworthy_initiateAI, npc_crusade_persuaded::npc_crusade_persuadedAI, npc_scarlet_courier::npc_scarlet_courierAI, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, boss_kormok, npc_scholomance_occultist::npc_scholomance_occultistAI, boss_baroness_anastari::boss_baroness_anastariAI, boss_jarien, boss_sothos, boss_kalec, boss_sathrovarr, boss_kiljaeden, boss_entropius, npc_sunblade_scout, npc_sunblade_arch_mage, npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI, boss_twilight_corrupter, npc_sentinel_leader, npc_sentinel_infiltrator, npc_greengill_slave::npc_greengill_slaveAI, npc_deathstalker_fearleia, npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI, npc_highborne_lamenter::npc_highborne_lamenterAI, npc_the_scourge_cauldron::npc_the_scourge_cauldronAI, npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI, boss_akilzon, npc_akilzon_eagle, npc_janalai_hatcher, boss_zuljin, npc_forest_frog, npc_zulaman_hostage::npc_zulaman_hostageAI, npc_harrison_jones, npc_amanishi_tempest, npc_amanishi_scout, boss_arlokk::boss_arlokkAI, npc_zulian_prowler::npc_zulian_prowlerAI, boss_gahzranka, boss_grilek::boss_grilekAI, boss_hakkar::boss_hakkarAI, boss_hazzarah, npc_healing_ward, npc_shade_of_jindo, boss_mandokir::boss_mandokirAI, npc_vilebranch_speaker, npc_spawn_of_marli, boss_renataki::boss_renatakiAI, boss_thekal, npc_zealot_lorkhan, npc_zealot_zath, boss_venoxis, boss_wushoolay::boss_wushoolayAI, npc_dark_iron_attack_generator, npc_dark_iron_attack_mole_machine, npc_dark_iron_guzzler, npc_brewfest_super_brew_trigger, npc_coren_direbrew_sisters, npc_hallows_end_soh, boss_headless_horseman, boss_azuregos::boss_azuregosAI, npc_ancient_wisp, boss_archimonde, npc_hyjal_jaina::hyjalJainaAI, npc_hyjal_thrall::hyjalThrallAI, npc_hyjal_tyrande::hyjalTyrandeAI, npc_hyjal_ground_trash, npc_hyjal_gargoyle, npc_hyjal_frost_wyrm, boss_epoch::boss_epochAI, boss_infinite_corruptor::boss_infinite_corruptorAI, boss_mal_ganis::boss_mal_ganisAI, boss_meathook::boss_meathookAI, boss_salramm::boss_salrammAI, npc_arthas::npc_arthasAI, boss_captain_skarloc, boss_epoch_hunter, boss_lieutenant_drake, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, boss_aeonus, boss_chrono_lord_deja, boss_temporus, boss_isalien, npc_onyxian_lair_guard, npc_anubisath_guardian, boss_rajaxx, npc_general_andorov, npc_obsidian_destroyer, boss_cthun, npc_eye_tentacle, npc_claw_tentacle, npc_giant_claw_tentacle, npc_giant_eye_tentacle, npc_dirt_mound, npc_sartura_royal_guard, boss_skeram, npc_anubisath_defender, npc_obsidian_eradicator, npc_anubisath_warder, npc_obsidian_nullifier, npc_ahnqiraji_critter, npc_muglash::npc_muglashAI, npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI, npc_depth_charge::npc_depth_chargeAI, npc_draenei_survivor::npc_draenei_survivorAI, npc_injured_draenei::npc_injured_draeneiAI, npc_webbed_creature::npc_webbed_creatureAI, npc_murkdeep::npc_murkdeepAI, npc_tiger_matriarch::npc_tiger_matriarchAI, npc_omen::npc_omenAI, npc_shenthul::npc_shenthulAI, npc_thrall_warchief::npc_thrall_warchiefAI, npc_qiraj_war_spawn::npc_qiraj_war_spawnAI, npc_custodian_of_time::npc_custodian_of_timeAI, npc_taskmaster_fizzule::npc_taskmaster_fizzuleAI, npc_twiggy_flathead::npc_twiggy_flatheadAI, boss_amanitar, npc_amanitar_mushrooms, boss_elder_nadox, boss_volazj, boss_jedoga_shadowseeker, boss_taldaram, boss_anub_arak::boss_anub_arakAI, boss_hadronox::boss_hadronoxAI, npc_anub_ar_crusher::npc_anub_ar_crusherAI, npc_baltharus_the_warborn_clone::npc_baltharus_the_warborn_cloneAI, npc_onyx_flamecaller::npc_onyx_flamecallerAI, boss_twilight_halion::boss_twilight_halionAI, boss_eadric::boss_eadricAI, boss_paletress::boss_paletressAI, npc_argent_soldier::npc_argent_soldierAI, npc_black_knight_ghoul::npc_black_knight_ghoulAI, npc_toc5_grand_champion_minion::npc_toc5_grand_champion_minionAI, boss_grand_champion::boss_grand_championAI, boss_anubarak_trial::boss_anubarak_trialAI, npc_swarm_scarab::npc_swarm_scarabAI, boss_faction_championsAI, boss_jaraxxus::boss_jaraxxusAI, npc_snobold_vassal::npc_snobold_vassalAI, boss_gormok::boss_gormokAI, boss_jormungarAI, boss_icehowl::boss_icehowlAI, boss_twin_valkyrAI, boss_bronjahm::boss_bronjahmAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, boss_falric::boss_falricAI, boss_marwyn::boss_marwynAI, npc_ghostly_priest::npc_ghostly_priestAI, npc_phantom_mage::npc_phantom_mageAI, npc_shadowy_mercenary::npc_shadowy_mercenaryAI, npc_spectral_footman::npc_spectral_footmanAI, npc_tortured_rifleman::npc_tortured_riflemanAI, boss_frostsworn_general::boss_frostsworn_generalAI, npc_hor_spiritual_reflection::npc_hor_spiritual_reflectionAI, npc_hor_risen_witch_doctor::npc_hor_risen_witch_doctorAI, npc_hor_lumbering_abomination::npc_hor_lumbering_abominationAI, boss_garfrost::boss_garfrostAI, boss_ick::boss_ickAI, npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI, boss_drakkari_elemental::boss_drakkari_elementalAI, npc_stinky_icc::npc_stinky_iccAI, npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI, npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI, npc_gunship_boarding_leader::npc_gunship_boarding_leaderAI, npc_cult_fanatic::npc_cult_fanaticAI, npc_cult_adherent::npc_cult_adherentAI, npc_darnavan::npc_darnavanAI, boss_lord_marrowgar, npc_precious_icc::npc_precious_iccAI, npc_rimefang::npc_rimefangAI, npc_risen_archmage::npc_risen_archmageAI, boss_sister_svalna::boss_sister_svalnaAI, npc_argent_captainAI, npc_frostwing_vrykul::npc_frostwing_vrykulAI, npc_icc_skybreaker_hierophant::npc_icc_skybreaker_hierophantAI, npc_icc_skybreaker_marksman::npc_icc_skybreaker_marksmanAI, npc_icc_skybreaker_vicar::npc_icc_skybreaker_vicarAI, npc_icc_skybreaker_luminary::npc_icc_skybreaker_luminaryAI, npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI, npc_icc_spire_frostwyrm, npc_icc_nerubar_broodkeeper::npc_icc_nerubar_broodkeeperAI, boss_isle_of_conquest::boss_isle_of_conquestAI, npc_boss_gothik_minion::npc_boss_gothik_minionAI, npc_gothik_trigger::npc_gothik_triggerAI, boss_kelthuzad_minion::boss_kelthuzad_minionAI, npc_tesla::npc_teslaAI, boss_malygos::boss_malygosAI, npc_nexus_lord::npc_nexus_lordAI, npc_crystalline_frayer, boss_drakos::boss_drakosAI, boss_eregos::boss_eregosAI, boss_urom::boss_uromAI, boss_varos::boss_varosAI, npc_centrifuge_construct::npc_centrifuge_constructAI, boss_bjarngrim::boss_bjarngrimAI, npc_stormforged_lieutenant::npc_stormforged_lieutenantAI, boss_ionar::boss_ionarAI, boss_loken::boss_lokenAI, boss_volkhan::boss_volkhanAI, npc_hol_monument::npc_hol_monumentAI, boss_krystallus::boss_krystallusAI, boss_maiden_of_grief::boss_maiden_of_griefAI, boss_sjonnir::boss_sjonnirAI, boss_sjonnir_iron_sludge::boss_sjonnir_iron_sludgeAI, boss_sjonnir_malformed_ooze::boss_sjonnir_malformed_oozeAI, dark_rune_protectors::dark_rune_protectorsAI, dark_rune_stormcaller::dark_rune_stormcallerAI, iron_golem_custodian::iron_golem_custodianAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_auriaya::boss_auriayaAI, npc_auriaya_sanctum_sentry::npc_auriaya_sanctum_sentryAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_freya::boss_freyaAI, boss_freya_elder_stonebark::boss_freya_elder_stonebarkAI, boss_freya_elder_brightleaf::boss_freya_elder_brightleafAI, boss_freya_elder_ironbranch::boss_freya_elder_ironbranchAI, boss_freya_summons::boss_freya_summonsAI, boss_vezax::boss_vezaxAI, boss_hodir::boss_hodirAI, boss_ignis::boss_ignisAI, boss_kologarn::boss_kologarnAI, boss_mimiron::boss_mimironAI, boss_razorscale::boss_razorscaleAI, boss_thorim::boss_thorimAI, boss_thorim_sif_blizzard::boss_thorim_sif_blizzardAI, boss_thorim_start_npcs::boss_thorim_start_npcsAI, boss_thorim_gauntlet_npcs::boss_thorim_gauntlet_npcsAI, boss_thorim_runic_colossus::boss_thorim_runic_colossusAI, boss_thorim_ancient_rune_giant::boss_thorim_ancient_rune_giantAI, boss_thorim_arena_npcs::boss_thorim_arena_npcsAI, boss_xt002::boss_xt002AI, boss_yoggsaron_keeper, npc_ulduar_storm_tempered_keeper::npc_ulduar_storm_tempered_keeperAI, boss_ingvar_the_plunderer, boss_keleseth, npc_dragonflayer_forge_master, boss_palehoof::boss_palehoofAI, npc_massive_jormungar::npc_massive_jormungarAI, npc_ferocious_rhino::npc_ferocious_rhinoAI, npc_ravenous_furbolg::npc_ravenous_furbolgAI, npc_frenzied_worgen::npc_frenzied_worgenAI, boss_skadi::boss_skadiAI, boss_skadi_grauf::boss_skadi_graufAI, boss_svala::boss_svalaAI, boss_ymiron::boss_ymironAI, boss_archavon::boss_archavonAI, boss_emalon::boss_emalonAI, boss_koralon::boss_koralonAI, boss_toravon::boss_toravonAI, npc_frozen_orb::npc_frozen_orbAI, boss_cyanigosa::boss_cyanigosaAI, boss_ichoron::boss_ichoronAI, boss_lavanthor::boss_lavanthorAI, boss_moragg::boss_moraggAI, boss_xevozz::boss_xevozzAI, boss_zuramat::boss_zuramatAI, npc_imprisoned_beryl_sorcerer::npc_imprisoned_beryl_sorcererAI, npc_warmage_coldarra::npc_warmage_coldarraAI, npc_counselor_talbot::npc_counselor_talbotAI, npc_mageguard_dalaran::npc_mageguard_dalaranAI, npc_dalaran_mage::npc_dalaran_mageAI, npc_dalaran_warrior::npc_dalaran_warriorAI, npc_emily::npc_emilyAI, npc_wounded_skirmisher, npc_blessed_banner::npc_blessed_bannerAI, npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI, npc_frosthound::npc_frosthoundAI, npc_time_lost_proto_drake::npc_time_lost_proto_drakeAI, npc_icefang::npc_icefangAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, boss_exarch_maladaar, boss_shirrak_the_dead_watcher, boss_nexusprince_shaffar, npc_yor, boss_tavarok, boss_anzu, boss_darkweaver_syth, boss_talon_king_ikiss, boss_ambassador_hellmaw, boss_blackheart_the_inciter, boss_grandmaster_vorpil, npc_akama_illidan, npc_maiev_illidan, npc_flame_of_azzinoth, boss_illidari_council_memberAI, boss_essence_of_suffering::boss_essence_of_sufferingAI, boss_essence_of_desire::boss_essence_of_desireAI, boss_essence_of_anger::boss_essence_of_angerAI, npc_akama_shade, boss_doomlord_kazzak::boss_doomlordkazzakAI, boss_doomwalker, boss_mennu_the_betrayer, boss_quagmirran, boss_rokmar_the_crackler, boss_hydromancer_thespia, boss_mekgineer_steamrigger, boss_warlord_kalithresh, boss_ghazan, boss_hungarfen, boss_swamplord_muselek, boss_the_black_stalker, npc_underbat, boss_gruul, boss_high_king_maulgar, boss_olm_the_summoner, boss_kiggler_the_crazed, boss_blindeye_the_seer, boss_krosh_firehand, boss_broggok, boss_kelidan_the_breaker, boss_the_maker, boss_omor_the_unscarred, boss_nazan, boss_vazruden, boss_watchkeeper_gargolmar, npc_millhouse_manastorm::npc_millhouse_manastormAI, npc_warden_mellichar::npc_warden_mellicharAI, boss_dalliah_the_doomsayer, boss_harbinger_skyriss, boss_wrath_scryer_soccothrates, boss_zereketh_the_unbound, boss_commander_sarannis, boss_high_botanist_freywinn, boss_thorngrin_the_tender, boss_warp_splinter, advisor_baseAI, boss_gatewatcher_gyrokill, boss_gatewatcher_iron_hand, boss_mechano_lord_capacitus, boss_nethermancer_sepethrea, boss_pathaleon_the_calculator, npc_nether_drake::npc_nether_drakeAI, npc_daranelle::npc_daranelleAI, npc_wounded_blood_elf::npc_wounded_blood_elfAI, npc_maghar_captive::npc_maghar_captiveAI, npc_creditmarker_visit_with_ancestors::npc_creditmarker_visit_with_ancestorsAI, npc_kurenai_captive::npc_kurenai_captiveAI, npc_commander_dawnforge::npc_commander_dawnforgeAI, npc_dragonmaw_peon::npc_dragonmaw_peonAI, npc_torloth_the_magnificent::npc_torloth_the_magnificentAI, npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI, npc_illidari_spawn::npc_illidari_spawnAI, npc_enraged_spirit::npc_enraged_spiritAI, npc_unkor_the_ruthless::npc_unkor_the_ruthlessAI, npc_isla_starmane::npc_isla_starmaneAI, npc_pet_shaman_earth_elemental, npc_pet_shaman_fire_elemental, npc_precious::npc_preciousAI, npc_chicken_cluck::npc_chicken_cluckAI, npc_dancing_flames::npc_dancing_flamesAI, npc_doctor::npc_doctorAI, npc_injured_patient::npc_injured_patientAI, npc_garments_of_quests::npc_garments_of_questsAI, npc_guardian::npc_guardianAI, npc_steam_tonk::npc_steam_tonkAI, npc_spring_rabbit::npc_spring_rabbitAI, npc_arcanite_dragonling, boss_ayamiss, npc_buru_egg, SmartAI, boss_sartharion::boss_sartharionAI, boss_thaddius_summon::boss_thaddius_summonAI, boss_the_lich_king::boss_the_lich_kingAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, CombatAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_quartermaster_zigris, boss_broodlord::boss_broodlordAI, boss_chromaggus::boss_chromaggusAI, boss_ebonroc::boss_ebonrocAI, boss_firemaw::boss_firemawAI, boss_flamegor::boss_flamegorAI, boss_vaelastrasz::boss_vaelAI, boss_curator, boss_maiden_of_virtue, boss_midnight, boss_moroes, boss_netherspite, boss_nightbane, boss_felblood_kaelthas, boss_priestess_lackey_commonAI, boss_kagani_nightstrike, boss_ellris_duskhallow, boss_eramas_brightblaze, boss_yazzai, boss_warlord_salaris, boss_garaxxas, boss_apoko, boss_zelfan, boss_selin_fireheart, npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI, boss_brutallus, boss_sacrolash, boss_alythess, boss_felmyst, boss_kalecgos, boss_muru, npc_rinji::npc_rinjiAI, npc_deathstalker_erland::npc_deathstalker_erlandAI, npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, npc_marzon_silent_blade::npc_marzon_silent_bladeAI, boss_halazzi, boss_hexlord_malacrass, boss_alyson_antille, boss_janalai, boss_nalorakk, boss_jeklik, npc_batrider, boss_jindo, npc_ohgan::npc_ohganAI, boss_marli, npc_direbrew_antagonist, boss_anetheron, boss_azgalor, boss_kazrogal, boss_rage_winterchill, boss_onyxia, npc_belnistrasz::npc_belnistraszAI, boss_buru, boss_kurinnaxx, boss_moam, boss_ossirian, npc_hivezara_stinger, boss_kri, boss_vem, boss_yauj, boss_eye_of_cthun, boss_fankriss, boss_huhuran, boss_ouro, boss_sartura, boss_twinemperorsAI, boss_veknilash, boss_veklor, boss_viscidus, npc_anubisath_sentinel::aqsentinelAI, npc_vekniss_stinger, npc_magwin::npc_magwinAI, npc_prospector_remtravel::npc_prospector_remtravelAI, npc_aquementas::npc_aquementasAI, npc_gilthares::npc_giltharesAI, boss_krik_thir::boss_krik_thirAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_halion::boss_halionAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_dred::boss_dredAI, boss_novos::boss_novosAI, boss_tharon_ja::boss_tharon_jaAI, boss_trollgore::boss_trollgoreAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_eck::boss_eckAI, boss_gal_darah::boss_gal_darahAI, boss_moorabi::boss_moorabiAI, boss_slad_ran::boss_slad_ranAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_festergut::boss_festergutAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_professor_putricide::boss_professor_putricideAI, boss_rotface::boss_rotfaceAI, boss_sindragosa::boss_sindragosaAI, npc_sindragosa_trash::npc_sindragosa_trashAI, boss_anubrekhan::boss_anubrekhanAI, boss_faerlina::boss_faerlinaAI, boss_four_horsemen::boss_four_horsemenAI, boss_gluth::boss_gluthAI, boss_gothik::boss_gothikAI, boss_grobbulus::boss_grobbulusAI, boss_heigan::boss_heiganAI, boss_kelthuzad::boss_kelthuzadAI, boss_loatheb::boss_loathebAI, boss_maexxna::boss_maexxnaAI, boss_noth::boss_nothAI, boss_patchwerk::boss_patchwerkAI, boss_razuvious::boss_razuviousAI, boss_razuvious_minion::boss_razuvious_minionAI, boss_sapphiron::boss_sapphironAI, boss_thaddius::boss_thaddiusAI, boss_anomalus, boss_commander_stoutbeard, boss_keristrasza, boss_magus_telestra, boss_ormorok, boss_steelbreaker::boss_steelbreakerAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_skarvald_the_constructor, boss_dalronn_the_controller, boss_erekem::boss_erekemAI, npc_erekem_guard::npc_erekem_guardAI, violet_hold_trashAI, npc_beryl_sorcerer::npc_beryl_sorcererAI, npc_torturer_lecraft::npc_torturer_lecraftAI, npc_mrfloppy::npc_mrfloppyAI, boss_pandemonius, boss_murmur, boss_gurtogg_bloodboil, boss_illidan_stormrage, boss_gathios_the_shatterer, boss_high_nethermancer_zerevor, boss_lady_malande, boss_veras_darkshadow, boss_mother_shahraz, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, boss_supremus, boss_teron_gorefiend, boss_najentus, boss_fathomlord_karathress, boss_fathomguard_sharkkis, boss_fathomguard_tidalvess, boss_fathomguard_caribdis, boss_hydross_the_unstable, boss_lady_vashj, boss_the_lurker_below, boss_morogrim_tidewalker, boss_ahune, boss_magtheridon, boss_grand_warlock_nethekurse, boss_porung, boss_warbringer_omrogg, boss_warchief_kargath_bladefist, boss_alar, boss_high_astromancer_solarian, boss_void_reaver, npc_captain_saeed::npc_captain_saeedAI, boss_ysondre::boss_ysondreAI, boss_lethon::boss_lethonAI, boss_emeriss::boss_emerissAI, boss_taerar::boss_taerarAI, npc_artorius::npc_artoriusAI, npc_simone::npc_simoneAI, npc_nelson::npc_nelsonAI, and npc_franklin::npc_franklinAI.

125{}

Referenced by npc_batrider::JustEngagedWith(), and boss_taerar::boss_taerarAI::JustEngagedWith().

◆ JustReachedHome()

virtual void CreatureAI::JustReachedHome ( )
inlinevirtual

Reimplemented in BossAI, SmartAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_majordomo::boss_majordomoAI, boss_moroes, boss_nightbane, boss_dorothee, boss_roar, boss_strawman, boss_tinhead, boss_crone, boss_bigbadwolf, boss_julianne, boss_romulo, npc_scholomance_occultist::npc_scholomance_occultistAI, boss_arlokk::boss_arlokkAI, boss_headless_horseman, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, boss_aeonus, npc_weegli_blastfuse::npc_weegli_blastfuseAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_jaraxxus::boss_jaraxxusAI, boss_gormok::boss_gormokAI, boss_jormungarAI, boss_icehowl::boss_icehowlAI, boss_twin_valkyrAI, boss_bronjahm::boss_bronjahmAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_gal_darah::boss_gal_darahAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_festergut::boss_festergutAI, boss_lord_marrowgar, boss_professor_putricide::boss_professor_putricideAI, boss_rotface::boss_rotfaceAI, npc_spinestalker::npc_spinestalkerAI, npc_rimefang::npc_rimefangAI, npc_tirion_fordring_tft::npc_tirion_fordringAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI, npc_icc_spire_frostwyrm, npc_icc_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI, npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI, npc_icc_putricades_trap::npc_icc_putricades_trapAI, boss_kelthuzad_minion::boss_kelthuzad_minionAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_steelbreaker::boss_steelbreakerAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_auriaya::boss_auriayaAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_freya::boss_freyaAI, boss_vezax::boss_vezaxAI, npc_ulduar_iron_construct::npc_ulduar_iron_constructAI, boss_ignis::boss_ignisAI, boss_mimiron::boss_mimironAI, boss_razorscale::boss_razorscaleAI, boss_thorim::boss_thorimAI, boss_xt002::boss_xt002AI, boss_palehoof::boss_palehoofAI, npc_massive_jormungar::npc_massive_jormungarAI, npc_ferocious_rhino::npc_ferocious_rhinoAI, npc_ravenous_furbolg::npc_ravenous_furbolgAI, npc_frenzied_worgen::npc_frenzied_worgenAI, violet_hold_trashAI, npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI, npc_akama_illidan, boss_fathomlord_karathress, boss_hydross_the_unstable, boss_ghazan, boss_grand_warlock_nethekurse, boss_alar, npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI, and npc_precious::npc_preciousAI.

165{}

Referenced by HomeMovementGenerator< Creature >::DoFinalize(), npc_spinestalker::npc_spinestalkerAI::JustReachedHome(), npc_rimefang::npc_rimefangAI::JustReachedHome(), npc_tirion_fordring_tft::npc_tirion_fordringAI::JustReachedHome(), npc_icc_spire_frostwyrm::JustReachedHome(), and boss_mimiron::boss_mimironAI::JustReachedHome().

◆ JustRespawned()

virtual void CreatureAI::JustRespawned ( )
inlinevirtual

◆ JustSummoned()

virtual void CreatureAI::JustSummoned ( Creature )
inlinevirtual

Reimplemented in ScriptedAI, npc_prospector_remtravel::npc_prospector_remtravelAI, boss_eydis::boss_eydisAI, boss_fjola::boss_fjolaAI, boss_ick::boss_ickAI, boss_drakos::boss_drakosAI, boss_varos::boss_varosAI, boss_exarch_maladaar, npc_toc_warlock::npc_toc_warlockAI, npc_toc_hunter::npc_toc_hunterAI, npc_toc_boomkin::npc_toc_boomkinAI, boss_ambassador_flamelash::boss_ambassador_flamelashAI, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_headless_horseman, boss_infinite_corruptor::boss_infinite_corruptorAI, boss_salramm::boss_salrammAI, npc_arthas::npc_arthasAI, boss_anubrekhan::boss_anubrekhanAI, boss_grobbulus::boss_grobbulusAI, boss_kelthuzad::boss_kelthuzadAI, boss_loatheb::boss_loathebAI, boss_maexxna::boss_maexxnaAI, boss_razuvious::boss_razuviousAI, boss_thaddius::boss_thaddiusAI, brann_bronzebeard::brann_bronzebeardAI, boss_auriaya::boss_auriayaAI, boss_flame_leviathan::boss_flame_leviathanAI, npc_freya_ward::npc_freya_wardAI, npc_mimirons_inferno::npc_mimirons_infernoAI, boss_freya::boss_freyaAI, boss_kologarn::boss_kologarnAI, boss_thorim::boss_thorimAI, boss_xt002::boss_xt002AI, npc_xt002_heart::npc_xt002_heartAI, boss_yoggsaron_cloud::boss_yoggsaron_cloudAI, boss_yoggsaron::boss_yoggsaronAI, boss_yoggsaron_brain::boss_yoggsaron_brainAI, boss_toravon::boss_toravonAI, npc_frozen_orb_stalker::npc_frozen_orb_stalkerAI, npc_frosthound::npc_frosthoundAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, SmartAI, boss_muru, npc_eris_hevenfire::npc_eris_hevenfireAI, npc_daphne_stilwell::npc_daphne_stilwellAI, npc_coren_direbrew, npc_time_rift, boss_ossirian, npc_ouro_spawner, npc_dirt_mound, boss_skeram, npc_battle_at_valhalas::npc_battle_at_valhalasAI, boss_mekgineer_steamrigger, npc_warchief_portal, npc_archmage_landalock::npc_archmage_landalockAI, boss_dalronn_the_controller, boss_eregos::boss_eregosAI, boss_urom::boss_uromAI, boss_ichoron::boss_ichoronAI, boss_xevozz::boss_xevozzAI, boss_zuramat::boss_zuramatAI, npc_vh_teleportation_portal::npc_vh_teleportation_portalAI, boss_twin_valkyrAI, npc_hor_lich_king::npc_hor_lich_kingAI, npc_pos_leader::npc_pos_leaderAI, npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI, npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI, boss_hodir::boss_hodirAI, boss_mimiron::boss_mimironAI, npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI, boss_razorscale::boss_razorscaleAI, npc_ulduar_storm_tempered_keeper::npc_ulduar_storm_tempered_keeperAI, boss_ingvar_the_plunderer, BossAI, WorldBossAI, npc_grimstone::npc_grimstoneAI, boss_gyth::boss_gythAI, boss_rend_blackhand::boss_rend_blackhandAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_razorgore::boss_razorgoreAI, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, npc_echo_of_medivh, boss_curator, boss_attumen, boss_midnight, boss_nightbane, boss_priestess_delrissa, boss_priestess_lackey_commonAI, boss_vexallus, boss_kormok, boss_sacrolash, npc_demonic_vapor_trail, npc_kiljaeden_controller, boss_kiljaeden, npc_kalecgos_kj, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, npc_ravenclaw_apparition::npc_ravenclaw_apparitionAI, boss_halazzi, boss_janalai, npc_amanishi_tempest, boss_hazzarah, boss_jindo, boss_anetheron, boss_captain_skarloc, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, npc_medivh_bm, boss_isalien, boss_onyxia, npc_hive_zara_larva, npc_general_andorov, boss_eye_of_cthun, boss_amanitar, boss_jedoga_shadowseeker, boss_taldaram, boss_anub_arak::boss_anub_arakAI, boss_hadronox::boss_hadronoxAI, npc_anub_ar_crusher::npc_anub_ar_crusherAI, boss_krik_thir::boss_krik_thirAI, boss_sartharion::boss_sartharionAI, boss_sartharion_dragonAI, boss_sartharion_tenebron::boss_sartharion_tenebronAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_halion::boss_halionAI, boss_paletress::boss_paletressAI, boss_black_knight::boss_black_knightAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_jaraxxus::boss_jaraxxusAI, boss_gormok::boss_gormokAI, boss_novos::boss_novosAI, boss_trollgore::boss_trollgoreAI, boss_bronjahm::boss_bronjahmAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_gal_darah::boss_gal_darahAI, boss_slad_ran::boss_slad_ranAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_professor_putricide::boss_professor_putricideAI, boss_rotface::boss_rotfaceAI, npc_precious_icc::npc_precious_iccAI, boss_sindragosa::boss_sindragosaAI, boss_the_lich_king::boss_the_lich_kingAI, boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI, npc_the_lich_king_controller::npc_the_lich_king_controllerAI, npc_risen_archmage::npc_risen_archmageAI, npc_gluttonous_abomination::npc_gluttonous_abominationAI, npc_frostwing_vrykul::npc_frostwing_vrykulAI, npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI, npc_icc_putricades_trap::npc_icc_putricades_trapAI, boss_gluth::boss_gluthAI, boss_gothik::boss_gothikAI, npc_gothik_trigger::npc_gothik_triggerAI, boss_noth::boss_nothAI, boss_malygos::boss_malygosAI, boss_anomalus, boss_magus_telestra, boss_ormorok, boss_volkhan::boss_volkhanAI, boss_algalon_the_observer::boss_algalon_the_observerAI, npc_collapsing_star::npc_collapsing_starAI, npc_algalon_worm_hole::npc_algalon_worm_holeAI, boss_vezax::boss_vezaxAI, boss_yoggsaron_sara::boss_yoggsaron_saraAI, boss_yoggsaron_keeper, boss_svala::boss_svalaAI, boss_emalon::boss_emalonAI, npc_q24545_lich_king::npc_q24545_lich_kingAI, npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI, boss_shirrak_the_dead_watcher, boss_nexusprince_shaffar, boss_grandmaster_vorpil, boss_gurtogg_bloodboil, boss_illidan_stormrage, npc_akama_illidan, npc_blade_of_azzinoth, npc_flame_of_azzinoth, boss_veras_darkshadow, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, npc_akama_shade, npc_creature_generator_akama, boss_supremus, boss_teron_gorefiend, boss_fathomlord_karathress, boss_fathomguard_sharkkis, boss_fathomguard_tidalvess, boss_fathomguard_caribdis, boss_hydross_the_unstable, boss_lady_vashj, boss_morogrim_tidewalker, npc_ahune_bunny, boss_mennu_the_betrayer, boss_the_black_stalker, boss_olm_the_summoner, boss_omor_the_unscarred, boss_vazruden_the_herald, boss_warchief_kargath_bladefist, npc_warden_mellichar::npc_warden_mellicharAI, boss_harbinger_skyriss, boss_high_astromancer_solarian, boss_kaelthas, boss_mechano_lord_capacitus, boss_nethermancer_sepethrea, emerald_dragonAI, npc_nelson::npc_nelsonAI, boss_balinda, boss_vaelastrasz::boss_vaelAI, boss_terestian_illhoof, npc_koltira_deathweaver::npc_koltira_deathweaverAI, npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI, npc_rinji::npc_rinjiAI, npc_deathstalker_fearleia, npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI, npc_thrall_bfu::npc_thrall_bfuAI, npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI, boss_archimonde, npc_muglash::npc_muglashAI, npc_kaya_flathoof::npc_kaya_flathoofAI, npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI, npc_ame::npc_ameAI, npc_emily::npc_emilyAI, npc_blessed_banner::npc_blessed_bannerAI, boss_broggok, npc_deaths_door_fell_cannon_target_bunny::npc_deaths_door_fell_cannon_target_bunnyAI, npc_wounded_blood_elf::npc_wounded_blood_elfAI, npc_maghar_captive::npc_maghar_captiveAI, npc_kurenai_captive::npc_kurenai_captiveAI, npc_commander_dawnforge::npc_commander_dawnforgeAI, npc_bessy::npc_bessyAI, npc_varian_wrynn::npc_varian_wrynnAI, boss_ayamiss, and npc_buru_egg.

134{}

Referenced by spell_hodir_flash_freeze_aura::HandleEffectPeriodic(), spell_putricide_mutated_transformation::HandleSummon(), TempSummon::InitSummon(), npc_claw_tentacle::npc_claw_tentacle(), npc_eye_tentacle::npc_eye_tentacle(), npc_giant_claw_tentacle::npc_giant_claw_tentacle(), and npc_giant_eye_tentacle::npc_giant_eye_tentacle().

◆ KilledUnit()

virtual void CreatureAI::KilledUnit ( Unit )
inlinevirtual

Reimplemented in PetAI, ScriptedAI, boss_emperor_dagran_thaurissan::boss_draganthaurissanAI, boss_midnight, boss_malchezaar, boss_shade_of_aran, boss_roar, boss_strawman, boss_tinhead, boss_crone, boss_bigbadwolf, npc_risen_guardian::npc_risen_guardianAI, boss_zuljin, boss_headless_horseman, boss_archimonde, boss_epoch::boss_epochAI, boss_mal_ganis::boss_mal_ganisAI, boss_meathook::boss_meathookAI, boss_salramm::boss_salrammAI, boss_captain_skarloc, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, boss_ossirian, boss_sartura, boss_skeram, boss_anub_arak::boss_anub_arakAI, boss_krik_thir::boss_krik_thirAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_faction_championsAI, boss_novos::boss_novosAI, boss_tharon_ja::boss_tharon_jaAI, boss_trollgore::boss_trollgoreAI, boss_gal_darah::boss_gal_darahAI, boss_moorabi::boss_moorabiAI, boss_slad_ran::boss_slad_ranAI, boss_commander_stoutbeard, boss_keristrasza, boss_magus_telestra, boss_ormorok, boss_drakos::boss_drakosAI, boss_eregos::boss_eregosAI, boss_urom::boss_uromAI, boss_krystallus::boss_krystallusAI, boss_maiden_of_grief::boss_maiden_of_griefAI, boss_sjonnir::boss_sjonnirAI, boss_freya_elder_stonebark::boss_freya_elder_stonebarkAI, boss_freya_elder_brightleaf::boss_freya_elder_brightleafAI, boss_freya_elder_ironbranch::boss_freya_elder_ironbranchAI, boss_kologarn::boss_kologarnAI, boss_ingvar_the_plunderer, boss_skarvald_the_constructor, boss_dalronn_the_controller, boss_skadi::boss_skadiAI, boss_ymiron::boss_ymironAI, boss_tavarok, boss_gurtogg_bloodboil, boss_illidan_stormrage, boss_illidari_council_memberAI, boss_mother_shahraz, boss_essence_of_suffering::boss_essence_of_sufferingAI, boss_essence_of_desire::boss_essence_of_desireAI, boss_essence_of_anger::boss_essence_of_angerAI, boss_fathomlord_karathress, boss_hydross_the_unstable, boss_lady_vashj, boss_morogrim_tidewalker, boss_mennu_the_betrayer, boss_swamplord_muselek, boss_gruul, boss_high_king_maulgar, boss_kelidan_the_breaker, boss_omor_the_unscarred, boss_vazruden, boss_watchkeeper_gargolmar, boss_magtheridon, boss_grand_warlock_nethekurse, npc_millhouse_manastorm::npc_millhouse_manastormAI, boss_void_reaver, boss_sartharion::boss_sartharionAI, boss_xevozz::boss_xevozzAI, boss_sathrovarr, boss_sartharion_dragonAI, PossessedAI, SmartAI, boss_nefarian, boss_vaelastrasz::boss_vaelAI, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, boss_curator, boss_maiden_of_virtue, boss_attumen, boss_moroes, boss_terestian_illhoof, boss_julianne, boss_romulo, boss_priestess_delrissa, boss_priestess_lackey_commonAI, boss_selin_fireheart, boss_vexallus, boss_brutallus, boss_sacrolash, boss_alythess, boss_felmyst, boss_kalecgos, boss_kiljaeden, boss_twilight_corrupter, boss_halazzi, boss_hexlord_malacrass, boss_mandokir::boss_mandokirAI, npc_ohgan::npc_ohganAI, boss_azuregos::boss_azuregosAI, boss_anetheron, boss_azgalor, boss_kazrogal, boss_rage_winterchill, boss_epoch_hunter, boss_lieutenant_drake, boss_aeonus, boss_chrono_lord_deja, boss_temporus, boss_buru, npc_general_andorov, boss_twinemperorsAI, npc_tiger_matriarch::npc_tiger_matriarchAI, boss_elder_nadox, boss_volazj, boss_taldaram, boss_hadronox::boss_hadronoxAI, boss_halion::boss_halionAI, boss_twilight_halion::boss_twilight_halionAI, boss_black_knight::boss_black_knightAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_festergut::boss_festergutAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_lord_marrowgar, boss_professor_putricide::boss_professor_putricideAI, boss_rotface::boss_rotfaceAI, boss_sindragosa::boss_sindragosaAI, boss_the_lich_king::boss_the_lich_kingAI, boss_sister_svalna::boss_sister_svalnaAI, npc_argent_captainAI, boss_anubrekhan::boss_anubrekhanAI, boss_malygos::boss_malygosAI, boss_bjarngrim::boss_bjarngrimAI, boss_ionar::boss_ionarAI, boss_loken::boss_lokenAI, boss_volkhan::boss_volkhanAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_auriaya::boss_auriayaAI, boss_freya::boss_freyaAI, boss_ignis::boss_ignisAI, boss_razorscale::boss_razorscaleAI, boss_thorim::boss_thorimAI, boss_xt002::boss_xt002AI, boss_keleseth, boss_palehoof::boss_palehoofAI, boss_svala::boss_svalaAI, boss_cyanigosa::boss_cyanigosaAI, boss_erekem::boss_erekemAI, boss_ichoron::boss_ichoronAI, boss_zuramat::boss_zuramatAI, boss_exarch_maladaar, boss_nexusprince_shaffar, boss_pandemonius, boss_darkweaver_syth, boss_talon_king_ikiss, boss_ambassador_hellmaw, boss_blackheart_the_inciter, boss_grandmaster_vorpil, npc_akama_illidan, boss_teron_gorefiend, boss_najentus, boss_doomlord_kazzak::boss_doomlordkazzakAI, boss_doomwalker, boss_hydromancer_thespia, boss_mekgineer_steamrigger, boss_warlord_kalithresh, boss_the_maker, boss_warbringer_omrogg, boss_warchief_kargath_bladefist, boss_dalliah_the_doomsayer, boss_harbinger_skyriss, boss_wrath_scryer_soccothrates, boss_zereketh_the_unbound, boss_commander_sarannis, boss_high_botanist_freywinn, boss_thorngrin_the_tender, boss_warp_splinter, boss_high_astromancer_solarian, boss_kaelthas, boss_gatewatcher_gyrokill, boss_gatewatcher_iron_hand, boss_mechano_lord_capacitus, boss_nethermancer_sepethrea, boss_pathaleon_the_calculator, npc_netherspite_infernal, boss_akilzon, npc_dark_iron_guzzler, boss_jedoga_shadowseeker, boss_eadric::boss_eadricAI, boss_paletress::boss_paletressAI, boss_anubarak_trial::boss_anubarak_trialAI, boss_twin_valkyrAI, boss_bronjahm::boss_bronjahmAI, boss_falric::boss_falricAI, boss_marwyn::boss_marwynAI, boss_garfrost::boss_garfrostAI, boss_ick::boss_ickAI, boss_tyrannus::boss_tyrannusAI, boss_faerlina::boss_faerlinaAI, boss_four_horsemen::boss_four_horsemenAI, boss_gluth::boss_gluthAI, boss_gothik::boss_gothikAI, npc_boss_gothik_minion::npc_boss_gothik_minionAI, boss_grobbulus::boss_grobbulusAI, boss_grobbulus_poison_cloud::boss_grobbulus_poison_cloudAI, boss_heigan::boss_heiganAI, boss_kelthuzad::boss_kelthuzadAI, boss_kelthuzad_minion::boss_kelthuzad_minionAI, boss_loatheb::boss_loathebAI, boss_maexxna::boss_maexxnaAI, boss_noth::boss_nothAI, boss_patchwerk::boss_patchwerkAI, boss_razuvious::boss_razuviousAI, boss_razuvious_minion::boss_razuvious_minionAI, boss_sapphiron::boss_sapphironAI, boss_thaddius::boss_thaddiusAI, boss_thaddius_summon::boss_thaddius_summonAI, boss_steelbreaker::boss_steelbreakerAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_flame_leviathan_defense_turret::boss_flame_leviathan_defense_turretAI, boss_vezax::boss_vezaxAI, boss_hodir::boss_hodirAI, npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI, npc_ulduar_vx001::npc_ulduar_vx001AI, npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI, boss_yoggsaron_sara::boss_yoggsaron_saraAI, npc_q24545_vegard::npc_q24545_vegardAI, emerald_dragonAI, and boss_emeriss::boss_emerissAI.

131{}

Referenced by Unit::Kill(), boss_halazzi::KilledUnit(), and boss_hexlord_malacrass::KilledUnit().

◆ MoveBackwardsChecks()

void CreatureAI::MoveBackwardsChecks ( )
372{
373 Unit *victim = me->GetVictim();
374
375 if (!victim || !me->IsFreeToMove() || me->HasUnitMovementFlag(MOVEMENTFLAG_ROOT) ||
376 (!victim->IsPlayer() && !victim->IsPet()))
377 {
378 return;
379 }
380
381 float moveDist = me->GetMeleeRange(victim) / 2;
382
383 me->GetMotionMaster()->MoveBackwards(victim, moveDist);
384}
@ MOVEMENTFLAG_ROOT
Definition UnitDefines.h:376
bool IsFreeToMove()
Definition Creature.cpp:940
void MoveBackwards(Unit *target, float dist)
Definition MotionMaster.cpp:334
bool IsPlayer() const
Definition Object.h:200
bool IsPet() const
Definition Unit.h:763
bool HasUnitMovementFlag(uint32 f) const
Definition Unit.h:745
Unit * GetVictim() const
Definition Unit.h:862
float GetMeleeRange(Unit const *target) const
Definition Unit.cpp:679

References Unit::GetMeleeRange(), Unit::GetMotionMaster(), Unit::GetVictim(), Unit::HasUnitMovementFlag(), Creature::IsFreeToMove(), Unit::IsPet(), Object::IsPlayer(), me, MotionMaster::MoveBackwards(), and MOVEMENTFLAG_ROOT.

Referenced by Creature::Update().

◆ MoveCircleChecks()

void CreatureAI::MoveCircleChecks ( )
355{
356 Unit *victim = me->GetVictim();
357
358 if (
359 !victim ||
361 !me->IsWithinMeleeRange(victim) || me == victim->GetVictim() ||
362 (!victim->IsPlayer() && !victim->IsPet()) // only player & pets to save CPU
363 )
364 {
365 return;
366 }
367
369}
void MoveCircleTarget(Unit *target)
Definition MotionMaster.cpp:386
bool IsWithinMeleeRange(Unit const *obj, float dist=0.f) const
Definition Unit.cpp:664

References Unit::GetMotionMaster(), Unit::GetVictim(), Unit::HasUnitMovementFlag(), Creature::IsFreeToMove(), Unit::IsPet(), Object::IsPlayer(), Unit::IsWithinMeleeRange(), me, MotionMaster::MoveCircleTarget(), and MOVEMENTFLAG_ROOT.

Referenced by Creature::Update().

◆ MoveInLineOfSight()

void CreatureAI::MoveInLineOfSight ( Unit who)
protectedvirtual

Reimplemented in VehicleAI, PassiveAI, PossessedAI, NullCreatureAI, PetAI, ReactorAI, FollowerAI, npc_netherspite_infernal, npc_demon_chain, npc_akilzon_eagle, npc_janalai_hatcher, npc_dark_iron_attack_generator, npc_dark_iron_attack_mole_machine, npc_dark_iron_guzzler, npc_brewfest_super_brew_trigger, npc_hallows_end_soh, boss_headless_horseman, boss_headless_horseman_pumpkin, npc_pilgrims_bounty_chair, npc_taretha::npc_tarethaAI, npc_injured_draenei::npc_injured_draeneiAI, boss_jedoga_shadowseeker, boss_jaraxxus::boss_jaraxxusAI, npc_snobold_vassal::npc_snobold_vassalAI, boss_gormok::boss_gormokAI, boss_novos::boss_novosAI, npc_pos_leader::npc_pos_leaderAI, npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI, boss_drakkari_colossus::boss_drakkari_colossusAI, npc_ball_of_flame::npc_ball_of_flameAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, npc_vengeful_shade::npc_vengeful_shadeAI, boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, npc_the_lich_king_controller::npc_the_lich_king_controllerAI, npc_valithria_cloud::npc_valithria_cloudAI, boss_malygos::boss_malygosAI, npc_vortex_ride::npc_vortex_rideAI, npc_scion_of_eternity::npc_scion_of_eternityAI, npc_hover_disk::npc_hover_diskAI, npc_alexstrasza::npc_alexstraszaAI, boss_drakos::boss_drakosAI, npc_oculus_unstable_sphere::npc_oculus_unstable_sphereAI, boss_eregos::boss_eregosAI, boss_urom::boss_uromAI, boss_varos::boss_varosAI, npc_spark_of_ionar::npc_spark_of_ionarAI, boss_loken::boss_lokenAI, boss_sjonnir_malformed_ooze::boss_sjonnir_malformed_oozeAI, npc_assembly_lightning::npc_assembly_lightningAI, boss_flame_leviathan::boss_flame_leviathanAI, npc_mimirons_inferno::npc_mimirons_infernoAI, boss_vezax::boss_vezaxAI, boss_hodir::boss_hodirAI, npc_ulduar_hodir_priest::npc_ulduar_hodir_priestAI, npc_ulduar_hodir_druid::npc_ulduar_hodir_druidAI, npc_ulduar_hodir_shaman::npc_ulduar_hodir_shamanAI, npc_ulduar_hodir_mage::npc_ulduar_hodir_mageAI, npc_ulduar_iron_construct::npc_ulduar_iron_constructAI, boss_ignis::boss_ignisAI, boss_kologarn_arms::boss_kologarn_armsAI, boss_mimiron::boss_mimironAI, npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI, npc_ulduar_vx001::npc_ulduar_vx001AI, npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI, npc_ulduar_proximity_mine::npc_ulduar_proximity_mineAI, npc_ulduar_emergency_fire_bot::npc_ulduar_emergency_fire_botAI, boss_razorscale::boss_razorscaleAI, boss_thorim_sif::boss_thorim_sifAI, boss_thorim_lightning_orb::boss_thorim_lightning_orbAI, boss_thorim_sif_blizzard::boss_thorim_sif_blizzardAI, npc_xt002_heart::npc_xt002_heartAI, boss_yoggsaron_sara::boss_yoggsaron_saraAI, boss_yoggsaron_cloud::boss_yoggsaron_cloudAI, boss_cyanigosa::boss_cyanigosaAI, boss_erekem::boss_erekemAI, npc_erekem_guard::npc_erekem_guardAI, boss_ichoron::boss_ichoronAI, npc_ichor_globule::npc_ichor_globuleAI, boss_lavanthor::boss_lavanthorAI, boss_moragg::boss_moraggAI, boss_xevozz::boss_xevozzAI, boss_zuramat::boss_zuramatAI, npc_azure_saboteur::npc_azure_saboteurAI, npc_mrfloppy::npc_mrfloppyAI, npc_tournament_training_dummy::npc_tournament_training_dummyAI, npc_blessed_banner::npc_blessed_bannerAI, npc_wild_wyrm::npc_wild_wyrmAI, boss_illidari_council, npc_warden_mellichar::npc_warden_mellicharAI, boss_alar, npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI, npc_training_dummy::npc_training_dummyAI, npc_target_dummy::npc_target_dummyAI, npc_brew_bubble, boss_sartharion_dragonAI, TotemAI, npc_escortAI, SmartAI, boss_nightbane, npc_dkc1_gothik::npc_dkc1_gothikAI, npc_a_special_surprise::npc_a_special_surpriseAI, boss_muru, boss_twilight_corrupter, npc_grand_magister_rommath::npc_grand_magister_rommathAI, npc_the_scourge_cauldron::npc_the_scourge_cauldronAI, npc_andorhal_tower::npc_andorhal_towerAI, boss_nalorakk, npc_amanishi_lookout, npc_eagle_trash_aggro_trigger, npc_brewfest_keg_thrower, npc_brewfest_keg_reciver, npc_brewfest_bark_trigger, npc_coren_direbrew, npc_winterfin_playmate, npc_snowfall_glade_playmate, npc_the_biggest_tree, npc_high_oracle_soo_roo, npc_elder_kekek, npc_the_etymidian, npc_alexstraza_the_lifebinder, npc_cw_area_trigger::npc_cw_area_triggerAI, npc_grizzlemaw_cw_trigger::npc_grizzlemaw_cw_triggerAI, npc_love_in_air_supply_sentry, npc_love_in_air_snivel, npc_cos_stratholme_citizien::npc_cos_stratholme_citizienAI, boss_aeonus, boss_chrono_lord_deja, boss_temporus, npc_medivh_bm, boss_ossirian, npc_general_andorov, boss_eye_of_cthun, npc_ouro_spawner, npc_depth_charge::npc_depth_chargeAI, npc_draenei_survivor::npc_draenei_survivorAI, npc_kerlonian::npc_kerlonianAI, npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI, npc_custodian_of_time::npc_custodian_of_timeAI, npc_tooga::npc_toogaAI, npc_twiggy_flathead::npc_twiggy_flatheadAI, npc_ringo::npc_ringoAI, boss_anub_arak::boss_anub_arakAI, boss_krik_thir::boss_krik_thirAI, boss_anubarak_trial::boss_anubarak_trialAI, npc_living_mojo::npc_living_mojoAI, npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI, boss_lord_marrowgar, boss_professor_putricide::boss_professor_putricideAI, boss_sindragosa::boss_sindragosaAI, npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI, npc_icc_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI, npc_icc_nerubar_broodkeeper::npc_icc_nerubar_broodkeeperAI, boss_anubrekhan::boss_anubrekhanAI, boss_faerlina::boss_faerlinaAI, boss_gluth::boss_gluthAI, boss_kelthuzad::boss_kelthuzadAI, boss_kelthuzad_minion::boss_kelthuzad_minionAI, npc_hol_monument::npc_hol_monumentAI, npc_brann_radio::npc_brann_radioAI, boss_kologarn::boss_kologarnAI, npc_ulduar_expedition_commander::npc_ulduar_expedition_commanderAI, npc_ulduar_snow_mound, boss_palehoof::boss_palehoofAI, npc_massive_jormungar::npc_massive_jormungarAI, npc_ferocious_rhino::npc_ferocious_rhinoAI, npc_ravenous_furbolg::npc_ravenous_furbolgAI, npc_frenzied_worgen::npc_frenzied_worgenAI, violet_hold_trashAI, npc_khunok_the_behemoth::npc_khunok_the_behemothAI, npc_jenny, npc_captured_beryl_sorcerer::npc_captured_beryl_sorcererAI, npc_mageguard_dalaran::npc_mageguard_dalaranAI, npc_future_you::npc_future_youAI, npc_black_knight_graveyard::npc_black_knight_graveyardAI, npc_guardian_pavilion::npc_guardian_pavilionAI, npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI, npc_jungle_punch_target::npc_jungle_punch_targetAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, boss_exarch_maladaar, boss_nexusprince_shaffar, boss_talon_king_ikiss, boss_ambassador_hellmaw, boss_grandmaster_vorpil, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, boss_doomwalker, boss_lady_vashj, boss_warlord_kalithresh, boss_watchkeeper_gargolmar, npc_shattered_hand_scout, boss_wrath_scryer_soccothrates, boss_thorngrin_the_tender, boss_kaelthas, npc_nether_drake::npc_nether_drakeAI, npc_daranelle::npc_daranelleAI, npc_ancestral_wolf::npc_ancestral_wolfAI, npc_creditmarker_visit_with_ancestors::npc_creditmarker_visit_with_ancestorsAI, npc_captain_saeed::npc_captain_saeedAI, npc_pet_hunter_snake_trap, and npc_air_force_bots::npc_air_force_botsAI.

170{
171 if (me->IsEngaged())
172 return;
173
174 // pussywizard: civilian, non-combat pet or any other NOT HOSTILE TO ANYONE (!)
176 if (me->GetCreatureType() == CREATURE_TYPE_NON_COMBAT_PET || // nothing more to do, return
177 !who->IsInCombat() || // if not in combat, nothing more to do
178 !me->IsWithinDist(who, ATTACK_DISTANCE, true, false)) // if in combat and in dist - neutral to all can actually assist other creatures
179 return;
180
182 AttackStart(who);
183}
#define ATTACK_DISTANCE
Definition ObjectDefines.h:25
@ CREATURE_TYPE_NON_COMBAT_PET
Definition SharedDefines.h:2639
@ REACT_AGGRESSIVE
Definition Unit.h:550
bool CanStartAttack(Unit const *u) const
Definition Creature.cpp:1914
bool HasReactState(ReactStates state) const
Definition Creature.h:97
bool IsMoveInLineOfSightDisabled()
Definition Creature.h:280
virtual void AttackStart(Unit *)
Definition UnitAI.cpp:27
bool IsEngaged() const
Definition Unit.h:890
uint32 GetCreatureType() const
Definition Unit.cpp:15234
bool IsInCombat() const
Definition Unit.h:893
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition Object.cpp:1327

References ATTACK_DISTANCE, UnitAI::AttackStart(), Creature::CanStartAttack(), CREATURE_TYPE_NON_COMBAT_PET, Unit::GetCreatureType(), Creature::HasReactState(), Unit::IsEngaged(), Unit::IsInCombat(), Creature::IsMoveInLineOfSightDisabled(), WorldObject::IsWithinDist(), me, and REACT_AGGRESSIVE.

Referenced by boss_sartharion_dragonAI::MoveInLineOfSight(), boss_nightbane::MoveInLineOfSight(), npc_dkc1_gothik::npc_dkc1_gothikAI::MoveInLineOfSight(), boss_twilight_corrupter::MoveInLineOfSight(), boss_nalorakk::MoveInLineOfSight(), npc_cos_stratholme_citizien::npc_cos_stratholme_citizienAI::MoveInLineOfSight(), boss_aeonus::MoveInLineOfSight(), boss_chrono_lord_deja::MoveInLineOfSight(), boss_temporus::MoveInLineOfSight(), boss_ossirian::MoveInLineOfSight(), npc_general_andorov::MoveInLineOfSight(), npc_ouro_spawner::MoveInLineOfSight(), boss_anub_arak::boss_anub_arakAI::MoveInLineOfSight(), boss_anubarak_trial::boss_anubarak_trialAI::MoveInLineOfSight(), npc_living_mojo::npc_living_mojoAI::MoveInLineOfSight(), boss_lord_marrowgar::MoveInLineOfSight(), boss_professor_putricide::boss_professor_putricideAI::MoveInLineOfSight(), boss_sindragosa::boss_sindragosaAI::MoveInLineOfSight(), npc_icc_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI::MoveInLineOfSight(), npc_icc_nerubar_broodkeeper::npc_icc_nerubar_broodkeeperAI::MoveInLineOfSight(), boss_anubrekhan::boss_anubrekhanAI::MoveInLineOfSight(), boss_faerlina::boss_faerlinaAI::MoveInLineOfSight(), boss_gluth::boss_gluthAI::MoveInLineOfSight(), boss_kelthuzad_minion::boss_kelthuzad_minionAI::MoveInLineOfSight(), npc_hol_monument::npc_hol_monumentAI::MoveInLineOfSight(), boss_kologarn::boss_kologarnAI::MoveInLineOfSight(), boss_palehoof::boss_palehoofAI::MoveInLineOfSight(), npc_massive_jormungar::npc_massive_jormungarAI::MoveInLineOfSight(), npc_ferocious_rhino::npc_ferocious_rhinoAI::MoveInLineOfSight(), npc_ravenous_furbolg::npc_ravenous_furbolgAI::MoveInLineOfSight(), npc_frenzied_worgen::npc_frenzied_worgenAI::MoveInLineOfSight(), violet_hold_trashAI::MoveInLineOfSight(), npc_khunok_the_behemoth::npc_khunok_the_behemothAI::MoveInLineOfSight(), npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI::MoveInLineOfSight(), npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI::MoveInLineOfSight(), boss_exarch_maladaar::MoveInLineOfSight(), boss_talon_king_ikiss::MoveInLineOfSight(), boss_ambassador_hellmaw::MoveInLineOfSight(), boss_grandmaster_vorpil::MoveInLineOfSight(), boss_lady_vashj::MoveInLineOfSight(), boss_warlord_kalithresh::MoveInLineOfSight(), boss_watchkeeper_gargolmar::MoveInLineOfSight(), boss_thorngrin_the_tender::MoveInLineOfSight(), npc_nether_drake::npc_nether_drakeAI::MoveInLineOfSight(), npc_daranelle::npc_daranelleAI::MoveInLineOfSight(), and MoveInLineOfSight_Safe().

◆ MoveInLineOfSight_Safe()

void CreatureAI::MoveInLineOfSight_Safe ( Unit who)

== Reactions At =================================

159{
161 {
162 return;
163 }
167}
virtual void MoveInLineOfSight(Unit *)
Definition CreatureAI.cpp:169

References m_MoveInLineOfSight_locked, and MoveInLineOfSight().

Referenced by CreatureUnitRelocationWorker().

◆ MovementInform()

virtual void CreatureAI::MovementInform ( uint32  ,
uint32   
)
inlinevirtual

Reimplemented in FollowerAI, npc_tooga::npc_toogaAI, npc_earthen_ring_flamecaller, SmartAI, npc_eye_of_acherus, boss_algalon_the_observer::boss_algalon_the_observerAI, npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI, npc_chesspiece, PetAI, npc_spirit_shade::npc_spirit_shadeAI, npc_forest_frog, npc_enslaved_netherwing_drake, CritterAI, boss_rend_blackhand::boss_rend_blackhandAI, boss_ebonroc::boss_ebonrocAI, boss_nefarian, boss_nightbane, boss_selin_fireheart, npc_unworthy_initiate::npc_unworthy_initiateAI, npc_scarlet_courier::npc_scarlet_courierAI, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, npc_sentinel_leader, npc_sentinel_infiltrator, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, boss_zuljin, npc_harrison_jones, npc_amanishi_lookout, boss_mandokir::boss_mandokirAI, boss_captain_skarloc, boss_onyxia, npc_belnistrasz::npc_belnistraszAI, boss_ayamiss, npc_hive_zara_larva, boss_bug_trio, npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI, npc_stillpine_capitive::npc_stillpine_capitiveAI, npc_troll_volunteer::npc_troll_volunteerAI, npc_twilight_volunteer, npc_taldaram_flamesphere, boss_taldaram, boss_eadric::boss_eadricAI, boss_paletress::boss_paletressAI, boss_grand_champion::boss_grand_championAI, npc_concentrated_ball::npc_concentrated_ballAI, npc_fos_leader_second::npc_fos_leader_secondAI, boss_garfrost::boss_garfrostAI, npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI, npc_pos_after_first_boss::npc_pos_after_first_bossAI, npc_pos_tyrannus_events::npc_pos_tyrannus_eventsAI, npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI, npc_pos_leader_second::npc_pos_leader_secondAI, boss_eck::boss_eckAI, npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI, npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI, npc_darnavan::npc_darnavanAI, boss_lord_marrowgar, boss_professor_putricide::boss_professor_putricideAI, npc_tirion_fordring_tft::npc_tirion_fordringAI, npc_valkyr_shadowguard::npc_valkyr_shadowguardAI, boss_sister_svalna::boss_sister_svalnaAI, npc_icc_spire_frostwyrm, npc_icc_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI, npc_icc_nerubar_broodkeeper::npc_icc_nerubar_broodkeeperAI, boss_four_horsemen::boss_four_horsemenAI, boss_razuvious::boss_razuviousAI, boss_sapphiron::boss_sapphironAI, boss_malygos::boss_malygosAI, npc_hover_disk::npc_hover_diskAI, npc_oculus_unstable_sphere::npc_oculus_unstable_sphereAI, npc_oculus_drake::npc_oculus_drakeAI, boss_volkhan::boss_volkhanAI, npc_ulduar_emergency_fire_bot::npc_ulduar_emergency_fire_botAI, boss_razorscale::boss_razorscaleAI, npc_enslaved_proto_drake, npc_wintergarde_gryphon, npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI, npc_frostbrood_skytalon::npc_frostbrood_skytalonAI, npc_vehicle_d16_propelled_delivery::npc_vehicle_d16_propelled_deliveryAI, boss_illidan_stormrage, npc_akama_illidan, boss_essence_of_suffering::boss_essence_of_sufferingAI, boss_essence_of_desire::boss_essence_of_desireAI, boss_lady_vashj, boss_vazruden_the_herald, boss_nazan, boss_alar, npc_nether_drake::npc_nether_drakeAI, npc_fel_guard_hound::npc_fel_guard_houndAI, npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI, npc_korkron_or_wildhammer, npc_pet_gen_plump_turkey, npc_pet_gen_toxic_wasteling, npc_thassarian2::npc_thassarian2AI, npc_leryssa::npc_leryssaAI, boss_mr_smite::boss_mr_smiteAI, boss_servant_quarters, npc_scarlet_ghoul::npc_scarlet_ghoulAI, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, boss_felmyst, npc_hallows_end_soh, boss_headless_horseman, boss_lieutenant_drake, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_sindragosa::boss_sindragosaAI, npc_spinestalker::npc_spinestalkerAI, npc_rimefang::npc_rimefangAI, npc_lk_spirit_bomb::npc_lk_spirit_bombAI, boss_sjonnir_malformed_ooze::boss_sjonnir_malformed_oozeAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, npc_injured_7th_legion_soldier::npc_injured_7th_legion_soldierAI, boss_shade_of_akama, npc_akama_shade, npc_ashtongue_sorcerer, npc_shattered_hand_scout, boss_kaelthas, npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI, boss_sartharion_dragonAI, boss_majordomo::boss_majordomoAI, npc_apothecary_genericAI, npc_chained_spirit, npc_omen::npc_omenAI, boss_jedoga_shadowseeker, gunship_npc_AI, npc_gunship_boarding_addAI, npc_gunship_mage::npc_gunship_mageAI, npc_gunship_gunner::npc_gunship_gunnerAI, npc_gunship_rocketeer::npc_gunship_rocketeerAI, boss_the_lich_king::boss_the_lich_kingAI, npc_wild_wyrm::npc_wild_wyrmAI, boss_ghazan, npc_burning_spirit::npc_burning_spiritAI, boss_kagani_nightstrike, npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI, npc_dark_iron_guzzler, npc_sergeant_bly::npc_sergeant_blyAI, npc_weegli_blastfuse::npc_weegli_blastfuseAI, npc_announcer_toc5::npc_announcer_toc5AI, npc_hor_lich_king::npc_hor_lich_kingAI, npc_hor_leader_second::npc_hor_leader_secondAI, npc_ball_of_flame::npc_ball_of_flameAI, npc_assembly_lightning::npc_assembly_lightningAI, npc_hodirs_fury::npc_hodirs_furyAI, npc_xt002_scrapbot::npc_xt002_scrapbotAI, npc_xt002_boombot::npc_xt002_boombotAI, npc_preparations_for_war_vehicle, npc_vics_flying_machine::npc_vics_flying_machineAI, npc_iron_watcher::npc_iron_watcherAI, npc_freed_protodrake::npc_freed_protodrakeAI, npc_released_offspring_harkoa::npc_released_offspring_harkoaAI, boss_warchief_kargath_bladefist, boss_ymiron::boss_ymironAI, npc_marzon_silent_blade::npc_marzon_silent_bladeAI, boss_glob_of_viscidus, boss_icehowl::boss_icehowlAI, npc_oculus_drakegiver::npc_oculus_drakegiverAI, boss_flame_leviathan_safety_container::boss_flame_leviathan_safety_containerAI, boss_skadi_grauf::boss_skadi_graufAI, npc_dragonmaw_peon::npc_dragonmaw_peonAI, dragonmaw_race_npc, ScriptedAI, npc_escortAI, npc_akilzon_eagle, npc_janalai_hatcher, and npc_attracted_reef_bull::npc_attracted_reef_bullAI.

157{}

Referenced by RotateMovementGenerator::Finalize(), EffectMovementGenerator::Finalize(), WaypointMovementGenerator< Creature >::MovementInform(), and SplineHandler::operator()().

◆ OnAuraRemove()

virtual void CreatureAI::OnAuraRemove ( AuraApplication ,
AuraRemoveMode   
)
inlinevirtual

Reimplemented in boss_high_nethermancer_zerevor.

225{ }

Referenced by Unit::_UnapplyAura().

◆ OnCharmed()

◆ OnSpellClick()

◆ OnTeleportUnreacheablePlayer()

virtual bool CreatureAI::OnTeleportUnreacheablePlayer ( Player )
inlinevirtual

Reimplemented in boss_mandokir::boss_mandokirAI.

222{ return false; }

◆ OwnerAttacked()

virtual void CreatureAI::OwnerAttacked ( Unit )
inlinevirtual

Reimplemented in PetAI, and npc_pet_gen_valkyr_guardian.

176{}

◆ OwnerAttackedBy()

virtual void CreatureAI::OwnerAttackedBy ( Unit )
inlinevirtual

Reimplemented in PetAI, and npc_scarlet_ghoul::npc_scarlet_ghoulAI.

173{}

Referenced by Unit::DealDamage().

◆ PassengerBoarded()

◆ PathEndReached()

◆ PetStopAttack()

virtual void CreatureAI::PetStopAttack ( )
inlinevirtual

Reimplemented in PetAI.

210{ }

Referenced by Pet::Update().

◆ ReceiveEmote()

◆ SetBoundary()

◆ SetGazeOn()

void CreatureAI::SetGazeOn ( Unit target)
protected
254{
255 if (me->IsValidAttackTarget(target))
256 {
257 AttackStart(target);
259 }
260}
@ REACT_PASSIVE
Definition Unit.h:548
void SetReactState(ReactStates state)
A creature can have 3 ReactStates : Agressive, Passive, Neutral.
Definition Creature.h:95
bool IsValidAttackTarget(Unit const *target, SpellInfo const *bySpell=nullptr) const
Definition Unit.cpp:13923

References UnitAI::AttackStart(), Unit::IsValidAttackTarget(), me, REACT_PASSIVE, and Creature::SetReactState().

Referenced by boss_gluth::boss_gluthAI::MoveInLineOfSight(), npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI::MySelectNextTarget(), and npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI::UpdateAI().

◆ SpellHit()

virtual void CreatureAI::SpellHit ( Unit ,
SpellInfo const *   
)
inlinevirtual

Reimplemented in TotemAI, ScriptedAI, npc_mistress_of_pain::npc_mistress_of_painAI, npc_kerlonian::npc_kerlonianAI, npc_ringo::npc_ringoAI, boss_pyroguard_emberseer::boss_pyroguard_emberseerAI, npc_netherspite_infernal, boss_terestian_illhoof, boss_strawman, boss_julianne, boss_halazzi, npc_harrison_jones, npc_crate_helper::npc_crate_helperAI, boss_buru, boss_ossirian, npc_omen::npc_omenAI, npc_taskmaster_fizzule::npc_taskmaster_fizzuleAI, boss_eadric::boss_eadricAI, npc_black_knight_ghoul::npc_black_knight_ghoulAI, boss_grand_champion::boss_grand_championAI, npc_frost_sphere::npc_frost_sphereAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_prince_valanar_icc::boss_prince_valanarAI, npc_high_overlord_saurfang_icc::npc_high_overlord_saurfangAI, npc_muradin_bronzebeard_icc::npc_muradin_bronzebeard_iccAI, npc_saurfang_event::npc_saurfang_eventAI, npc_cult_fanatic::npc_cult_fanaticAI, npc_cult_adherent::npc_cult_adherentAI, npc_putricide_oozeAI, boss_the_lich_king::boss_the_lich_kingAI, npc_tirion_fordring_tft::npc_tirion_fordringAI, boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI, npc_argent_captainAI, npc_gothik_trigger::npc_gothik_triggerAI, boss_malygos::boss_malygosAI, boss_urom::boss_uromAI, boss_ionar::boss_ionarAI, npc_ulduar_toasty_fire::npc_ulduar_toasty_fireAI, npc_ulduar_hodir_priest::npc_ulduar_hodir_priestAI, npc_ulduar_hodir_druid::npc_ulduar_hodir_druidAI, npc_ulduar_hodir_shaman::npc_ulduar_hodir_shamanAI, npc_ulduar_hodir_mage::npc_ulduar_hodir_mageAI, npc_ulduar_iron_construct::npc_ulduar_iron_constructAI, npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI, npc_ulduar_vx001::npc_ulduar_vx001AI, npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI, npc_ulduar_flames_spread::npc_ulduar_flames_spreadAI, npc_ichor_globule::npc_ichor_globuleAI, npc_wintergarde_gryphon, npc_frostbrood_skytalon::npc_frostbrood_skytalonAI, npc_vics_flying_machine::npc_vics_flying_machineAI, npc_captured_rageclaw::npc_captured_rageclawAI, npc_maiev_illidan, boss_shade_of_akama, npc_infernal_attacker::npc_infernal_attackerAI, npc_shadowmoon_tuber_node::npc_shadowmoon_tuber_nodeAI, npc_artorius::npc_artoriusAI, npc_simone::npc_simoneAI, npc_nelson::npc_nelsonAI, npc_franklin::npc_franklinAI, npc_venomhide_hatchling::npc_venomhide_hatchlingAI, boss_majordomo::boss_majordomoAI, boss_attumen, npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI, npc_dark_iron_guzzler, boss_headless_horseman, boss_headless_horseman_pumpkin, npc_pilgrims_bounty_chair, npc_pilgrims_bounty_plate, boss_veklor, npc_rabid_thistle_bear::npc_rabid_thistle_bearAI, npc_isle_of_conquest_turret::npc_isle_of_conquest_turretAI, boss_steelbreaker::boss_steelbreakerAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, npc_pool_of_tar::npc_pool_of_tarAI, boss_freya::boss_freyaAI, boss_hodir::boss_hodirAI, boss_mimiron::boss_mimironAI, boss_thorim_pillar::boss_thorim_pillarAI, boss_thorim_runic_colossus::boss_thorim_runic_colossusAI, boss_yoggsaron::boss_yoggsaronAI, npc_ulduar_keeper::npc_ulduar_keeperAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, npc_earthen_ring_flamecaller, npc_pet_darting_hatchling, npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI, npc_death_knight_initiate::npc_death_knight_initiateAI, npc_crusade_persuaded::npc_crusade_persuadedAI, npc_forest_frog, npc_zulian_prowler::npc_zulian_prowlerAI, npc_midsummer_ribbon_pole_target, npc_draenei_survivor::npc_draenei_survivorAI, npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI, npc_troll_volunteer::npc_troll_volunteerAI, boss_jaraxxus::boss_jaraxxusAI, boss_sister_svalna::boss_sister_svalnaAI, boss_faerlina::boss_faerlinaAI, boss_razuvious::boss_razuviousAI, npc_living_constellation::npc_living_constellationAI, boss_ignis::boss_ignisAI, boss_razorscale::boss_razorscaleAI, npc_sinkhole_kill_credit::npc_sinkhole_kill_creditAI, npc_torturer_lecraft::npc_torturer_lecraftAI, npc_wounded_skirmisher, npc_venture_co_straggler::npc_venture_co_stragglerAI, npc_tournament_training_dummy::npc_tournament_training_dummyAI, npc_brunnhildar_prisoner::npc_brunnhildar_prisonerAI, npc_drakuru_shackles::npc_drakuru_shacklesAI, npc_storm_cloud::npc_storm_cloudAI, boss_kaelthas, advisor_baseAI, npc_deaths_door_fell_cannon_target_bunny::npc_deaths_door_fell_cannon_target_bunnyAI, npc_nether_drake::npc_nether_drakeAI, npc_enslaved_netherwing_drake, npc_dragonmaw_peon::npc_dragonmaw_peonAI, npc_injured_patient::npc_injured_patientAI, npc_garments_of_quests::npc_garments_of_questsAI, PetAI, npc_greengill_slave::npc_greengill_slaveAI, npc_dark_iron_attack_generator, npc_soh_fire_trigger, npc_hallows_end_train_fire, boss_headless_horseman_head, npc_midsummer_bonfire, npc_midsummer_torch_target, npc_cos_stratholme_citizien::npc_cos_stratholme_citizienAI, boss_viscidus, boss_magus_telestra, boss_flame_leviathan::boss_flame_leviathanAI, boss_thorim::boss_thorimAI, boss_yoggsaron_immortal_guardian::boss_yoggsaron_immortal_guardianAI, npc_attracted_reef_bull::npc_attracted_reef_bullAI, npc_still_at_it_trigger::npc_still_at_it_triggerAI, npc_jungle_punch_target::npc_jungle_punch_targetAI, npc_iron_watcher::npc_iron_watcherAI, npc_wild_wyrm::npc_wild_wyrmAI, npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI, npc_beryl_sorcerer::npc_beryl_sorcererAI, npc_imprisoned_beryl_sorcerer::npc_imprisoned_beryl_sorcererAI, and SmartAI.

144{}

Referenced by Spell::DoAllEffectOnTarget().

◆ SpellHitTarget()

virtual void CreatureAI::SpellHitTarget ( Unit ,
SpellInfo const *   
)
inlinevirtual

Reimplemented in ScriptedAI, boss_black_knight::boss_black_knightAI, boss_bronjahm::boss_bronjahmAI, boss_garfrost::boss_garfrostAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, npc_vengeful_shade::npc_vengeful_shadeAI, npc_putricide_oozeAI, boss_the_lich_king::boss_the_lich_kingAI, npc_maghar_captive::npc_maghar_captiveAI, npc_kurenai_captive::npc_kurenai_captiveAI, boss_quartermaster_zigris, npc_demonic_vapor_trail, boss_headless_horseman_head, boss_taldaram, boss_moorabi::boss_moorabiAI, boss_volkhan::boss_volkhanAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_ymiron::boss_ymironAI, npc_frostwing_vrykul::npc_frostwing_vrykulAI, boss_felmyst, boss_malchezaar, boss_onyxia, npc_black_knight_ghoul::npc_black_knight_ghoulAI, npc_nerubian_burrower::npc_nerubian_burrowerAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, npc_hor_lich_king::npc_hor_lich_kingAI, boss_ick::boss_ickAI, npc_pos_collapsing_icicle::npc_pos_collapsing_icicleAI, npc_pos_leader_second::npc_pos_leader_secondAI, boss_festergut::boss_festergutAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_lord_marrowgar, boss_rotface::boss_rotfaceAI, boss_sindragosa::boss_sindragosaAI, boss_sister_svalna::boss_sister_svalnaAI, npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI, npc_oculus_drake::npc_oculus_drakeAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_freya::boss_freyaAI, boss_vezax::boss_vezaxAI, boss_hodir::boss_hodirAI, npc_ulduar_hodir_shaman::npc_ulduar_hodir_shamanAI, npc_ulduar_proximity_mine::npc_ulduar_proximity_mineAI, npc_ulduar_rocket_strike_trigger::npc_ulduar_rocket_strike_triggerAI, boss_cyanigosa::boss_cyanigosaAI, npc_q24545_lich_king::npc_q24545_lich_kingAI, npc_simon_bunny::npc_simon_bunnyAI, boss_lethon::boss_lethonAI, SmartAI, npc_chesspiece, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_zuljin, boss_headless_horseman, npc_pilgrims_bounty_chair, boss_epoch::boss_epochAI, boss_ouro, npc_anubisath_sentinel::aqsentinelAI, boss_grobbulus::boss_grobbulusAI, boss_sapphiron::boss_sapphironAI, boss_thorim::boss_thorimAI, npc_xt002_heart::npc_xt002_heartAI, boss_yoggsaron_sara::boss_yoggsaron_saraAI, boss_yoggsaron_voice::boss_yoggsaron_voiceAI, boss_skadi_grauf::boss_skadi_graufAI, boss_emalon::boss_emalonAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, boss_shirrak_the_dead_watcher, npc_pet_gen_soul_trader_beacon, and npc_pet_gen_fetch_ball.

147{}

Referenced by Spell::DoAllEffectOnTarget().

◆ SummonedCreatureDespawn()

virtual void CreatureAI::SummonedCreatureDespawn ( Creature )
inlinevirtual

Reimplemented in ScriptedAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, npc_arthas::npc_arthasAI, boss_gothik::boss_gothikAI, boss_flame_leviathan::boss_flame_leviathanAI, npc_freya_ward::npc_freya_wardAI, npc_mimirons_inferno::npc_mimirons_infernoAI, boss_kologarn::boss_kologarnAI, boss_xt002::boss_xt002AI, boss_rend_blackhand::boss_rend_blackhandAI, npc_cork_gizelton::npc_cork_gizeltonAI, boss_ichoron::boss_ichoronAI, boss_xevozz::boss_xevozzAI, boss_zuramat::boss_zuramatAI, npc_vh_void_sentry::npc_vh_void_sentryAI, boss_twin_valkyrAI, npc_hor_lich_king::npc_hor_lich_kingAI, npc_pos_leader::npc_pos_leaderAI, npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI, boss_vezax::boss_vezaxAI, boss_hodir::boss_hodirAI, boss_mimiron::boss_mimironAI, npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI, BossAI, WorldBossAI, npc_echo_of_medivh, boss_kormok, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, boss_ossirian, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, npc_precious_icc::npc_precious_iccAI, boss_sindragosa::boss_sindragosaAI, boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI, npc_gothik_trigger::npc_gothik_triggerAI, boss_grobbulus::boss_grobbulusAI, npc_q24545_lich_king::npc_q24545_lich_kingAI, npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI, boss_nexusprince_shaffar, boss_supremus, boss_hydross_the_unstable, boss_vazruden_the_herald, npc_deathstalker_fearleia, and SmartAI.

137{}

◆ SummonedCreatureDespawnAll()

virtual void CreatureAI::SummonedCreatureDespawnAll ( )
inlinevirtual

Reimplemented in BossAI.

139{}

Referenced by Creature::DespawnOnEvade().

◆ SummonedCreatureDies()

virtual void CreatureAI::SummonedCreatureDies ( Creature ,
Unit  
)
inlinevirtual

Reimplemented in boss_rend_blackhand::boss_rend_blackhandAI, boss_priestess_delrissa, boss_moam, boss_sartharion_shadron::boss_sartharion_shadronAI, boss_sartharion_vesperon::boss_sartharion_vesperonAI, boss_loatheb::boss_loathebAI, boss_the_lurker_below, boss_taerar::boss_taerarAI, npc_nelson::npc_nelsonAI, npc_arthas::npc_arthasAI, boss_anubrekhan::boss_anubrekhanAI, boss_gluth::boss_gluthAI, boss_auriaya::boss_auriayaAI, boss_emalon::boss_emalonAI, boss_dorothee, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, npc_daphne_stilwell::npc_daphne_stilwellAI, npc_time_rift, boss_cthun, npc_cork_gizelton::npc_cork_gizeltonAI, npc_grimstone::npc_grimstoneAI, boss_victor_nefarius::boss_victor_nefariusAI, npc_drakonid_spawner, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, boss_apothecary_hummel::boss_apothecary_hummelAI, npc_kiljaeden_controller, npc_varian_wrynn::npc_varian_wrynnAI, npc_thrall_bfu::npc_thrall_bfuAI, boss_hazzarah, npc_coren_direbrew, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, boss_elder_nadox, boss_krik_thir::boss_krik_thirAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_the_lich_king::boss_the_lich_kingAI, npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI, npc_icc_putricades_trap::npc_icc_putricades_trapAI, npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI, boss_anzu, npc_akama_illidan, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, npc_creature_generator_akama, boss_the_black_stalker, boss_vazruden_the_herald, boss_warchief_kargath_bladefist, npc_warden_mellichar::npc_warden_mellicharAI, boss_high_botanist_freywinn, SmartAI, boss_selin_fireheart, boss_vexallus, boss_viscidus, boss_amanitar, and boss_jedoga_shadowseeker.

138{}

Referenced by boss_selin_fireheart::SummonedCreatureDies(), and boss_amanitar::SummonedCreatureDies().

◆ SummonedCreatureEvade()

virtual void CreatureAI::SummonedCreatureEvade ( Creature )
inlinevirtual

Reimplemented in npc_amanishi_tempest, and SmartAI.

141{}

◆ Talk() [1/2]

void CreatureAI::Talk ( uint8  id,
Milliseconds  delay 
)
inline
97{ Talk(id, nullptr, delay); }
Talk
Definition hyjal.cpp:82

References Talk().

Referenced by Talk().

◆ Talk() [2/2]

void CreatureAI::Talk ( uint8  id,
WorldObject const *  target = nullptr,
Milliseconds  delay = 0s 
)

Causes the creature to talk/say the text assigned to their entry in the creature_text database table.

Parameters
uint8id Text ID from creature_text.
WorldObjecttarget The target of the speech, in case it has elements such as $n, where the target's name will be referrenced.
Millisecondsdelay Delay until the creature says the text line. Creatures will talk immediately by default.
51{
52 if (delay > Seconds::zero())
53 {
54 me->m_Events.AddEventAtOffset([this, id, target]()
55 {
56 sCreatureTextMgr->SendChat(me, id, target);
57 }, delay);
58 }
59 else
60 {
61 sCreatureTextMgr->SendChat(me, id, target);
62 }
63}
#define sCreatureTextMgr
Definition CreatureTextMgr.h:119
void AddEventAtOffset(BasicEvent *event, Milliseconds offset)
Definition EventProcessor.h:107
EventProcessor m_Events
Definition Object.h:639

References EventProcessor::AddEventAtOffset(), WorldObject::m_Events, me, and sCreatureTextMgr.

Referenced by BattlegroundAV::ChangeMineOwner(), npc_still_at_it_trigger::npc_still_at_it_triggerAI::CheckAction(), npc_riggle_bassbait::npc_riggle_bassbaitAI::CheckTournamentState(), DelayedTalk::Execute(), UtherBatteredHiltEvent::Execute(), CaptainSurviveTalk::Execute(), ChargeRifts::Execute(), npc_anachronos_the_ancient::npc_anachronos_the_ancientAI::HandleAnimation(), spell_item_lil_xt::HandleDummy(), spell_q12096_q12092_dummy::HandleDummy(), spell_q12096_q12092_bark::HandleDummy(), spell_q12589_shoot_rjr::HandleDummy(), spell_herald_volzaj_insanity::HandleDummyEffect(), spell_festergut_pungent_blight::HandleScript(), spell_rotface_large_ooze_combine::HandleScript(), spell_rotface_large_ooze_buff_combine::HandleScript(), spell_q13011_bear_flank_master::HandleScript(), spell_volazj_whisper::HandleScriptEffect(), spell_marrowgar_bone_spike_graveyard::HandleSpikes(), npc_mr_bigglesworth::JustDied(), boss_anubrekhan::boss_anubrekhanAI::JustSummoned(), npc_eris_hevenfire::npc_eris_hevenfireAI::JustSummoned(), boss_midnight::JustSummoned(), npc_maghar_captive::npc_maghar_captiveAI::JustSummoned(), npc_kurenai_captive::npc_kurenai_captiveAI::JustSummoned(), npc_love_in_air_supply_sentry::MoveInLineOfSight(), instance_blackrock_spire::instance_blackrock_spireMapScript::OnCreatureCreate(), go_main_chambers_access_panel::OnGossipHello(), npc_hyjal_jaina::OnGossipSelect(), npc_hyjal_thrall::OnGossipSelect(), boss_doomrel::OnGossipSelect(), boss_majordomo::OnGossipSelect(), npc_ulduar_keeper::OnGossipSelect(), npc_vekjik::OnGossipSelect(), npc_adventurous_dwarf::OnGossipSelect(), npc_daphne_stilwell::OnQuestAccept(), npc_kerlonian::OnQuestAccept(), npc_gilthares::OnQuestAccept(), npc_lakota_windsong::OnQuestAccept(), npc_paoka_swiftmountain::OnQuestAccept(), npc_engineer_helice::OnQuestAccept(), npc_maghar_captive::OnQuestAccept(), npc_deathstalker_erland::OnQuestAccept(), npc_kaya_flathoof::OnQuestAccept(), npc_wizzlecrank_shredder::OnQuestAccept(), npc_ame::OnQuestAccept(), npc_ranshalla::OnQuestAccept(), npc_mootoo_the_younger::OnQuestAccept(), npc_bonker_togglevolt::OnQuestAccept(), npc_emily::OnQuestAccept(), npc_bessy::OnQuestAccept(), npc_rocknot::OnQuestReward(), npc_riggle_bassbait::OnQuestReward(), npc_jungle_punch_target::npc_jungle_punch_targetAI::proceedCwEvent(), instance_stratholme::instance_stratholme_InstanceMapScript::ProcessSlaughterEvent(), boss_yoggsaron_lich_king::boss_yoggsaron_lich_kingAI::Say(), boss_yoggsaron_llane::boss_yoggsaron_llaneAI::Say(), boss_yoggsaron_neltharion::boss_yoggsaron_neltharionAI::Say(), instance_violet_hold::instance_violet_hold_InstanceMapScript::SetData(), npc_thrall_bfu::npc_thrall_bfuAI::SpawnWave(), npc_still_at_it_trigger::npc_still_at_it_triggerAI::Start(), boss_anubrekhan::boss_anubrekhanAI::SummonedCreatureDies(), npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI::SummonsAction(), npc_barnes::npc_barnesAI::Talk(), npc_love_in_air_snivel_real::Talk(), instance_stratholme::instance_stratholme_InstanceMapScript::Update(), npc_kalecgos_kj::UpdateAI(), npc_winterfin_playmate::UpdateAI(), npc_snowfall_glade_playmate::UpdateAI(), npc_the_biggest_tree::UpdateAI(), npc_high_oracle_soo_roo::UpdateAI(), npc_elder_kekek::UpdateAI(), npc_the_etymidian::UpdateAI(), npc_alexstraza_the_lifebinder::UpdateAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI(), boss_prince_valanar_icc::boss_prince_valanarAI::UpdateAI(), npc_still_at_it_trigger::npc_still_at_it_triggerAI::UpdateAI(), npc_commander_dawnforge::npc_commander_dawnforgeAI::UpdateAI(), npc_tooga::npc_toogaAI::UpdateFollowerAI(), npc_ringo::npc_ringoAI::UpdateFollowerAI(), npc_ranger_lilatha::WaypointReached(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::WaypointReached(), npc_ancestral_wolf::npc_ancestral_wolfAI::WaypointReached(), and npc_bessy::npc_bessyAI::WaypointReached().

◆ TriggerAlert()

void CreatureAI::TriggerAlert ( Unit const *  who) const
187{
188 // If there's no target, or target isn't a player do nothing
189 if (!who || !who->IsPlayer())
190 return;
191 // If this unit isn't an NPC, is already distracted, is in combat, is confused, stunned or fleeing, do nothing
193 return;
194 // Only alert for hostiles!
196 return;
197 // Only alert if target is within line of sight
198 if (!me->IsWithinLOSInMap(who))
199 return;
200 // Send alert sound (if any) for this creature
202 // Face the unit (stealthed player) and set distracted state for 5 seconds
203 me->SetFacingTo(me->GetAngle(who->GetPositionX(), who->GetPositionY()));
204 me->StopMoving();
206}
constexpr auto IN_MILLISECONDS
Definition Common.h:53
@ AI_REACTION_ALERT
Definition SharedDefines.h:3240
@ UNIT_STATE_DISTRACTED
Definition UnitDefines.h:182
@ UNIT_STATE_CONFUSED
Definition UnitDefines.h:181
@ UNIT_STATE_FLEEING
Definition UnitDefines.h:177
@ UNIT_STATE_STUNNED
Definition UnitDefines.h:173
bool _IsTargetAcceptable(Unit const *target) const
Definition Creature.cpp:2562
bool IsCivilian() const
Definition Creature.h:75
void SendAIReaction(AiReaction reactionType)
Definition Creature.cpp:2426
void MoveDistract(uint32 time)
Enable the target's distract movement. Doesn't work with UNIT_FLAG_DISABLE_MOVE and if the unit has M...
Definition MotionMaster.cpp:798
void SetFacingTo(float ori)
Definition Unit.cpp:20581
void StopMoving()
Definition Unit.cpp:16702
bool HasUnitState(const uint32 f) const
Definition Unit.h:707
bool IsHostileTo(Unit const *unit) const
Definition Unit.cpp:10277
bool IsWithinLOSInMap(WorldObject const *obj, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, Optional< float > collisionHeight={ }, Optional< float > combatReach={ }) const
Definition Object.cpp:1358
float GetAngle(const Position *pos) const
Definition Position.cpp:78

References Creature::_IsTargetAcceptable(), AI_REACTION_ALERT, Position::GetAngle(), Unit::GetMotionMaster(), Position::GetPositionX(), Position::GetPositionY(), Creature::HasReactState(), Unit::HasUnitState(), IN_MILLISECONDS, Creature::IsCivilian(), Object::IsCreature(), Unit::IsEngaged(), Unit::IsHostileTo(), Object::IsPlayer(), WorldObject::IsWithinLOSInMap(), me, MotionMaster::MoveDistract(), REACT_PASSIVE, Creature::SendAIReaction(), Unit::SetFacingTo(), Unit::StopMoving(), UNIT_STATE_CONFUSED, UNIT_STATE_DISTRACTED, UNIT_STATE_FLEEING, and UNIT_STATE_STUNNED.

Referenced by CreatureUnitRelocationWorker().

◆ UpdateVictim()

bool CreatureAI::UpdateVictim ( )
protected
281{
282 if (!me->IsEngaged())
283 return false;
284
286 {
287 if (Unit* victim = me->SelectVictim())
288 AttackStart(victim);
289 return me->GetVictim();
290 }
291 // xinef: if we have any victim, just return true
292 else if (me->GetVictim() && me->GetExactDist(me->GetVictim()) < 30.0f)
293 return true;
294 else if (me->GetThreatMgr().isThreatListEmpty())
295 {
297 return false;
298 }
299
300 return true;
301}
Unit * SelectVictim()
Definition Unit.cpp:14785
bool isThreatListEmpty() const
Definition ThreatMgr.h:224
float GetExactDist(float x, float y, float z) const
Definition Position.h:182

References UnitAI::AttackStart(), EnterEvadeMode(), Position::GetExactDist(), Unit::GetThreatMgr(), Unit::GetVictim(), Creature::HasReactState(), Unit::IsEngaged(), ThreatMgr::isThreatListEmpty(), me, REACT_PASSIVE, and Creature::SelectVictim().

Referenced by SmartAI::JustReachedHome(), boss_four_horsemen::boss_four_horsemenAI::MovementInform(), npc_daphne_stilwell::npc_daphne_stilwellAI::Update(), boss_sartharion_dragonAI::UpdateAI(), CombatAI::UpdateAI(), CasterAI::UpdateAI(), ArcherAI::UpdateAI(), TurretAI::UpdateAI(), ReactorAI::UpdateAI(), ScriptedAI::UpdateAI(), BossAI::UpdateAI(), WorldBossAI::UpdateAI(), SmartAI::UpdateAI(), npc_av_marshal_or_warmaster::npc_av_marshal_or_warmasterAI::UpdateAI(), boss_drekthar::boss_drektharAI::UpdateAI(), boss_galvangar::boss_galvangarAI::UpdateAI(), boss_vanndar::boss_vanndarAI::UpdateAI(), npc_phalanx::npc_phalanxAI::UpdateAI(), boss_ambassador_flamelash::boss_ambassador_flamelashAI::UpdateAI(), boss_anubshiah::boss_anubshiahAI::UpdateAI(), boss_emperor_dagran_thaurissan::boss_draganthaurissanAI::UpdateAI(), boss_eviscerator::boss_evisceratorAI::UpdateAI(), boss_general_angerforge::boss_general_angerforgeAI::UpdateAI(), boss_gorosh_the_dervish::boss_gorosh_the_dervishAI::UpdateAI(), boss_grizzle::boss_grizzleAI::UpdateAI(), boss_hedrum::boss_hedrumAI::UpdateAI(), boss_high_interrogator_gerstahn::boss_high_interrogator_gerstahnAI::UpdateAI(), boss_magmus::boss_magmusAI::UpdateAI(), boss_moira_bronzebeardAI::UpdateAI(), boss_high_priestess_thaurissanAI::UpdateAI(), boss_okthor::boss_okthorAI::UpdateAI(), boss_doomrel::boss_doomrelAI::UpdateAI(), boss_drakkisath::boss_drakkisathAI::UpdateAI(), boss_gyth::boss_gythAI::UpdateAI(), boss_halycon::boss_halyconAI::UpdateAI(), boss_highlord_omokk::boss_highlordomokkAI::UpdateAI(), boss_lord_valthalak::boss_lord_valthalakAI::UpdateAI(), boss_mor_grayhoof::UpdateAI(), boss_overlord_wyrmthalak::boss_overlordwyrmthalakAI::UpdateAI(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::UpdateAI(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::UpdateAI(), boss_quartermaster_zigris::UpdateAI(), boss_rend_blackhand::boss_rend_blackhandAI::UpdateAI(), npc_rookery_hatcher::npc_rookery_hatcherAI::UpdateAI(), boss_solakar_flamewreath::boss_solakar_flamewreathAI::UpdateAI(), boss_the_beast::boss_thebeastAI::UpdateAI(), boss_urok_doomhowl::boss_urok_doomhowlAI::UpdateAI(), npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI::UpdateAI(), boss_broodlord::boss_broodlordAI::UpdateAI(), boss_chromaggus::boss_chromaggusAI::UpdateAI(), boss_ebonroc::boss_ebonrocAI::UpdateAI(), boss_firemaw::boss_firemawAI::UpdateAI(), boss_flamegor::boss_flamegorAI::UpdateAI(), boss_victor_nefarius::boss_victor_nefariusAI::UpdateAI(), boss_nefarian::UpdateAI(), boss_razorgore::boss_razorgoreAI::UpdateAI(), boss_vaelastrasz::boss_vaelAI::UpdateAI(), boss_garr::boss_garrAI::UpdateAI(), boss_golemagg::boss_golemaggAI::UpdateAI(), npc_core_rager::npc_core_ragerAI::UpdateAI(), boss_majordomo::boss_majordomoAI::UpdateAI(), boss_ragnaros::boss_ragnarosAI::UpdateAI(), npc_flamewaker_priest::npc_flamewaker_priestAI::UpdateAI(), npc_mc_core_hound::npc_mc_core_houndAI::UpdateAI(), npc_lava_spawn::UpdateAI(), boss_mr_smite::boss_mr_smiteAI::UpdateAI(), boss_attumen::UpdateAI(), boss_midnight::UpdateAI(), boss_moroes::UpdateAI(), boss_netherspite::UpdateAI(), boss_nightbane::UpdateAI(), npc_malchezaar_axe::UpdateAI(), boss_servant_quarters::UpdateAI(), boss_shade_of_aran::UpdateAI(), npc_kilrek::UpdateAI(), npc_tito::UpdateAI(), boss_roar::UpdateAI(), boss_strawman::UpdateAI(), boss_tinhead::UpdateAI(), boss_crone::UpdateAI(), boss_bigbadwolf::UpdateAI(), boss_julianne::UpdateAI(), boss_romulo::UpdateAI(), boss_priestess_lackey_commonAI::UpdateAI(), npc_death_knight_initiate::npc_death_knight_initiateAI::UpdateAI(), npc_scarlet_ghoul::npc_scarlet_ghoulAI::UpdateAI(), npc_unworthy_initiate::npc_unworthy_initiateAI::UpdateAI(), npc_scarlet_courier::npc_scarlet_courierAI::UpdateAI(), npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::UpdateAI(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::UpdateAI(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::UpdateAI(), boss_kormok::UpdateAI(), npc_scholomance_occultist::npc_scholomance_occultistAI::UpdateAI(), boss_apothecary_hummel::boss_apothecary_hummelAI::UpdateAI(), npc_apothecary_baxter::UpdateAI(), boss_baroness_anastari::boss_baroness_anastariAI::UpdateAI(), boss_jarien::UpdateAI(), boss_sothos::UpdateAI(), boss_felmyst::UpdateAI(), boss_kalec::UpdateAI(), boss_sathrovarr::UpdateAI(), boss_entropius::UpdateAI(), npc_sunblade_arch_mage::UpdateAI(), boss_twilight_corrupter::UpdateAI(), npc_supervisor_raelen::UpdateAI(), npc_eastvale_peasent::UpdateAI(), npc_partygoer_pather::UpdateAI(), npc_partygoer::UpdateAI(), npc_sentinel_leader::UpdateAI(), npc_sentinel_infiltrator::UpdateAI(), npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI::UpdateAI(), npc_corporal_keeshan::npc_corporal_keeshanAI::UpdateAI(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::UpdateAI(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), boss_blight_worm::boss_blight_wormAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), boss_alyson_antille::UpdateAI(), boss_arlokk::boss_arlokkAI::UpdateAI(), npc_zulian_prowler::npc_zulian_prowlerAI::UpdateAI(), boss_grilek::boss_grilekAI::UpdateAI(), boss_hakkar::boss_hakkarAI::UpdateAI(), boss_hazzarah::UpdateAI(), boss_jindo::UpdateAI(), boss_mandokir::boss_mandokirAI::UpdateAI(), npc_ohgan::npc_ohganAI::UpdateAI(), npc_vilebranch_speaker::UpdateAI(), npc_spawn_of_marli::UpdateAI(), boss_renataki::boss_renatakiAI::UpdateAI(), boss_thekal::UpdateAI(), npc_zealot_lorkhan::UpdateAI(), npc_zealot_zath::UpdateAI(), boss_wushoolay::boss_wushoolayAI::UpdateAI(), npc_coren_direbrew::UpdateAI(), npc_hallows_end_soh::UpdateAI(), boss_headless_horseman::UpdateAI(), boss_azuregos::boss_azuregosAI::UpdateAI(), npc_hyjal_jaina::hyjalJainaAI::UpdateAI(), npc_hyjal_thrall::hyjalThrallAI::UpdateAI(), npc_hyjal_tyrande::hyjalTyrandeAI::UpdateAI(), npc_hyjal_ground_trash::UpdateAI(), npc_hyjal_gargoyle::UpdateAI(), npc_hyjal_frost_wyrm::UpdateAI(), boss_epoch::boss_epochAI::UpdateAI(), boss_infinite_corruptor::boss_infinite_corruptorAI::UpdateAI(), boss_mal_ganis::boss_mal_ganisAI::UpdateAI(), boss_meathook::boss_meathookAI::UpdateAI(), boss_salramm::boss_salrammAI::UpdateAI(), boss_lieutenant_drake::UpdateAI(), boss_isalien::UpdateAI(), boss_onyxia::UpdateAI(), npc_onyxian_lair_guard::UpdateAI(), npc_belnistrasz::npc_belnistraszAI::UpdateAI(), boss_buru::UpdateAI(), boss_moam::UpdateAI(), boss_ossirian::UpdateAI(), npc_anubisath_guardian::UpdateAI(), npc_hivezara_stinger::UpdateAI(), npc_obsidian_destroyer::UpdateAI(), boss_bug_trio::UpdateAI(), boss_cthun::UpdateAI(), npc_eye_tentacle::UpdateAI(), npc_claw_tentacle::UpdateAI(), npc_giant_claw_tentacle::UpdateAI(), npc_giant_eye_tentacle::UpdateAI(), boss_huhuran::UpdateAI(), boss_ouro::UpdateAI(), npc_dirt_mound::UpdateAI(), boss_sartura::UpdateAI(), npc_sartura_royal_guard::UpdateAI(), boss_skeram::UpdateAI(), boss_twinemperorsAI::UpdateAI(), boss_viscidus::UpdateAI(), npc_anubisath_defender::UpdateAI(), npc_vekniss_stinger::UpdateAI(), npc_anubisath_warder::UpdateAI(), npc_death_ravager::npc_death_ravagerAI::UpdateAI(), npc_murkdeep::npc_murkdeepAI::UpdateAI(), npc_rabid_thistle_bear::npc_rabid_thistle_bearAI::UpdateAI(), npc_tharnarian::npc_tharnarianAI::UpdateAI(), npc_tiger_matriarch::npc_tiger_matriarchAI::UpdateAI(), npc_omen::npc_omenAI::UpdateAI(), npc_shenthul::npc_shenthulAI::UpdateAI(), npc_qiraj_war_spawn::npc_qiraj_war_spawnAI::UpdateAI(), npc_aquementas::npc_aquementasAI::UpdateAI(), npc_taskmaster_fizzule::npc_taskmaster_fizzuleAI::UpdateAI(), npc_plucky::npc_pluckyAI::UpdateAI(), npc_cairne_bloodhoof::npc_cairne_bloodhoofAI::UpdateAI(), npc_ame::npc_ameAI::UpdateAI(), npc_sergeant_bly::npc_sergeant_blyAI::UpdateAI(), npc_weegli_blastfuse::npc_weegli_blastfuseAI::UpdateAI(), npc_shadowpriest_sezziz::npc_shadowpriest_sezzizAI::UpdateAI(), boss_elder_nadox::UpdateAI(), npc_ahnkahar_nerubian::UpdateAI(), boss_volazj::UpdateAI(), boss_jedoga_shadowseeker::UpdateAI(), npc_twilight_volunteer::UpdateAI(), boss_taldaram::UpdateAI(), boss_anub_arak::boss_anub_arakAI::UpdateAI(), boss_hadronox::boss_hadronoxAI::UpdateAI(), npc_anub_ar_crusher::npc_anub_ar_crusherAI::UpdateAI(), boss_krik_thir::boss_krik_thirAI::UpdateAI(), boss_sartharion::boss_sartharionAI::UpdateAI(), npc_twilight_summon::npc_twilight_summonAI::UpdateAI(), boss_baltharus_the_warborn::boss_baltharus_the_warbornAI::UpdateAI(), npc_baltharus_the_warborn_clone::npc_baltharus_the_warborn_cloneAI::UpdateAI(), boss_general_zarithrian::boss_general_zarithrianAI::UpdateAI(), boss_halion::boss_halionAI::UpdateAI(), boss_twilight_halion::boss_twilight_halionAI::UpdateAI(), boss_saviana_ragefire::boss_saviana_ragefireAI::UpdateAI(), boss_eadric::boss_eadricAI::UpdateAI(), boss_paletress::boss_paletressAI::UpdateAI(), npc_memory::npc_memoryAI::UpdateAI(), npc_argent_soldier::npc_argent_soldierAI::UpdateAI(), boss_black_knight::boss_black_knightAI::UpdateAI(), npc_black_knight_ghoul::npc_black_knight_ghoulAI::UpdateAI(), npc_toc5_grand_champion_minion::npc_toc5_grand_champion_minionAI::UpdateAI(), boss_grand_champion::boss_grand_championAI::UpdateAI(), boss_anubarak_trial::boss_anubarak_trialAI::UpdateAI(), npc_swarm_scarab::npc_swarm_scarabAI::UpdateAI(), npc_nerubian_burrower::npc_nerubian_burrowerAI::UpdateAI(), npc_toc_druid::npc_toc_druidAI::UpdateAI(), npc_toc_shaman::npc_toc_shamanAI::UpdateAI(), npc_toc_paladin::npc_toc_paladinAI::UpdateAI(), npc_toc_priest::npc_toc_priestAI::UpdateAI(), npc_toc_shadow_priest::npc_toc_shadow_priestAI::UpdateAI(), npc_toc_warlock::npc_toc_warlockAI::UpdateAI(), npc_toc_mage::npc_toc_mageAI::UpdateAI(), npc_toc_hunter::npc_toc_hunterAI::UpdateAI(), npc_toc_boomkin::npc_toc_boomkinAI::UpdateAI(), npc_toc_warrior::npc_toc_warriorAI::UpdateAI(), npc_toc_dk::npc_toc_dkAI::UpdateAI(), npc_toc_rogue::npc_toc_rogueAI::UpdateAI(), npc_toc_enh_shaman::npc_toc_enh_shamanAI::UpdateAI(), npc_toc_retro_paladin::npc_toc_retro_paladinAI::UpdateAI(), npc_toc_pet_warlock::npc_toc_pet_warlockAI::UpdateAI(), npc_toc_pet_hunter::npc_toc_pet_hunterAI::UpdateAI(), boss_jaraxxus::boss_jaraxxusAI::UpdateAI(), npc_fel_infernal::npc_fel_infernalAI::UpdateAI(), npc_mistress_of_pain::npc_mistress_of_painAI::UpdateAI(), boss_gormok::boss_gormokAI::UpdateAI(), boss_jormungarAI::UpdateAI(), boss_icehowl::boss_icehowlAI::UpdateAI(), boss_twin_valkyrAI::UpdateAI(), boss_dred::boss_dredAI::UpdateAI(), boss_novos::boss_novosAI::UpdateAI(), boss_tharon_ja::boss_tharon_jaAI::UpdateAI(), boss_trollgore::boss_trollgoreAI::UpdateAI(), boss_bronjahm::boss_bronjahmAI::UpdateAI(), boss_devourer_of_souls::boss_devourer_of_soulsAI::UpdateAI(), npc_fos_leader::npc_fos_leaderAI::UpdateAI(), boss_falric::boss_falricAI::UpdateAI(), boss_marwyn::boss_marwynAI::UpdateAI(), npc_ghostly_priest::npc_ghostly_priestAI::UpdateAI(), npc_phantom_mage::npc_phantom_mageAI::UpdateAI(), npc_shadowy_mercenary::npc_shadowy_mercenaryAI::UpdateAI(), npc_spectral_footman::npc_spectral_footmanAI::UpdateAI(), npc_tortured_rifleman::npc_tortured_riflemanAI::UpdateAI(), boss_frostsworn_general::boss_frostsworn_generalAI::UpdateAI(), npc_hor_spiritual_reflection::npc_hor_spiritual_reflectionAI::UpdateAI(), npc_hor_risen_witch_doctor::npc_hor_risen_witch_doctorAI::UpdateAI(), npc_hor_lumbering_abomination::npc_hor_lumbering_abominationAI::UpdateAI(), boss_garfrost::boss_garfrostAI::UpdateAI(), boss_ick::boss_ickAI::UpdateAI(), boss_tyrannus::boss_tyrannusAI::UpdateAI(), npc_pos_leader::npc_pos_leaderAI::UpdateAI(), npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI::UpdateAI(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::UpdateAI(), boss_drakkari_colossus::boss_drakkari_colossusAI::UpdateAI(), boss_drakkari_elemental::boss_drakkari_elementalAI::UpdateAI(), npc_living_mojo::npc_living_mojoAI::UpdateAI(), boss_eck::boss_eckAI::UpdateAI(), boss_gal_darah::boss_gal_darahAI::UpdateAI(), boss_moorabi::boss_moorabiAI::UpdateAI(), boss_slad_ran::boss_slad_ranAI::UpdateAI(), boss_prince_keleseth_icc::boss_prince_kelesethAI::UpdateAI(), boss_prince_taldaram_icc::boss_prince_taldaramAI::UpdateAI(), boss_prince_valanar_icc::boss_prince_valanarAI::UpdateAI(), npc_dark_nucleus::npc_dark_nucleusAI::UpdateAI(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::UpdateAI(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::UpdateAI(), boss_festergut::boss_festergutAI::UpdateAI(), npc_stinky_icc::npc_stinky_iccAI::UpdateAI(), npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI::UpdateAI(), npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI::UpdateAI(), npc_gunship_boarding_leader::npc_gunship_boarding_leaderAI::UpdateAI(), npc_gunship_boarding_add::npc_gunship_boarding_add_realAI::UpdateAI(), npc_gunship_gunner::npc_gunship_gunnerAI::UpdateAI(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::UpdateAI(), npc_cult_fanatic::npc_cult_fanaticAI::UpdateAI(), npc_cult_adherent::npc_cult_adherentAI::UpdateAI(), npc_vengeful_shade::npc_vengeful_shadeAI::UpdateAI(), npc_darnavan::npc_darnavanAI::UpdateAI(), boss_lord_marrowgar::UpdateAI(), boss_professor_putricide::boss_professor_putricideAI::UpdateAI(), boss_rotface::boss_rotfaceAI::UpdateAI(), npc_little_ooze::npc_little_oozeAI::UpdateAI(), npc_big_ooze::npc_big_oozeAI::UpdateAI(), npc_precious_icc::npc_precious_iccAI::UpdateAI(), boss_sindragosa::boss_sindragosaAI::UpdateAI(), npc_spinestalker::npc_spinestalkerAI::UpdateAI(), npc_rimefang::npc_rimefangAI::UpdateAI(), npc_sindragosa_trash::npc_sindragosa_trashAI::UpdateAI(), boss_the_lich_king::boss_the_lich_kingAI::UpdateAI(), npc_tirion_fordring_tft::npc_tirion_fordringAI::UpdateAI(), npc_shambling_horror_icc::npc_shambling_horror_iccAI::UpdateAI(), npc_raging_spirit::npc_raging_spiritAI::UpdateAI(), npc_terenas_menethil::npc_terenas_menethilAI::UpdateAI(), npc_spirit_warden::npc_spirit_wardenAI::UpdateAI(), npc_risen_archmage::npc_risen_archmageAI::UpdateAI(), npc_blazing_skeleton::npc_blazing_skeletonAI::UpdateAI(), npc_blistering_zombie::npc_blistering_zombieAI::UpdateAI(), npc_gluttonous_abomination::npc_gluttonous_abominationAI::UpdateAI(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::UpdateAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::UpdateAI(), boss_sister_svalna::boss_sister_svalnaAI::UpdateAI(), npc_captain_arnath::npc_captain_arnathAI::UpdateAI(), npc_captain_brandon::npc_captain_brandonAI::UpdateAI(), npc_captain_grondel::npc_captain_grondelAI::UpdateAI(), npc_captain_rupert::npc_captain_rupertAI::UpdateAI(), npc_frostwing_vrykul::npc_frostwing_vrykulAI::UpdateAI(), npc_icc_skybreaker_hierophant::npc_icc_skybreaker_hierophantAI::UpdateAI(), npc_icc_skybreaker_marksman::npc_icc_skybreaker_marksmanAI::UpdateAI(), npc_icc_skybreaker_vicar::npc_icc_skybreaker_vicarAI::UpdateAI(), npc_icc_skybreaker_luminary::npc_icc_skybreaker_luminaryAI::UpdateAI(), npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI::UpdateAI(), npc_icc_severed_essence::npc_icc_severed_essenceAI::UpdateAI(), npc_icc_spire_frostwyrm::UpdateAI(), npc_icc_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI::UpdateAI(), npc_icc_nerubar_broodkeeper::npc_icc_nerubar_broodkeeperAI::UpdateAI(), boss_isle_of_conquest::boss_isle_of_conquestAI::UpdateAI(), boss_four_horsemen::boss_four_horsemenAI::UpdateAI(), boss_gothik::boss_gothikAI::UpdateAI(), boss_grobbulus::boss_grobbulusAI::UpdateAI(), boss_heigan::boss_heiganAI::UpdateAI(), boss_kelthuzad::boss_kelthuzadAI::UpdateAI(), boss_kelthuzad_minion::boss_kelthuzad_minionAI::UpdateAI(), boss_loatheb::boss_loathebAI::UpdateAI(), boss_maexxna::boss_maexxnaAI::UpdateAI(), boss_noth::boss_nothAI::UpdateAI(), boss_patchwerk::boss_patchwerkAI::UpdateAI(), boss_razuvious_minion::boss_razuvious_minionAI::UpdateAI(), boss_sapphiron::boss_sapphironAI::UpdateAI(), boss_thaddius::boss_thaddiusAI::UpdateAI(), boss_thaddius_summon::boss_thaddius_summonAI::UpdateAI(), boss_malygos::boss_malygosAI::UpdateAI(), npc_nexus_lord::npc_nexus_lordAI::UpdateAI(), boss_anomalus::UpdateAI(), boss_keristrasza::UpdateAI(), boss_magus_telestra::UpdateAI(), boss_ormorok::UpdateAI(), npc_crystalline_frayer::UpdateAI(), boss_drakos::boss_drakosAI::UpdateAI(), boss_eregos::boss_eregosAI::UpdateAI(), boss_urom::boss_uromAI::UpdateAI(), boss_varos::boss_varosAI::UpdateAI(), npc_stormforged_lieutenant::npc_stormforged_lieutenantAI::UpdateAI(), boss_ionar::boss_ionarAI::UpdateAI(), boss_loken::boss_lokenAI::UpdateAI(), boss_volkhan::boss_volkhanAI::UpdateAI(), npc_molten_golem::npc_molten_golemAI::UpdateAI(), npc_hol_monument::npc_hol_monumentAI::UpdateAI(), boss_krystallus::boss_krystallusAI::UpdateAI(), boss_maiden_of_grief::boss_maiden_of_griefAI::UpdateAI(), boss_sjonnir::boss_sjonnirAI::UpdateAI(), boss_sjonnir_iron_sludge::boss_sjonnir_iron_sludgeAI::UpdateAI(), boss_algalon_the_observer::boss_algalon_the_observerAI::UpdateAI(), npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI::UpdateAI(), npc_living_constellation::npc_living_constellationAI::UpdateAI(), boss_steelbreaker::boss_steelbreakerAI::UpdateAI(), boss_runemaster_molgeim::boss_runemaster_molgeimAI::UpdateAI(), boss_stormcaller_brundir::boss_stormcaller_brundirAI::UpdateAI(), boss_auriaya::boss_auriayaAI::UpdateAI(), npc_auriaya_sanctum_sentry::npc_auriaya_sanctum_sentryAI::UpdateAI(), npc_auriaya_feral_defender::npc_auriaya_feral_defenderAI::UpdateAI(), boss_flame_leviathan::boss_flame_leviathanAI::UpdateAI(), boss_freya::boss_freyaAI::UpdateAI(), boss_freya_elder_stonebark::boss_freya_elder_stonebarkAI::UpdateAI(), boss_freya_elder_brightleaf::boss_freya_elder_brightleafAI::UpdateAI(), boss_freya_elder_ironbranch::boss_freya_elder_ironbranchAI::UpdateAI(), boss_freya_summons::boss_freya_summonsAI::UpdateAI(), boss_vezax::boss_vezaxAI::UpdateAI(), npc_ulduar_saronite_animus::npc_ulduar_saronite_animusAI::UpdateAI(), boss_hodir::boss_hodirAI::UpdateAI(), npc_ulduar_iron_construct::npc_ulduar_iron_constructAI::UpdateAI(), boss_ignis::boss_ignisAI::UpdateAI(), boss_kologarn::boss_kologarnAI::UpdateAI(), npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI::UpdateAI(), npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI::UpdateAI(), boss_razorscale::boss_razorscaleAI::UpdateAI(), npc_ulduar_dark_rune_guardian::npc_ulduar_dark_rune_guardianAI::UpdateAI(), npc_ulduar_dark_rune_watcher::npc_ulduar_dark_rune_watcherAI::UpdateAI(), npc_ulduar_dark_rune_sentinel::npc_ulduar_dark_rune_sentinelAI::UpdateAI(), boss_thorim::boss_thorimAI::UpdateAI(), boss_thorim_start_npcs::boss_thorim_start_npcsAI::UpdateAI(), boss_thorim_gauntlet_npcs::boss_thorim_gauntlet_npcsAI::UpdateAI(), boss_thorim_runic_colossus::boss_thorim_runic_colossusAI::UpdateAI(), boss_thorim_ancient_rune_giant::boss_thorim_ancient_rune_giantAI::UpdateAI(), boss_thorim_arena_npcs::boss_thorim_arena_npcsAI::UpdateAI(), boss_xt002::boss_xt002AI::UpdateAI(), npc_xt002_pummeller::npc_xt002_pummellerAI::UpdateAI(), boss_yoggsaron_guardian_of_ys::boss_yoggsaron_guardian_of_ysAI::UpdateAI(), boss_yoggsaron_immortal_guardian::boss_yoggsaron_immortal_guardianAI::UpdateAI(), npc_ulduar_storm_tempered_keeper::npc_ulduar_storm_tempered_keeperAI::UpdateAI(), npc_ulduar_arachnopod_destroyer::npc_ulduar_arachnopod_destroyerAI::UpdateAI(), boss_ingvar_the_plunderer::UpdateAI(), npc_vrykul_skeleton::UpdateAI(), boss_skarvald_the_constructor::UpdateAI(), boss_dalronn_the_controller::UpdateAI(), npc_enslaved_proto_drake::UpdateAI(), boss_palehoof::boss_palehoofAI::UpdateAI(), npc_massive_jormungar::npc_massive_jormungarAI::UpdateAI(), npc_ferocious_rhino::npc_ferocious_rhinoAI::UpdateAI(), npc_ravenous_furbolg::npc_ravenous_furbolgAI::UpdateAI(), npc_frenzied_worgen::npc_frenzied_worgenAI::UpdateAI(), boss_skadi::boss_skadiAI::UpdateAI(), boss_svala::boss_svalaAI::UpdateAI(), boss_ymiron::boss_ymironAI::UpdateAI(), boss_archavon::boss_archavonAI::UpdateAI(), boss_emalon::boss_emalonAI::UpdateAI(), boss_koralon::boss_koralonAI::UpdateAI(), boss_toravon::boss_toravonAI::UpdateAI(), boss_cyanigosa::boss_cyanigosaAI::UpdateAI(), boss_erekem::boss_erekemAI::UpdateAI(), npc_erekem_guard::npc_erekem_guardAI::UpdateAI(), boss_lavanthor::boss_lavanthorAI::UpdateAI(), boss_moragg::boss_moraggAI::UpdateAI(), boss_xevozz::boss_xevozzAI::UpdateAI(), boss_zuramat::boss_zuramatAI::UpdateAI(), npc_azure_invader::npc_azure_invaderAI::UpdateAI(), npc_azure_binder::npc_azure_binderAI::UpdateAI(), npc_azure_mage_slayer::npc_azure_mage_slayerAI::UpdateAI(), npc_azure_raider::npc_azure_raiderAI::UpdateAI(), npc_azure_stalker::npc_azure_stalkerAI::UpdateAI(), npc_azure_spellbreaker::npc_azure_spellbreakerAI::UpdateAI(), npc_azure_captain::npc_azure_captainAI::UpdateAI(), npc_azure_sorceror::npc_azure_sorcerorAI::UpdateAI(), npc_lurgglbr::npc_lurgglbrAI::UpdateAI(), npc_beryl_sorcerer::npc_beryl_sorcererAI::UpdateAI(), npc_imprisoned_beryl_sorcerer::npc_imprisoned_beryl_sorcererAI::UpdateAI(), npc_valiance_keep_cannoneer::npc_valiance_keep_cannoneerAI::UpdateAI(), npc_hidden_cultist::npc_hidden_cultistAI::UpdateAI(), npc_bloodmage_laurith::npc_bloodmage_laurithAI::UpdateAI(), npc_thassarian2::npc_thassarian2AI::UpdateAI(), npc_counselor_talbot::npc_counselor_talbotAI::UpdateAI(), npc_dalaran_mage::npc_dalaran_mageAI::UpdateAI(), npc_dalaran_warrior::npc_dalaran_warriorAI::UpdateAI(), npc_q24545_vegard::npc_q24545_vegardAI::UpdateAI(), npc_torturer_lecraft::npc_torturer_lecraftAI::UpdateAI(), npc_amberpine_woodsman::npc_amberpine_woodsmanAI::UpdateAI(), npc_wounded_skirmisher::UpdateAI(), npc_venture_co_straggler::npc_venture_co_stragglerAI::UpdateAI(), npc_tournament_training_dummy::npc_tournament_training_dummyAI::UpdateAI(), npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI::UpdateAI(), npc_frosthound::npc_frosthoundAI::UpdateAI(), npc_iron_watcher::npc_iron_watcherAI::UpdateAI(), npc_icefang::npc_icefangAI::UpdateAI(), npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI::UpdateAI(), npc_crusade_recruit::npc_crusade_recruitAI::UpdateAI(), boss_exarch_maladaar::UpdateAI(), npc_stolen_soul::UpdateAI(), boss_shirrak_the_dead_watcher::UpdateAI(), boss_nexusprince_shaffar::UpdateAI(), npc_yor::UpdateAI(), boss_anzu::UpdateAI(), boss_ambassador_hellmaw::UpdateAI(), boss_blackheart_the_inciter::UpdateAI(), npc_akama_illidan::UpdateAI(), npc_maiev_illidan::UpdateAI(), npc_parasitic_shadowfiend::UpdateAI(), npc_flame_of_azzinoth::UpdateAI(), boss_gathios_the_shatterer::UpdateAI(), boss_high_nethermancer_zerevor::UpdateAI(), boss_lady_malande::UpdateAI(), boss_veras_darkshadow::UpdateAI(), boss_reliquary_of_souls::boss_reliquary_of_soulsAI::UpdateAI(), boss_essence_of_suffering::boss_essence_of_sufferingAI::UpdateAI(), boss_essence_of_desire::boss_essence_of_desireAI::UpdateAI(), boss_essence_of_anger::boss_essence_of_angerAI::UpdateAI(), npc_supremus_punch_invisible_stalker::UpdateAI(), boss_teron_gorefiend::UpdateAI(), boss_doomlord_kazzak::boss_doomlordkazzakAI::UpdateAI(), boss_doomwalker::UpdateAI(), boss_fathomguard_sharkkis::UpdateAI(), boss_fathomguard_tidalvess::UpdateAI(), boss_fathomguard_caribdis::UpdateAI(), boss_lady_vashj::UpdateAI(), boss_leotheras_the_blind::UpdateAI(), npc_inner_demon::UpdateAI(), boss_the_lurker_below::UpdateAI(), boss_ghazan::UpdateAI(), boss_hungarfen::UpdateAI(), boss_the_black_stalker::UpdateAI(), npc_underbat::UpdateAI(), boss_gruul::UpdateAI(), boss_high_king_maulgar::UpdateAI(), boss_olm_the_summoner::UpdateAI(), boss_kiggler_the_crazed::UpdateAI(), boss_blindeye_the_seer::UpdateAI(), boss_krosh_firehand::UpdateAI(), boss_omor_the_unscarred::UpdateAI(), boss_nazan::UpdateAI(), boss_vazruden::UpdateAI(), boss_watchkeeper_gargolmar::UpdateAI(), boss_magtheridon::UpdateAI(), boss_grand_warlock_nethekurse::UpdateAI(), boss_warbringer_omrogg::UpdateAI(), boss_warchief_kargath_bladefist::UpdateAI(), npc_millhouse_manastorm::npc_millhouse_manastormAI::UpdateAI(), boss_alar::UpdateAI(), advisor_baseAI::UpdateAI(), npc_raging_flames::UpdateAI(), npc_nether_drake::npc_nether_drakeAI::UpdateAI(), npc_aeranas::npc_aeranasAI::UpdateAI(), npc_fel_guard_hound::npc_fel_guard_houndAI::UpdateAI(), npc_magister_aledis::UpdateAI(), npc_maghar_captive::npc_maghar_captiveAI::UpdateAI(), npc_captain_saeed::npc_captain_saeedAI::UpdateAI(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI(), npc_enslaved_netherwing_drake::UpdateAI(), npc_dragonmaw_peon::npc_dragonmaw_peonAI::UpdateAI(), npc_illidari_spawn::npc_illidari_spawnAI::UpdateAI(), npc_unkor_the_ruthless::npc_unkor_the_ruthlessAI::UpdateAI(), npc_pet_gen_valkyr_guardian::UpdateAI(), npc_pet_hunter_snake_trap::UpdateAI(), npc_pet_shaman_earth_elemental::UpdateAI(), npc_pet_shaman_fire_elemental::UpdateAI(), emerald_dragonAI::UpdateAI(), npc_dream_fog::npc_dream_fogAI::UpdateAI(), guard_shattrath_scryer::guard_shattrath_scryerAI::UpdateAI(), guard_shattrath_aldor::guard_shattrath_aldorAI::UpdateAI(), npc_artorius::npc_artoriusAI::UpdateAI(), npc_simone::npc_simoneAI::UpdateAI(), npc_nelson::npc_nelsonAI::UpdateAI(), npc_franklin::npc_franklinAI::UpdateAI(), npc_training_dummy::npc_training_dummyAI::UpdateAI(), npc_chicken_cluck::npc_chicken_cluckAI::UpdateAI(), npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI::UpdateAI(), npc_tyrion_spybot::npc_tyrion_spybotAI::UpdateAI(), boss_ichoron::boss_ichoronAI::UpdateAI(), npc_warmage_coldarra::npc_warmage_coldarraAI::UpdateAI(), AggressorAI::UpdateAI(), npc_dark_fiend::UpdateAI(), npc_marzon_silent_blade::npc_marzon_silent_bladeAI::UpdateAI(), npc_zuljin_vortex::UpdateAI(), npc_batrider::UpdateAI(), npc_hor_raging_ghoul::npc_hor_raging_ghoulAI::UpdateAI(), npc_gunship_rocketeer::npc_gunship_rocketeerAI::UpdateAI(), npc_suppresser::npc_suppresserAI::UpdateAI(), npc_centrifuge_construct::npc_centrifuge_constructAI::UpdateAI(), boss_sjonnir_dwarf::boss_sjonnir_dwarfAI::UpdateAI(), npc_xt002_life_spark::npc_xt002_life_sparkAI::UpdateAI(), boss_yoggsaron_crusher_tentacle::boss_yoggsaron_crusher_tentacleAI::UpdateAI(), npc_future_you::npc_future_youAI::UpdateAI(), npc_mrfloppy::npc_mrfloppyAI::UpdateAI(), npc_bushwhacker::npc_bushwhackerAI::UpdateAI(), npc_infernal_attacker::npc_infernal_attackerAI::UpdateAI(), npc_precious::npc_preciousAI::UpdateAI(), npc_escortAI::UpdateEscortAI(), npc_rinji::npc_rinjiAI::UpdateEscortAI(), npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateEscortAI(), npc_general_andorov::UpdateEscortAI(), npc_cork_gizelton::npc_cork_gizeltonAI::UpdateEscortAI(), npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI::UpdateEscortAI(), npc_onyx_flamecaller::npc_onyx_flamecallerAI::UpdateEscortAI(), boss_bjarngrim::boss_bjarngrimAI::UpdateEscortAI(), npc_apothecary_hanes::npc_Apothecary_HanesAI::UpdateEscortAI(), npc_time_lost_proto_drake::npc_time_lost_proto_drakeAI::UpdateEscortAI(), npc_kurenai_captive::npc_kurenai_captiveAI::UpdateEscortAI(), npc_isla_starmane::npc_isla_starmaneAI::UpdateEscortAI(), npc_bonker_togglevolt::npc_bonker_togglevoltAI::UpdateEscortAI(), npc_kerlonian::npc_kerlonianAI::UpdateFollowerAI(), npc_tooga::npc_toogaAI::UpdateFollowerAI(), npc_ringo::npc_ringoAI::UpdateFollowerAI(), and FollowerAI::UpdateFollowerAI().

◆ UpdateVictimWithGaze()

bool CreatureAI::UpdateVictimWithGaze ( )
protected

Member Data Documentation

◆ _boundary

CreatureBoundary const* CreatureAI::_boundary
protected

◆ _negateBoundary

bool CreatureAI::_negateBoundary
protected

Referenced by IsInBoundary(), and SetBoundary().

◆ events

EventMap CreatureAI::events
protected

◆ m_MoveInLineOfSight_locked

bool CreatureAI::m_MoveInLineOfSight_locked
private

Referenced by MoveInLineOfSight_Safe().

◆ me

Creature* const CreatureAI::me
protected

Referenced by PetAI::_canMeleeAttack(), _EnterEvadeMode(), PetAI::_needToStop(), PetAI::_stopAttack(), npc_love_in_air_snivel::AllowAction(), ArcherAI::ArcherAI(), SmartAI::AssistPlayerInCombatAgainst(), PetAI::AttackedBy(), npc_ritual_channeler::npc_ritual_channelerAI::AttackStart(), PossessedAI::AttackStart(), PetAI::AttackStart(), TotemAI::AttackStart(), ArcherAI::AttackStart(), TurretAI::AttackStart(), SmartAI::AttackStart(), npc_ravenous_worg::npc_ravenous_worgAI::AttackStart(), npc_salvaged_siege_engine::BeforeSpellClick(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::boss_yoggsaron_brainAI(), boss_yoggsaron_death_orb::boss_yoggsaron_death_orbAI::boss_yoggsaron_death_orbAI(), boss_yoggsaron_influence_tentacle::boss_yoggsaron_influence_tentacleAI::boss_yoggsaron_influence_tentacleAI(), TurretAI::CanAIAttack(), SmartAI::CanAIAttack(), PetAI::CanAttack(), npc_wg_siege_machine::npc_wg_siege_machineAI::CanControlVehicle(), npc_still_at_it_trigger::npc_still_at_it_triggerAI::CheckAction(), SmartAI::CheckConditions(), VehicleAI::CheckConditions(), boss_skadi_grauf::boss_skadi_graufAI::CheckPlayers(), npc_q24545_lich_king::npc_q24545_lich_kingAI::CleanAll(), PetAI::ClearCharmInfoFlags(), boss_yoggsaron_influence_tentacle::boss_yoggsaron_influence_tentacleAI::DamageTaken(), npc_mc_core_hound::npc_mc_core_houndAI::DamageTaken(), npc_batrider::DamageTaken(), npc_announcer_toc5::npc_announcer_toc5AI::DamageTaken(), npc_frost_sphere::npc_frost_sphereAI::DamageTaken(), npc_gunship::npc_gunshipAI::DamageTaken(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::DamageTaken(), npc_power_spark::npc_power_sparkAI::DamageTaken(), npc_collapsing_star::npc_collapsing_starAI::DamageTaken(), npc_xt002_boombot::npc_xt002_boombotAI::DamageTaken(), npc_hor_leader_second::npc_hor_leader_secondAI::DamageTaken(), npc_ice_tomb::npc_ice_tombAI::DamageTaken(), npc_death_knight_initiate::npc_death_knight_initiateAI::DamageTaken(), SmartAI::DamageTaken(), npc_ulduar_flash_freeze::npc_ulduar_flash_freezeAI::DamageTaken(), npc_heated_battle::npc_heated_battleAI::DamageTaken(), npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI::DamageTaken(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::DamageTaken(), npc_grand_magister_rommath::npc_grand_magister_rommathAI::DoAction(), npc_hor_lich_king::npc_hor_lich_kingAI::DoAction(), boss_krick::boss_krickAI::DoAction(), npc_ulduar_toasty_fire::npc_ulduar_toasty_fireAI::DoAction(), npc_amanishi_lookout::DoAction(), npc_orb_carrier::npc_orb_carrierAI::DoAction(), npc_kinetic_bomb::npc_kinetic_bombAI::DoAction(), npc_bone_spike::npc_bone_spikeAI::DoAction(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::DoAction(), npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI::DoAction(), npc_shattrath_daily_quest::DoAction(), npc_hor_leader_second::npc_hor_leader_secondAI::DoAction(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::DoAction(), npc_pos_leader_second::npc_pos_leader_secondAI::DoAction(), npc_madrigosa::DoAction(), npc_kalecgos_kj::DoAction(), npc_pilgrims_bounty_chair::DoAction(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::DoAction(), npc_icc_putricades_trap::npc_icc_putricades_trapAI::DoAction(), npc_power_spark::npc_power_sparkAI::DoAction(), npc_hover_disk::npc_hover_diskAI::DoAction(), npc_ulduar_bot_summon_trigger::npc_ulduar_bot_summon_triggerAI::DoAction(), npc_xt002_heart::npc_xt002_heartAI::DoAction(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::DoAction(), boss_yoggsaron_keeper::DoAction(), npc_ulduar_keeper::npc_ulduar_keeperAI::DoAction(), boss_skadi_grauf::boss_skadi_graufAI::DoAction(), npc_scarlet_miner_cart::npc_scarlet_miner_cartAI::DoAction(), PetAI::DoAttack(), DoSummon(), DoSummon(), npc_time_rift::DoSummonAtRift(), DoSummonFlyer(), DoZoneInCombat(), npc_ravenclaw_apparition::npc_ravenclaw_apparitionAI::EmoteCrowd(), SmartAI::EndPath(), CritterAI::EnterEvadeMode(), npc_black_morass_summoned_add::EnterEvadeMode(), EnterEvadeMode(), SmartAI::EnterEvadeMode(), TotemAI::EnterEvadeMode(), npc_pos_freed_slave::npc_pos_freed_slaveAI::EnterEvadeMode(), npc_pet_mage_mirror_image::EnterEvadeMode(), npc_xt002_boombot::npc_xt002_boombotAI::Explode(), npc_singularity::FindAndFollowTarget(), npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI::FinishQuest(), SmartAI::GenerateWayPointArray(), npc_ulduar_harpoonfirestate::npc_ulduar_harpoonfirestateAI::GetHarpoonGunIdForThisHFS(), npc_still_at_it_trigger::npc_still_at_it_triggerAI::GetManus(), npc_pilgrims_bounty_chair::GetPlate(), npc_spiritual_insight::npc_spiritual_insightAI::GetSpeachId(), npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI::GetSummoner(), GetSummoner(), npc_wintergarde_gryphon::getVillager(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::GoSiphon(), PetAI::HandleReturnMovement(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::HandleSpeedChangeIfNeeded(), npc_wounded_skirmisher::Initialize(), CombatAI::InitializeAI(), SmartAI::InitializeAI(), npc_ulduar_mimiron_rocket::npc_ulduar_mimiron_rocketAI::InitializeAI(), npc_preparations_for_war_vehicle::InitializeAI(), npc_pet_dk_army_of_the_dead::npc_pet_dk_army_of_the_deadAI::InitializeAI(), npc_pet_dk_dancing_rune_weapon::npc_pet_dk_dancing_rune_weaponAI::InitializeAI(), npc_pet_gen_imp_in_a_bottle::InitializeAI(), npc_pet_mage_mirror_image::InitializeAI(), npc_pet_pri_lightwell::InitializeAI(), SmartAI::IsEscortInvokerInRange(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::IsHeroic(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::IsHeroic(), IsInBoundary(), npc_taldaram_flamesphere::IsSummonedBy(), npc_kinetic_bomb::npc_kinetic_bombAI::IsSummonedBy(), npc_coldflame::npc_coldflameAI::IsSummonedBy(), npc_lk_spirit_bomb::npc_lk_spirit_bombAI::IsSummonedBy(), TriggerAI::IsSummonedBy(), npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI::IsSummonedBy(), npc_demonic_vapor::IsSummonedBy(), npc_bone_spike::npc_bone_spikeAI::IsSummonedBy(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::IsSummonedBy(), npc_oculus_drake::npc_oculus_drakeAI::IsSummonedBy(), npc_wintergarde_gryphon::IsSummonedBy(), npc_spiritual_insight::npc_spiritual_insightAI::IsSummonedBy(), npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI::IsSummonedBy(), npc_frostbrood_skytalon::npc_frostbrood_skytalonAI::IsSummonedBy(), npc_pet_gen_fetch_ball::IsSummonedBy(), npc_spirit_shade::npc_spirit_shadeAI::IsSummonedBy(), PossessedAI::JustDied(), npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI::JustDied(), npc_gunship::npc_gunshipAI::JustDied(), npc_ice_tomb::npc_ice_tombAI::JustDied(), npc_isle_of_conquest_turret::npc_isle_of_conquest_turretAI::JustDied(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::JustDied(), boss_maexxna_webwrap::boss_maexxna_webwrapAI::JustDied(), npc_mr_bigglesworth::JustDied(), npc_eoe_wyrmrest_skytalon::npc_eoe_wyrmrest_skytalonAI::JustDied(), boss_freya_iron_root::boss_freya_iron_rootAI::JustDied(), npc_ulduar_saronite_vapors::npc_ulduar_saronite_vaporsAI::JustDied(), npc_xt002_heart::npc_xt002_heartAI::JustDied(), npc_xt002_boombot::npc_xt002_boombotAI::JustDied(), boss_yoggsaron_influence_tentacle::boss_yoggsaron_influence_tentacleAI::JustDied(), npc_vh_void_sentry::npc_vh_void_sentryAI::JustDied(), npc_wintergarde_gryphon::JustDied(), npc_pet_dk_ghoul::npc_pet_dk_ghoulAI::JustDied(), CombatAI::JustDied(), npc_four_car_garage::npc_four_car_garageAI::JustDied(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::JustDied(), npc_frost_tomb::JustDied(), npc_nerubar_victim::npc_nerubar_victimAI::JustDied(), CasterAI::JustEngagedWith(), CritterAI::JustEngagedWith(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::JustEngagedWith(), boss_yoggsaron_keeper::JustEngagedWith(), boss_skadi_grauf::boss_skadi_graufAI::JustEngagedWith(), SmartAI::JustEngagedWith(), CombatAI::JustEngagedWith(), npc_beryl_sorcerer::npc_beryl_sorcererAI::JustEngagedWith(), SmartAI::JustReachedHome(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::JustReachedHome(), npc_icc_putricades_trap::npc_icc_putricades_trapAI::JustReachedHome(), npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI::JustReachedHome(), SmartAI::JustRespawned(), npc_xt002_heart::npc_xt002_heartAI::JustSummoned(), npc_frozen_orb_stalker::npc_frozen_orb_stalkerAI::JustSummoned(), npc_ravenclaw_apparition::npc_ravenclaw_apparitionAI::JustSummoned(), npc_collapsing_star::npc_collapsing_starAI::JustSummoned(), npc_algalon_worm_hole::npc_algalon_worm_holeAI::JustSummoned(), PetAI::KilledUnit(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::KilledUnit(), boss_grobbulus_poison_cloud::boss_grobbulus_poison_cloudAI::KilledUnit(), VehicleAI::LoadConditions(), npc_drakuru_shackles::npc_drakuru_shacklesAI::LockRageclaw(), SmartAI::MoveAway(), MoveBackwardsChecks(), MoveCircleChecks(), MoveInLineOfSight(), npc_brew_bubble::MoveInLineOfSight(), SmartAI::MoveInLineOfSight(), npc_grand_magister_rommath::npc_grand_magister_rommathAI::MoveInLineOfSight(), npc_amanishi_lookout::MoveInLineOfSight(), npc_love_in_air_snivel::MoveInLineOfSight(), npc_ulduar_expedition_commander::npc_ulduar_expedition_commanderAI::MoveInLineOfSight(), SmartAI::MovementInform(), npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI::MovementInform(), PetAI::MovementInform(), npc_spirit_shade::npc_spirit_shadeAI::MovementInform(), npc_amanishi_lookout::MovementInform(), npc_taldaram_flamesphere::MovementInform(), npc_concentrated_ball::npc_concentrated_ballAI::MovementInform(), npc_pos_tyrannus_events::npc_pos_tyrannus_eventsAI::MovementInform(), npc_pos_leader_second::npc_pos_leader_secondAI::MovementInform(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::MovementInform(), npc_hover_disk::npc_hover_diskAI::MovementInform(), npc_oculus_drake::npc_oculus_drakeAI::MovementInform(), npc_frostbrood_skytalon::npc_frostbrood_skytalonAI::MovementInform(), npc_vehicle_d16_propelled_delivery::npc_vehicle_d16_propelled_deliveryAI::MovementInform(), npc_pet_gen_plump_turkey::MovementInform(), npc_injured_7th_legion_soldier::npc_injured_7th_legion_soldierAI::MovementInform(), npc_ashtongue_sorcerer::MovementInform(), npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI::MovementInform(), npc_announcer_toc5::npc_announcer_toc5AI::MovementInform(), npc_hor_lich_king::npc_hor_lich_kingAI::MovementInform(), npc_hor_leader_second::npc_hor_leader_secondAI::MovementInform(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::MovementInform(), npc_vics_flying_machine::npc_vics_flying_machineAI::MovementInform(), npc_freed_protodrake::npc_freed_protodrakeAI::MovementInform(), boss_skadi_grauf::boss_skadi_graufAI::MovementInform(), npc_attracted_reef_bull::npc_attracted_reef_bullAI::MovementInform(), SmartAI::MovepointReached(), npc_concentrated_ball::npc_concentrated_ballAI::MoveToNextPoint(), npc_hor_leader_second::npc_hor_leader_secondAI::MoveToNextStopPoint(), npc_pet_mage_mirror_image::MySelectNextTarget(), npc_attracted_reef_bull::npc_attracted_reef_bullAI::npc_attracted_reef_bullAI(), npc_batrider::npc_batrider(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::npc_boss_gothik_minionAI(), npc_concentrated_ball::npc_concentrated_ballAI::npc_concentrated_ballAI(), npc_fos_corrupted_soul_fragment::npc_fos_corrupted_soul_fragmentAI::npc_fos_corrupted_soul_fragmentAI(), npc_frost_freeze_trap::npc_frost_freeze_trapAI::npc_frost_freeze_trapAI(), npc_frost_sphere::npc_frost_sphereAI::npc_frost_sphereAI(), npc_frost_tomb::npc_frost_tomb(), npc_grand_magister_rommath::npc_grand_magister_rommathAI::npc_grand_magister_rommathAI(), npc_gunship::npc_gunshipAI::npc_gunshipAI(), npc_hor_leader_second::npc_hor_leader_secondAI::npc_hor_leader_secondAI(), npc_hor_leader::npc_hor_leaderAI::npc_hor_leaderAI(), npc_hor_lich_king::npc_hor_lich_kingAI::npc_hor_lich_kingAI(), npc_hover_disk::npc_hover_diskAI::npc_hover_diskAI(), npc_ice_tomb::npc_ice_tombAI::npc_ice_tombAI(), npc_kiljaeden_controller::npc_kiljaeden_controller(), npc_lk_spirit_bomb::npc_lk_spirit_bombAI::npc_lk_spirit_bombAI(), npc_nightbane_helper_target::npc_nightbane_helper_target(), npc_oculus_drake::npc_oculus_drakeAI::npc_oculus_drakeAI(), npc_pet_gen_moth::npc_pet_gen_moth(), npc_pet_gen_target_following_bomb::npc_pet_gen_target_following_bomb(), npc_pet_gen_wind_rider_cub::npc_pet_gen_wind_rider_cub(), npc_pilgrims_bounty_chair::npc_pilgrims_bounty_chair(), npc_pos_after_first_boss::npc_pos_after_first_bossAI::npc_pos_after_first_bossAI(), npc_pos_collapsing_icicle::npc_pos_collapsing_icicleAI::npc_pos_collapsing_icicleAI(), npc_pos_freed_slave::npc_pos_freed_slaveAI::npc_pos_freed_slaveAI(), npc_pos_icicle_trigger::npc_pos_icicle_triggerAI::npc_pos_icicle_triggerAI(), npc_pos_leader_second::npc_pos_leader_secondAI::npc_pos_leader_secondAI(), npc_pos_leader::npc_pos_leaderAI::npc_pos_leaderAI(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::npc_pos_martin_or_gorkun_secondAI(), npc_pos_tyrannus_events::npc_pos_tyrannus_eventsAI::npc_pos_tyrannus_eventsAI(), npc_power_spark::npc_power_sparkAI::npc_power_sparkAI(), npc_scarlet_miner_cart::npc_scarlet_miner_cartAI::npc_scarlet_miner_cartAI(), npc_ulduar_expedition_commander::npc_ulduar_expedition_commanderAI::npc_ulduar_expedition_commanderAI(), npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI::npc_ulduar_expedition_engineerAI(), npc_ulduar_flames_initial::npc_ulduar_flames_initialAI::npc_ulduar_flames_initialAI(), npc_ulduar_flash_freeze::npc_ulduar_flash_freezeAI::npc_ulduar_flash_freezeAI(), npc_ulduar_harpoonfirestate::npc_ulduar_harpoonfirestateAI::npc_ulduar_harpoonfirestateAI(), npc_ulduar_magnetic_core::npc_ulduar_magnetic_coreAI::npc_ulduar_magnetic_coreAI(), npc_ulduar_saronite_vapors::npc_ulduar_saronite_vaporsAI::npc_ulduar_saronite_vaporsAI(), npc_ulduar_toasty_fire::npc_ulduar_toasty_fireAI::npc_ulduar_toasty_fireAI(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::npc_valkyr_shadowguardAI(), npc_vh_void_sentry::npc_vh_void_sentryAI::npc_vh_void_sentryAI(), npc_vortex_ride::npc_vortex_rideAI::npc_vortex_rideAI(), npc_xt002_heart::npc_xt002_heartAI::npc_xt002_heartAI(), npc_zafod_boombox::npc_zafod_boomboxAI::npc_zafod_boomboxAI(), NullCreatureAI::NullCreatureAI(), npc_vengeful_spirit::OnCharmed(), VehicleAI::OnCharmed(), OnCharmed(), SmartAI::OnCharmed(), npc_toc5_player_vehicle::npc_toc5_player_vehicleAI::OnCharmed(), npc_pet_dk_risen_ally::npc_pet_dk_risen_allyAI::OnCharmed(), npc_valithria_portal::npc_valithria_portalAI::OnSpellClick(), boss_yoggsaron_descend_portal::boss_yoggsaron_descend_portalAI::OnSpellClick(), PetAI::OwnerAttacked(), PetAI::OwnerAttackedBy(), npc_vehicle_d16_propelled_delivery::npc_vehicle_d16_propelled_deliveryAI::PassengerBoarded(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::PassengerBoarded(), npc_vortex_ride::npc_vortex_rideAI::PassengerBoarded(), npc_eoe_wyrmrest_skytalon::npc_eoe_wyrmrest_skytalonAI::PassengerBoarded(), npc_wintergarde_gryphon::PassengerBoarded(), npc_oculus_drake::npc_oculus_drakeAI::PassengerBoarded(), npc_vics_flying_machine::npc_vics_flying_machineAI::PassengerBoarded(), npc_scarlet_miner_cart::npc_scarlet_miner_cartAI::PassengerBoarded(), npc_pilgrims_bounty_chair::PassengerBoarded(), npc_toc5_player_vehicle::npc_toc5_player_vehicleAI::PassengerBoarded(), npc_four_car_garage::npc_four_car_garageAI::PassengerBoarded(), npc_hover_disk::npc_hover_diskAI::PassengerBoarded(), npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI::PassengerBoarded(), PassiveAI::PassiveAI(), SmartAI::PathEndReached(), SmartAI::PausePath(), PossessedAI::PossessedAI(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::PrepareChamberIllusion(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::PrepareIceCrownIllusion(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::PrepareStormwindIllusion(), PetAI::ReceiveEmote(), npc_ulduar_flames_initial::npc_ulduar_flames_initialAI::RemoveAll(), boss_skadi_grauf::boss_skadi_graufAI::RemoveSkadi(), npc_death_knight_initiate::npc_death_knight_initiateAI::Reset(), npc_crusade_persuaded::npc_crusade_persuadedAI::Reset(), npc_valkyr_battle_maiden::npc_valkyr_battle_maidenAI::Reset(), npc_demonic_vapor::Reset(), npc_demonic_vapor_trail::Reset(), npc_kiljaeden_controller::Reset(), npc_singularity::Reset(), npc_amanishi_lookout::Reset(), npc_batrider::Reset(), npc_brew_bubble::Reset(), npc_soh_fire_trigger::Reset(), npc_love_in_air_snivel::Reset(), npc_toc5_player_vehicle::npc_toc5_player_vehicleAI::Reset(), npc_announcer_toc5::npc_announcer_toc5AI::Reset(), npc_hor_leader::npc_hor_leaderAI::Reset(), npc_pos_leader::npc_pos_leaderAI::Reset(), npc_kinetic_bomb::npc_kinetic_bombAI::Reset(), npc_impaling_spear::npc_impaling_spearAI::Reset(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::Reset(), boss_grobbulus_poison_cloud::boss_grobbulus_poison_cloudAI::Reset(), npc_crystal_spike::Reset(), boss_freya_lifebinder::boss_freya_lifebinderAI::Reset(), boss_freya_healthy_spore::boss_freya_healthy_sporeAI::Reset(), boss_freya_nature_bomb::boss_freya_nature_bombAI::Reset(), boss_kologarn_pit_kill_bunny::Reset(), npc_ulduar_mimiron_rocket::npc_ulduar_mimiron_rocketAI::Reset(), boss_thorim_pillar::boss_thorim_pillarAI::Reset(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::Reset(), npc_xt002_boombot::npc_xt002_boombotAI::Reset(), boss_yoggsaron_voice::boss_yoggsaron_voiceAI::Reset(), boss_skadi_grauf::boss_skadi_graufAI::Reset(), npc_frozen_orb_stalker::npc_frozen_orb_stalkerAI::Reset(), npc_beryl_sorcerer::npc_beryl_sorcererAI::Reset(), npc_injured_7th_legion_soldier::npc_injured_7th_legion_soldierAI::Reset(), npc_heated_battle::npc_heated_battleAI::Reset(), npc_q24545_lich_king::npc_q24545_lich_kingAI::Reset(), npc_wounded_skirmisher::Reset(), npc_freed_protodrake::npc_freed_protodrakeAI::Reset(), npc_drakuru_shackles::npc_drakuru_shacklesAI::Reset(), npc_captured_rageclaw::npc_captured_rageclawAI::Reset(), npc_ashtongue_channeler::Reset(), SmartAI::ResumePath(), SmartAI::ReturnToLastOOCPos(), boss_yoggsaron_lich_king::boss_yoggsaron_lich_kingAI::Say(), boss_yoggsaron_llane::boss_yoggsaron_llaneAI::Say(), boss_skadi_grauf::boss_skadi_graufAI::SelectNextPos(), PetAI::SelectNextTarget(), npc_xt002_heart::npc_xt002_heartAI::SendEnergyToCorner(), SetBoundary(), SmartAI::SetCombatMove(), npc_ulduar_harpoonfirestate::npc_ulduar_harpoonfirestateAI::SetData(), npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI::SetData(), npc_q24545_lich_king::npc_q24545_lich_kingAI::SetData(), npc_pos_tyrannus_events::npc_pos_tyrannus_eventsAI::SetData(), npc_pos_leader::npc_pos_leaderAI::SetData(), npc_idol_room_spawner::npc_idol_room_spawnerAI::SetData(), npc_ulduar_mimiron_rocket::npc_ulduar_mimiron_rocketAI::SetData(), SmartAI::SetFly(), SmartAI::SetFollow(), SetGazeOn(), npc_gunship::npc_gunshipAI::SetGUID(), npc_q24545_lich_king::npc_q24545_lich_kingAI::SetGUID(), SmartAI::SetRun(), SmartAI::SetSwim(), npc_maredis_firestar::npc_maredis_firestarAI::sGossipHello(), npc_maredis_firestar::npc_maredis_firestarAI::sGossipSelect(), npc_zafod_boombox::npc_zafod_boomboxAI::sGossipSelect(), SmartAI::SmartAI(), boss_skadi_grauf::boss_skadi_graufAI::SpawnFlameTriggers(), boss_skadi_grauf::boss_skadi_graufAI::SpawnHelpers(), npc_frost_sphere::npc_frost_sphereAI::SpellHit(), npc_ulduar_flames_spread::npc_ulduar_flames_spreadAI::SpellHit(), npc_wintergarde_gryphon::SpellHit(), npc_frostbrood_skytalon::npc_frostbrood_skytalonAI::SpellHit(), npc_vics_flying_machine::npc_vics_flying_machineAI::SpellHit(), npc_captured_rageclaw::npc_captured_rageclawAI::SpellHit(), npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI::SpellHit(), npc_pilgrims_bounty_chair::SpellHit(), npc_pilgrims_bounty_plate::SpellHit(), npc_isle_of_conquest_turret::npc_isle_of_conquest_turretAI::SpellHit(), boss_thorim_pillar::boss_thorim_pillarAI::SpellHit(), npc_ulduar_keeper::npc_ulduar_keeperAI::SpellHit(), npc_death_knight_initiate::npc_death_knight_initiateAI::SpellHit(), npc_crusade_persuaded::npc_crusade_persuadedAI::SpellHit(), npc_wounded_skirmisher::SpellHit(), npc_drakuru_shackles::npc_drakuru_shacklesAI::SpellHit(), PetAI::SpellHit(), npc_soh_fire_trigger::SpellHit(), npc_hallows_end_train_fire::SpellHit(), npc_attracted_reef_bull::npc_attracted_reef_bullAI::SpellHit(), npc_hor_lich_king::npc_hor_lich_kingAI::SpellHitTarget(), npc_pos_leader_second::npc_pos_leader_secondAI::SpellHitTarget(), npc_oculus_drake::npc_oculus_drakeAI::SpellHitTarget(), npc_ulduar_rocket_strike_trigger::npc_ulduar_rocket_strike_triggerAI::SpellHitTarget(), npc_xt002_heart::npc_xt002_heartAI::SpellHitTarget(), boss_yoggsaron_voice::boss_yoggsaron_voiceAI::SpellHitTarget(), boss_skadi_grauf::boss_skadi_graufAI::SpellHitTarget(), npc_pet_gen_fetch_ball::SpellHitTarget(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::SpidersMoveDown(), npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI::SpreadFire(), npc_ulduar_flames_initial::npc_ulduar_flames_initialAI::SpreadFlame(), SmartAI::StartPath(), SmartAI::StopFollow(), SmartAI::StopPath(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::SummonBroodling(), npc_ravenclaw_apparition::npc_ravenclaw_apparitionAI::SummonCrowd(), npc_time_rift::SummonedCreatureDies(), npc_kiljaeden_controller::SummonedCreatureDies(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::SummonedCreatureDies(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::SummonFrostwardens(), npc_xt002_heart::npc_xt002_heartAI::SummonPiles(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::SummonSpiders(), Talk(), trigger_periodic::trigger_periodicAI::trigger_periodicAI(), TriggerAlert(), TurretAI::TurretAI(), npc_drakuru_shackles::npc_drakuru_shacklesAI::UnlockRageclaw(), CombatAI::UpdateAI(), CasterAI::UpdateAI(), ArcherAI::UpdateAI(), TurretAI::UpdateAI(), VehicleAI::UpdateAI(), TotemAI::UpdateAI(), SmartAI::UpdateAI(), ironhand_guardian::ironhand_guardianAI::UpdateAI(), npc_rookery_hatcher::npc_rookery_hatcherAI::UpdateAI(), npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI::UpdateAI(), npc_mc_core_hound::npc_mc_core_houndAI::UpdateAI(), npc_kernobee::npc_kernobeeAI::UpdateAI(), npc_death_knight_initiate::npc_death_knight_initiateAI::UpdateAI(), npc_scarlet_cannon::npc_scarlet_cannonAI::UpdateAI(), npc_crusade_persuaded::npc_crusade_persuadedAI::UpdateAI(), npc_valkyr_battle_maiden::npc_valkyr_battle_maidenAI::UpdateAI(), npc_madrigosa::UpdateAI(), npc_demonic_vapor::UpdateAI(), npc_demonic_vapor_trail::UpdateAI(), npc_kalecgos_kj::UpdateAI(), npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI::UpdateAI(), npc_grand_magister_rommath::npc_grand_magister_rommathAI::UpdateAI(), npc_ravenclaw_apparition::npc_ravenclaw_apparitionAI::UpdateAI(), npc_brew_bubble::UpdateAI(), npc_hallows_end_train_fire::UpdateAI(), npc_pilgrims_bounty_chair::UpdateAI(), npc_time_rift::UpdateAI(), npc_taldaram_flamesphere::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateAI(), npc_frost_sphere::npc_frost_sphereAI::UpdateAI(), npc_fos_corrupted_soul_fragment::npc_fos_corrupted_soul_fragmentAI::UpdateAI(), npc_hor_leader::npc_hor_leaderAI::UpdateAI(), npc_hor_lich_king::npc_hor_lich_kingAI::UpdateAI(), npc_hor_leader_second::npc_hor_leader_secondAI::UpdateAI(), boss_krick::boss_krickAI::UpdateAI(), npc_pos_leader::npc_pos_leaderAI::UpdateAI(), npc_pos_after_first_boss::npc_pos_after_first_bossAI::UpdateAI(), npc_pos_tyrannus_events::npc_pos_tyrannus_eventsAI::UpdateAI(), npc_pos_icicle_trigger::npc_pos_icicle_triggerAI::UpdateAI(), npc_pos_collapsing_icicle::npc_pos_collapsing_icicleAI::UpdateAI(), npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::UpdateAI(), npc_pos_leader_second::npc_pos_leader_secondAI::UpdateAI(), npc_kinetic_bomb::npc_kinetic_bombAI::UpdateAI(), npc_coldflame::npc_coldflameAI::UpdateAI(), npc_bone_spike::npc_bone_spikeAI::UpdateAI(), npc_ice_tomb::npc_ice_tombAI::UpdateAI(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::UpdateAI(), npc_strangulate_vehicle::npc_strangulate_vehicleAI::UpdateAI(), npc_lk_spirit_bomb::npc_lk_spirit_bombAI::UpdateAI(), npc_frost_freeze_trap::npc_frost_freeze_trapAI::UpdateAI(), npc_impaling_spear::npc_impaling_spearAI::UpdateAI(), npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI::UpdateAI(), npc_icc_putricades_trap::npc_icc_putricades_trapAI::UpdateAI(), npc_isle_of_conquest_turret::npc_isle_of_conquest_turretAI::UpdateAI(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::UpdateAI(), boss_grobbulus_poison_cloud::boss_grobbulus_poison_cloudAI::UpdateAI(), npc_naxxramas_trigger::UpdateAI(), npc_vortex_ride::npc_vortex_rideAI::UpdateAI(), npc_power_spark::npc_power_sparkAI::UpdateAI(), npc_crystal_spike::UpdateAI(), npc_oculus_drake::npc_oculus_drakeAI::UpdateAI(), npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI::UpdateAI(), npc_algalon_worm_hole::npc_algalon_worm_holeAI::UpdateAI(), boss_freya_lifebinder::boss_freya_lifebinderAI::UpdateAI(), boss_freya_healthy_spore::boss_freya_healthy_sporeAI::UpdateAI(), boss_freya_nature_bomb::boss_freya_nature_bombAI::UpdateAI(), npc_ulduar_icicle::npc_ulduar_icicleAI::UpdateAI(), npc_ulduar_flash_freeze::npc_ulduar_flash_freezeAI::UpdateAI(), npc_ulduar_magnetic_core::npc_ulduar_magnetic_coreAI::UpdateAI(), npc_ulduar_bot_summon_trigger::npc_ulduar_bot_summon_triggerAI::UpdateAI(), npc_ulduar_flames_initial::npc_ulduar_flames_initialAI::UpdateAI(), npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI::UpdateAI(), boss_thorim_trap::boss_thorim_trapAI::UpdateAI(), npc_xt002_heart::npc_xt002_heartAI::UpdateAI(), boss_yoggsaron_death_orb::boss_yoggsaron_death_orbAI::UpdateAI(), boss_yoggsaron_voice::boss_yoggsaron_voiceAI::UpdateAI(), boss_skadi_grauf::boss_skadi_graufAI::UpdateAI(), npc_vh_void_sentry::npc_vh_void_sentryAI::UpdateAI(), npc_vh_teleportation_portal::npc_vh_teleportation_portalAI::UpdateAI(), npc_sinkhole_kill_credit::npc_sinkhole_kill_creditAI::UpdateAI(), npc_beryl_sorcerer::npc_beryl_sorcererAI::UpdateAI(), npc_preparations_for_war_vehicle::UpdateAI(), npc_wintergarde_gryphon::UpdateAI(), npc_q24545_lich_king::npc_q24545_lich_kingAI::UpdateAI(), npc_ravenous_worg::npc_ravenous_worgAI::UpdateAI(), npc_wounded_skirmisher::UpdateAI(), npc_llod_generic::npc_llod_genericAI::UpdateAI(), npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI::UpdateAI(), npc_frostbrood_skytalon::npc_frostbrood_skytalonAI::UpdateAI(), npc_still_at_it_trigger::npc_still_at_it_triggerAI::UpdateAI(), npc_freed_protodrake::npc_freed_protodrakeAI::UpdateAI(), npc_wg_siege_machine::npc_wg_siege_machineAI::UpdateAI(), npc_drakuru_shackles::npc_drakuru_shacklesAI::UpdateAI(), npc_pet_gen_target_following_bomb::UpdateAI(), npc_pet_gen_imp_in_a_bottle::UpdateAI(), npc_pet_gen_wind_rider_cub::UpdateAI(), npc_pet_gen_plump_turkey::UpdateAI(), npc_pet_gen_toxic_wasteling::UpdateAI(), npc_pet_gen_fetch_ball::UpdateAI(), npc_pet_darting_hatchling::UpdateAI(), npc_pet_mage_mirror_image::UpdateAI(), trigger_periodic::trigger_periodicAI::UpdateAI(), PassiveAI::UpdateAI(), PossessedAI::UpdateAI(), PetAI::UpdateAI(), npc_batrider::UpdateAI(), npc_orb_carrier::npc_orb_carrierAI::UpdateAI(), npc_concentrated_ball::npc_concentrated_ballAI::UpdateAI(), npc_gunship::npc_gunshipAI::UpdateAI(), boss_maexxna_webwrap::boss_maexxna_webwrapAI::UpdateAI(), npc_living_poison::UpdateAI(), npc_ulduar_mimiron_rocket::npc_ulduar_mimiron_rocketAI::UpdateAI(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::UpdateAI(), npc_xt002_boombot::npc_xt002_boombotAI::UpdateAI(), npc_frost_tomb::UpdateAI(), npc_q24545_vegard_dummy::npc_q24545_vegard_dummyAI::UpdateAI(), PetAI::UpdateAllies(), npc_halion_controller::npc_halion_controllerAI::UpdateCorporeality(), SmartAI::UpdateDespawn(), SmartAI::UpdatePath(), UpdateVictim(), and UpdateVictimWithGaze().

◆ scheduler

TaskScheduler CreatureAI::scheduler
protected

Referenced by BossAI::_JustDied(), BossAI::_Reset(), boss_marli::_schedulePhaseSpider(), boss_marli::_schedulePhaseTroll(), advisor_baseAI::advisor_baseAI(), boss_alar::boss_alar(), boss_anetheron::boss_anetheron(), boss_anzu::boss_anzu(), boss_apothecary_hummel::boss_apothecary_hummelAI::boss_apothecary_hummelAI(), boss_archimonde::boss_archimonde(), boss_azgalor::boss_azgalor(), boss_azuregos::boss_azuregosAI::boss_azuregosAI(), boss_balinda::boss_balinda(), boss_blackheart_the_inciter::boss_blackheart_the_inciter(), boss_captain_skarloc::boss_captain_skarloc(), boss_curator::boss_curator(), boss_darkweaver_syth::boss_darkweaver_syth(), boss_exarch_maladaar::boss_exarch_maladaar(), boss_fathomguard_sharkkis::boss_fathomguard_sharkkis(), boss_ghazan::boss_ghazan(), boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurse(), boss_halazzi::boss_halazzi(), boss_hexlord_malacrass::boss_hexlord_malacrass(), boss_high_astromancer_solarian::boss_high_astromancer_solarian(), boss_high_king_maulgar::boss_high_king_maulgar(), boss_janalai::boss_janalai(), boss_kazrogal::boss_kazrogal(), boss_kelidan_the_breaker::boss_kelidan_the_breaker(), boss_lady_vashj::boss_lady_vashj(), boss_magtheridon::boss_magtheridon(), boss_maiden_of_virtue::boss_maiden_of_virtue(), boss_mekgineer_steamrigger::boss_mekgineer_steamrigger(), boss_mennu_the_betrayer::boss_mennu_the_betrayer(), boss_moroes::boss_moroes(), boss_morogrim_tidewalker::boss_morogrim_tidewalker(), boss_murmur::boss_murmur(), boss_nexusprince_shaffar::boss_nexusprince_shaffar(), boss_omor_the_unscarred::boss_omor_the_unscarred(), boss_pandemonius::boss_pandemonius(), boss_quagmirran::boss_quagmirran(), boss_rage_winterchill::boss_rage_winterchill(), boss_rokmar_the_crackler::boss_rokmar_the_crackler(), boss_shirrak_the_dead_watcher::boss_shirrak_the_dead_watcher(), boss_supremus::boss_supremus(), boss_swamplord_muselek::boss_swamplord_muselek(), boss_talon_king_ikiss::boss_talon_king_ikiss(), boss_tavarok::boss_tavarok(), boss_terestian_illhoof::boss_terestian_illhoof(), boss_the_black_stalker::boss_the_black_stalker(), boss_the_maker::boss_the_maker(), boss_void_reaver::boss_void_reaver(), boss_warbringer_omrogg::boss_warbringer_omrogg(), boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefist(), boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmar(), boss_high_nethermancer_zerevor::CastDampenMagicIfPossible(), boss_thekal::CheckPhaseTransition(), boss_ouro::DamageTaken(), boss_freya::boss_freyaAI::DamageTaken(), boss_hodir::boss_hodirAI::DamageTaken(), boss_essence_of_suffering::boss_essence_of_sufferingAI::DamageTaken(), boss_essence_of_desire::boss_essence_of_desireAI::DamageTaken(), advisor_baseAI::DamageTaken(), boss_felblood_kaelthas::DamageTaken(), boss_viscidus::DamageTaken(), boss_leotheras_the_blind::DemonTime(), npc_drakonid_spawner::DoAction(), boss_nightbane::DoAction(), boss_apothecary_hummel::boss_apothecary_hummelAI::DoAction(), npc_harrison_jones::DoAction(), boss_twinemperorsAI::DoAction(), npc_thrall_warchief::npc_thrall_warchiefAI::DoAction(), boss_razuvious_minion::boss_razuvious_minionAI::DoAction(), boss_broggok::DoAction(), boss_magtheridon::DoAction(), boss_grand_warlock_nethekurse::DoAction(), boss_akilzon::DoAction(), boss_leotheras_the_blind::DoAction(), boss_pathaleon_the_calculator::DoAction(), boss_sacrolash::DoAction(), boss_alythess::DoAction(), boss_kalecgos::DoAction(), npc_ulduar_keeper::npc_ulduar_keeperAI::DoAction(), boss_illidan_stormrage::DoAction(), npc_maiev_illidan::DoAction(), npc_creature_generator_akama::DoAction(), boss_alar::DoDiveBomb(), npc_midsummer_ribbon_pole_target::DoFireworkChecks(), boss_leotheras_the_blind::ElfTime(), boss_ouro::Emerge(), npc_amanishi_tempest::EnterEvadeMode(), boss_halazzi::EnterPhase(), boss_zuljin::EnterPhase(), boss_kaelthas::ExecuteMiddleEvent(), npc_singularity::FindAndFollowTarget(), boss_felblood_kaelthas::GravityLapseSequence(), boss_venoxis::InitializeAI(), boss_glob_of_viscidus::InitializeAI(), npc_rancid_mushroom::InitializeAI(), boss_moroes::InitializeGuests(), boss_kaelthas::IntroduceNewAdvisor(), boss_grand_warlock_nethekurse::IntroRP(), npc_corrupted_totem::IsSummonedBy(), npc_parasitic_shadowfiend::IsSummonedBy(), npc_supremus_punch_invisible_stalker::IsSummonedBy(), npc_raging_flames::IsSummonedBy(), npc_drakonid_spawner::IsSummonedBy(), boss_attumen::IsSummonedBy(), npc_inner_demon::IsSummonedBy(), advisor_baseAI::JustDied(), boss_malchezaar::JustEngagedWith(), npc_malchezaar_axe::JustEngagedWith(), boss_shade_of_aran::JustEngagedWith(), boss_terestian_illhoof::JustEngagedWith(), boss_priestess_delrissa::JustEngagedWith(), boss_kalec::JustEngagedWith(), boss_sathrovarr::JustEngagedWith(), npc_sunblade_scout::JustEngagedWith(), boss_akilzon::JustEngagedWith(), npc_amanishi_tempest::JustEngagedWith(), npc_amanishi_scout::JustEngagedWith(), boss_thekal::JustEngagedWith(), boss_venoxis::JustEngagedWith(), boss_azuregos::boss_azuregosAI::JustEngagedWith(), boss_archimonde::JustEngagedWith(), npc_hyjal_jaina::hyjalJainaAI::JustEngagedWith(), npc_hyjal_thrall::hyjalThrallAI::JustEngagedWith(), npc_hyjal_tyrande::hyjalTyrandeAI::JustEngagedWith(), npc_hyjal_ground_trash::JustEngagedWith(), npc_hyjal_gargoyle::JustEngagedWith(), npc_hyjal_frost_wyrm::JustEngagedWith(), boss_epoch_hunter::JustEngagedWith(), boss_lieutenant_drake::JustEngagedWith(), boss_aeonus::JustEngagedWith(), boss_chrono_lord_deja::JustEngagedWith(), boss_temporus::JustEngagedWith(), npc_obsidian_destroyer::JustEngagedWith(), npc_eye_tentacle::JustEngagedWith(), npc_claw_tentacle::JustEngagedWith(), npc_dirt_mound::JustEngagedWith(), npc_anubisath_defender::JustEngagedWith(), npc_obsidian_eradicator::JustEngagedWith(), npc_anubisath_warder::JustEngagedWith(), npc_obsidian_nullifier::JustEngagedWith(), boss_yoggsaron_keeper::JustEngagedWith(), boss_exarch_maladaar::JustEngagedWith(), boss_shirrak_the_dead_watcher::JustEngagedWith(), boss_nexusprince_shaffar::JustEngagedWith(), boss_tavarok::JustEngagedWith(), boss_anzu::JustEngagedWith(), boss_darkweaver_syth::JustEngagedWith(), boss_talon_king_ikiss::JustEngagedWith(), boss_ambassador_hellmaw::JustEngagedWith(), boss_blackheart_the_inciter::JustEngagedWith(), boss_grandmaster_vorpil::JustEngagedWith(), boss_essence_of_desire::boss_essence_of_desireAI::JustEngagedWith(), boss_doomlord_kazzak::boss_doomlordkazzakAI::JustEngagedWith(), boss_doomwalker::JustEngagedWith(), boss_mennu_the_betrayer::JustEngagedWith(), boss_quagmirran::JustEngagedWith(), boss_rokmar_the_crackler::JustEngagedWith(), boss_hydromancer_thespia::JustEngagedWith(), boss_mekgineer_steamrigger::JustEngagedWith(), boss_warlord_kalithresh::JustEngagedWith(), boss_ghazan::JustEngagedWith(), boss_swamplord_muselek::JustEngagedWith(), boss_the_black_stalker::JustEngagedWith(), boss_gruul::JustEngagedWith(), boss_high_king_maulgar::JustEngagedWith(), boss_kelidan_the_breaker::JustEngagedWith(), boss_the_maker::JustEngagedWith(), boss_omor_the_unscarred::JustEngagedWith(), boss_watchkeeper_gargolmar::JustEngagedWith(), boss_dalliah_the_doomsayer::JustEngagedWith(), boss_harbinger_skyriss::JustEngagedWith(), boss_zereketh_the_unbound::JustEngagedWith(), boss_high_botanist_freywinn::JustEngagedWith(), boss_thorngrin_the_tender::JustEngagedWith(), boss_warp_splinter::JustEngagedWith(), boss_gatewatcher_gyrokill::JustEngagedWith(), boss_gatewatcher_iron_hand::JustEngagedWith(), boss_mechano_lord_capacitus::JustEngagedWith(), boss_nethermancer_sepethrea::JustEngagedWith(), boss_pathaleon_the_calculator::JustEngagedWith(), boss_curator::JustEngagedWith(), boss_maiden_of_virtue::JustEngagedWith(), boss_midnight::JustEngagedWith(), boss_moroes::JustEngagedWith(), boss_netherspite::JustEngagedWith(), boss_priestess_lackey_commonAI::JustEngagedWith(), boss_kagani_nightstrike::JustEngagedWith(), boss_yazzai::JustEngagedWith(), boss_selin_fireheart::JustEngagedWith(), boss_sacrolash::JustEngagedWith(), boss_alythess::JustEngagedWith(), boss_kalecgos::JustEngagedWith(), boss_hexlord_malacrass::JustEngagedWith(), boss_janalai::JustEngagedWith(), boss_nalorakk::JustEngagedWith(), boss_marli::JustEngagedWith(), boss_anetheron::JustEngagedWith(), boss_azgalor::JustEngagedWith(), boss_kazrogal::JustEngagedWith(), boss_rage_winterchill::JustEngagedWith(), boss_kurinnaxx::JustEngagedWith(), npc_hivezara_stinger::JustEngagedWith(), boss_fankriss::JustEngagedWith(), boss_twinemperorsAI::JustEngagedWith(), boss_veknilash::JustEngagedWith(), boss_veklor::JustEngagedWith(), npc_vekniss_stinger::JustEngagedWith(), boss_faerlina::boss_faerlinaAI::JustEngagedWith(), boss_razuvious_minion::boss_razuvious_minionAI::JustEngagedWith(), boss_pandemonius::JustEngagedWith(), boss_murmur::JustEngagedWith(), boss_gurtogg_bloodboil::JustEngagedWith(), boss_supremus::JustEngagedWith(), boss_najentus::JustEngagedWith(), boss_fathomlord_karathress::JustEngagedWith(), boss_fathomguard_sharkkis::JustEngagedWith(), boss_hydross_the_unstable::JustEngagedWith(), boss_morogrim_tidewalker::JustEngagedWith(), boss_magtheridon::JustEngagedWith(), boss_grand_warlock_nethekurse::JustEngagedWith(), boss_porung::JustEngagedWith(), boss_warchief_kargath_bladefist::JustEngagedWith(), boss_alar::JustEngagedWith(), boss_high_astromancer_solarian::JustEngagedWith(), boss_void_reaver::JustEngagedWith(), boss_fathomlord_karathress::KilledUnit(), boss_hydross_the_unstable::KilledUnit(), boss_lady_vashj::KilledUnit(), boss_morogrim_tidewalker::KilledUnit(), boss_gruul::KilledUnit(), boss_high_king_maulgar::KilledUnit(), boss_omor_the_unscarred::KilledUnit(), boss_watchkeeper_gargolmar::KilledUnit(), boss_magtheridon::KilledUnit(), boss_void_reaver::KilledUnit(), boss_moroes::KilledUnit(), boss_anetheron::KilledUnit(), boss_azgalor::KilledUnit(), boss_kazrogal::KilledUnit(), boss_rage_winterchill::KilledUnit(), npc_midsummer_ribbon_pole_target::LocateRibbonPole(), boss_nightbane::MovementInform(), npc_harrison_jones::MovementInform(), boss_ayamiss::MovementInform(), boss_illidan_stormrage::MovementInform(), boss_lady_vashj::MovementInform(), boss_alar::MovementInform(), boss_felmyst::MovementInform(), boss_shade_of_akama::MovementInform(), boss_kaelthas::MovementInform(), boss_warchief_kargath_bladefist::MovementInform(), npc_janalai_hatcher::MovementInform(), npc_janalai_hatcher::MoveToNewWaypoint(), npc_hyjal_frost_wyrm::npc_hyjal_frost_wyrm(), npc_hyjal_gargoyle::npc_hyjal_gargoyle(), npc_hyjal_ground_trash::npc_hyjal_ground_trash(), npc_inner_demon::npc_inner_demon(), npc_kiljaeden_controller::npc_kiljaeden_controller(), npc_midsummer_bonfire::npc_midsummer_bonfire(), npc_midsummer_ribbon_pole_target::npc_midsummer_ribbon_pole_target(), boss_high_nethermancer_zerevor::OnAuraRemove(), boss_selin_fireheart::OnPowerUpdate(), boss_nightbane::PathEndReached(), boss_jeklik::PathEndReached(), boss_kaelthas::PhaseEnchantedWeaponsExecute(), boss_alar::PretendToDie(), npc_corrupted_totem::Reset(), boss_malchezaar::Reset(), boss_felblood_kaelthas::Reset(), boss_priestess_delrissa::Reset(), boss_priestess_lackey_commonAI::Reset(), boss_vexallus::Reset(), npc_kiljaeden_controller::Reset(), boss_kiljaeden::Reset(), boss_entropius::Reset(), npc_sunblade_scout::Reset(), boss_hexlord_malacrass::Reset(), boss_alyson_antille::Reset(), npc_janalai_hatcher::Reset(), npc_amanishi_tempest::Reset(), npc_amanishi_scout::Reset(), boss_thekal::Reset(), boss_azuregos::boss_azuregosAI::Reset(), boss_archimonde::Reset(), npc_hyjal_jaina::hyjalJainaAI::Reset(), npc_hyjal_thrall::hyjalThrallAI::Reset(), npc_hyjal_tyrande::hyjalTyrandeAI::Reset(), npc_hyjal_ground_trash::Reset(), npc_hyjal_gargoyle::Reset(), npc_hyjal_frost_wyrm::Reset(), boss_ayamiss::Reset(), npc_hivezara_stinger::Reset(), npc_obsidian_destroyer::Reset(), npc_eye_tentacle::Reset(), npc_claw_tentacle::Reset(), npc_giant_claw_tentacle::Reset(), npc_giant_eye_tentacle::Reset(), boss_ouro::Reset(), npc_anubisath_defender::Reset(), npc_vekniss_stinger::Reset(), npc_obsidian_eradicator::Reset(), npc_anubisath_warder::Reset(), npc_obsidian_nullifier::Reset(), npc_ahnqiraji_critter::Reset(), boss_razuvious_minion::boss_razuvious_minionAI::Reset(), boss_kologarn_pit_kill_bunny::Reset(), npc_ulduar_keeper::npc_ulduar_keeperAI::Reset(), npc_cosmetic_toy_plane::Reset(), boss_exarch_maladaar::Reset(), boss_anzu::Reset(), boss_talon_king_ikiss::Reset(), boss_illidan_stormrage::Reset(), npc_akama_illidan::Reset(), npc_maiev_illidan::Reset(), boss_high_nethermancer_zerevor::Reset(), boss_essence_of_suffering::boss_essence_of_sufferingAI::Reset(), boss_essence_of_desire::boss_essence_of_desireAI::Reset(), boss_essence_of_anger::boss_essence_of_angerAI::Reset(), npc_akama_shade::Reset(), npc_creature_generator_akama::Reset(), boss_doomlord_kazzak::boss_doomlordkazzakAI::Reset(), boss_doomwalker::Reset(), boss_fathomguard_sharkkis::Reset(), boss_lady_vashj::Reset(), boss_leotheras_the_blind::Reset(), boss_high_king_maulgar::Reset(), boss_omor_the_unscarred::Reset(), boss_watchkeeper_gargolmar::Reset(), boss_magtheridon::Reset(), boss_high_astromancer_solarian::Reset(), boss_kaelthas::Reset(), advisor_baseAI::Reset(), npc_raging_flames::Reset(), npc_enslaved_netherwing_drake::Reset(), boss_alar::ScheduleAbilities(), boss_illidan_stormrage::ScheduleAbilities(), boss_razuvious_minion::boss_razuvious_minionAI::ScheduleAttackDummy(), boss_warbringer_omrogg::ScheduleBurningPhase(), boss_magtheridon::ScheduleCombatEvents(), npc_amanishi_tempest::ScheduleEvents(), npc_dream_fog::npc_dream_fogAI::ScheduleEvents(), boss_nightbane::ScheduleFly(), boss_nightbane::ScheduleGround(), boss_felmyst::ScheduleGroundAbilities(), boss_razuvious::boss_razuviousAI::ScheduleInteractWithDeathKnight(), boss_nightbane::ScheduleLand(), boss_alar::ScheduleMainSpellAttack(), boss_warbringer_omrogg::ScheduleNonBurningPhase(), boss_supremus::SchedulePhase(), boss_commander_sarannis::ScheduleReinforcements(), boss_razuvious::boss_razuviousAI::ScheduleRP(), boss_the_lurker_below::SchedulerPhaseOne(), boss_the_lurker_below::SchedulerPhaseTwo(), boss_lady_vashj::ScheduleSpells(), boss_eye_of_cthun::ScheduleTask(), npc_giant_claw_tentacle::ScheduleTasks(), boss_attumen::ScheduleTasks(), boss_ayamiss::ScheduleTasks(), boss_cthun::ScheduleTasks(), boss_laj::ScheduleTasks(), ScriptedAI::ScheduleTimedEvent(), boss_grand_warlock_nethekurse::SetData(), boss_warbringer_omrogg::SetData(), boss_thekal::SetData(), boss_hydross_the_unstable::SetForm(), npc_harrison_jones::sGossipSelect(), boss_nalorakk::ShapeShift(), npc_netherspite_infernal::SpellHit(), boss_terestian_illhoof::SpellHit(), npc_harrison_jones::SpellHit(), boss_attumen::SpellHit(), boss_faerlina::boss_faerlinaAI::SpellHit(), advisor_baseAI::SpellHit(), npc_enslaved_netherwing_drake::SpellHit(), npc_deathstalker_fearleia::sQuestAccept(), boss_felmyst::StartIntro(), npc_giant_claw_tentacle::Submerge(), boss_ouro::Submerge(), boss_cthun::SummonedCreatureDies(), npc_drakonid_spawner::SummonedCreatureDies(), npc_kiljaeden_controller::SummonedCreatureDies(), boss_warchief_kargath_bladefist::SummonedCreatureDies(), boss_netherspite::SwitchToBanishPhase(), boss_netherspite::SwitchToPortalPhase(), boss_nightbane::TriggerHealthTakeOff(), BossAI::UpdateAI(), npc_drakonid_spawner::UpdateAI(), boss_attumen::UpdateAI(), boss_midnight::UpdateAI(), boss_moroes::UpdateAI(), boss_netherspite::UpdateAI(), boss_nightbane::UpdateAI(), npc_netherspite_infernal::UpdateAI(), npc_malchezaar_axe::UpdateAI(), boss_shade_of_aran::UpdateAI(), boss_priestess_lackey_commonAI::UpdateAI(), boss_apothecary_hummel::boss_apothecary_hummelAI::UpdateAI(), boss_felmyst::UpdateAI(), boss_kalec::UpdateAI(), boss_sathrovarr::UpdateAI(), npc_kiljaeden_controller::UpdateAI(), boss_entropius::UpdateAI(), npc_singularity::UpdateAI(), boss_alyson_antille::UpdateAI(), npc_janalai_hatcher::UpdateAI(), npc_harrison_jones::UpdateAI(), npc_amanishi_tempest::UpdateAI(), boss_thekal::UpdateAI(), npc_midsummer_ribbon_pole_target::UpdateAI(), boss_azuregos::boss_azuregosAI::UpdateAI(), npc_doomfire_spirit::UpdateAI(), npc_hyjal_jaina::hyjalJainaAI::UpdateAI(), npc_hyjal_thrall::hyjalThrallAI::UpdateAI(), npc_hyjal_tyrande::hyjalTyrandeAI::UpdateAI(), npc_hyjal_ground_trash::UpdateAI(), npc_hyjal_gargoyle::UpdateAI(), npc_hyjal_frost_wyrm::UpdateAI(), boss_lieutenant_drake::UpdateAI(), npc_hivezara_stinger::UpdateAI(), npc_obsidian_destroyer::UpdateAI(), boss_cthun::UpdateAI(), npc_eye_tentacle::UpdateAI(), npc_claw_tentacle::UpdateAI(), npc_giant_claw_tentacle::UpdateAI(), npc_giant_eye_tentacle::UpdateAI(), boss_ouro::UpdateAI(), npc_dirt_mound::UpdateAI(), boss_twinemperorsAI::UpdateAI(), boss_viscidus::UpdateAI(), boss_glob_of_viscidus::UpdateAI(), npc_anubisath_defender::UpdateAI(), npc_vekniss_stinger::UpdateAI(), npc_anubisath_warder::UpdateAI(), boss_razuvious_minion::boss_razuvious_minionAI::UpdateAI(), boss_freya::boss_freyaAI::UpdateAI(), boss_hodir::boss_hodirAI::UpdateAI(), boss_kologarn_pit_kill_bunny::UpdateAI(), boss_yoggsaron_keeper::UpdateAI(), npc_ulduar_keeper::npc_ulduar_keeperAI::UpdateAI(), npc_cosmetic_toy_plane::UpdateAI(), boss_exarch_maladaar::UpdateAI(), boss_shirrak_the_dead_watcher::UpdateAI(), boss_nexusprince_shaffar::UpdateAI(), boss_anzu::UpdateAI(), boss_ambassador_hellmaw::UpdateAI(), boss_blackheart_the_inciter::UpdateAI(), npc_akama_illidan::UpdateAI(), npc_maiev_illidan::UpdateAI(), npc_parasitic_shadowfiend::UpdateAI(), npc_flame_of_azzinoth::UpdateAI(), boss_illidari_council::UpdateAI(), boss_high_nethermancer_zerevor::UpdateAI(), boss_reliquary_of_souls::boss_reliquary_of_soulsAI::UpdateAI(), boss_essence_of_suffering::boss_essence_of_sufferingAI::UpdateAI(), boss_essence_of_desire::boss_essence_of_desireAI::UpdateAI(), boss_essence_of_anger::boss_essence_of_angerAI::UpdateAI(), boss_shade_of_akama::UpdateAI(), npc_akama_shade::UpdateAI(), npc_creature_generator_akama::UpdateAI(), npc_supremus_punch_invisible_stalker::UpdateAI(), boss_teron_gorefiend::UpdateAI(), boss_doomlord_kazzak::boss_doomlordkazzakAI::UpdateAI(), boss_doomwalker::UpdateAI(), boss_fathomguard_sharkkis::UpdateAI(), boss_lady_vashj::UpdateAI(), boss_leotheras_the_blind::UpdateAI(), npc_inner_demon::UpdateAI(), boss_the_lurker_below::UpdateAI(), npc_rancid_mushroom::UpdateAI(), boss_ghazan::UpdateAI(), boss_the_black_stalker::UpdateAI(), boss_gruul::UpdateAI(), boss_high_king_maulgar::UpdateAI(), boss_omor_the_unscarred::UpdateAI(), boss_watchkeeper_gargolmar::UpdateAI(), boss_magtheridon::UpdateAI(), boss_grand_warlock_nethekurse::UpdateAI(), boss_warbringer_omrogg::UpdateAI(), boss_warchief_kargath_bladefist::UpdateAI(), boss_alar::UpdateAI(), advisor_baseAI::UpdateAI(), npc_raging_flames::UpdateAI(), npc_enslaved_netherwing_drake::UpdateAI(), and npc_dream_fog::npc_dream_fogAI::UpdateAI().


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