AzeorthCore 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_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)
 
 CreatureAI (Creature *creature)
 
 ~CreatureAI () override
 
void MoveCircleChecks ()
 
void MoveBackwardsChecks ()
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At ================================= More...
 
void TriggerAlert (Unit const *who) const
 
virtual bool CanRespawn ()
 
virtual void EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
virtual void EnterCombat (Unit *)
 
virtual void JustDied (Unit *)
 
virtual void KilledUnit (Unit *)
 
virtual void JustSummoned (Creature *)
 
virtual void IsSummonedBy (Unit *)
 
virtual void SummonedCreatureDespawn (Creature *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void SummonedCreatureDespawnAll ()
 
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
 
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 ================== More...
 
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields ======================================= More...
 
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 *)
 
- 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
 
virtual void InitializeAI ()
 
virtual void Reset ()
 
virtual void OnCharmed (bool apply)=0
 
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)
 
template<class PREDICATE >
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 position, PREDICATE const &predicate)
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType)
 
virtual void DamageTaken (Unit *, uint32 &, DamageEffectType, SpellSchoolMask)
 
virtual void HealReceived (Unit *, uint32 &)
 
virtual void HealDone (Unit *, uint32 &)
 
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)
 
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)
 
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)
 
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
 
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 
87 {
88 EVADE_REASON_NO_HOSTILES, // the creature's threat list is empty
89 EVADE_REASON_BOUNDARY, // the creature has moved outside its evade boundary
90 EVADE_REASON_SEQUENCE_BREAK, // this is a boss and the pre-requisite encounters for engaging it are not defeated yet
91 EVADE_REASON_NO_PATH, // the creature was unable to reach its target for over 5 seconds
93 };
@ EVADE_REASON_OTHER
Definition: CreatureAI.h:92
@ EVADE_REASON_BOUNDARY
Definition: CreatureAI.h:89
@ EVADE_REASON_NO_HOSTILES
Definition: CreatureAI.h:88
@ EVADE_REASON_SEQUENCE_BREAK
Definition: CreatureAI.h:90
@ EVADE_REASON_NO_PATH
Definition: CreatureAI.h:91

Constructor & Destructor Documentation

◆ CreatureAI()

CreatureAI::CreatureAI ( Creature creature)
inlineexplicit
97: UnitAI(creature), me(creature), _boundary(nullptr), _negateBoundary(false), m_MoveInLineOfSight_locked(false) { }
Definition: UnitAI.h:182
CreatureBoundary const * _boundary
Definition: CreatureAI.h:221
bool _negateBoundary
Definition: CreatureAI.h:222
bool m_MoveInLineOfSight_locked
Definition: CreatureAI.h:225
Creature *const me
Definition: CreatureAI.h:72

◆ ~CreatureAI()

CreatureAI::~CreatureAI ( )
inlineoverride
99{}

Member Function Documentation

◆ _EnterEvadeMode()

bool CreatureAI::_EnterEvadeMode ( EvadeReason  why = EVADE_REASON_OTHER)
protected
292{
293 if (!me->IsAlive())
294 {
295 return false;
296 }
297
298 // don't remove vehicle auras, passengers aren't supposed to drop off the vehicle
299 // don't remove clone caster on evade (to be verified)
301
302 me->ClearComboPointHolders(); // Remove all combo points targeting this unit
303 // sometimes bosses stuck in combat?
305 me->CombatStop(true);
306 me->LoadCreaturesAddon(true);
307 me->SetLootRecipient(nullptr);
311
312 if (ZoneScript* zoneScript = me->GetZoneScript() ? me->GetZoneScript() : (ZoneScript*)me->GetInstanceScript())
313 zoneScript->OnCreatureEvade(me);
314
315 if (me->IsInEvadeMode())
316 {
317 return false;
318 }
319 else if (CreatureGroup* formation = me->GetFormation())
320 {
321 formation->MemberEvaded(me);
322 }
323
324 return true;
325}
void ClearAllThreat()
Definition: ThreatMgr.cpp:418
bool LoadCreaturesAddon(bool reload=false)
Definition: Creature.cpp:2607
void SetLootRecipient(Unit *unit, bool withGroup=true)
Definition: Creature.cpp:1276
void SetCannotReachTarget(ObjectGuid const &target=ObjectGuid::Empty)
Definition: Creature.cpp:3506
void SetLastDamagedTime(time_t val)
Definition: Creature.cpp:3550
CreatureGroup const * GetFormation() const
Definition: Creature.h:337
void ResetPlayerDamageReq()
Definition: Creature.cpp:3667
bool IsInEvadeMode() const
Definition: Creature.h:128
Definition: CreatureGroups.h:88
InstanceScript * GetInstanceScript() const
Definition: Object.cpp:1192
ZoneScript * GetZoneScript() const
Definition: Object.h:523
void RemoveEvadeAuras()
Definition: Unit.cpp:5345
void CombatStop(bool includingCast=false)
Definition: Unit.cpp:10389
bool IsAlive() const
Definition: Unit.h:1808
void ClearComboPointHolders()
Definition: Unit.cpp:16998
ThreatMgr & GetThreatMgr()
Definition: Unit.h:2145
Definition: ZoneScript.h:27

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

Referenced by boss_eadric::boss_eadricAI::DamageTaken(), boss_paletress::boss_paletressAI::DamageTaken(), boss_yoggsaron_brain::boss_yoggsaron_brainAI::DamageTaken(), boss_jindo::EnterEvadeMode(), npc_shay_leafrunner::npc_shay_leafrunnerAI::EnterEvadeMode(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::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

Reimplemented in npc_salvaged_siege_engine.

193{ return true; }

Referenced by Unit::HandleSpellClick().

◆ CalculateThreat()

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

Reimplemented in boss_mandokir::boss_mandokirAI.

212{ }

◆ CanAlwaysBeDetectable()

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

Reimplemented in boss_renataki::boss_renatakiAI.

200{ return false; }

◆ CanBeSeen()

◆ CanRespawn()

virtual bool CreatureAI::CanRespawn ( )
inlinevirtual
113{ return true; }

Referenced by Creature::Update().

◆ CanSeeAlways()

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

Reimplemented in boss_renataki::boss_renatakiAI.

197{ return false; }

◆ CheckInRoom()

bool CreatureAI::CheckInRoom ( )
virtual

Reimplemented in boss_hakkar::boss_hakkarAI, boss_onyxia, boss_bug_trio, and boss_viscidus.

382{
383 if (IsInBoundary())
384 return true;
385 else
386 {
388 return false;
389 }
390}
bool IsInBoundary(Position const *who=nullptr) const
Definition: CreatureAI.cpp:361
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
Definition: CreatureAI.cpp:195

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.

185{}

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

◆ DoSummon() [2/2]

Creature * CreatureAI::DoSummon ( uint32  entry,
WorldObject obj,
float  radius = 5.0f,
uint32  despawnTime = 30000,
TempSummonType  summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN 
)
protected
405{
406 Position pos = obj->GetRandomNearPosition(radius);
407 return me->SummonCreature(entry, pos, summonType, despawnTime);
408}
Position GetRandomNearPosition(float radius)
Definition: Object.cpp:2684
Definition: Position.h:28

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
411{
412 Position pos = obj->GetRandomNearPosition(radius);
413 pos.m_positionZ += flightZ;
414 return me->SummonCreature(entry, pos, summonType, despawnTime);
415}
float m_positionZ
Definition: Position.h:58

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 
)
94{
95 if (!creature)
96 {
97 creature = me;
98 }
99
100 if (creature->IsInEvadeMode())
101 {
102 return;
103 }
104
105 Map* map = creature->GetMap();
106 if (!map->IsDungeon()) //use IsDungeon instead of Instanceable, in case battlegrounds will be instantiated
107 {
108 LOG_ERROR("entities.unit.ai", "DoZoneInCombat call for map {} that isn't a dungeon (creature entry = {})", map->GetId(), creature->GetTypeId() == TYPEID_UNIT ? creature->ToCreature()->GetEntry() : 0);
109 return;
110 }
111
112 Map::PlayerList const& playerList = map->GetPlayers();
113 if (playerList.IsEmpty())
114 {
115 return;
116 }
117
118 for (Map::PlayerList::const_iterator itr = playerList.begin(); itr != playerList.end(); ++itr)
119 {
120 if (Player* player = itr->GetSource())
121 {
122 if (!IsValidCombatTarget(creature, player))
123 {
124 continue;
125 }
126
127 if (!creature->IsWithinDistInMap(player, maxRangeToNearestTarget))
128 {
129 continue;
130 }
131
132 creature->SetInCombatWith(player);
133 player->SetInCombatWith(creature);
134
135 if (creature->CanHaveThreatList())
136 {
137 creature->AddThreat(player, 0.0f);
138 }
139 }
140 }
141}
#define LOG_ERROR(filterType__,...)
Definition: Log.h:159
bool IsValidCombatTarget(Creature *source, Player *target)
Definition: CreatureAI.cpp:63
@ TYPEID_UNIT
Definition: ObjectGuid.h:37
bool IsEmpty() const
Definition: LinkedList.h:97
Definition: LinkedList.h:139
TypeID GetTypeId() const
Definition: Object.h:121
uint32 GetEntry() const
Definition: Object.h:109
Creature * ToCreature()
Definition: Object.h:197
Map * GetMap() const
Definition: Object.h:517
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition: Object.cpp:1321
Definition: Player.h:1046
bool CanHaveThreatList() const
Definition: Unit.cpp:14484
void AddThreat(Unit *victim, float fThreat, SpellSchoolMask schoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *threatSpell=nullptr)
Definition: Unit.cpp:14523
void SetInCombatWith(Unit *enemy, uint32 duration=0)
Definition: Unit.cpp:13485
Definition: Map.h:312
bool IsDungeon() const
Definition: Map.h:447
uint32 GetId() const
Definition: Map.h:378
PlayerList const & GetPlayers() const
Definition: Map.h:484
Definition: MapRefMgr.h:26
iterator begin()
Definition: MapRefMgr.h:36
iterator end()
Definition: MapRefMgr.h:37

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

Referenced by BossAI::_EnterCombat(), boss_nefarian::DamageTaken(), boss_apothecary_hummel::boss_apothecary_hummelAI::DoAction(), npc_apothecary_genericAI::DoAction(), npc_coren_direbrew::DoAction(), npc_direbrew_antagonist::DoAction(), boss_cthun::DoAction(), boss_tyrannus::boss_tyrannusAI::DoAction(), boss_bug_trio::DoFinalSpell(), SummonList::DoZoneInCombat(), boss_sartharion_dragonAI::EnterCombat(), boss_netherspite::boss_netherspiteAI::EnterCombat(), boss_malchezaar::boss_malchezaarAI::EnterCombat(), prince_axes::prince_axesAI::EnterCombat(), boss_shade_of_aran::boss_aranAI::EnterCombat(), boss_terestian_illhoof::boss_terestianAI::EnterCombat(), boss_dorothee::boss_dorotheeAI::EnterCombat(), npc_tito::npc_titoAI::EnterCombat(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::EnterCombat(), npc_akilzon_eagle::npc_akilzon_eagleAI::EnterCombat(), boss_hexlord_addAI::EnterCombat(), boss_hexlord_malacrass::boss_hex_lord_malacrassAI::EnterCombat(), boss_nalorakk::boss_nalorakkAI::EnterCombat(), boss_zuljin::boss_zuljinAI::EnterCombat(), boss_mandokir::boss_mandokirAI::EnterCombat(), boss_venoxis::boss_venoxisAI::EnterCombat(), boss_archimonde::boss_archimondeAI::EnterCombat(), boss_cthun::EnterCombat(), npc_eye_tentacle::EnterCombat(), npc_claw_tentacle::EnterCombat(), npc_giant_claw_tentacle::EnterCombat(), npc_giant_eye_tentacle::EnterCombat(), npc_dirt_mound::EnterCombat(), boss_anubarak_trial::boss_anubarak_trialAI::EnterCombat(), npc_swarm_scarab::npc_swarm_scarabAI::EnterCombat(), boss_jaraxxus::boss_jaraxxusAI::EnterCombat(), boss_twin_valkyrAI::EnterCombat(), boss_bronjahm::boss_bronjahmAI::EnterCombat(), boss_devourer_of_souls::boss_devourer_of_soulsAI::EnterCombat(), boss_garfrost::boss_garfrostAI::EnterCombat(), boss_ick::boss_ickAI::EnterCombat(), npc_cult_fanatic::npc_cult_fanaticAI::EnterCombat(), npc_cult_adherent::npc_cult_adherentAI::EnterCombat(), npc_darnavan::npc_darnavanAI::EnterCombat(), boss_lord_marrowgar::EnterCombat(), npc_argent_captainAI::EnterCombat(), boss_malygos::boss_malygosAI::EnterCombat(), npc_nexus_lord::npc_nexus_lordAI::EnterCombat(), boss_ignis::boss_ignisAI::EnterCombat(), boss_mimiron::boss_mimironAI::EnterCombat(), boss_keleseth::boss_kelesethAI::EnterCombat(), boss_cyanigosa::boss_cyanigosaAI::EnterCombat(), boss_ichoron::boss_ichoronAI::EnterCombat(), boss_lavanthor::boss_lavanthorAI::EnterCombat(), boss_moragg::boss_moraggAI::EnterCombat(), boss_xevozz::boss_xevozzAI::EnterCombat(), boss_zuramat::boss_zuramatAI::EnterCombat(), boss_ahune::boss_ahuneAI::EnterCombat(), boss_curator::boss_curatorAI::EnterCombat(), boss_maiden_of_virtue::boss_maiden_of_virtueAI::EnterCombat(), boss_midnight::boss_midnightAI::EnterCombat(), boss_moroes::boss_moroesAI::EnterCombat(), npc_anubisath_sentinel::aqsentinelAI::EnterCombat(), boss_prince_keleseth_icc::boss_prince_kelesethAI::EnterCombat(), boss_prince_taldaram_icc::boss_prince_taldaramAI::EnterCombat(), boss_prince_valanar_icc::boss_prince_valanarAI::EnterCombat(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::EnterCombat(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::EnterCombat(), boss_festergut::boss_festergutAI::EnterCombat(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::EnterCombat(), boss_professor_putricide::boss_professor_putricideAI::EnterCombat(), boss_rotface::boss_rotfaceAI::EnterCombat(), boss_erekem::boss_erekemAI::EnterCombat(), npc_erekem_guard::npc_erekem_guardAI::EnterCombat(), boss_zuljin::boss_zuljinAI::EnterPhase(), 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(), boss_eregos::boss_eregosAI::JustSummoned(), BossAI::JustSummoned(), boss_rend_blackhand::boss_rend_blackhandAI::JustSummoned(), boss_ragnaros::boss_ragnarosAI::JustSummoned(), npc_fiendish_portal::npc_fiendish_portalAI::JustSummoned(), boss_kormok::JustSummoned(), boss_onyxia::JustSummoned(), boss_black_knight::boss_black_knightAI::JustSummoned(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustSummoned(), boss_gothik::boss_gothikAI::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_direbrew_minion::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(), 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_anubrekhan::boss_anubrekhanAI::UpdateAI(), boss_faerlina::boss_faerlinaAI::UpdateAI(), boss_razorscale::boss_razorscaleAI::UpdateAI(), boss_keleseth::boss_kelesethAI::UpdateAI(), boss_ichoron::boss_ichoronAI::UpdateAI(), and InstanceScript::UpdateMinionState().

◆ EnterCombat()

virtual void CreatureAI::EnterCombat ( Unit )
inlinevirtual

Reimplemented in npc_razzashi_cobra_venoxis::npc_razzashi_cobra_venoxis_AI, boss_sartharion_dragonAI, CasterAI, ScriptedAI, BossAI, WorldBossAI, boss_balinda::boss_balindaAI, 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_attumen::boss_attumenAI, boss_attumen_midnight::boss_attumen_midnightAI, boss_netherspite::boss_netherspiteAI, boss_nightbane::boss_nightbaneAI, netherspite_infernal::netherspite_infernalAI, boss_malchezaar::boss_malchezaarAI, prince_axes::prince_axesAI, boss_servant_quarters::boss_servant_quartersAI, boss_shade_of_aran::boss_aranAI, npc_aran_elemental::water_elementalAI, npc_kilrek::npc_kilrekAI, npc_demon_chain::npc_demon_chainAI, npc_fiendish_imp::npc_fiendish_impAI, boss_terestian_illhoof::boss_terestianAI, boss_dorothee::boss_dorotheeAI, npc_tito::npc_titoAI, boss_strawman::boss_strawmanAI, boss_tinhead::boss_tinheadAI, boss_roar::boss_roarAI, boss_crone::boss_croneAI, npc_cyclone::npc_cycloneAI, boss_bigbadwolf::boss_bigbadwolfAI, boss_julianne::boss_julianneAI, boss_romulo::boss_romuloAI, npc_barnes::npc_barnesAI, npc_image_of_medivh::npc_image_of_medivhAI, boss_felblood_kaelthas::boss_felblood_kaelthasAI, boss_priestess_delrissa::boss_priestess_delrissaAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_vexallus::boss_vexallusAI, 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, npc_mograine::npc_mograineAI, boss_high_inquisitor_whitemane::boss_high_inquisitor_whitemaneAI, 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_kalecAI, boss_sathrovarr::boss_sathrovarrAI, boss_kiljaeden::boss_kiljaedenAI, boss_entropius::boss_entropiusAI, npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI, boss_twilight_corrupter, npc_sentinel_leader, npc_sentinel_infiltrator, npc_greengill_slave::npc_greengill_slaveAI, pyrewood_ambush::pyrewood_ambushAI, npc_yenniku::npc_yennikuAI, npc_calvin_montague::npc_calvin_montagueAI, 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::boss_akilzonAI, npc_akilzon_eagle::npc_akilzon_eagleAI, boss_halazzi::boss_halazziAI, npc_halazzi_lynx::npc_halazzi_lynxAI, boss_hexlord_addAI, boss_hexlord_malacrass::boss_hex_lord_malacrassAI, boss_janalai::boss_janalaiAI, npc_janalai_firebomb::npc_janalai_firebombAI, npc_janalai_hatcher::npc_janalai_hatcherAI, npc_janalai_hatchling::npc_janalai_hatchlingAI, boss_nalorakk::boss_nalorakkAI, boss_zuljin::boss_zuljinAI, npc_zuljin_vortex::npc_zuljin_vortexAI, npc_forest_frog::npc_forest_frogAI, npc_zulaman_hostage::npc_zulaman_hostageAI, npc_harrison_jones::npc_harrison_jonesAI, boss_arlokk::boss_arlokkAI, npc_zulian_prowler::npc_zulian_prowlerAI, boss_gahzranka::boss_gahzrankaAI, boss_grilek::boss_grilekAI, boss_hakkar::boss_hakkarAI, boss_hazzarah, boss_jeklik, npc_batrider, npc_healing_ward, npc_shade_of_jindo, boss_mandokir::boss_mandokirAI, npc_vilebranch_speaker, npc_spawn_of_marli, boss_renataki::boss_renatakiAI, boss_thekal::boss_thekalAI, npc_zealot_lorkhan::npc_zealot_lorkhanAI, npc_zealot_zath::npc_zealot_zathAI, boss_venoxis::boss_venoxisAI, 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, boss_anetheron::boss_anetheronAI, npc_towering_infernal::npc_towering_infernalAI, npc_ancient_wisp::npc_ancient_wispAI, npc_doomfire::npc_doomfireAI, npc_doomfire_targetting::npc_doomfire_targettingAI, boss_archimonde::boss_archimondeAI, boss_azgalor::boss_azgalorAI, npc_lesser_doomguard::npc_lesser_doomguardAI, boss_kazrogal::boss_kazrogalAI, boss_rage_winterchill::boss_rage_winterchillAI, npc_giant_infernal::npc_giant_infernalAI, npc_abomination::npc_abominationAI, npc_ghoul::npc_ghoulAI, npc_necromancer::npc_necromancerAI, npc_banshee::npc_bansheeAI, npc_crypt_fiend::npc_crypt_fiendAI, npc_fel_stalker::npc_fel_stalkerAI, npc_frost_wyrm::npc_frost_wyrmAI, alliance_rifleman::alliance_riflemanAI, hyjalAI, 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_captain_skarlocAI, boss_epoch_hunter::boss_epoch_hunterAI, boss_lieutenant_drake::boss_lieutenant_drakeAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, boss_aeonus::boss_aeonusAI, boss_chrono_lord_deja::boss_chrono_lord_dejaAI, boss_temporus::boss_temporusAI, 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_spitelashes::npc_spitelashesAI, 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_player_vehicle::npc_toc5_player_vehicleAI, 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_nerubar_broodkeeper::npc_icc_nerubar_broodkeeperAI, boss_isle_of_conquest::boss_isle_of_conquestAI, npc_boss_gothik_minion::npc_boss_gothik_minionAI, boss_kelthuzad_minion::boss_kelthuzad_minionAI, npc_tesla::npc_teslaAI, boss_malygos::boss_malygosAI, npc_nexus_lord::npc_nexus_lordAI, npc_crystalline_frayer::npc_crystalline_frayerAI, 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, npc_ulduar_storm_tempered_keeper::npc_ulduar_storm_tempered_keeperAI, boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI, boss_keleseth::boss_kelesethAI, npc_dragonflayer_forge_master::npc_dragonflayer_forge_masterAI, 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_exarch_maladaarAI, boss_shirrak_the_dead_watcher::boss_shirrak_the_dead_watcherAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, npc_yor::npc_yorAI, boss_pandemonius::boss_pandemoniusAI, boss_talon_king_ikiss::boss_talon_king_ikissAI, boss_anzu::boss_anzuAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, boss_blackheart_the_inciter::boss_blackheart_the_inciterAI, boss_grandmaster_vorpil::boss_grandmaster_vorpilAI, boss_murmur::boss_murmurAI, 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::npc_akamaAI, boss_illidari_council_memberAI, boss_doomlord_kazzak::boss_doomlordkazzakAI, boss_doomwalker::boss_doomwalkerAI, boss_the_lurker_below::boss_the_lurker_belowAI, boss_ahune::boss_ahuneAI, boss_hydromancer_thespia::boss_thespiaAI, boss_mekgineer_steamrigger::boss_mekgineer_steamriggerAI, boss_warlord_kalithresh::boss_warlord_kalithreshAI, boss_ghazan, boss_the_black_stalker::boss_the_black_stalkerAI, boss_gruul::boss_gruulAI, boss_high_king_maulgar::boss_high_king_maulgarAI, boss_olm_the_summoner::boss_olm_the_summonerAI, boss_kiggler_the_crazed::boss_kiggler_the_crazedAI, boss_blindeye_the_seer::boss_blindeye_the_seerAI, boss_krosh_firehand::boss_krosh_firehandAI, boss_broggok::boss_broggokAI, boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, npc_shadowmoon_channeler::npc_shadowmoon_channelerAI, boss_the_maker::boss_the_makerAI, boss_nazan::boss_nazanAI, boss_vazruden::boss_vazrudenAI, boss_magtheridon::boss_magtheridonAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_warbringer_omrogg::boss_warbringer_omroggAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, npc_millhouse_manastorm::npc_millhouse_manastormAI, npc_warden_mellichar::npc_warden_mellicharAI, boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI, boss_harbinger_skyriss::boss_harbinger_skyrissAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_zereketh_the_unbound::boss_zereketh_the_unboundAI, boss_commander_sarannis::boss_commander_sarannisAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_laj::boss_lajAI, boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI, boss_warp_splinter::boss_warp_splinterAI, boss_gatewatcher_gyrokill::boss_gatewatcher_gyrokillAI, boss_gatewatcher_iron_hand::boss_gatewatcher_iron_handAI, boss_mechano_lord_capacitus::boss_mechano_lord_capacitusAI, boss_nethermancer_sepethrea::boss_nethermancer_sepethreaAI, npc_ragin_flames::npc_ragin_flamesAI, boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI, 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, adyen_the_lightbringer::adyen_the_lightbringerAI, exarch_orelis::exarch_orelisAI, socrethar::socretharAI, kaylaan_the_lost::kaylaan_the_lostAI, 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_infested_root_walker::npc_infested_root_walkerAI, npc_rotting_forest_rager::npc_rotting_forest_ragerAI, npc_floon::npc_floonAI, npc_isla_starmane::npc_isla_starmaneAI, npc_natrualist_bite::npc_natrualist_biteAI, npc_cooshcoosh::npc_cooshcooshAI, 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, boss_chromaggus::boss_chromaggusAI, boss_flamegor::boss_flamegorAI, boss_vaelastrasz::boss_vaelAI, npc_ohgan::npc_ohganAI, boss_sindragosa::boss_sindragosaAI, npc_artorius::npc_artoriusAI, npc_simone::npc_simoneAI, npc_nelson::npc_nelsonAI, npc_franklin::npc_franklinAI, CombatAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_quartermaster_zigris, boss_broodlord::boss_broodlordAI, boss_ebonroc::boss_ebonrocAI, boss_firemaw::boss_firemawAI, boss_curator::boss_curatorAI, boss_maiden_of_virtue::boss_maiden_of_virtueAI, boss_midnight::boss_midnightAI, boss_moroes::boss_moroesAI, boss_priestess_lackey_commonAI, boss_kagani_nightstrike::boss_kagani_nightstrikeAI, boss_ellris_duskhallow::boss_ellris_duskhallowAI, boss_eramas_brightblaze::boss_eramas_brightblazeAI, boss_yazzai::boss_yazzaiAI, boss_warlord_salaris::boss_warlord_salarisAI, boss_garaxxas::boss_garaxxasAI, boss_apoko::boss_apokoAI, boss_zelfan::boss_zelfanAI, npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI, boss_brutallus::boss_brutallusAI, boss_sacrolash::boss_sacrolashAI, boss_alythess::boss_alythessAI, boss_felmyst::boss_felmystAI, boss_kalecgos::boss_kalecgosAI, boss_muru::boss_muruAI, 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_jindo, boss_marli, npc_direbrew_antagonist, boss_onyxia, npc_belnistrasz::npc_belnistraszAI, boss_buru, 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, 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_anomalusAI, boss_commander_stoutbeard::boss_commander_stoutbeardAI, boss_keristrasza::boss_keristraszaAI, boss_magus_telestra::boss_magus_telestraAI, boss_ormorok::boss_ormorokAI, boss_steelbreaker::boss_steelbreakerAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_skarvald_the_constructor::boss_skarvald_the_constructorAI, boss_dalronn_the_controller::boss_dalronn_the_controllerAI, 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_gurtogg_bloodboil::boss_gurtogg_bloodboilAI, boss_illidan_stormrage::boss_illidan_stormrageAI, boss_mother_shahraz::boss_shahrazAI, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, boss_shade_of_akama::boss_shade_of_akamaAI, boss_supremus::boss_supremusAI, boss_teron_gorefiend::boss_teron_gorefiendAI, boss_najentus::boss_najentusAI, boss_gathios_the_shatterer::boss_gathios_the_shattererAI, boss_high_nethermancer_zerevor::boss_high_nethermancer_zerevorAI, boss_lady_malande::boss_lady_malandeAI, boss_veras_darkshadow::boss_veras_darkshadowAI, boss_fathomlord_karathress::boss_fathomlord_karathressAI, boss_hydross_the_unstable::boss_hydross_the_unstableAI, boss_lady_vashj::boss_lady_vashjAI, boss_leotheras_the_blind::boss_leotheras_the_blindAI, boss_morogrim_tidewalker::boss_morogrim_tidewalkerAI, boss_omor_the_unscarred::boss_omor_the_unscarredAI, boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI, boss_alar::boss_alarAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_kaelthas::boss_kaelthasAI, boss_void_reaver::boss_void_reaverAI, anchorite_karja::anchorite_karjaAI, npc_captain_saeed::npc_captain_saeedAI, npc_phase_hunter::npc_phase_hunterAI, npc_earthmender_wilda::npc_earthmender_wildaAI, npc_ishanah::ishanahAI, boss_ysondre::boss_ysondreAI, boss_lethon::boss_lethonAI, boss_emeriss::boss_emerissAI, boss_taerar::boss_taerarAI, and generic_creature::generic_creatureAI.

119{}

Referenced by boss_taerar::boss_taerarAI::EnterCombat(), and socrethar::socretharAI::UpdateAI().

◆ EnterEvadeMode()

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

Reimplemented in boss_hakkar::boss_hakkarAI, boss_jindo, 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_priestess_lackey_commonAI, boss_sacrolash::boss_sacrolashAI, boss_alythess::boss_alythessAI, boss_kiljaeden::boss_kiljaedenAI, boss_entropius::boss_entropiusAI, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, boss_arlokk::boss_arlokkAI, boss_jeklik, boss_ayamiss, boss_buru, boss_bug_trio, boss_skeram, boss_twinemperorsAI, npc_cork_gizelton::npc_cork_gizeltonAI, npc_shay_leafrunner::npc_shay_leafrunnerAI, 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::npc_crystalline_frayerAI, 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_ingvar_the_plundererAI, 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_shirrak_the_dead_watcherAI, boss_blackheart_the_inciter::boss_blackheart_the_inciterAI, boss_illidan_stormrage::boss_illidan_stormrageAI, boss_shade_of_akama::boss_shade_of_akamaAI, boss_illidari_council_memberAI, boss_ahune::boss_ahuneAI, npc_captain_saeed::npc_captain_saeedAI, npc_training_dummy::npc_training_dummyAI, npc_target_dummy::npc_target_dummyAI, SmartAI, GuardAI, PossessedAI, NullCreatureAI, PetAI, TotemAI, npc_burning_spirit::npc_burning_spiritAI, boss_doomrel::boss_doomrelAI, 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, npc_brain_wash_totem, npc_hallows_end_soh, boss_ouro, npc_dirt_mound, 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, 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_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_inner_demon::npc_inner_demonAI, boss_nazan::boss_nazanAI, boss_vazruden::boss_vazrudenAI, npc_pet_gen_argent_pony_bridle, npc_pet_gen_toxic_wasteling, npc_pet_hunter_snake_trap, npc_pet_mage_mirror_image, npc_escortAI, FollowerAI, hyjalAI, npc_vengeful_shade::npc_vengeful_shadeAI, and boss_kologarn_arms::boss_kologarn_armsAI.

196{
197 if (!_EnterEvadeMode(why))
198 return;
199
200 LOG_DEBUG("entities.unit", "Creature {} enters evade mode.", me->GetEntry());
201
202 if (!me->GetVehicle()) // otherwise me will be in evade mode forever
203 {
204 if (Unit* owner = me->GetCharmerOrOwner())
205 {
206 me->GetMotionMaster()->Clear(false);
208 }
209 else
210 {
211 // Required to prevent attacking creatures that are evading and cause them to reenter combat
212 // Does not apply to MoveFollow
215 }
216 }
217
218 Reset();
219 if (me->IsVehicle()) // use the same sequence of addtoworld, aireset may remove all summons!
220 {
221 me->GetVehicleKit()->Reset(true);
222 }
223
224 // despawn bosses at reset - only verified tbc/woltk bosses with this reset type - add bosses in last line respectively (dungeon/raid) and increase array limit
225 CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(me->GetEntry());
227 {
230 }
231
232 sScriptMgr->OnUnitEnterEvadeMode(me, why);
233}
#define LOG_DEBUG(filterType__,...)
Definition: Log.h:171
@ CREATURE_FLAG_EXTRA_HARD_RESET
Definition: CreatureData.h:80
#define PET_FOLLOW_DIST
Definition: PetDefines.h:193
@ UNIT_STATE_EVADE
Definition: Unit.h:346
#define sObjectMgr
Definition: ObjectMgr.h:1606
@ MOTION_SLOT_ACTIVE
Definition: MotionMaster.h:62
#define sScriptMgr
Definition: ScriptMgr.h:2690
void AddEvent(BasicEvent *Event, uint64 e_time, bool set_addtime=true)
Definition: EventProcessor.cpp:114
uint64 CalculateTime(uint64 t_offset) const
Definition: EventProcessor.cpp:136
virtual void Reset()
Definition: UnitAI.h:195
Definition: CreatureAI.cpp:33
bool _EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
Definition: CreatureAI.cpp:291
void DespawnOnEvade()
Definition: Creature.cpp:2100
Definition: CreatureData.h:176
bool HasFlagsExtra(uint32 flag) const
Definition: CreatureData.h:272
Definition: Unit.h:1290
bool IsVehicle() const
Definition: Unit.h:1416
Vehicle * GetVehicle() const
Definition: Unit.h:2352
MotionMaster * GetMotionMaster()
Definition: Unit.h:2260
void AddUnitState(uint32 f)
Definition: Unit.h:1397
Unit * GetCharmerOrOwner() const
Definition: Unit.h:1847
EventProcessor m_Events
Definition: Unit.h:2094
virtual float GetFollowAngle() const
Definition: Unit.h:2390
Vehicle * GetVehicleKit() const
Definition: Unit.h:2351
void Reset(bool evading=false)
Definition: Vehicle.cpp:118
void MoveFollow(Unit *target, float dist, float angle, MovementSlot slot=MOTION_SLOT_ACTIVE)
Definition: MotionMaster.cpp:367
void MoveTargetedHome()
Definition: MotionMaster.cpp:251
void Clear(bool reset=true)
Definition: MotionMaster.h:165

References _EnterEvadeMode(), EventProcessor::AddEvent(), Unit::AddUnitState(), EventProcessor::CalculateTime(), 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, Unit::m_Events, me, MOTION_SLOT_ACTIVE, MotionMaster::MoveFollow(), MotionMaster::MoveTargetedHome(), PET_FOLLOW_DIST, UnitAI::Reset(), Vehicle::Reset(), sObjectMgr, sScriptMgr, and UNIT_STATE_EVADE.

Referenced by BossAI::_EnterCombat(), boss_kelidan_the_breaker::boss_kelidan_the_breakerAI::CheckChannelers(), CheckInRoom(), boss_hakkar::boss_hakkarAI::CheckInRoom(), boss_onyxia::CheckInRoom(), boss_viscidus::CheckInRoom(), npc_battle_at_valhalas::npc_battle_at_valhalasAI::CheckSummons(), npc_simone::npc_simoneAI::CorpseRemoved(), npc_salsalabim::npc_salsalabimAI::DamageTaken(), npc_bartleby::npc_bartlebyAI::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(), boss_hexlord_malacrass::boss_hex_lord_malacrassAI::EnterCombat(), npc_dragonflayer_forge_master::npc_dragonflayer_forge_masterAI::EnterCombat(), boss_sartharion::boss_sartharionAI::EnterCombat(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::EnterCombat(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::EnterCombat(), boss_hakkar::boss_hakkarAI::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_gyth::boss_gythAI::EnterEvadeMode(), boss_rend_blackhand::boss_rend_blackhandAI::EnterEvadeMode(), boss_ragnaros::boss_ragnarosAI::EnterEvadeMode(), boss_priestess_lackey_commonAI::EnterEvadeMode(), boss_sacrolash::boss_sacrolashAI::EnterEvadeMode(), boss_alythess::boss_alythessAI::EnterEvadeMode(), boss_kiljaeden::boss_kiljaedenAI::EnterEvadeMode(), npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI::EnterEvadeMode(), boss_arlokk::boss_arlokkAI::EnterEvadeMode(), boss_jeklik::EnterEvadeMode(), boss_ayamiss::EnterEvadeMode(), boss_buru::EnterEvadeMode(), boss_bug_trio::EnterEvadeMode(), boss_skeram::EnterEvadeMode(), boss_twinemperorsAI::EnterEvadeMode(), npc_twiggy_flathead::npc_twiggy_flatheadAI::EnterEvadeMode(), boss_amanitar::EnterEvadeMode(), npc_twilight_volunteer::EnterEvadeMode(), boss_anub_arak::boss_anub_arakAI::EnterEvadeMode(), boss_halion::boss_halionAI::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_prince_valanar_icc::boss_prince_valanarAI::EnterEvadeMode(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::EnterEvadeMode(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::EnterEvadeMode(), boss_festergut::boss_festergutAI::EnterEvadeMode(), boss_professor_putricide::boss_professor_putricideAI::EnterEvadeMode(), boss_rotface::boss_rotfaceAI::EnterEvadeMode(), boss_sindragosa::boss_sindragosaAI::EnterEvadeMode(), boss_the_lich_king::boss_the_lich_kingAI::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::npc_crystalline_frayerAI::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::boss_ingvar_the_plundererAI::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::boss_shirrak_the_dead_watcherAI::EnterEvadeMode(), boss_blackheart_the_inciter::boss_blackheart_the_inciterAI::EnterEvadeMode(), boss_illidan_stormrage::boss_illidan_stormrageAI::EnterEvadeMode(), boss_shade_of_akama::boss_shade_of_akamaAI::EnterEvadeMode(), boss_illidari_council_memberAI::EnterEvadeMode(), boss_ahune::boss_ahuneAI::EnterEvadeMode(), NPCStaveQuestAI::EvadeOnFeignDeath(), spell_illidari_council_empyreal_balance::spell_illidari_council_empyreal_balance_SpellScript::HandleAfterCast(), boss_four_horsemen::boss_four_horsemenAI::IsInRoom(), boss_gothik::boss_gothikAI::IsInRoom(), boss_loatheb::boss_loathebAI::IsInRoom(), boss_maexxna::boss_maexxnaAI::IsInRoom(), boss_sapphiron::boss_sapphironAI::IsInRoom(), ScriptedAI::IsInRoom(), boss_heigan::boss_heiganAI::IsInRoom(), boss_four_horsemen::boss_four_horsemenAI::MovementInform(), FrostwingGauntletRespawner::operator()(), boss_illidari_council::boss_illidari_councilAI::Reset(), Creature::SelectVictim(), npc_warden_mellichar::npc_warden_mellicharAI::SetData(), boss_hexlord_malacrass::boss_hex_lord_malacrassAI::SpawnAdds(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::SpellHit(), npc_nether_drake::npc_nether_drakeAI::SpellHit(), boss_vazruden_the_herald::boss_vazruden_the_heraldAI::SummonedCreatureDespawn(), boss_majordomo::boss_majordomoAI::SummonedCreatureDies(), Unit::TauntFadeOut(), npc_av_marshal_or_warmaster::npc_av_marshal_or_warmasterAI::UpdateAI(), npc_water_elemental::npc_water_elementalAI::UpdateAI(), boss_balinda::boss_balindaAI::UpdateAI(), boss_drekthar::boss_drektharAI::UpdateAI(), boss_galvangar::boss_galvangarAI::UpdateAI(), boss_vanndar::boss_vanndarAI::UpdateAI(), boss_the_beast::boss_thebeastAI::UpdateAI(), boss_broodlord::boss_broodlordAI::UpdateAI(), boss_priestess_delrissa::boss_priestess_delrissaAI::UpdateAI(), npc_death_knight_initiate::npc_death_knight_initiateAI::UpdateAI(), npc_crusade_persuaded::npc_crusade_persuadedAI::UpdateAI(), boss_kalecgos::boss_kalecgosAI::UpdateAI(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::UpdateAI(), npc_eris_hevenfire::npc_eris_hevenfireAI::UpdateAI(), npc_yenniku::npc_yennikuAI::UpdateAI(), npc_calvin_montague::npc_calvin_montagueAI::UpdateAI(), boss_akilzon::boss_akilzonAI::UpdateAI(), boss_hexlord_malacrass::boss_hex_lord_malacrassAI::UpdateAI(), boss_zuljin::boss_zuljinAI::UpdateAI(), alliance_rifleman::alliance_riflemanAI::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_krik_thir::boss_krik_thirAI::UpdateAI(), boss_sartharion::boss_sartharionAI::UpdateAI(), boss_ick::boss_ickAI::UpdateAI(), boss_tyrannus::boss_tyrannusAI::UpdateAI(), boss_lord_marrowgar::UpdateAI(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::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(), boss_the_black_stalker::boss_the_black_stalkerAI::UpdateAI(), boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI::UpdateAI(), npc_warden_mellichar::npc_warden_mellicharAI::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(), boss_hexlord_addAI::UpdateAI(), boss_illidari_council::boss_illidari_councilAI::UpdateAI(), boss_vazruden_the_herald::boss_vazruden_the_heraldAI::UpdateAI(), InstanceScript::UpdateMinionState(), and UpdateVictim().

◆ GetBoundary()

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

References _boundary.

◆ IsEscorted()

virtual bool CreatureAI::IsEscorted ( )
inlinevirtual

Reimplemented in npc_escortAI, and SmartAI.

143{ return false; }

◆ IsInBoundary()

bool CreatureAI::IsInBoundary ( Position const *  who = nullptr) const
362{
363 if (!_boundary)
364 return true;
365
366 if (!who)
367 who = me;
368
370}
static bool IsInBounds(CreatureBoundary const &boundary, Position const *who)
Definition: CreatureAI.cpp:372

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
373{
374 for (AreaBoundary const* areaBoundary : boundary)
375 if (!areaBoundary->IsWithinBoundary(pos))
376 return false;
377
378 return true;
379}
Definition: AreaBoundary.h:24

Referenced by IsInBoundary().

◆ IsSummonedBy()

virtual void CreatureAI::IsSummonedBy ( Unit )
inlinevirtual

Reimplemented in boss_gyth::boss_gythAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_rend_blackhand::boss_rend_blackhandAI, npc_corrupted_totem, boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI, boss_kormok, boss_jarien, boss_sothos, boss_gahzranka::boss_gahzrankaAI, npc_shade_of_jindo, npc_direbrew_minion, 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, TriggerAI, SmartAI, npc_burning_spirit::npc_burning_spiritAI, npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI, npc_drakonid_spawner, npc_risen_guardian::npc_risen_guardianAI, npc_tiger_matriarch::npc_tiger_matriarchAI, npc_bone_spike::npc_bone_spikeAI, npc_little_ooze::npc_little_oozeAI, npc_strangulate_vehicle::npc_strangulate_vehicleAI, npc_oculus_drake::npc_oculus_drakeAI, 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_inner_demon::npc_inner_demonAI, npc_oscillating_frequency_scanner_master_bunny::npc_oscillating_frequency_scanner_master_bunnyAI, npc_infernal_attacker::npc_infernal_attackerAI, 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.

129{}

Referenced by TempSummon::InitSummon().

◆ JustDied()

virtual void CreatureAI::JustDied ( Unit )
inlinevirtual

Reimplemented in NPCStaveQuestAI, PossessedAI, ScriptedAI, BossAI, WorldBossAI, npc_escortAI, FollowerAI, boss_balinda::boss_balindaAI, 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, npc_blackhand_incarcerator::npc_blackhand_incarceratorAI, 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, boss_attumen_midnight::boss_attumen_midnightAI, boss_netherspite::boss_netherspiteAI, boss_nightbane::boss_nightbaneAI, boss_malchezaar::boss_malchezaarAI, boss_servant_quarters::boss_servant_quartersAI, boss_shade_of_aran::boss_aranAI, npc_kilrek::npc_kilrekAI, npc_demon_chain::npc_demon_chainAI, boss_terestian_illhoof::boss_terestianAI, boss_dorothee::boss_dorotheeAI, npc_tito::npc_titoAI, boss_strawman::boss_strawmanAI, boss_tinhead::boss_tinheadAI, boss_roar::boss_roarAI, boss_crone::boss_croneAI, boss_bigbadwolf::boss_bigbadwolfAI, boss_julianne::boss_julianneAI, boss_romulo::boss_romuloAI, boss_felblood_kaelthas::boss_felblood_kaelthasAI, boss_priestess_delrissa::boss_priestess_delrissaAI, boss_priestess_lackey_commonAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_vexallus::boss_vexallusAI, 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_sacrolashAI, boss_alythess::boss_alythessAI, boss_kalec::boss_kalecAI, boss_sathrovarr::boss_sathrovarrAI, npc_kiljaeden_controller::npc_kiljaeden_controllerAI, boss_kiljaeden::boss_kiljaedenAI, boss_entropius::boss_entropiusAI, npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI, pyrewood_ambush::pyrewood_ambushAI, boss_akilzon::boss_akilzonAI, boss_halazzi::boss_halazziAI, boss_hexlord_malacrass::boss_hex_lord_malacrassAI, boss_janalai::boss_janalaiAI, boss_nalorakk::boss_nalorakkAI, boss_zuljin::boss_zuljinAI, npc_zulaman_hostage::npc_zulaman_hostageAI, boss_arlokk::boss_arlokkAI, npc_zulian_prowler::npc_zulian_prowlerAI, boss_gahzranka::boss_gahzrankaAI, boss_hakkar::boss_hakkarAI, boss_jeklik, boss_mandokir::boss_mandokirAI, npc_ohgan::npc_ohganAI, npc_chained_spirit, npc_vilebranch_speaker, boss_thekal::boss_thekalAI, npc_zealot_lorkhan::npc_zealot_lorkhanAI, npc_zealot_zath::npc_zealot_zathAI, boss_venoxis::boss_venoxisAI, npc_coren_direbrew, npc_hallows_end_soh, boss_headless_horseman, boss_azuregos::boss_azuregosAI, npc_towering_infernal::npc_towering_infernalAI, boss_archimonde::boss_archimondeAI, npc_lesser_doomguard::npc_lesser_doomguardAI, npc_frost_wyrm::npc_frost_wyrmAI, alliance_rifleman::alliance_riflemanAI, hyjal_trashAI, hyjalAI, 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_captain_skarlocAI, boss_lieutenant_drake::boss_lieutenant_drakeAI, boss_aeonus::boss_aeonusAI, boss_chrono_lord_deja::boss_chrono_lord_dejaAI, boss_temporus::boss_temporusAI, npc_medivh_bm::npc_medivh_bmAI, 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, boss_viscidus, npc_anubisath_sentinel::aqsentinelAI, npc_anubisath_defender, npc_ahnqiraji_critter, npc_muglash::npc_muglashAI, npc_shay_leafrunner::npc_shay_leafrunnerAI, 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_phantom_hallucination::npc_phantom_hallucinationAI, 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, boss_naxxramas_misc::boss_naxxramas_miscAI, 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_ingvar_the_plundererAI, boss_keleseth::boss_kelesethAI, boss_skarvald_the_constructor::boss_skarvald_the_constructorAI, boss_dalronn_the_controller::boss_dalronn_the_controllerAI, npc_dragonflayer_forge_master::npc_dragonflayer_forge_masterAI, 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_exarch_maladaarAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, boss_pandemonius::boss_pandemoniusAI, boss_talon_king_ikiss::boss_talon_king_ikissAI, boss_anzu::boss_anzuAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, boss_blackheart_the_inciter::boss_blackheart_the_inciterAI, boss_grandmaster_vorpil::boss_grandmaster_vorpilAI, boss_murmur::boss_murmurAI, boss_illidan_stormrage::boss_illidan_stormrageAI, boss_essence_of_anger::boss_essence_of_angerAI, npc_akama_shade::npc_akamaAI, boss_illidari_council_memberAI, boss_doomlord_kazzak::boss_doomlordkazzakAI, boss_doomwalker::boss_doomwalkerAI, npc_inner_demon::npc_inner_demonAI, boss_ahune::boss_ahuneAI, npc_ahune_frozen_core::npc_ahune_frozen_coreAI, boss_hydromancer_thespia::boss_thespiaAI, boss_mekgineer_steamrigger::boss_mekgineer_steamriggerAI, boss_warlord_kalithresh::boss_warlord_kalithreshAI, boss_the_black_stalker::boss_the_black_stalkerAI, boss_gruul::boss_gruulAI, boss_high_king_maulgar::boss_high_king_maulgarAI, boss_olm_the_summoner::boss_olm_the_summonerAI, boss_kiggler_the_crazed::boss_kiggler_the_crazedAI, boss_blindeye_the_seer::boss_blindeye_the_seerAI, boss_krosh_firehand::boss_krosh_firehandAI, boss_broggok::boss_broggokAI, boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, npc_shadowmoon_channeler::npc_shadowmoon_channelerAI, boss_the_maker::boss_the_makerAI, boss_vazruden_the_herald::boss_vazruden_the_heraldAI, boss_vazruden::boss_vazrudenAI, boss_magtheridon::boss_magtheridonAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_warbringer_omrogg::boss_warbringer_omroggAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, npc_millhouse_manastorm::npc_millhouse_manastormAI, npc_warden_mellichar::npc_warden_mellicharAI, boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI, boss_harbinger_skyriss::boss_harbinger_skyrissAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_zereketh_the_unbound::boss_zereketh_the_unboundAI, boss_commander_sarannis::boss_commander_sarannisAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI, boss_warp_splinter::boss_warp_splinterAI, boss_gatewatcher_gyrokill::boss_gatewatcher_gyrokillAI, boss_gatewatcher_iron_hand::boss_gatewatcher_iron_handAI, boss_mechano_lord_capacitus::boss_mechano_lord_capacitusAI, boss_nethermancer_sepethrea::boss_nethermancer_sepethreaAI, boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI, npc_maghar_captive::npc_maghar_captiveAI, npc_kurenai_captive::npc_kurenai_captiveAI, socrethar::socretharAI, 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_illidari_spawn::npc_illidari_spawnAI, npc_enraged_spirit::npc_enraged_spiritAI, npc_isla_starmane::npc_isla_starmaneAI, npc_pet_dk_ghoul::npc_pet_dk_ghoulAI, npc_pet_pri_shadowfiend, boss_taerar::boss_taerarAI, CombatAI, GuardAI, SmartAI, boss_lord_valthalak::boss_lord_valthalakAI, boss_curator::boss_curatorAI, boss_maiden_of_virtue::boss_maiden_of_virtueAI, boss_moroes::boss_moroesAI, npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI, boss_jarien, boss_sothos, boss_brutallus::boss_brutallusAI, boss_felmyst::boss_felmystAI, boss_kalecgos::boss_kalecgosAI, boss_marli, boss_anetheron::boss_anetheronAI, boss_azgalor::boss_azgalorAI, boss_kazrogal::boss_kazrogalAI, boss_rage_winterchill::boss_rage_winterchillAI, npc_gargoyle::npc_gargoyleAI, boss_epoch_hunter::boss_epoch_hunterAI, 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_anomalusAI, boss_commander_stoutbeard::boss_commander_stoutbeardAI, boss_keristrasza::boss_keristraszaAI, boss_magus_telestra::boss_magus_telestraAI, boss_ormorok::boss_ormorokAI, 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_frost_tombAI, npc_nerubar_victim::npc_nerubar_victimAI, boss_gurtogg_bloodboil::boss_gurtogg_bloodboilAI, boss_mother_shahraz::boss_shahrazAI, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, boss_shade_of_akama::boss_shade_of_akamaAI, boss_supremus::boss_supremusAI, boss_teron_gorefiend::boss_teron_gorefiendAI, boss_najentus::boss_najentusAI, boss_fathomlord_karathress::boss_fathomlord_karathressAI, boss_hydross_the_unstable::boss_hydross_the_unstableAI, boss_lady_vashj::boss_lady_vashjAI, boss_leotheras_the_blind::boss_leotheras_the_blindAI, boss_the_lurker_below::boss_the_lurker_belowAI, boss_morogrim_tidewalker::boss_morogrim_tidewalkerAI, boss_omor_the_unscarred::boss_omor_the_unscarredAI, boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI, boss_alar::boss_alarAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_kaelthas::boss_kaelthasAI, boss_void_reaver::boss_void_reaverAI, npc_torloth_the_magnificent::npc_torloth_the_magnificentAI, trigger_death::trigger_deathAI, and npc_simone::npc_simoneAI.

122{}

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

◆ JustReachedHome()

virtual void CreatureAI::JustReachedHome ( )
inlinevirtual

Reimplemented in BossAI, SmartAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_majordomo::boss_majordomoAI, boss_moroes::boss_moroesAI, boss_dorothee::boss_dorotheeAI, boss_strawman::boss_strawmanAI, boss_tinhead::boss_tinheadAI, boss_roar::boss_roarAI, boss_crone::boss_croneAI, boss_bigbadwolf::boss_bigbadwolfAI, boss_julianne::boss_julianneAI, boss_romulo::boss_romuloAI, boss_high_inquisitor_whitemane::boss_high_inquisitor_whitemaneAI, npc_scholomance_occultist::npc_scholomance_occultistAI, boss_kalecgos::boss_kalecgosAI, boss_arlokk::boss_arlokkAI, boss_lieutenant_drake::boss_lieutenant_drakeAI, boss_aeonus::boss_aeonusAI, npc_weegli_blastfuse::npc_weegli_blastfuseAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, boss_halion::boss_halionAI, 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_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_festergut::boss_festergutAI, boss_lord_marrowgar, boss_professor_putricide::boss_professor_putricideAI, boss_rotface::boss_rotfaceAI, boss_sindragosa::boss_sindragosaAI, npc_spinestalker::npc_spinestalkerAI, npc_rimefang::npc_rimefangAI, boss_the_lich_king::boss_the_lich_kingAI, 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_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI, npc_icc_nerubar_broodkeeper::npc_icc_nerubar_broodkeeperAI, 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, boss_hydross_the_unstable::boss_hydross_the_unstableAI, boss_leotheras_the_blind::boss_leotheras_the_blindAI, boss_ghazan, boss_alar::boss_alarAI, npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI, and npc_precious::npc_preciousAI.

157{}

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

◆ 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, exarch_orelis::exarch_orelisAI, 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_faerlina::boss_faerlinaAI, 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_sara::boss_yoggsaron_saraAI, 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, boss_mekgineer_steamrigger::boss_mekgineer_steamriggerAI, deathblow_to_the_legion_trigger::deathblow_to_the_legion_triggerAI, SmartAI, npc_eris_hevenfire::npc_eris_hevenfireAI, npc_daphne_stilwell::npc_daphne_stilwellAI, npc_coren_direbrew, boss_ossirian, npc_ouro_spawner, npc_dirt_mound, boss_skeram, npc_battle_at_valhalas::npc_battle_at_valhalasAI, npc_archmage_landalock::npc_archmage_landalockAI, boss_dalronn_the_controller::boss_dalronn_the_controllerAI, 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::boss_ingvar_the_plundererAI, 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, boss_curator::boss_curatorAI, boss_midnight::boss_midnightAI, boss_moroes::boss_moroesAI, npc_fiendish_portal::npc_fiendish_portalAI, boss_felblood_kaelthas::boss_felblood_kaelthasAI, boss_priestess_delrissa::boss_priestess_delrissaAI, boss_priestess_lackey_commonAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_vexallus::boss_vexallusAI, boss_kormok, boss_apothecary_hummel::boss_apothecary_hummelAI, boss_sacrolash::boss_sacrolashAI, boss_felmyst::boss_felmystAI, npc_demonic_vapor_trail::npc_demonic_vapor_trailAI, npc_kiljaeden_controller::npc_kiljaeden_controllerAI, boss_kiljaeden::boss_kiljaedenAI, npc_kalecgos_kj::npc_kalecgos_kjAI, boss_muru::boss_muruAI, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, boss_halazzi::boss_halazziAI, boss_zuljin::boss_zuljinAI, boss_hazzarah, boss_jindo, npc_necromancer::npc_necromancerAI, boss_captain_skarloc::boss_captain_skarlocAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, npc_medivh_bm::npc_medivh_bmAI, 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, boss_noth::boss_nothAI, boss_malygos::boss_malygosAI, boss_anomalus::boss_anomalusAI, boss_magus_telestra::boss_magus_telestraAI, boss_ormorok::boss_ormorokAI, 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_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_shirrak_the_dead_watcherAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, boss_anzu::boss_anzuAI, boss_grandmaster_vorpil::boss_grandmaster_vorpilAI, boss_gurtogg_bloodboil::boss_gurtogg_bloodboilAI, boss_illidan_stormrage::boss_illidan_stormrageAI, npc_akama_illidan::npc_akama_illidanAI, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, npc_akama_shade::npc_akamaAI, npc_creature_generator_akama::npc_creature_generator_akamaAI, boss_supremus::boss_supremusAI, boss_teron_gorefiend::boss_teron_gorefiendAI, boss_veras_darkshadow::boss_veras_darkshadowAI, boss_fathomlord_karathress::boss_fathomlord_karathressAI, boss_hydross_the_unstable::boss_hydross_the_unstableAI, boss_lady_vashj::boss_lady_vashjAI, boss_leotheras_the_blind::boss_leotheras_the_blindAI, boss_the_lurker_below::boss_the_lurker_belowAI, boss_morogrim_tidewalker::boss_morogrim_tidewalkerAI, boss_ahune::boss_ahuneAI, boss_the_black_stalker::boss_the_black_stalkerAI, boss_olm_the_summoner::boss_olm_the_summonerAI, boss_omor_the_unscarred::boss_omor_the_unscarredAI, boss_vazruden_the_herald::boss_vazruden_the_heraldAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, npc_warden_mellichar::npc_warden_mellicharAI, boss_harbinger_skyriss::boss_harbinger_skyrissAI, boss_alar::boss_alarAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_kaelthas::boss_kaelthasAI, boss_mechano_lord_capacitus::boss_mechano_lord_capacitusAI, boss_nethermancer_sepethrea::boss_nethermancer_sepethreaAI, emerald_dragonAI, npc_nelson::npc_nelsonAI, boss_balinda::boss_balindaAI, boss_vaelastrasz::boss_vaelAI, boss_nightbane::boss_nightbaneAI, boss_terestian_illhoof::boss_terestianAI, npc_koltira_deathweaver::npc_koltira_deathweaverAI, npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI, npc_rinji::npc_rinjiAI, pyrewood_ambush::pyrewood_ambushAI, npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI, npc_thrall_bfu::npc_thrall_bfuAI, npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI, boss_archimonde::boss_archimondeAI, hyjalAI, 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::boss_broggokAI, boss_warbringer_omrogg::boss_warbringer_omroggAI, 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_earthmender_wilda::npc_earthmender_wildaAI, npc_varian_wrynn::npc_varian_wrynnAI, boss_ayamiss, and npc_buru_egg.

128{}

Referenced by spell_putricide_mutated_transformation::spell_putricide_mutated_transformation_SpellScript::HandleSummon(), TempSummon::InitSummon(), npc_claw_tentacle::npc_claw_tentacle(), npc_eye_tentacle::npc_eye_tentacle(), npc_giant_claw_tentacle::npc_giant_claw_tentacle(), npc_giant_eye_tentacle::npc_giant_eye_tentacle(), and spell_hodir_flash_freeze::spell_hodir_flash_freeze_AuraScript::PrepareAuraScript().

◆ KilledUnit()

virtual void CreatureAI::KilledUnit ( Unit )
inlinevirtual

Reimplemented in PetAI, ScriptedAI, boss_emperor_dagran_thaurissan::boss_draganthaurissanAI, boss_curator::boss_curatorAI, boss_maiden_of_virtue::boss_maiden_of_virtueAI, boss_midnight::boss_midnightAI, boss_attumen::boss_attumenAI, boss_attumen_midnight::boss_attumen_midnightAI, boss_moroes::boss_moroesAI, boss_malchezaar::boss_malchezaarAI, boss_shade_of_aran::boss_aranAI, boss_terestian_illhoof::boss_terestianAI, boss_strawman::boss_strawmanAI, boss_tinhead::boss_tinheadAI, boss_roar::boss_roarAI, boss_crone::boss_croneAI, boss_bigbadwolf::boss_bigbadwolfAI, boss_julianne::boss_julianneAI, boss_romulo::boss_romuloAI, npc_mograine::npc_mograineAI, boss_high_inquisitor_whitemane::boss_high_inquisitor_whitemaneAI, npc_risen_guardian::npc_risen_guardianAI, boss_hexlord_malacrass::boss_hex_lord_malacrassAI, boss_janalai::boss_janalaiAI, boss_nalorakk::boss_nalorakkAI, boss_zuljin::boss_zuljinAI, boss_headless_horseman, npc_towering_infernal::npc_towering_infernalAI, boss_azgalor::boss_azgalorAI, npc_lesser_doomguard::npc_lesser_doomguardAI, boss_kazrogal::boss_kazrogalAI, boss_rage_winterchill::boss_rage_winterchillAI, npc_necromancer::npc_necromancerAI, boss_epoch::boss_epochAI, boss_mal_ganis::boss_mal_ganisAI, boss_meathook::boss_meathookAI, boss_salramm::boss_salrammAI, boss_captain_skarloc::boss_captain_skarlocAI, 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_commander_stoutbeardAI, boss_keristrasza::boss_keristraszaAI, boss_magus_telestra::boss_magus_telestraAI, boss_ormorok::boss_ormorokAI, 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_ingvar_the_plundererAI, boss_skarvald_the_constructor::boss_skarvald_the_constructorAI, boss_dalronn_the_controller::boss_dalronn_the_controllerAI, boss_skadi::boss_skadiAI, boss_ymiron::boss_ymironAI, boss_exarch_maladaar::boss_exarch_maladaarAI, boss_talon_king_ikiss::boss_talon_king_ikissAI, boss_gurtogg_bloodboil::boss_gurtogg_bloodboilAI, boss_illidan_stormrage::boss_illidan_stormrageAI, boss_mother_shahraz::boss_shahrazAI, 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_teron_gorefiend::boss_teron_gorefiendAI, boss_illidari_council_memberAI, boss_fathomlord_karathress::boss_fathomlord_karathressAI, boss_hydross_the_unstable::boss_hydross_the_unstableAI, boss_lady_vashj::boss_lady_vashjAI, boss_leotheras_the_blind::boss_leotheras_the_blindAI, boss_morogrim_tidewalker::boss_morogrim_tidewalkerAI, boss_gruul::boss_gruulAI, boss_high_king_maulgar::boss_high_king_maulgarAI, boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, boss_omor_the_unscarred::boss_omor_the_unscarredAI, boss_vazruden::boss_vazrudenAI, boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI, boss_magtheridon::boss_magtheridonAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_warbringer_omrogg::boss_warbringer_omroggAI, npc_millhouse_manastorm::npc_millhouse_manastormAI, boss_sartharion::boss_sartharionAI, boss_xevozz::boss_xevozzAI, boss_sathrovarr::boss_sathrovarrAI, boss_sartharion_dragonAI, PossessedAI, SmartAI, boss_nefarian, boss_vaelastrasz::boss_vaelAI, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, boss_priestess_delrissa::boss_priestess_delrissaAI, boss_priestess_lackey_commonAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_vexallus::boss_vexallusAI, boss_brutallus::boss_brutallusAI, boss_sacrolash::boss_sacrolashAI, boss_alythess::boss_alythessAI, boss_felmyst::boss_felmystAI, boss_kalecgos::boss_kalecgosAI, boss_kiljaeden::boss_kiljaedenAI, boss_twilight_corrupter, boss_halazzi::boss_halazziAI, boss_mandokir::boss_mandokirAI, npc_ohgan::npc_ohganAI, boss_azuregos::boss_azuregosAI, boss_archimonde::boss_archimondeAI, boss_epoch_hunter::boss_epoch_hunterAI, boss_lieutenant_drake::boss_lieutenant_drakeAI, boss_aeonus::boss_aeonusAI, boss_chrono_lord_deja::boss_chrono_lord_dejaAI, boss_temporus::boss_temporusAI, 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_palehoof::boss_palehoofAI, boss_svala::boss_svalaAI, boss_cyanigosa::boss_cyanigosaAI, boss_erekem::boss_erekemAI, boss_ichoron::boss_ichoronAI, boss_zuramat::boss_zuramatAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, boss_pandemonius::boss_pandemoniusAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, boss_blackheart_the_inciter::boss_blackheart_the_inciterAI, boss_grandmaster_vorpil::boss_grandmaster_vorpilAI, boss_najentus::boss_najentusAI, boss_doomlord_kazzak::boss_doomlordkazzakAI, boss_doomwalker::boss_doomwalkerAI, boss_hydromancer_thespia::boss_thespiaAI, boss_mekgineer_steamrigger::boss_mekgineer_steamriggerAI, boss_warlord_kalithresh::boss_warlord_kalithreshAI, boss_the_maker::boss_the_makerAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI, boss_harbinger_skyriss::boss_harbinger_skyrissAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_zereketh_the_unbound::boss_zereketh_the_unboundAI, boss_commander_sarannis::boss_commander_sarannisAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI, boss_warp_splinter::boss_warp_splinterAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_kaelthas::boss_kaelthasAI, boss_void_reaver::boss_void_reaverAI, boss_gatewatcher_gyrokill::boss_gatewatcher_gyrokillAI, boss_gatewatcher_iron_hand::boss_gatewatcher_iron_handAI, boss_mechano_lord_capacitus::boss_mechano_lord_capacitusAI, boss_nethermancer_sepethrea::boss_nethermancer_sepethreaAI, boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI, kaylaan_the_lost::kaylaan_the_lostAI, netherspite_infernal::netherspite_infernalAI, boss_akilzon::boss_akilzonAI, npc_dark_iron_guzzler, boss_anetheron::boss_anetheronAI, 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.

125{}

Referenced by Unit::Kill().

◆ MoveBackwardsChecks()

void CreatureAI::MoveBackwardsChecks ( )
344 {
345 Unit *victim = me->GetVictim();
346
347 if (
348 !victim ||
350 (victim->GetTypeId() != TYPEID_PLAYER && !victim->IsPet())
351 )
352 {
353 return;
354 }
355
356 float moveDist = me->GetMeleeRange(victim) / 2;
357
358 me->GetMotionMaster()->MoveBackwards(victim, moveDist);
359}
@ TYPEID_PLAYER
Definition: ObjectGuid.h:38
@ MOVEMENTFLAG_ROOT
Definition: Unit.h:563
bool IsFreeToMove()
Definition: Creature.cpp:894
bool IsPet() const
Definition: Unit.h:1413
bool HasUnitMovementFlag(uint32 f) const
Definition: Unit.h:2272
Unit * GetVictim() const
Definition: Unit.h:1386
float GetMeleeRange(Unit const *target) const
Definition: Unit.cpp:697
void MoveBackwards(Unit *target, float dist)
Definition: MotionMaster.cpp:321

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

Referenced by Creature::Update().

◆ MoveCircleChecks()

void CreatureAI::MoveCircleChecks ( )
328{
329 Unit *victim = me->GetVictim();
330
331 if (
332 !victim ||
334 !me->IsWithinMeleeRange(victim) || me == victim->GetVictim() ||
335 (victim->GetTypeId() != TYPEID_PLAYER && !victim->IsPet()) // only player & pets to save CPU
336 )
337 {
338 return;
339 }
340
342}
bool IsWithinMeleeRange(Unit const *obj, float dist=0.f) const
Definition: Unit.cpp:682
void MoveCircleTarget(Unit *target)
Definition: MotionMaster.cpp:347

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

Referenced by Creature::Update().

◆ MoveInLineOfSight()

void CreatureAI::MoveInLineOfSight ( Unit who)
protectedvirtual

Reimplemented in VehicleAI, PassiveAI, PossessedAI, NullCreatureAI, PetAI, ReactorAI, FollowerAI, netherspite_infernal::netherspite_infernalAI, npc_demon_chain::npc_demon_chainAI, npc_cyclone::npc_cycloneAI, npc_akilzon_eagle::npc_akilzon_eagleAI, npc_janalai_firebomb::npc_janalai_firebombAI, npc_janalai_hatcher::npc_janalai_hatcherAI, 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_doomfire::npc_doomfireAI, npc_taretha::npc_tarethaAI, npc_injured_draenei::npc_injured_draeneiAI, boss_jedoga_shadowseeker, npc_toc5_player_vehicle::npc_toc5_player_vehicleAI, 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, brann_bronzebeard::brann_bronzebeardAI, 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_keleseth::boss_kelesethAI, 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_illidan_stormrage::boss_illidan_stormrageAI, npc_akama_illidan::npc_akama_illidanAI, boss_illidari_council::boss_illidari_councilAI, boss_leotheras_the_blind::boss_leotheras_the_blindAI, boss_ahune::boss_ahuneAI, npc_steamrigger_mechanic::npc_steamrigger_mechanicAI, boss_magtheridon::boss_magtheridonAI, npc_warden_mellichar::npc_warden_mellicharAI, boss_alar::boss_alarAI, npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI, npc_training_dummy::npc_training_dummyAI, npc_target_dummy::npc_target_dummyAI, npc_brew_bubble, npc_shay_leafrunner::npc_shay_leafrunnerAI, boss_sartharion_dragonAI, TotemAI, npc_escortAI, SmartAI, boss_nightbane::boss_nightbaneAI, boss_dorothee::boss_dorotheeAI, boss_strawman::boss_strawmanAI, boss_tinhead::boss_tinheadAI, boss_roar::boss_roarAI, boss_julianne::boss_julianneAI, boss_romulo::boss_romuloAI, boss_felblood_kaelthas::boss_felblood_kaelthasAI, npc_dkc1_gothik::npc_dkc1_gothikAI, npc_a_special_surprise::npc_a_special_surpriseAI, npc_scarlet_guard::npc_scarlet_guardAI, npc_mograine::npc_mograineAI, npc_fairbanks::npc_fairbanksAI, 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::boss_nalorakkAI, 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_towering_infernal::npc_towering_infernalAI, npc_doomfire_targetting::npc_doomfire_targettingAI, npc_lesser_doomguard::npc_lesser_doomguardAI, alliance_rifleman::alliance_riflemanAI, hyjalAI, npc_cos_stratholme_citizien::npc_cos_stratholme_citizienAI, boss_aeonus::boss_aeonusAI, boss_chrono_lord_deja::boss_chrono_lord_dejaAI, boss_temporus::boss_temporusAI, npc_medivh_bm::npc_medivh_bmAI, npc_hive_zara_larva, 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::npc_ulduar_snow_moundAI, 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_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_exarch_maladaarAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, boss_talon_king_ikiss::boss_talon_king_ikissAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, boss_grandmaster_vorpil::boss_grandmaster_vorpilAI, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, boss_doomwalker::boss_doomwalkerAI, boss_lady_vashj::boss_lady_vashjAI, boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI, boss_kaelthas::boss_kaelthasAI, 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, deathblow_to_the_legion_trigger::deathblow_to_the_legion_triggerAI, npc_captain_saeed::npc_captain_saeedAI, npc_natrualist_bite::npc_natrualist_biteAI, npc_pet_hunter_snake_trap, and npc_air_force_bots::npc_air_force_botsAI.

157{
158 if (me->IsEngaged())
159 return;
160
161 // pussywizard: civilian, non-combat pet or any other NOT HOSTILE TO ANYONE (!)
163 if (me->GetCreatureType() == CREATURE_TYPE_NON_COMBAT_PET || // nothing more to do, return
164 !who->IsInCombat() || // if not in combat, nothing more to do
165 !me->IsWithinDist(who, ATTACK_DISTANCE, true, false)) // if in combat and in dist - neutral to all can actually assist other creatures
166 return;
167
169 AttackStart(who);
170}
#define ATTACK_DISTANCE
Definition: ObjectDefines.h:25
@ REACT_AGGRESSIVE
Definition: Unit.h:1025
@ CREATURE_TYPE_NON_COMBAT_PET
Definition: SharedDefines.h:2611
virtual void AttackStart(Unit *)
Definition: UnitAI.cpp:28
bool CanStartAttack(Unit const *u) const
Definition: Creature.cpp:1871
bool HasReactState(ReactStates state) const
Definition: Creature.h:90
bool IsMoveInLineOfSightDisabled()
Definition: Creature.h:267
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true, bool useBoundingRadius=true) const
Definition: Object.cpp:1316
bool IsEngaged() const
Definition: Unit.h:1685
uint32 GetCreatureType() const
Definition: Unit.cpp:15039
bool IsInCombat() const
Definition: Unit.h:1688

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::boss_nightbaneAI::MoveInLineOfSight(), boss_dorothee::boss_dorotheeAI::MoveInLineOfSight(), boss_strawman::boss_strawmanAI::MoveInLineOfSight(), boss_tinhead::boss_tinheadAI::MoveInLineOfSight(), boss_roar::boss_roarAI::MoveInLineOfSight(), boss_julianne::boss_julianneAI::MoveInLineOfSight(), boss_romulo::boss_romuloAI::MoveInLineOfSight(), boss_felblood_kaelthas::boss_felblood_kaelthasAI::MoveInLineOfSight(), npc_dkc1_gothik::npc_dkc1_gothikAI::MoveInLineOfSight(), npc_mograine::npc_mograineAI::MoveInLineOfSight(), boss_twilight_corrupter::MoveInLineOfSight(), boss_nalorakk::boss_nalorakkAI::MoveInLineOfSight(), npc_cos_stratholme_citizien::npc_cos_stratholme_citizienAI::MoveInLineOfSight(), boss_aeonus::boss_aeonusAI::MoveInLineOfSight(), boss_chrono_lord_deja::boss_chrono_lord_dejaAI::MoveInLineOfSight(), boss_temporus::boss_temporusAI::MoveInLineOfSight(), npc_hive_zara_larva::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::boss_exarch_maladaarAI::MoveInLineOfSight(), boss_talon_king_ikiss::boss_talon_king_ikissAI::MoveInLineOfSight(), boss_grandmaster_vorpil::boss_grandmaster_vorpilAI::MoveInLineOfSight(), boss_lady_vashj::boss_lady_vashjAI::MoveInLineOfSight(), boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI::MoveInLineOfSight(), boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI::MoveInLineOfSight(), boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI::MoveInLineOfSight(), npc_nether_drake::npc_nether_drakeAI::MoveInLineOfSight(), npc_daranelle::npc_daranelleAI::MoveInLineOfSight(), npc_natrualist_bite::npc_natrualist_biteAI::MoveInLineOfSight(), and MoveInLineOfSight_Safe().

◆ MoveInLineOfSight_Safe()

void CreatureAI::MoveInLineOfSight_Safe ( Unit who)

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

146{
148 {
149 return;
150 }
154}
virtual void MoveInLineOfSight(Unit *)
Definition: CreatureAI.cpp:156

References m_MoveInLineOfSight_locked, and MoveInLineOfSight().

Referenced by CreatureUnitRelocationWorker().

◆ MovementInform()

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

Reimplemented in FollowerAI, npc_tooga::npc_toogaAI, SmartAI, npc_eye_of_acherus, boss_algalon_the_observer::boss_algalon_the_observerAI, npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI, PetAI, npc_spirit_shade::npc_spirit_shadeAI, npc_forest_frog::npc_forest_frogAI, boss_rend_blackhand::boss_rend_blackhandAI, boss_ebonroc::boss_ebonrocAI, boss_nefarian, boss_nightbane::boss_nightbaneAI, boss_selin_fireheart::boss_selin_fireheartAI, 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_nalorakk::boss_nalorakkAI, boss_mandokir::boss_mandokirAI, boss_captain_skarloc::boss_captain_skarlocAI, 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_spire_frostwyrmAI, npc_icc_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI, npc_icc_nerubar_broodkeeper::npc_icc_nerubar_broodkeeperAI, boss_four_horsemen::boss_four_horsemenAI, 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_enslaved_proto_drakeAI, npc_wintergarde_gryphon, npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI, npc_frostbrood_skytalon::npc_frostbrood_skytalonAI, boss_illidan_stormrage::boss_illidan_stormrageAI, boss_essence_of_suffering::boss_essence_of_sufferingAI, boss_essence_of_desire::boss_essence_of_desireAI, boss_lady_vashj::boss_lady_vashjAI, boss_vazruden_the_herald::boss_vazruden_the_heraldAI, boss_nazan::boss_nazanAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, boss_alar::boss_alarAI, npc_nether_drake::npc_nether_drakeAI, npc_fel_guard_hound::npc_fel_guard_houndAI, npc_corki::npc_corkiAI, npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI, npc_enslaved_netherwing_drake::npc_enslaved_netherwing_drakeAI, 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_attumen::boss_attumenAI, boss_attumen_midnight::boss_attumen_midnightAI, boss_servant_quarters::boss_servant_quartersAI, npc_scarlet_ghoul::npc_scarlet_ghoulAI, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, boss_felmyst::boss_felmystAI, npc_hallows_end_soh, boss_headless_horseman, 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, npc_akama_shade::npc_akamaAI, boss_kaelthas::boss_kaelthasAI, adyen_the_lightbringer::adyen_the_lightbringerAI, anchorite_karja::anchorite_karjaAI, exarch_orelis::exarch_orelisAI, kaylaan_the_lost::kaylaan_the_lostAI, npc_ishanah::ishanahAI, 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::boss_kagani_nightstrikeAI, npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI, npc_dark_iron_guzzler, npc_zelfrax::npc_zelfraxAI, 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_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, ScriptedAI, npc_escortAI, npc_akilzon_eagle::npc_akilzon_eagleAI, npc_janalai_hatcher::npc_janalai_hatcherAI, and npc_attracted_reef_bull::npc_attracted_reef_bullAI.

149{}

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

◆ OnCharmed()

◆ OnSpellClick()

◆ OnTeleportUnreacheablePlayer()

virtual bool CreatureAI::OnTeleportUnreacheablePlayer ( Player )
inlinevirtual

Reimplemented in boss_mandokir::boss_mandokirAI.

214{ return false; }

◆ OwnerAttacked()

virtual void CreatureAI::OwnerAttacked ( Unit )
inlinevirtual

Reimplemented in PetAI, and npc_pet_gen_valkyr_guardian.

168{}

◆ OwnerAttackedBy()

virtual void CreatureAI::OwnerAttackedBy ( Unit )
inlinevirtual

Reimplemented in PetAI, and npc_scarlet_ghoul::npc_scarlet_ghoulAI.

165{}

Referenced by Unit::DealDamage().

◆ PassengerBoarded()

◆ PathEndReached()

◆ PetStopAttack()

virtual void CreatureAI::PetStopAttack ( )
inlinevirtual

Reimplemented in PetAI.

202{ }

Referenced by Pet::Update().

◆ ReceiveEmote()

◆ SetBoundary()

void CreatureAI::SetBoundary ( CreatureBoundary const *  boundary,
bool  negativeBoundaries = false 
)
393{
394 _boundary = boundary;
395 _negateBoundary = negateBoundaries;
397}
void DoImmediateBoundaryCheck()
Definition: Creature.h:289

References _boundary, _negateBoundary, Creature::DoImmediateBoundaryCheck(), and me.

Referenced by boss_illidari_council_memberAI::boss_illidari_council_memberAI(), and BossAI::BossAI().

◆ SetGazeOn()

void CreatureAI::SetGazeOn ( Unit target)
protected
242{
243 if (me->IsValidAttackTarget(target))
244 {
245 AttackStart(target);
247 }
248}
@ REACT_PASSIVE
Definition: Unit.h:1023
void SetReactState(ReactStates st)
Definition: Creature.h:88
bool IsValidAttackTarget(Unit const *target) const
Definition: Unit.cpp:13764

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, netherspite_infernal::netherspite_infernalAI, boss_shade_of_aran::boss_aranAI, boss_strawman::boss_strawmanAI, boss_julianne::boss_julianneAI, npc_mograine::npc_mograineAI, boss_halazzi::boss_halazziAI, npc_janalai_firebomb::npc_janalai_firebombAI, npc_janalai_egg::npc_janalai_eggAI, npc_harrison_jones::npc_harrison_jonesAI, 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, 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_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::boss_attumenAI, boss_attumen_midnight::boss_attumen_midnightAI, npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI, npc_dark_iron_guzzler, boss_headless_horseman, boss_headless_horseman_pumpkin, npc_midsummer_bonfire, 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_gothik::boss_gothikAI, 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_thorim_pillar::boss_thorim_pillarAI, boss_thorim_runic_colossus::boss_thorim_runic_colossusAI, boss_yoggsaron::boss_yoggsaronAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI, npc_death_knight_initiate::npc_death_knight_initiateAI, npc_crusade_persuaded::npc_crusade_persuadedAI, npc_yenniku::npc_yennikuAI, npc_zuljin_vortex::npc_zuljin_vortexAI, npc_forest_frog::npc_forest_frogAI, npc_zulian_prowler::npc_zulian_prowlerAI, 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_outhouse_bunny::npc_outhouse_bunnyAI, 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, 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_enslaved_netherwing_drakeAI, 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_torch_target, npc_cos_stratholme_citizien::npc_cos_stratholme_citizienAI, boss_viscidus, npc_shay_leafrunner::npc_shay_leafrunnerAI, boss_magus_telestra::boss_magus_telestraAI, 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_spitelashes::npc_spitelashesAI, npc_beryl_sorcerer::npc_beryl_sorcererAI, npc_imprisoned_beryl_sorcerer::npc_imprisoned_beryl_sorcererAI, and SmartAI.

136{}

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::npc_demonic_vapor_trailAI, 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_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, boss_attumen::boss_attumenAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, 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::boss_shirrak_the_dead_watcherAI, npc_pet_gen_soul_trader_beacon, and npc_pet_gen_fetch_ball.

139{}

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_anubrekhan::boss_anubrekhanAI, boss_gothik::boss_gothikAI, boss_flame_leviathan::boss_flame_leviathanAI, npc_freya_ward::npc_freya_wardAI, npc_mimirons_inferno::npc_mimirons_infernoAI, 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, boss_kormok, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, boss_zuljin::boss_zuljinAI, npc_necromancer::npc_necromancerAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, npc_medivh_bm::npc_medivh_bmAI, 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, boss_grobbulus::boss_grobbulusAI, npc_q24545_lich_king::npc_q24545_lich_kingAI, npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI, boss_nexusprince_shaffar::boss_nexusprince_shaffarAI, boss_illidan_stormrage::boss_illidan_stormrageAI, boss_supremus::boss_supremusAI, boss_hydross_the_unstable::boss_hydross_the_unstableAI, boss_ahune::boss_ahuneAI, boss_broggok::boss_broggokAI, boss_vazruden_the_herald::boss_vazruden_the_heraldAI, pyrewood_ambush::pyrewood_ambushAI, hyjalAI, and SmartAI.

131{}

Referenced by TempSummon::UnSummon().

◆ SummonedCreatureDespawnAll()

virtual void CreatureAI::SummonedCreatureDespawnAll ( )
inlinevirtual

Reimplemented in BossAI.

133{}

Referenced by Creature::DespawnOnEvade().

◆ SummonedCreatureDies()

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

Reimplemented in boss_rend_blackhand::boss_rend_blackhandAI, boss_priestess_delrissa::boss_priestess_delrissaAI, boss_moam, boss_sartharion_shadron::boss_sartharion_shadronAI, boss_sartharion_vesperon::boss_sartharion_vesperonAI, boss_loatheb::boss_loathebAI, 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, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, npc_daphne_stilwell::npc_daphne_stilwellAI, 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_midnight::boss_midnightAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_apothecary_hummel::boss_apothecary_hummelAI, npc_kiljaeden_controller::npc_kiljaeden_controllerAI, 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::boss_anzuAI, boss_illidan_stormrage::boss_illidan_stormrageAI, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, npc_creature_generator_akama::npc_creature_generator_akamaAI, boss_fathomlord_karathress::boss_fathomlord_karathressAI, boss_leotheras_the_blind::boss_leotheras_the_blindAI, boss_the_black_stalker::boss_the_black_stalkerAI, boss_vazruden_the_herald::boss_vazruden_the_heraldAI, npc_warden_mellichar::npc_warden_mellicharAI, boss_high_botanist_freywinn::boss_high_botanist_freywinnAI, boss_kaelthas::boss_kaelthasAI, SmartAI, boss_vexallus::boss_vexallusAI, boss_viscidus, boss_amanitar, and boss_jedoga_shadowseeker.

132{}

Referenced by boss_amanitar::SummonedCreatureDies().

◆ Talk()

void CreatureAI::Talk ( uint8  id,
WorldObject const *  whisperTarget = nullptr 
)
59{
60 sCreatureTextMgr->SendChat(me, id, target);
61}
#define sCreatureTextMgr
Definition: CreatureTextMgr.h:119

References me, and sCreatureTextMgr.

Referenced by npc_mograine::npc_mograineAI::AshbringerEvent(), 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::spell_q12096_q12092_dummy_SpellScript::HandleDummy(), spell_q12096_q12092_bark::spell_q12096_q12092_bark_SpellScript::HandleDummy(), spell_q12589_shoot_rjr::spell_q12589_shoot_rjr_SpellScript::HandleDummy(), spell_herald_volzaj_insanity::HandleDummyEffect(), spell_festergut_pungent_blight::spell_festergut_pungent_blight_SpellScript::HandleScript(), spell_rotface_large_ooze_combine::spell_rotface_large_ooze_combine_SpellScript::HandleScript(), spell_rotface_large_ooze_buff_combine::spell_rotface_large_ooze_buff_combine_SpellScript::HandleScript(), spell_q13011_bear_flank_master::HandleScript(), spell_volazj_whisper::HandleScriptEffect(), spell_marrowgar_bone_spike_graveyard::spell_marrowgar_bone_spike_graveyard_SpellScript::HandleSpikes(), boss_warbringer_omrogg::boss_warbringer_omroggAI::JustDied(), boss_anubrekhan::boss_anubrekhanAI::JustSummoned(), npc_eris_hevenfire::npc_eris_hevenfireAI::JustSummoned(), npc_maghar_captive::npc_maghar_captiveAI::JustSummoned(), npc_kurenai_captive::npc_kurenai_captiveAI::JustSummoned(), boss_warbringer_omrogg::boss_warbringer_omroggAI::KilledUnit(), npc_love_in_air_supply_sentry::MoveInLineOfSight(), instance_blackrock_spire::instance_blackrock_spireMapScript::OnCreatureCreate(), go_prince_taldaram_sphere::OnGossipHello(), boss_doomrel::OnGossipSelect(), boss_majordomo::OnGossipSelect(), npc_ulduar_keeper::OnGossipSelect(), npc_vekjik::OnGossipSelect(), npc_adventurous_dwarf::OnGossipSelect(), npc_floon::OnGossipSelect(), npcs_ashyen_and_keleth::OnGossipSelect(), npc_natrualist_bite::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_earthmender_wilda::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_kayra_longmane::OnQuestAccept(), npc_rocknot::OnQuestReward(), npc_riggle_bassbait::OnQuestReward(), npc_jungle_punch_target::npc_jungle_punch_targetAI::proceedCwEvent(), instance_stratholme::instance_stratholme_InstanceMapScript::ProcessSlaughterEvent(), 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(), instance_naxxramas::instance_naxxramas_InstanceMapScript::Update(), pyrewood_ambush::pyrewood_ambushAI::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(), boss_prince_valanar_icc::boss_prince_valanarAI::UpdateAI(), npc_still_at_it_trigger::npc_still_at_it_triggerAI::UpdateAI(), socrethar::socretharAI::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
174{
175 // If there's no target, or target isn't a player do nothing
176 if (!who || who->GetTypeId() != TYPEID_PLAYER)
177 return;
178 // If this unit isn't an NPC, is already distracted, is in combat, is confused, stunned or fleeing, do nothing
180 return;
181 // Only alert for hostiles!
183 return;
184 // Only alert if target is within line of sight
185 if (!me->IsWithinLOSInMap(who))
186 return;
187 // Send alert sound (if any) for this creature
189 // Face the unit (stealthed player) and set distracted state for 5 seconds
190 me->SetFacingTo(me->GetAngle(who->GetPositionX(), who->GetPositionY()));
191 me->StopMoving();
193}
constexpr auto IN_MILLISECONDS
Definition: Common.h:62
@ UNIT_STATE_DISTRACTED
Definition: Unit.h:337
@ UNIT_STATE_CONFUSED
Definition: Unit.h:336
@ UNIT_STATE_FLEEING
Definition: Unit.h:332
@ UNIT_STATE_STUNNED
Definition: Unit.h:328
@ AI_REACTION_ALERT
Definition: SharedDefines.h:3212
bool _IsTargetAcceptable(Unit const *target) const
Definition: Creature.cpp:2463
bool IsCivilian() const
Definition: Creature.h:75
void SendAIReaction(AiReaction reactionType)
Definition: Creature.cpp:2327
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:1347
float GetAngle(const Position *pos) const
Definition: Position.cpp:77
void SetFacingTo(float ori)
Definition: Unit.cpp:20643
void StopMoving()
Definition: Unit.cpp:16754
bool HasUnitState(const uint32 f) const
Definition: Unit.h:1398
bool IsHostileTo(Unit const *unit) const
Definition: Unit.cpp:10197
void MoveDistract(uint32 time)
Definition: MotionMaster.cpp:706

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

Referenced by CreatureUnitRelocationWorker().

◆ UpdateVictim()

bool CreatureAI::UpdateVictim ( )
protected
269{
270 if (!me->IsEngaged())
271 return false;
272
274 {
275 if (Unit* victim = me->SelectVictim())
276 AttackStart(victim);
277 return me->GetVictim();
278 }
279 // xinef: if we have any victim, just return true
280 else if (me->GetVictim() && me->GetExactDist(me->GetVictim()) < 30.0f)
281 return true;
282 else if (me->GetThreatMgr().isThreatListEmpty())
283 {
285 return false;
286 }
287
288 return true;
289}
bool isThreatListEmpty() const
Definition: ThreatMgr.h:225
Unit * SelectVictim()
Definition: Unit.cpp:14600
float GetExactDist(float x, float y, float z) const
Definition: Position.h:178

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(), npc_razzashi_cobra_venoxis::npc_razzashi_cobra_venoxis_AI::UpdateAI(), 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(), npc_water_elemental::npc_water_elementalAI::UpdateAI(), boss_balinda::boss_balindaAI::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_curator::boss_curatorAI::UpdateAI(), boss_maiden_of_virtue::boss_maiden_of_virtueAI::UpdateAI(), boss_midnight::boss_midnightAI::UpdateAI(), boss_attumen::boss_attumenAI::UpdateAI(), boss_attumen_midnight::boss_attumen_midnightAI::UpdateAI(), boss_moroes::boss_moroesAI::UpdateAI(), boss_netherspite::boss_netherspiteAI::UpdateAI(), boss_nightbane::boss_nightbaneAI::UpdateAI(), boss_malchezaar::boss_malchezaarAI::UpdateAI(), prince_axes::prince_axesAI::UpdateAI(), boss_servant_quarters::boss_servant_quartersAI::UpdateAI(), boss_shade_of_aran::boss_aranAI::UpdateAI(), npc_aran_elemental::water_elementalAI::UpdateAI(), npc_kilrek::npc_kilrekAI::UpdateAI(), npc_fiendish_imp::npc_fiendish_impAI::UpdateAI(), boss_terestian_illhoof::boss_terestianAI::UpdateAI(), boss_dorothee::boss_dorotheeAI::UpdateAI(), npc_tito::npc_titoAI::UpdateAI(), boss_felblood_kaelthas::boss_felblood_kaelthasAI::UpdateAI(), boss_priestess_delrissa::boss_priestess_delrissaAI::UpdateAI(), boss_kagani_nightstrike::boss_kagani_nightstrikeAI::UpdateAI(), boss_ellris_duskhallow::boss_ellris_duskhallowAI::UpdateAI(), boss_eramas_brightblaze::boss_eramas_brightblazeAI::UpdateAI(), boss_yazzai::boss_yazzaiAI::UpdateAI(), boss_warlord_salaris::boss_warlord_salarisAI::UpdateAI(), boss_garaxxas::boss_garaxxasAI::UpdateAI(), boss_apoko::boss_apokoAI::UpdateAI(), boss_zelfan::boss_zelfanAI::UpdateAI(), boss_selin_fireheart::boss_selin_fireheartAI::UpdateAI(), boss_vexallus::boss_vexallusAI::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(), npc_mograine::npc_mograineAI::UpdateAI(), boss_high_inquisitor_whitemane::boss_high_inquisitor_whitemaneAI::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_brutallus::boss_brutallusAI::UpdateAI(), boss_sacrolash::boss_sacrolashAI::UpdateAI(), boss_alythess::boss_alythessAI::UpdateAI(), boss_felmyst::boss_felmystAI::UpdateAI(), boss_kalecgos::boss_kalecgosAI::UpdateAI(), boss_kalec::boss_kalecAI::UpdateAI(), boss_sathrovarr::boss_sathrovarrAI::UpdateAI(), boss_kiljaeden::boss_kiljaedenAI::UpdateAI(), boss_muru::boss_muruAI::UpdateAI(), boss_entropius::boss_entropiusAI::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(), pyrewood_ambush::pyrewood_ambushAI::UpdateAI(), npc_yenniku::npc_yennikuAI::UpdateAI(), npc_calvin_montague::npc_calvin_montagueAI::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_akilzon::boss_akilzonAI::UpdateAI(), boss_halazzi::boss_halazziAI::UpdateAI(), npc_halazzi_lynx::npc_halazzi_lynxAI::UpdateAI(), boss_hexlord_malacrass::boss_hex_lord_malacrassAI::UpdateAI(), boss_thurg::boss_thurgAI::UpdateAI(), boss_alyson_antille::boss_alyson_antilleAI::UpdateAI(), boss_gazakrothAI::UpdateAI(), boss_lord_raadan::boss_lord_raadanAI::UpdateAI(), boss_darkheart::boss_darkheartAI::UpdateAI(), boss_slither::boss_slitherAI::UpdateAI(), boss_fenstalker::boss_fenstalkerAI::UpdateAI(), boss_koragg::boss_koraggAI::UpdateAI(), boss_janalai::boss_janalaiAI::UpdateAI(), npc_janalai_hatchling::npc_janalai_hatchlingAI::UpdateAI(), boss_nalorakk::boss_nalorakkAI::UpdateAI(), boss_zuljin::boss_zuljinAI::UpdateAI(), boss_arlokk::boss_arlokkAI::UpdateAI(), npc_zulian_prowler::npc_zulian_prowlerAI::UpdateAI(), boss_gahzranka::boss_gahzrankaAI::UpdateAI(), boss_grilek::boss_grilekAI::UpdateAI(), boss_hakkar::boss_hakkarAI::UpdateAI(), boss_hazzarah::UpdateAI(), boss_jeklik::UpdateAI(), npc_batrider::UpdateAI(), boss_jindo::UpdateAI(), boss_mandokir::boss_mandokirAI::UpdateAI(), npc_ohgan::npc_ohganAI::UpdateAI(), npc_vilebranch_speaker::UpdateAI(), boss_marli::UpdateAI(), npc_spawn_of_marli::UpdateAI(), boss_renataki::boss_renatakiAI::UpdateAI(), boss_thekal::boss_thekalAI::UpdateAI(), npc_zealot_lorkhan::npc_zealot_lorkhanAI::UpdateAI(), npc_zealot_zath::npc_zealot_zathAI::UpdateAI(), boss_venoxis::boss_venoxisAI::UpdateAI(), boss_wushoolay::boss_wushoolayAI::UpdateAI(), npc_coren_direbrew::UpdateAI(), npc_hallows_end_soh::UpdateAI(), boss_headless_horseman::UpdateAI(), boss_azuregos::boss_azuregosAI::UpdateAI(), boss_anetheron::boss_anetheronAI::UpdateAI(), npc_towering_infernal::npc_towering_infernalAI::UpdateAI(), boss_archimonde::boss_archimondeAI::UpdateAI(), boss_azgalor::boss_azgalorAI::UpdateAI(), npc_lesser_doomguard::npc_lesser_doomguardAI::UpdateAI(), boss_kazrogal::boss_kazrogalAI::UpdateAI(), boss_rage_winterchill::boss_rage_winterchillAI::UpdateAI(), npc_giant_infernal::npc_giant_infernalAI::UpdateAI(), npc_abomination::npc_abominationAI::UpdateAI(), npc_ghoul::npc_ghoulAI::UpdateAI(), npc_necromancer::npc_necromancerAI::UpdateAI(), npc_banshee::npc_bansheeAI::UpdateAI(), npc_crypt_fiend::npc_crypt_fiendAI::UpdateAI(), npc_fel_stalker::npc_fel_stalkerAI::UpdateAI(), npc_frost_wyrm::npc_frost_wyrmAI::UpdateAI(), npc_gargoyle::npc_gargoyleAI::UpdateAI(), alliance_rifleman::alliance_riflemanAI::UpdateAI(), hyjalAI::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_captain_skarloc::boss_captain_skarlocAI::UpdateAI(), boss_epoch_hunter::boss_epoch_hunterAI::UpdateAI(), boss_lieutenant_drake::boss_lieutenant_drakeAI::UpdateAI(), boss_aeonus::boss_aeonusAI::UpdateAI(), boss_chrono_lord_deja::boss_chrono_lord_dejaAI::UpdateAI(), boss_temporus::boss_temporusAI::UpdateAI(), boss_isalien::UpdateAI(), boss_onyxia::UpdateAI(), npc_onyxian_lair_guard::UpdateAI(), npc_belnistrasz::npc_belnistraszAI::UpdateAI(), boss_ayamiss::UpdateAI(), boss_buru::UpdateAI(), boss_kurinnaxx::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_eye_tentacle::UpdateAI(), boss_fankriss::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_spitelashes::npc_spitelashesAI::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_shay_leafrunner::npc_shay_leafrunnerAI::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::npc_icc_spire_frostwyrmAI::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_anubrekhan::boss_anubrekhanAI::UpdateAI(), boss_faerlina::boss_faerlinaAI::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::boss_razuviousAI::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::boss_anomalusAI::UpdateAI(), boss_commander_stoutbeard::boss_commander_stoutbeardAI::UpdateAI(), boss_keristrasza::boss_keristraszaAI::UpdateAI(), boss_magus_telestra::boss_magus_telestraAI::UpdateAI(), boss_ormorok::boss_ormorokAI::UpdateAI(), npc_crystalline_frayer::npc_crystalline_frayerAI::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::boss_ingvar_the_plundererAI::UpdateAI(), boss_keleseth::boss_kelesethAI::UpdateAI(), npc_vrykul_skeleton::npc_vrykul_skeletonAI::UpdateAI(), boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::UpdateAI(), boss_dalronn_the_controller::boss_dalronn_the_controllerAI::UpdateAI(), npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI::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::boss_exarch_maladaarAI::UpdateAI(), npc_stolen_soul::npc_stolen_soulAI::UpdateAI(), boss_shirrak_the_dead_watcher::boss_shirrak_the_dead_watcherAI::UpdateAI(), boss_nexusprince_shaffar::boss_nexusprince_shaffarAI::UpdateAI(), npc_yor::npc_yorAI::UpdateAI(), boss_pandemonius::boss_pandemoniusAI::UpdateAI(), boss_talon_king_ikiss::boss_talon_king_ikissAI::UpdateAI(), boss_anzu::boss_anzuAI::UpdateAI(), boss_ambassador_hellmaw::boss_ambassador_hellmawAI::UpdateAI(), boss_blackheart_the_inciter::boss_blackheart_the_inciterAI::UpdateAI(), boss_grandmaster_vorpil::boss_grandmaster_vorpilAI::UpdateAI(), boss_murmur::boss_murmurAI::UpdateAI(), boss_gurtogg_bloodboil::boss_gurtogg_bloodboilAI::UpdateAI(), boss_illidan_stormrage::boss_illidan_stormrageAI::UpdateAI(), boss_mother_shahraz::boss_shahrazAI::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::boss_shade_of_akamaAI::UpdateAI(), npc_akama_shade::npc_akamaAI::UpdateAI(), boss_supremus::boss_supremusAI::UpdateAI(), boss_teron_gorefiend::boss_teron_gorefiendAI::UpdateAI(), boss_najentus::boss_najentusAI::UpdateAI(), boss_gathios_the_shatterer::boss_gathios_the_shattererAI::UpdateAI(), boss_high_nethermancer_zerevor::boss_high_nethermancer_zerevorAI::UpdateAI(), boss_lady_malande::boss_lady_malandeAI::UpdateAI(), boss_veras_darkshadow::boss_veras_darkshadowAI::UpdateAI(), boss_doomlord_kazzak::boss_doomlordkazzakAI::UpdateAI(), boss_doomwalker::boss_doomwalkerAI::UpdateAI(), boss_fathomlord_karathress::boss_fathomlord_karathressAI::UpdateAI(), boss_hydross_the_unstable::boss_hydross_the_unstableAI::UpdateAI(), boss_lady_vashj::boss_lady_vashjAI::UpdateAI(), boss_leotheras_the_blind::boss_leotheras_the_blindAI::UpdateAI(), npc_inner_demon::npc_inner_demonAI::UpdateAI(), boss_the_lurker_below::boss_the_lurker_belowAI::UpdateAI(), boss_morogrim_tidewalker::boss_morogrim_tidewalkerAI::UpdateAI(), boss_ahune::boss_ahuneAI::UpdateAI(), boss_hydromancer_thespia::boss_thespiaAI::UpdateAI(), boss_mekgineer_steamrigger::boss_mekgineer_steamriggerAI::UpdateAI(), npc_steamrigger_mechanic::npc_steamrigger_mechanicAI::UpdateAI(), boss_warlord_kalithresh::boss_warlord_kalithreshAI::UpdateAI(), boss_ghazan::UpdateAI(), boss_the_black_stalker::boss_the_black_stalkerAI::UpdateAI(), boss_gruul::boss_gruulAI::UpdateAI(), boss_high_king_maulgar::boss_high_king_maulgarAI::UpdateAI(), boss_olm_the_summoner::boss_olm_the_summonerAI::UpdateAI(), boss_kiggler_the_crazed::boss_kiggler_the_crazedAI::UpdateAI(), boss_blindeye_the_seer::boss_blindeye_the_seerAI::UpdateAI(), boss_krosh_firehand::boss_krosh_firehandAI::UpdateAI(), boss_broggok::boss_broggokAI::UpdateAI(), boss_kelidan_the_breaker::boss_kelidan_the_breakerAI::UpdateAI(), npc_shadowmoon_channeler::npc_shadowmoon_channelerAI::UpdateAI(), boss_the_maker::boss_the_makerAI::UpdateAI(), boss_omor_the_unscarred::boss_omor_the_unscarredAI::UpdateAI(), boss_nazan::boss_nazanAI::UpdateAI(), boss_vazruden::boss_vazrudenAI::UpdateAI(), boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI::UpdateAI(), boss_magtheridon::boss_magtheridonAI::UpdateAI(), boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI::UpdateAI(), boss_warbringer_omrogg::boss_warbringer_omroggAI::UpdateAI(), boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI::UpdateAI(), npc_millhouse_manastorm::npc_millhouse_manastormAI::UpdateAI(), boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI::UpdateAI(), boss_harbinger_skyriss::boss_harbinger_skyrissAI::UpdateAI(), boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI::UpdateAI(), boss_zereketh_the_unbound::boss_zereketh_the_unboundAI::UpdateAI(), boss_commander_sarannis::boss_commander_sarannisAI::UpdateAI(), boss_high_botanist_freywinn::boss_high_botanist_freywinnAI::UpdateAI(), boss_laj::boss_lajAI::UpdateAI(), boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI::UpdateAI(), boss_warp_splinter::boss_warp_splinterAI::UpdateAI(), boss_alar::boss_alarAI::UpdateAI(), boss_high_astromancer_solarian::boss_high_astromancer_solarianAI::UpdateAI(), boss_kaelthas::boss_kaelthasAI::UpdateAI(), boss_void_reaver::boss_void_reaverAI::UpdateAI(), boss_gatewatcher_gyrokill::boss_gatewatcher_gyrokillAI::UpdateAI(), boss_gatewatcher_iron_hand::boss_gatewatcher_iron_handAI::UpdateAI(), boss_mechano_lord_capacitus::boss_mechano_lord_capacitusAI::UpdateAI(), boss_nethermancer_sepethrea::boss_nethermancer_sepethreaAI::UpdateAI(), npc_ragin_flames::npc_ragin_flamesAI::UpdateAI(), boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI::UpdateAI(), npc_nether_drake::npc_nether_drakeAI::UpdateAI(), npc_aeranas::npc_aeranasAI::UpdateAI(), npc_fel_guard_hound::npc_fel_guard_houndAI::UpdateAI(), npc_maghar_captive::npc_maghar_captiveAI::UpdateAI(), adyen_the_lightbringer::adyen_the_lightbringerAI::UpdateAI(), anchorite_karja::anchorite_karjaAI::UpdateAI(), exarch_orelis::exarch_orelisAI::UpdateAI(), socrethar::socretharAI::UpdateAI(), kaylaan_the_lost::kaylaan_the_lostAI::UpdateAI(), npc_captain_saeed::npc_captain_saeedAI::UpdateAI(), npc_phase_hunter::npc_phase_hunterAI::UpdateAI(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI(), npc_enslaved_netherwing_drake::npc_enslaved_netherwing_drakeAI::UpdateAI(), npc_dragonmaw_peon::npc_dragonmaw_peonAI::UpdateAI(), npc_illidari_spawn::npc_illidari_spawnAI::UpdateAI(), npc_raliq_the_drunk::npc_raliq_the_drunkAI::UpdateAI(), npc_salsalabim::npc_salsalabimAI::UpdateAI(), npc_unkor_the_ruthless::npc_unkor_the_ruthlessAI::UpdateAI(), npc_floon::npc_floonAI::UpdateAI(), npc_cooshcoosh::npc_cooshcooshAI::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(), generic_creature::generic_creatureAI::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(), npc_earthmender_wilda::npc_earthmender_wildaAI::UpdateAI(), AggressorAI::UpdateAI(), npc_marzon_silent_blade::npc_marzon_silent_bladeAI::UpdateAI(), npc_zelfrax::npc_zelfraxAI::UpdateAI(), npc_enraged_panther::npc_enraged_pantherAI::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(), boss_yoggsaron_keeper::boss_yoggsaron_keeperAI::boss_yoggsaron_keeperAI(), 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(), CritterAI::DamageTaken(), boss_yoggsaron_influence_tentacle::boss_yoggsaron_influence_tentacleAI::DamageTaken(), npc_mc_core_hound::npc_mc_core_houndAI::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(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::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_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_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI::DoAction(), npc_pos_leader_second::npc_pos_leader_secondAI::DoAction(), npc_madrigosa::npc_madrigosaAI::DoAction(), npc_kalecgos_kj::npc_kalecgos_kjAI::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::boss_yoggsaron_keeperAI::DoAction(), boss_skadi_grauf::boss_skadi_graufAI::DoAction(), npc_creature_generator_akama::npc_creature_generator_akamaAI::DoAction(), npc_naga_distiller::npc_naga_distillerAI::DoAction(), npc_scarlet_miner_cart::npc_scarlet_miner_cartAI::DoAction(), PetAI::DoAttack(), DoSummon(), npc_time_rift::npc_time_riftAI::DoSummonAtRift(), DoSummonFlyer(), DoZoneInCombat(), SmartAI::EndPath(), CasterAI::EnterCombat(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::EnterCombat(), boss_skadi_grauf::boss_skadi_graufAI::EnterCombat(), SmartAI::EnterCombat(), CombatAI::EnterCombat(), npc_beryl_sorcerer::npc_beryl_sorcererAI::EnterCombat(), CritterAI::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_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(), npc_wintergarde_gryphon::getVillager(), npc_valkyr_shadowguard::npc_valkyr_shadowguardAI::GoSiphon(), PetAI::HandleReturnMovement(), 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_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_kiljaeden_controller::npc_kiljaeden_controllerAI::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(), boss_naxxramas_misc::boss_naxxramas_miscAI::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_ahune_frozen_core::npc_ahune_frozen_coreAI::JustDied(), npc_pet_dk_ghoul::npc_pet_dk_ghoulAI::JustDied(), npc_pet_pri_shadowfiend::JustDied(), CombatAI::JustDied(), npc_four_car_garage::npc_four_car_garageAI::JustDied(), npc_xt002_scrapbot::npc_xt002_scrapbotAI::JustDied(), npc_frost_tomb::npc_frost_tombAI::JustDied(), npc_nerubar_victim::npc_nerubar_victimAI::JustDied(), trigger_death::trigger_deathAI::JustDied(), 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_collapsing_star::npc_collapsing_starAI::JustSummoned(), npc_algalon_worm_hole::npc_algalon_worm_holeAI::JustSummoned(), npc_creature_generator_akama::npc_creature_generator_akamaAI::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(), MoveBackwardsChecks(), MoveCircleChecks(), MoveInLineOfSight(), npc_brew_bubble::MoveInLineOfSight(), SmartAI::MoveInLineOfSight(), npc_scarlet_guard::npc_scarlet_guardAI::MoveInLineOfSight(), npc_fairbanks::npc_fairbanksAI::MoveInLineOfSight(), npc_grand_magister_rommath::npc_grand_magister_rommathAI::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_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_pet_gen_plump_turkey::MovementInform(), npc_injured_7th_legion_soldier::npc_injured_7th_legion_soldierAI::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_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_tombAI::npc_frost_tombAI(), npc_frostbite_invisible_stalker::npc_frostbite_invisible_stalkerAI::npc_frostbite_invisible_stalkerAI(), 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_lk_spirit_bomb::npc_lk_spirit_bombAI::npc_lk_spirit_bombAI(), 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_toc5_player_vehicle::npc_toc5_player_vehicleAI::npc_toc5_player_vehicleAI(), 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(), VehicleAI::OnCharmed(), OnCharmed(), SmartAI::OnCharmed(), npc_toc5_player_vehicle::npc_toc5_player_vehicleAI::OnCharmed(), npc_valithria_portal::npc_valithria_portalAI::OnSpellClick(), boss_yoggsaron_descend_portal::boss_yoggsaron_descend_portalAI::OnSpellClick(), PetAI::OwnerAttacked(), PetAI::OwnerAttackedBy(), 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::PausePath(), boss_yoggsaron_lich_king::boss_yoggsaron_lich_kingAI::Playsound(), boss_yoggsaron_llane::boss_yoggsaron_llaneAI::Playsound(), 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::npc_demonic_vaporAI::Reset(), npc_demonic_vapor_trail::npc_demonic_vapor_trailAI::Reset(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::Reset(), npc_singularity::npc_singularityAI::Reset(), npc_brew_bubble::Reset(), npc_soh_fire_trigger::Reset(), npc_love_in_air_snivel::Reset(), npc_time_rift::npc_time_riftAI::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::npc_crystal_spikeAI::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(), 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_lich_king::boss_yoggsaron_lich_kingAI::Reset(), boss_yoggsaron_llane::boss_yoggsaron_llaneAI::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_naga_distiller::npc_naga_distillerAI::Reset(), npc_pet_pri_shadowfiend::Reset(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::ResetOrbs(), 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(), SmartAI::SetForcedCombatMove(), SetGazeOn(), npc_gunship::npc_gunshipAI::SetGUID(), boss_maexxna_webwrap::boss_maexxna_webwrapAI::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_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_demonic_vapor_trail::npc_demonic_vapor_trailAI::SpellHitTarget(), 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_kiljaeden_controller::npc_kiljaeden_controllerAI::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::npc_madrigosaAI::UpdateAI(), npc_demonic_vapor_trail::npc_demonic_vapor_trailAI::UpdateAI(), npc_kiljaeden_controller::npc_kiljaeden_controllerAI::UpdateAI(), npc_kalecgos_kj::npc_kalecgos_kjAI::UpdateAI(), npc_singularity::npc_singularityAI::UpdateAI(), npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI::UpdateAI(), npc_grand_magister_rommath::npc_grand_magister_rommathAI::UpdateAI(), npc_brew_bubble::UpdateAI(), npc_hallows_end_train_fire::UpdateAI(), npc_pilgrims_bounty_chair::UpdateAI(), npc_time_rift::npc_time_riftAI::UpdateAI(), npc_taldaram_flamesphere::UpdateAI(), npc_halion_controller::npc_halion_controllerAI::UpdateAI(), npc_toc5_player_vehicle::npc_toc5_player_vehicleAI::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_frostbite_invisible_stalker::npc_frostbite_invisible_stalkerAI::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(), boss_naxxramas_misc::boss_naxxramas_miscAI::UpdateAI(), npc_vortex_ride::npc_vortex_rideAI::UpdateAI(), npc_power_spark::npc_power_sparkAI::UpdateAI(), npc_crystal_spike::npc_crystal_spikeAI::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_keeper::boss_yoggsaron_keeperAI::UpdateAI(), boss_yoggsaron_lich_king::boss_yoggsaron_lich_kingAI::UpdateAI(), boss_yoggsaron_llane::boss_yoggsaron_llaneAI::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_feedin_da_goolz::npc_feedin_da_goolzAI::UpdateAI(), npc_drakuru_shackles::npc_drakuru_shacklesAI::UpdateAI(), npc_creature_generator_akama::npc_creature_generator_akamaAI::UpdateAI(), npc_naga_distiller::npc_naga_distillerAI::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_mage_mirror_image::UpdateAI(), trigger_periodic::trigger_periodicAI::UpdateAI(), PassiveAI::UpdateAI(), PossessedAI::UpdateAI(), CritterAI::UpdateAI(), PetAI::UpdateAI(), npc_demonic_vapor::npc_demonic_vaporAI::UpdateAI(), npc_orb_carrier::npc_orb_carrierAI::UpdateAI(), npc_concentrated_ball::npc_concentrated_ballAI::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::npc_frost_tombAI::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().