AzeorthCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
UnitAI Class Referenceabstract

#include "UnitAI.h"

Inheritance diagram for UnitAI:
CreatureAI PlayerAI 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 SimpleCharmedAI

Public Member Functions

 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, int32 aura=0)
 
template<class PREDICATE >
UnitSelectTarget (SelectTargetMethod targetType, uint32 position, PREDICATE const &predicate)
 
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, float dist=0.0f, bool playerOnly=false, int32 aura=0)
 
template<class PREDICATE >
void SelectTargetList (std::list< Unit * > &targetList, PREDICATE const &predicate, uint32 maxTargets, SelectTargetMethod targetType)
 
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 void FillAISpellInfo ()
 

Static Public Attributes

static AISpellInfoTypeAISpellInfo
 

Protected Attributes

Unit *const me
 

Detailed Description

Constructor & Destructor Documentation

◆ UnitAI()

UnitAI::UnitAI ( Unit unit)
inlineexplicit
181: me(unit) {}
Unit *const me
Definition: UnitAI.h:179

◆ ~UnitAI()

virtual UnitAI::~UnitAI ( )
inlinevirtual
182{}

Member Function Documentation

◆ AttackStart()

void UnitAI::AttackStart ( Unit victim)
virtual

Reimplemented in NPCStaveQuestAI, VehicleAI, PassiveAI, NullCreatureAI, ScriptedAI, FollowerAI, npc_demon_chain::npc_demon_chainAI, npc_janalai_firebomb::npc_janalai_firebombAI, npc_janalai_hatcher::npc_janalai_hatcherAI, npc_dark_iron_attack_mole_machine, npc_dark_iron_guzzler, npc_brewfest_super_brew_trigger, boss_headless_horseman_pumpkin, npc_pilgrims_bounty_chair, npc_taretha::npc_tarethaAI, npc_medivh_bm::npc_medivh_bmAI, npc_depth_charge::npc_depth_chargeAI, npc_amanitar_mushrooms, npc_toc5_player_vehicle::npc_toc5_player_vehicleAI, npc_pos_leader::npc_pos_leaderAI, boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI, npc_the_lich_king_controller::npc_the_lich_king_controllerAI, npc_valithria_cloud::npc_valithria_cloudAI, npc_vortex_ride::npc_vortex_rideAI, npc_scion_of_eternity::npc_scion_of_eternityAI, npc_hover_disk::npc_hover_diskAI, npc_alexstrasza::npc_alexstraszaAI, npc_oculus_unstable_sphere::npc_oculus_unstable_sphereAI, npc_spark_of_ionar::npc_spark_of_ionarAI, npc_assembly_lightning::npc_assembly_lightningAI, boss_flame_leviathan_seat::boss_flame_leviathan_seatAI, npc_mimirons_inferno::npc_mimirons_infernoAI, boss_kologarn_arms::boss_kologarn_armsAI, npc_ulduar_vx001::npc_ulduar_vx001AI, npc_ulduar_proximity_mine::npc_ulduar_proximity_mineAI, npc_ulduar_emergency_fire_bot::npc_ulduar_emergency_fire_botAI, 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_yoggsaron::boss_yoggsaronAI, npc_ichor_globule::npc_ichor_globuleAI, npc_warmage_coldarra::npc_warmage_coldarraAI, npc_mageguard_dalaran::npc_mageguard_dalaranAI, npc_frosthound::npc_frosthoundAI, npc_wild_wyrm::npc_wild_wyrmAI, npc_icefang::npc_icefangAI, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, boss_illidari_council::boss_illidari_councilAI, boss_vazruden_the_herald::boss_vazruden_the_heraldAI, npc_warden_mellichar::npc_warden_mellicharAI, npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI, npc_ritual_channeler::npc_ritual_channelerAI, PossessedAI, PetAI, boss_ragnaros::boss_ragnarosAI, npc_gunship_mage::npc_gunship_mageAI, npc_gunship_gunner::npc_gunship_gunnerAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, CasterAI, TotemAI, npc_av_marshal_or_warmaster::npc_av_marshal_or_warmasterAI, boss_drekthar::boss_drektharAI, boss_vanndar::boss_vanndarAI, boss_priestess_lackey_commonAI, npc_hive_zara_larva, npc_weegli_blastfuse::npc_weegli_blastfuseAI, npc_shadowpriest_sezziz::npc_shadowpriest_sezzizAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI, npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_sister_svalna::boss_sister_svalnaAI, npc_frostwing_vrykul::npc_frostwing_vrykulAI, boss_malygos::boss_malygosAI, npc_nexus_lord::npc_nexus_lordAI, boss_illidan_stormrage::boss_illidan_stormrageAI, ArcherAI, TurretAI, 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, npc_koltira_deathweaver::npc_koltira_deathweaverAI, boss_brutallus::boss_brutallusAI, boss_kiljaeden::boss_kiljaedenAI, npc_daphne_stilwell::npc_daphne_stilwellAI, boss_halazzi::boss_halazziAI, npc_halazzi_lynx::npc_halazzi_lynxAI, boss_alyson_antille::boss_alyson_antilleAI, boss_gazakrothAI, boss_slither::boss_slitherAI, boss_nalorakk::boss_nalorakkAI, boss_zuljin::boss_zuljinAI, boss_veklor, npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI, npc_zelfrax::npc_zelfraxAI, npc_twilight_volunteer, boss_halion::boss_halionAI, boss_faction_championsAI, npc_snobold_vassal::npc_snobold_vassalAI, boss_jormungarAI, boss_icehowl::boss_icehowlAI, 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, npc_living_mojo::npc_living_mojoAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, npc_dark_nucleus::npc_dark_nucleusAI, npc_ball_of_flame::npc_ball_of_flameAI, npc_vengeful_shade::npc_vengeful_shadeAI, boss_professor_putricide::boss_professor_putricideAI, npc_raging_spirit::npc_raging_spiritAI, npc_suppresser::npc_suppresserAI, 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_vengeful_fleshreaper::npc_icc_vengeful_fleshreaperAI, boss_four_horsemen::boss_four_horsemenAI, boss_kelthuzad_minion::boss_kelthuzad_minionAI, boss_magus_telestra::boss_magus_telestraAI, boss_urom::boss_uromAI, npc_hol_monument::npc_hol_monumentAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_flame_leviathan::boss_flame_leviathanAI, 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_kologarn::boss_kologarnAI, boss_mimiron::boss_mimironAI, npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI, boss_razorscale::boss_razorscaleAI, npc_ulduar_arachnopod_destroyer::npc_ulduar_arachnopod_destroyerAI, boss_keleseth::boss_kelesethAI, boss_archavon::boss_archavonAI, boss_emalon::boss_emalonAI, boss_koralon::boss_koralonAI, boss_toravon::boss_toravonAI, violet_hold_trashAI, npc_q24545_wretched_ghoul::npc_q24545_wretched_ghoulAI, npc_ravenous_worg::npc_ravenous_worgAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, boss_high_nethermancer_zerevor::boss_high_nethermancer_zerevorAI, boss_lady_malande::boss_lady_malandeAI, boss_leotheras_the_blind::boss_leotheras_the_blindAI, boss_the_lurker_below::boss_the_lurker_belowAI, boss_olm_the_summoner::boss_olm_the_summonerAI, boss_krosh_firehand::boss_krosh_firehandAI, boss_nazan::boss_nazanAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, npc_millhouse_manastorm::npc_millhouse_manastormAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_kaelthas::boss_kaelthasAI, exarch_orelis::exarch_orelisAI, npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI, and npc_pet_gen_gnomish_flame_turret.

29{
30 if (victim && me->Attack(victim, true))
31 me->GetMotionMaster()->MoveChase(victim);
32}
MotionMaster * GetMotionMaster()
Definition: Unit.h:2530
bool Attack(Unit *victim, bool meleeAttack)
Definition: Unit.cpp:11089
void MoveChase(Unit *target, std::optional< ChaseRange > dist={}, std::optional< ChaseAngle > angle={})
Definition: MotionMaster.cpp:299

References Unit::Attack(), Unit::GetMotionMaster(), me, and MotionMaster::MoveChase().

Referenced by ScriptedAI::AttackStart(), npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI::AttackStart(), boss_sister_svalna::boss_sister_svalnaAI::AttackStart(), boss_brutallus::boss_brutallusAI::AttackStart(), boss_halion::boss_halionAI::AttackStart(), boss_faction_championsAI::AttackStart(), boss_professor_putricide::boss_professor_putricideAI::AttackStart(), npc_ravenous_worg::npc_ravenous_worgAI::AttackStart(), boss_kaelthas::boss_kaelthasAI::AttackStart(), npc_anubisath_sentinel::aqsentinelAI::CallBuddiesToAttack(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::CallNextRajaxxLeader(), Unit::CombatStart(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::DamageTaken(), Spell::DoAllEffectOnTarget(), instance_stratholme::instance_stratholme_InstanceMapScript::DoSpawnPlaguedCritters(), instance_mechanar::instance_mechanar_InstanceMapScript::DoSummonAction(), Spell::EffectTaunt(), boss_hexlord_malacrass::boss_hex_lord_malacrassAI::EnterCombat(), npc_beryl_sorcerer::npc_beryl_sorcererAI::EnterCombat(), boss_zuljin::boss_zuljinAI::EnterPhase(), AssistDelayEvent::Execute(), StartMovementEvent::Execute(), spell_random_aggro::HandleOnHit(), WorldSession::HandlePetActionHelper(), spell_the_lich_king_vile_spirit_move_target_search::spell_the_lich_king_vile_spirit_move_target_search_SpellScript::HandleScript(), spell_pursue::spell_pursue_SpellScript::HandleScript(), npc_toc_warlock::npc_toc_warlockAI::JustSummoned(), npc_toc_hunter::npc_toc_hunterAI::JustSummoned(), npc_toc_boomkin::npc_toc_boomkinAI::JustSummoned(), boss_maexxna::boss_maexxnaAI::JustSummoned(), npc_frosthound::npc_frosthoundAI::JustSummoned(), npc_daphne_stilwell::npc_daphne_stilwellAI::JustSummoned(), npc_battle_at_valhalas::npc_battle_at_valhalasAI::JustSummoned(), boss_urom::boss_uromAI::JustSummoned(), npc_hor_lich_king::npc_hor_lich_kingAI::JustSummoned(), WorldBossAI::JustSummoned(), npc_grimstone::npc_grimstoneAI::JustSummoned(), boss_gyth::boss_gythAI::JustSummoned(), boss_curator::boss_curatorAI::JustSummoned(), boss_sacrolash::boss_sacrolashAI::JustSummoned(), npc_demonic_vapor_trail::npc_demonic_vapor_trailAI::JustSummoned(), boss_halazzi::boss_halazziAI::JustSummoned(), boss_onyxia::JustSummoned(), boss_black_knight::boss_black_knightAI::JustSummoned(), boss_devourer_of_souls::boss_devourer_of_soulsAI::JustSummoned(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustSummoned(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::JustSummoned(), npc_precious_icc::npc_precious_iccAI::JustSummoned(), npc_the_lich_king_controller::npc_the_lich_king_controllerAI::JustSummoned(), npc_gluttonous_abomination::npc_gluttonous_abominationAI::JustSummoned(), boss_gluth::boss_gluthAI::JustSummoned(), boss_volkhan::boss_volkhanAI::JustSummoned(), boss_nexusprince_shaffar::boss_nexusprince_shaffarAI::JustSummoned(), boss_anzu::boss_anzuAI::JustSummoned(), npc_akama_illidan::npc_akama_illidanAI::JustSummoned(), npc_creature_generator_akama::npc_creature_generator_akamaAI::JustSummoned(), boss_the_black_stalker::boss_the_black_stalkerAI::JustSummoned(), boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI::JustSummoned(), boss_nethermancer_sepethrea::boss_nethermancer_sepethreaAI::JustSummoned(), npc_nelson::npc_nelsonAI::JustSummoned(), boss_balinda::boss_balindaAI::JustSummoned(), boss_nightbane::boss_nightbaneAI::JustSummoned(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::JustSummoned(), npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI::JustSummoned(), npc_thrall_bfu::npc_thrall_bfuAI::JustSummoned(), npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI::JustSummoned(), boss_archimonde::boss_archimondeAI::JustSummoned(), npc_muglash::npc_muglashAI::JustSummoned(), npc_kaya_flathoof::npc_kaya_flathoofAI::JustSummoned(), npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI::JustSummoned(), npc_ame::npc_ameAI::JustSummoned(), npc_emily::npc_emilyAI::JustSummoned(), npc_deaths_door_fell_cannon_target_bunny::npc_deaths_door_fell_cannon_target_bunnyAI::JustSummoned(), npc_wounded_blood_elf::npc_wounded_blood_elfAI::JustSummoned(), npc_maghar_captive::npc_maghar_captiveAI::JustSummoned(), npc_kurenai_captive::npc_kurenai_captiveAI::JustSummoned(), npc_bessy::npc_bessyAI::JustSummoned(), npc_earthmender_wilda::npc_earthmender_wildaAI::JustSummoned(), npc_buru_egg::JustSummoned(), CreatureGroup::MemberEngagingTarget(), CreatureAI::MoveInLineOfSight(), npc_air_force_bots::npc_air_force_botsAI::MoveInLineOfSight(), npc_pet_mage_mirror_image::MySelectNextTarget(), npc_salsalabim::OnGossipHello(), npc_raliq_the_drunk::OnGossipSelect(), npc_floon::OnGossipSelect(), npc_cooshcoosh::OnGossipSelect(), npc_ulduar_expedition_commander::OnGossipSelect(), boss_azuregos::OnGossipSelect(), npc_natrualist_bite::OnGossipSelect(), npc_bartleby::OnQuestAccept(), Acore::CallOfHelpCreatureInRangeDo::operator()(), Unit::PetSpellFail(), SmartScript::ProcessAction(), npc_heated_battle::npc_heated_battleAI::Reset(), Resurrect(), instance_naxxramas::instance_naxxramas_InstanceMapScript::SetBossState(), CreatureAI::SetGazeOn(), spell_putricide_ooze_channel::spell_putricide_ooze_channel_SpellScript::StartAttack(), brann_bronzebeard::brann_bronzebeardAI::SummonCreatures(), npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI::SummonsAction(), Unit::TauntApply(), Unit::TauntFadeOut(), Pet::Update(), SimpleCharmedAI::UpdateAI(), npc_rookery_hatcher::npc_rookery_hatcherAI::UpdateAI(), npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI::UpdateAI(), npc_death_knight_initiate::npc_death_knight_initiateAI::UpdateAI(), boss_akilzon::boss_akilzonAI::UpdateAI(), npc_twiggy_flathead::npc_twiggy_flatheadAI::UpdateAI(), npc_freya_ward::npc_freya_wardAI::UpdateAI(), npc_hourglass_of_eternity::npc_hourglass_of_eternityAI::UpdateAI(), npc_llod_generic::npc_llod_genericAI::UpdateAI(), socrethar::socretharAI::UpdateAI(), CreatureAI::UpdateVictim(), CreatureAI::UpdateVictimWithGaze(), and npc_cork_gizelton::npc_cork_gizeltonAI::WaypointReached().

◆ AttackStartCaster()

◆ CanAIAttack()

virtual bool UnitAI::CanAIAttack ( Unit const *  ) const
inlinevirtual

Reimplemented in boss_majordomo::boss_majordomoAI, boss_ick::boss_ickAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, npc_gunship_mage::npc_gunship_mageAI, npc_gunship_rocketeer::npc_gunship_rocketeerAI, npc_ulduar_proximity_mine::npc_ulduar_proximity_mineAI, 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, boss_razorgore::boss_razorgoreAI, boss_kalecgos::boss_kalecgosAI, boss_sathrovarr::boss_sathrovarrAI, boss_hazzarah, boss_jindo, boss_renataki::boss_renatakiAI, boss_anubarak_trial::boss_anubarak_trialAI, npc_swarm_scarab::npc_swarm_scarabAI, npc_nerubian_burrower::npc_nerubian_burrowerAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI, npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI, npc_igb_ship_crew::npc_igb_ship_crewAI, npc_gunship_boarding_addAI, npc_gunship_gunner::npc_gunship_gunnerAI, boss_lord_marrowgar, boss_professor_putricide::boss_professor_putricideAI, boss_sindragosa::boss_sindragosaAI, boss_the_lich_king::boss_the_lich_kingAI, npc_tirion_fordring_tft::npc_tirion_fordringAI, npc_shambling_horror_icc::npc_shambling_horror_iccAI, npc_raging_spirit::npc_raging_spiritAI, npc_terenas_menethil::npc_terenas_menethilAI, npc_icc_lk_checktarget::npc_icc_lk_checktargetAI, npc_lk_wicked_spirit::npc_lk_wicked_spiritAI, npc_green_dragon_combat_trigger::npc_green_dragon_combat_triggerAI, npc_risen_archmage::npc_risen_archmageAI, npc_crok_scourgebane::npc_crok_scourgebaneAI, npc_argent_captainAI, npc_frostwing_vrykul::npc_frostwing_vrykulAI, npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI, npc_icc_severed_essence::npc_icc_severed_essenceAI, npc_icc_spire_frostwyrm::npc_icc_spire_frostwyrmAI, npc_ulduar_dark_rune_guardian::npc_ulduar_dark_rune_guardianAI, npc_ulduar_dark_rune_watcher::npc_ulduar_dark_rune_watcherAI, npc_ulduar_dark_rune_sentinel::npc_ulduar_dark_rune_sentinelAI, boss_thorim_arena_npcs::boss_thorim_arena_npcsAI, npc_q24545_wretched_ghoul::npc_q24545_wretched_ghoulAI, boss_illidan_stormrage::boss_illidan_stormrageAI, boss_chromaggus::boss_chromaggusAI, boss_ragnaros::boss_ragnarosAI, npc_thrall_bfu::npc_thrall_bfuAI, npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_bfuAI, boss_ouro, TurretAI, SmartAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_halion::boss_halionAI, boss_tyrannus::boss_tyrannusAI, npc_pos_freed_slave::npc_pos_freed_slaveAI, boss_flame_leviathan_defense_turret::boss_flame_leviathan_defense_turretAI, npc_mindless_ghoul::npc_mindless_ghoulAI, and npc_inner_demon::npc_inner_demonAI.

184{ return true; }

Referenced by npc_escortAI::AssistPlayerInCombatAgainst().

◆ DamageDealt()

◆ DamageTaken()

virtual void UnitAI::DamageTaken ( Unit ,
uint32 ,
DamageEffectType  ,
SpellSchoolMask   
)
inlinevirtual

Reimplemented in CritterAI, boss_eviscerator::boss_evisceratorAI, ScriptedAI, boss_mor_grayhoof, boss_jeklik, boss_renataki::boss_renatakiAI, boss_venoxis::boss_venoxisAI, boss_isalien, boss_kurinnaxx, boss_huhuran, boss_sartura, boss_garfrost::boss_garfrostAI, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_professor_putricide::boss_professor_putricideAI, boss_eregos::boss_eregosAI, boss_yoggsaron_influence_tentacle::boss_yoggsaron_influence_tentacleAI, npc_your_inner_turmoil::npc_your_inner_turmoilAI, socrethar::socretharAI, boss_freya_elder_stonebark::boss_freya_elder_stonebarkAI, boss_gyth::boss_gythAI, boss_lord_valthalak::boss_lord_valthalakAI, npc_blackhand_incarcerator::npc_blackhand_incarceratorAI, boss_quartermaster_zigris, boss_warmaster_voone::boss_warmastervooneAI, boss_nefarian, boss_razorgore::boss_razorgoreAI, boss_baron_geddon::boss_baron_geddonAI, boss_golemagg::boss_golemaggAI, npc_core_rager::npc_core_ragerAI, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, npc_mc_core_hound::npc_mc_core_houndAI, boss_shade_of_aran::boss_aranAI, boss_julianne::boss_julianneAI, boss_romulo::boss_romuloAI, boss_felblood_kaelthas::boss_felblood_kaelthasAI, npc_mograine::npc_mograineAI, boss_high_inquisitor_whitemane::boss_high_inquisitor_whitemaneAI, boss_kormok, boss_apothecary_hummel::boss_apothecary_hummelAI, boss_kiljaeden::boss_kiljaedenAI, boss_muru::boss_muruAI, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, boss_halazzi::boss_halazziAI, npc_halazzi_lynx::npc_halazzi_lynxAI, boss_thekal::boss_thekalAI, npc_dark_iron_guzzler, npc_coren_direbrew, boss_headless_horseman, boss_headless_horseman_head, npc_pilgrims_bounty_chair, npc_ancient_wisp::npc_ancient_wispAI, npc_doomfire::npc_doomfireAI, npc_doomfire_targetting::npc_doomfire_targettingAI, boss_onyxia, boss_ayamiss, npc_anubisath_guardian, boss_eye_of_cthun, boss_ouro, npc_anubisath_sentinel::aqsentinelAI, npc_anubisath_defender, npc_amanitar_mushrooms, boss_elder_nadox, boss_volazj, boss_jedoga_shadowseeker, boss_taldaram, boss_sartharion::boss_sartharionAI, boss_eadric::boss_eadricAI, boss_paletress::boss_paletressAI, npc_argent_soldier::npc_argent_soldierAI, boss_black_knight::boss_black_knightAI, boss_grand_champion::boss_grand_championAI, npc_announcer_toc5::npc_announcer_toc5AI, npc_frost_sphere::npc_frost_sphereAI, npc_anubarak_spike::npc_anubarak_spikeAI, boss_bronjahm::boss_bronjahmAI, boss_ick::boss_ickAI, npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI, boss_drakkari_colossus::boss_drakkari_colossusAI, npc_gunship::npc_gunshipAI, npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI, npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI, npc_gunship_boarding_addAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, boss_sindragosa::boss_sindragosaAI, npc_shambling_horror_icc::npc_shambling_horror_iccAI, npc_valkyr_shadowguard::npc_valkyr_shadowguardAI, npc_terenas_menethil::npc_terenas_menethilAI, boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI, npc_crok_scourgebane::npc_crok_scourgebaneAI, boss_gothik::boss_gothikAI, npc_tesla::npc_teslaAI, boss_malygos::boss_malygosAI, npc_vortex_ride::npc_vortex_rideAI, npc_power_spark::npc_power_sparkAI, npc_crystalline_frayer::npc_crystalline_frayerAI, npc_spark_of_ionar::npc_spark_of_ionarAI, brann_bronzebeard::brann_bronzebeardAI, boss_algalon_the_observer::boss_algalon_the_observerAI, npc_collapsing_star::npc_collapsing_starAI, npc_pool_of_tar::npc_pool_of_tarAI, boss_freya::boss_freyaAI, 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_razorscale::boss_razorscaleAI, npc_xt002_heart::npc_xt002_heartAI, npc_xt002_boombot::npc_xt002_boombotAI, boss_yoggsaron_immortal_guardian::boss_yoggsaron_immortal_guardianAI, npc_ulduar_arachnopod_destroyer::npc_ulduar_arachnopod_destroyerAI, boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI, npc_vrykul_skeleton::npc_vrykul_skeletonAI, npc_tournament_training_dummy::npc_tournament_training_dummyAI, npc_still_at_it_trigger::npc_still_at_it_triggerAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, boss_illidan_stormrage::boss_illidan_stormrageAI, npc_akama_illidan::npc_akama_illidanAI, boss_essence_of_suffering::boss_essence_of_sufferingAI, boss_essence_of_desire::boss_essence_of_desireAI, boss_alar::boss_alarAI, boss_ysondre::boss_ysondreAI, boss_lethon::boss_lethonAI, boss_emeriss::boss_emerissAI, boss_taerar::boss_taerarAI, npc_training_dummy::npc_training_dummyAI, npc_hor_leader_second::npc_hor_leader_secondAI, npc_ice_tomb::npc_ice_tombAI, npc_blistering_zombie::npc_blistering_zombieAI, npc_tapoke_slim_jahn::npc_tapoke_slim_jahnAI, npc_molten_golem::npc_molten_golemAI, npc_dark_nucleus::npc_dark_nucleusAI, npc_centrifuge_construct::npc_centrifuge_constructAI, boss_viscidus, npc_garr_firesworn::npc_garr_fireswornAI, npc_death_knight_initiate::npc_death_knight_initiateAI, boss_kalecgos::boss_kalecgosAI, boss_buru, boss_twinemperorsAI, npc_tiger_matriarch::npc_tiger_matriarchAI, boss_halion::boss_halionAI, boss_twilight_halion::boss_twilight_halionAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_prince_valanar_icc::boss_prince_valanarAI, boss_the_lich_king::boss_the_lich_kingAI, npc_boss_gothik_minion::npc_boss_gothik_minionAI, npc_ulduar_iron_construct::npc_ulduar_iron_constructAI, npc_warden_mellichar::npc_warden_mellicharAI, npc_artorius::npc_artoriusAI, npc_franklin::npc_franklinAI, SmartAI, netherspite_infernal::netherspite_infernalAI, hyjal_trashAI, npc_salsalabim::npc_salsalabimAI, 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_ulduar_flash_freeze::npc_ulduar_flash_freezeAI, npc_bartleby::npc_bartlebyAI, npc_calvin_montague::npc_calvin_montagueAI, boss_yoggsaron_crusher_tentacle::boss_yoggsaron_crusher_tentacleAI, boss_thorim_start_npcs::boss_thorim_start_npcsAI, npc_heated_battle::npc_heated_battleAI, npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI, boss_brutallus::boss_brutallusAI, boss_kalec::boss_kalecAI, boss_sathrovarr::boss_sathrovarrAI, boss_mal_ganis::boss_mal_ganisAI, boss_bug_trio, boss_razuvious::boss_razuviousAI, boss_flame_leviathan_defense_turret::boss_flame_leviathan_defense_turretAI, boss_kologarn::boss_kologarnAI, boss_kologarn_arms::boss_kologarn_armsAI, boss_thorim::boss_thorimAI, boss_yoggsaron_sara::boss_yoggsaron_saraAI, boss_yoggsaron_brain::boss_yoggsaron_brainAI, npc_wild_wyrm::npc_wild_wyrmAI, and npc_inner_demon::npc_inner_demonAI.

310{}

Referenced by Unit::DealDamage().

◆ DoAction()

virtual void UnitAI::DoAction ( int32  )
inlinevirtual

Reimplemented in npc_grand_magister_rommath::npc_grand_magister_rommathAI, boss_twin_valkyrAI, npc_fos_leader::npc_fos_leaderAI, 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, npc_hor_lich_king::npc_hor_lich_kingAI, boss_krick::boss_krickAI, npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI, npc_icc_ice_sphere::npc_icc_ice_sphereAI, npc_icc_severed_essence::npc_icc_severed_essenceAI, npc_icc_spire_frostwyrm::npc_icc_spire_frostwyrmAI, npc_ulduar_toasty_fire::npc_ulduar_toasty_fireAI, npc_vh_void_sentry::npc_vh_void_sentryAI, npc_q24545_wretched_ghoul::npc_q24545_wretched_ghoulAI, boss_victor_nefarius::boss_victor_nefariusAI, npc_drakonid_spawner, boss_razorgore::boss_razorgoreAI, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, npc_dkc1_gothik::npc_dkc1_gothikAI, boss_apothecary_hummel::boss_apothecary_hummelAI, npc_apothecary_genericAI, boss_jarien, boss_sothos, npc_eris_hevenfire::npc_eris_hevenfireAI, boss_mandokir::boss_mandokirAI, npc_chained_spirit, boss_thekal::boss_thekalAI, npc_coren_direbrew, npc_direbrew_antagonist, boss_ayamiss, boss_bug_trio, boss_eye_of_cthun, boss_twinemperorsAI, npc_thrall_warchief::npc_thrall_warchiefAI, boss_jedoga_shadowseeker, npc_twilight_volunteer, npc_taldaram_flamesphere, boss_taldaram, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, npc_xerestrasza::npc_xerestraszaAI, npc_halion_controller::npc_halion_controllerAI, npc_orb_carrier::npc_orb_carrierAI, boss_prince_keleseth_icc::boss_prince_kelesethAI, boss_prince_taldaram_icc::boss_prince_taldaramAI, boss_prince_valanar_icc::boss_prince_valanarAI, npc_ball_of_flame::npc_ball_of_flameAI, npc_kinetic_bomb::npc_kinetic_bombAI, 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_saurfang_event::npc_saurfang_eventAI, npc_high_overlord_saurfang_igb::npc_high_overlord_saurfang_igbAI, npc_muradin_bronzebeard_igb::npc_muradin_bronzebeard_igbAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, npc_bone_spike::npc_bone_spikeAI, boss_professor_putricide::boss_professor_putricideAI, npc_big_ooze::npc_big_oozeAI, 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_strangulate_vehicle::npc_strangulate_vehicleAI, npc_terenas_menethil::npc_terenas_menethilAI, 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_risen_archmage::npc_risen_archmageAI, npc_frost_freeze_trap::npc_frost_freeze_trapAI, npc_crok_scourgebane::npc_crok_scourgebaneAI, boss_sister_svalna::boss_sister_svalnaAI, npc_argent_captainAI, npc_ioc_gunship_captain::npc_ioc_gunship_captainAI, brann_bronzebeard::brann_bronzebeardAI, boss_algalon_the_observer::boss_algalon_the_observerAI, npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI, npc_living_constellation::npc_living_constellationAI, boss_flame_leviathan::boss_flame_leviathanAI, npc_ulduar_vx001::npc_ulduar_vx001AI, npc_ulduar_flames_initial::npc_ulduar_flames_initialAI, boss_broggok::boss_broggokAI, npc_simon_bunny::npc_simon_bunnyAI, npc_artorius::npc_artoriusAI, npc_nelson::npc_nelsonAI, boss_cthun, npc_hor_leader::npc_hor_leaderAI, npc_hor_leader_second::npc_hor_leader_secondAI, boss_high_king_maulgar::boss_high_king_maulgarAI, npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI, npc_pos_leader_second::npc_pos_leader_secondAI, boss_sartharion_dragonAI, TotemAI, boss_ambassador_flamelash::boss_ambassador_flamelashAI, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, npc_madrigosa::npc_madrigosaAI, boss_sacrolash::boss_sacrolashAI, boss_alythess::boss_alythessAI, boss_felmyst::boss_felmystAI, boss_kalecgos::boss_kalecgosAI, boss_sathrovarr::boss_sathrovarrAI, boss_kiljaeden::boss_kiljaedenAI, npc_kalecgos_kj::npc_kalecgos_kjAI, npc_costumed_orphan_matron, npc_hallows_end_soh, boss_headless_horseman, npc_pilgrims_bounty_chair, boss_infinite_corruptor::boss_infinite_corruptorAI, npc_arthas::npc_arthasAI, npc_cos_stratholme_citizien::npc_cos_stratholme_citizienAI, npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, npc_medivh_bm::npc_medivh_bmAI, boss_onyxia, boss_hadronox::boss_hadronoxAI, npc_anub_ar_crusher::npc_anub_ar_crusherAI, boss_sartharion::boss_sartharionAI, npc_twilight_summon::npc_twilight_summonAI, boss_paletress::boss_paletressAI, boss_black_knight::boss_black_knightAI, npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI, boss_grand_champion::boss_grand_championAI, boss_anubarak_trial::boss_anubarak_trialAI, npc_swarm_scarab::npc_swarm_scarabAI, npc_anubarak_spike::npc_anubarak_spikeAI, npc_snobold_vassal::npc_snobold_vassalAI, boss_gormok::boss_gormokAI, boss_jormungarAI, npc_concentrated_ball::npc_concentrated_ballAI, boss_tharon_ja::boss_tharon_jaAI, boss_tyrannus::boss_tyrannusAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_drakkari_elemental::boss_drakkari_elementalAI, npc_living_mojo::npc_living_mojoAI, npc_icc_blood_beast::npc_icc_blood_beastAI, npc_icc_gauntlet_controller::npc_icc_gauntlet_controllerAI, npc_icc_putricades_trap::npc_icc_putricades_trapAI, boss_kelthuzad_minion::boss_kelthuzad_minionAI, boss_sapphiron::boss_sapphironAI, boss_thaddius::boss_thaddiusAI, boss_thaddius_summon::boss_thaddius_summonAI, npc_power_spark::npc_power_sparkAI, npc_hover_disk::npc_hover_diskAI, npc_spark_of_ionar::npc_spark_of_ionarAI, boss_volkhan::boss_volkhanAI, npc_molten_golem::npc_molten_golemAI, boss_sjonnir::boss_sjonnirAI, boss_steelbreaker::boss_steelbreakerAI, boss_auriaya::boss_auriayaAI, npc_auriaya_feral_defender::npc_auriaya_feral_defenderAI, npc_freya_ward::npc_freya_wardAI, npc_mimirons_inferno::npc_mimirons_infernoAI, boss_freya::boss_freyaAI, boss_freya_summons::boss_freya_summonsAI, boss_vezax::boss_vezaxAI, boss_kologarn::boss_kologarnAI, npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI, npc_ulduar_bot_summon_trigger::npc_ulduar_bot_summon_triggerAI, boss_thorim::boss_thorimAI, boss_thorim_sif::boss_thorim_sifAI, boss_thorim_ancient_rune_giant::boss_thorim_ancient_rune_giantAI, 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_yoggsaron_crusher_tentacle::boss_yoggsaron_crusher_tentacleAI, boss_yoggsaron_corruptor_tentacle::boss_yoggsaron_corruptor_tentacleAI, boss_yoggsaron_constrictor_tentacle::boss_yoggsaron_constrictor_tentacleAI, boss_yoggsaron_keeper::boss_yoggsaron_keeperAI, boss_skarvald_the_constructor::boss_skarvald_the_constructorAI, boss_dalronn_the_controller::boss_dalronn_the_controllerAI, 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_ichoron::boss_ichoronAI, npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI, boss_ambassador_hellmaw::boss_ambassador_hellmawAI, boss_illidan_stormrage::boss_illidan_stormrageAI, npc_akama_illidan::npc_akama_illidanAI, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, 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_shade_of_akama::boss_shade_of_akamaAI, npc_akama_shade::npc_akamaAI, npc_creature_generator_akama::npc_creature_generator_akamaAI, boss_illidari_council::boss_illidari_councilAI, boss_illidari_council_memberAI, boss_the_lurker_below::boss_the_lurker_belowAI, npc_naga_distiller::npc_naga_distillerAI, boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, boss_nazan::boss_nazanAI, adyen_the_lightbringer::adyen_the_lightbringerAI, anchorite_karja::anchorite_karjaAI, exarch_orelis::exarch_orelisAI, socrethar::socretharAI, npc_pet_gen_argent_pony_bridle, npc_elder_clearwater::npc_elder_clearwaterAI, SmartAI, npc_stolen_soul::npc_stolen_soulAI, npc_scarlet_miner_cart::npc_scarlet_miner_cartAI, npc_brew_bubble, npc_taretha::npc_tarethaAI, npc_sergeant_bly::npc_sergeant_blyAI, npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI, boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI, and npc_spring_rabbit::npc_spring_rabbitAI.

196{}

Referenced by boss_algalon_the_observer::boss_algalon_the_observerAI::CallConstellations(), spell_the_lich_king_ice_burst_target_search::spell_the_lich_king_ice_burst_target_search_SpellScript::CheckTargetCount(), spell_algalon_big_bang::spell_algalon_big_bang_SpellScript::CheckTargets(), SummonList::DoAction(), boss_illidari_council::boss_illidari_councilAI::DoAction(), BattlegroundIC::HandleCapturedNodes(), spell_halion_twilight_division::spell_halion_twilight_division_SpellScript::HandleDummy(), spell_algalon_trigger_3_adds::spell_algalon_trigger_3_adds_SpellScript::HandleDummyEffect(), spell_jedoga_sacrafice_beam::HandleRemoval(), spell_kiljaeden_darkness::spell_kiljaeden_darkness_AuraScript::HandleRemove(), spell_taldaram_summon_flame_ball::spell_taldaram_summon_flame_ball_SpellScript::HandleScript(), spell_ayamiss_swarmer_swarm::HandleScript(), spell_xt002_gravity_bomb_damage::spell_xt002_gravity_bomb_damage_SpellScript::HandleScript(), spell_the_lich_king_quake::spell_the_lich_king_quake_SpellScript::HandleSendEvent(), boss_yoggsaron_sara::boss_yoggsaron_saraAI::InformCloud(), socrethar::socretharAI::JustDied(), boss_drakkari_colossus::boss_drakkari_colossusAI::JustSummoned(), npc_brew_bubble::MoveInLineOfSight(), spell_pilgrims_bounty_serve_generic::OnAuraRemove(), go_palehoof_sphere::OnGossipHello(), npc_pet_gen_argent_pony_bridle::OnGossipSelect(), boss_majordomo::OnGossipSelect(), npc_highlord_darion_mograine::OnGossipSelect(), npc_arthas::OnGossipSelect(), npc_high_overlord_saurfang_icc::OnGossipSelect(), npc_muradin_bronzebeard_icc::OnGossipSelect(), brann_bronzebeard::OnGossipSelect(), adyen_the_lightbringer::OnGossipSelect(), npc_fos_leader::OnGossipSelect(), npc_hor_leader::OnGossipSelect(), npc_thrall_old_hillsbrad::OnGossipSelect(), npc_hor_leader_second::OnGossipSelect(), npc_tirions_gambit_tirion::OnGossipSelect(), npc_artorius::OnGossipSelect(), npc_nelson::OnGossipSelect(), spell_xt002_gravity_bomb_aura::spell_xt002_gravity_bomb_aura_AuraScript::OnPeriodic(), instance_ulduar::instance_ulduar_InstanceMapScript::OnPlayerEnter(), boss_apothecary_hummel::OnQuestReward(), npc_thrall_warchief::OnQuestReward(), npc_elder_clearwater::OnQuestReward(), FrostwingGauntletRespawner::operator()(), kaylaan_the_lost::kaylaan_the_lostAI::ResetDeathblowEvent(), instance_ahnkahet::instance_ahnkahet_InstanceScript::SetData(), boss_yoggsaron_immortal_guardian::boss_yoggsaron_immortal_guardianAI::SpellHit(), npc_pilgrims_bounty_chair::SpellHitTarget(), boss_zuramat::boss_zuramatAI::SummonedCreatureDespawn(), and boss_prince_valanar_icc::boss_prince_valanarAI::UpdateAI().

◆ DoAddAuraToAllHostilePlayers()

SpellCastResult UnitAI::DoAddAuraToAllHostilePlayers ( uint32  spellid)
136{
137 if (me->IsInCombat())
138 {
140 for (ThreatContainer::StorageType::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
141 {
142 if (Unit* unit = ObjectAccessor::GetUnit(*me, (*itr)->getUnitGuid()))
143 {
144 if (unit->GetTypeId() == TYPEID_PLAYER)
145 {
146 me->AddAura(spellid, unit);
147 return SPELL_CAST_OK;
148 }
149 }
150 else
152 }
153 }
154
156}
@ TYPEID_PLAYER
Definition: ObjectGuid.h:38
@ SPELL_FAILED_CUSTOM_ERROR
Definition: SharedDefines.h:1093
@ SPELL_FAILED_BAD_TARGETS
Definition: SharedDefines.h:933
@ SPELL_CAST_OK
Definition: SharedDefines.h:1110
Unit * GetUnit(WorldObject const &, ObjectGuid const guid)
Definition: ObjectAccessor.cpp:204
std::list< HostileReference * > StorageType
Definition: ThreatMgr.h:148
ThreatContainer::StorageType const & GetThreatList() const
Definition: ThreatMgr.h:271
Definition: Unit.h:1290
Aura * AddAura(uint32 spellId, Unit *target)
Definition: Unit.cpp:19751
ThreatMgr & GetThreatMgr()
Definition: Unit.h:2404
bool IsInCombat() const
Definition: Unit.h:1724

References Unit::AddAura(), ThreatMgr::GetThreatList(), Unit::GetThreatMgr(), ObjectAccessor::GetUnit(), Unit::IsInCombat(), me, SPELL_CAST_OK, SPELL_FAILED_BAD_TARGETS, SPELL_FAILED_CUSTOM_ERROR, and TYPEID_PLAYER.

◆ DoCast() [1/2]

SpellCastResult UnitAI::DoCast ( uint32  spellId)
179{
180 Unit* target = nullptr;
181
182 switch (AISpellInfo[spellId].target)
183 {
184 default:
185 case AITARGET_SELF:
186 target = me;
187 break;
188 case AITARGET_VICTIM:
189 target = me->GetVictim();
190 break;
191 case AITARGET_ENEMY:
192 {
193 if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId))
194 {
195 bool playerOnly = spellInfo->HasAttribute(SPELL_ATTR3_ONLY_ON_PLAYER);
196 target = SelectTarget(SelectTargetMethod::Random, 0, spellInfo->GetMaxRange(false), playerOnly);
197 }
198 break;
199 }
200 case AITARGET_ALLY:
201 target = me;
202 break;
203 case AITARGET_BUFF:
204 target = me;
205 break;
206 case AITARGET_DEBUFF:
207 {
208 if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId))
209 {
210 bool playerOnly = spellInfo->HasAttribute(SPELL_ATTR3_ONLY_ON_PLAYER);
211 float range = spellInfo->GetMaxRange(false);
212
213 DefaultTargetSelector targetSelector(me, range, playerOnly, -(int32)spellId);
214 if (!(spellInfo->AuraInterruptFlags & AURA_INTERRUPT_FLAG_NOT_VICTIM)
215 && targetSelector(me->GetVictim()))
216 target = me->GetVictim();
217 else
218 target = SelectTarget(SelectTargetMethod::Random, 0, targetSelector);
219 }
220 break;
221 }
222 }
223
224 if (target)
225 me->CastSpell(target, spellId, false);
226
228}
std::int32_t int32
Definition: Define.h:104
@ AITARGET_ALLY
Definition: CreatureAIImpl.h:41
@ AITARGET_BUFF
Definition: CreatureAIImpl.h:42
@ AITARGET_SELF
Definition: CreatureAIImpl.h:38
@ AITARGET_VICTIM
Definition: CreatureAIImpl.h:39
@ AITARGET_ENEMY
Definition: CreatureAIImpl.h:40
@ AITARGET_DEBUFF
Definition: CreatureAIImpl.h:43
@ AURA_INTERRUPT_FLAG_NOT_VICTIM
Definition: SpellDefines.h:72
#define sSpellMgr
Definition: SpellMgr.h:803
@ SPELL_ATTR3_ONLY_ON_PLAYER
Definition: SharedDefines.h:473
Definition: UnitAI.h:43
Unit * SelectTarget(SelectTargetMethod targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
Definition: UnitAI.cpp:111
static AISpellInfoType * AISpellInfo
Definition: UnitAI.h:335
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition: Unit.cpp:1428
Unit * GetVictim() const
Definition: Unit.h:1386
Definition: SpellInfo.h:314

References AISpellInfo, AITARGET_ALLY, AITARGET_BUFF, AITARGET_DEBUFF, AITARGET_ENEMY, AITARGET_SELF, AITARGET_VICTIM, AURA_INTERRUPT_FLAG_NOT_VICTIM, Unit::CastSpell(), Unit::GetVictim(), me, SelectTarget(), SPELL_ATTR3_ONLY_ON_PLAYER, SPELL_FAILED_BAD_TARGETS, and sSpellMgr.

Referenced by npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI::AttackStart(), boss_victor_nefarius::boss_victor_nefariusAI::BeginEvent(), boss_ouro::CastGroundRupture(), boss_moira_bronzebeardAI::CastOnEmperorIfPossible(), boss_professor_putricide::boss_professor_putricideAI::ChangePhase(), boss_thekal::boss_thekalAI::CheckPhaseTransition(), boss_eviscerator::boss_evisceratorAI::DamageTaken(), boss_renataki::boss_renatakiAI::DamageTaken(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::DamageTaken(), boss_gyth::boss_gythAI::DamageTaken(), boss_lord_valthalak::boss_lord_valthalakAI::DamageTaken(), boss_kormok::DamageTaken(), boss_ysondre::boss_ysondreAI::DamageTaken(), boss_lethon::boss_lethonAI::DamageTaken(), boss_emeriss::boss_emerissAI::DamageTaken(), boss_taerar::boss_taerarAI::DamageTaken(), npc_infested_root_walker::npc_infested_root_walkerAI::DamageTaken(), npc_rotting_forest_rager::npc_rotting_forest_ragerAI::DamageTaken(), boss_professor_putricide::boss_professor_putricideAI::DoAction(), npc_ioc_gunship_captain::npc_ioc_gunship_captainAI::DoAction(), npc_simon_bunny::npc_simon_bunnyAI::DoAction(), DoCastRandomTarget(), DoCastSelf(), DoCastVictim(), npc_ranshalla::npc_ranshallaAI::DoChannelTorchSpell(), hyjalAI::DoOverrun(), boss_skeram::DoTeleport(), CasterAI::EnterCombat(), boss_kormok::EnterCombat(), npc_healing_ward::EnterCombat(), npc_zealot_lorkhan::npc_zealot_lorkhanAI::EnterCombat(), npc_coren_direbrew_sisters::EnterCombat(), npc_obsidian_destroyer::EnterCombat(), npc_anubisath_defender::EnterCombat(), npc_obsidian_eradicator::EnterCombat(), npc_obsidian_nullifier::EnterCombat(), npc_centrifuge_construct::npc_centrifuge_constructAI::EnterCombat(), npc_maghar_captive::npc_maghar_captiveAI::EnterCombat(), npc_kurenai_captive::npc_kurenai_captiveAI::EnterCombat(), npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI::EnterCombat(), npc_hivezara_stinger::EnterCombat(), boss_vem::EnterCombat(), boss_yauj::EnterCombat(), boss_fankriss::EnterCombat(), boss_twinemperorsAI::EnterCombat(), npc_vekniss_stinger::EnterCombat(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::EnterCombat(), boss_erekem::boss_erekemAI::EnterCombat(), boss_halazzi::boss_halazziAI::EnterPhase(), boss_zuljin::boss_zuljinAI::EnterPhase(), boss_baron_geddon::boss_baron_geddonAI::ExecuteEvent(), boss_gehennas::boss_gehennasAI::ExecuteEvent(), boss_magmadar::boss_magmadarAI::ExecuteEvent(), boss_shazzrah::boss_shazzrahAI::ExecuteEvent(), boss_sulfuron::boss_sulfuronAI::ExecuteEvent(), boss_amanitar::ExecuteEvent(), boss_sartharion_tenebron::boss_sartharion_tenebronAI::ExecuteEvent(), boss_sartharion_shadron::boss_sartharion_shadronAI::ExecuteEvent(), boss_sartharion_vesperon::boss_sartharion_vesperonAI::ExecuteEvent(), emerald_dragonAI::ExecuteEvent(), boss_taerar::boss_taerarAI::ExecuteEvent(), npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI::FinishQuest(), boss_shade_of_aran::boss_aranAI::FlameWreathEffect(), npc_simon_bunny::npc_simon_bunnyAI::GivePunishment(), npc_simon_bunny::npc_simon_bunnyAI::GiveRewardForLevel(), npc_anachronos_the_ancient::npc_anachronos_the_ancientAI::HandleAnimation(), boss_janalai::boss_janalaiAI::HandleBombSequence(), npc_tiger_matriarch::npc_tiger_matriarchAI::IsSummonedBy(), npc_kilrek::npc_kilrekAI::JustDied(), npc_anubisath_sentinel::aqsentinelAI::JustDied(), npc_omen::npc_omenAI::JustDied(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustDied(), socrethar::socretharAI::JustDied(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustSummoned(), boss_doomlord_kazzak::boss_doomlordkazzakAI::KilledUnit(), npc_drakuru_shackles::npc_drakuru_shacklesAI::LockRageclaw(), npc_depth_charge::npc_depth_chargeAI::MoveInLineOfSight(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::MoveInLineOfSight(), npc_mageguard_dalaran::npc_mageguard_dalaranAI::MoveInLineOfSight(), npc_daranelle::npc_daranelleAI::MoveInLineOfSight(), npc_hive_zara_larva::MovementInform(), npc_frostbrood_skytalon::npc_frostbrood_skytalonAI::MovementInform(), npc_fel_guard_hound::npc_fel_guard_houndAI::MovementInform(), npc_chained_spirit::MovementInform(), npc_vics_flying_machine::npc_vics_flying_machineAI::MovementInform(), npc_akilzon_eagle::npc_akilzon_eagleAI::MovementInform(), boss_mandokir::boss_mandokirAI::OnTeleportUnreacheablePlayer(), npc_rocket_propelled_warhead::npc_rocket_propelled_warheadAI::PassengerBoarded(), boss_malchezaar::boss_malchezaarAI::Phase2(), npc_simon_bunny::npc_simon_bunnyAI::PlayColor(), npc_lake_frog::npc_lake_frogAI::ReceiveEmote(), npc_dancing_flames::npc_dancing_flamesAI::ReceiveEmote(), npc_plucky::npc_pluckyAI::ReceiveEmote(), boss_terestian_illhoof::boss_terestianAI::Reset(), boss_halazzi::boss_halazziAI::Reset(), npc_zulian_prowler::npc_zulian_prowlerAI::Reset(), npc_towering_infernal::npc_towering_infernalAI::Reset(), npc_lesser_doomguard::npc_lesser_doomguardAI::Reset(), hyjalAI::Reset(), npc_belnistrasz::npc_belnistraszAI::Reset(), npc_eye_tentacle::Reset(), npc_giant_eye_tentacle::Reset(), npc_draenei_survivor::npc_draenei_survivorAI::Reset(), npc_troll_volunteer::npc_troll_volunteerAI::Reset(), npc_plucky::npc_pluckyAI::Reset(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::Reset(), npc_hidden_cultist::npc_hidden_cultistAI::Reset(), npc_tournament_training_dummy::npc_tournament_training_dummyAI::Reset(), npc_blessed_banner::npc_blessed_bannerAI::Reset(), npc_captured_rageclaw::npc_captured_rageclawAI::Reset(), emerald_dragonAI::Reset(), npc_dancing_flames::npc_dancing_flamesAI::Reset(), boss_baroness_anastari::boss_baroness_anastariAI::SchedulePossession(), boss_ayamiss::ScheduleTasks(), boss_cthun::ScheduleTasks(), boss_mandokir::boss_mandokirAI::SetGUID(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::SetGUID(), npc_kerlonian::npc_kerlonianAI::SetSleeping(), npc_lake_frog::npc_lake_frogAI::sGossipSelect(), npc_janalai_firebomb::npc_janalai_firebombAI::SpellHit(), npc_janalai_egg::npc_janalai_eggAI::SpellHit(), npc_argent_captainAI::SpellHit(), npc_frostbrood_skytalon::npc_frostbrood_skytalonAI::SpellHit(), npc_captured_rageclaw::npc_captured_rageclawAI::SpellHit(), npc_zuljin_vortex::npc_zuljin_vortexAI::SpellHit(), npc_forest_frog::npc_forest_frogAI::SpellHit(), npc_draenei_survivor::npc_draenei_survivorAI::SpellHit(), npc_aged_dying_ancient_kodo::npc_aged_dying_ancient_kodoAI::SpellHit(), npc_troll_volunteer::npc_troll_volunteerAI::SpellHit(), npc_outhouse_bunny::npc_outhouse_bunnyAI::SpellHit(), npc_wounded_skirmisher::SpellHit(), npc_tournament_training_dummy::npc_tournament_training_dummyAI::SpellHit(), npc_greengill_slave::npc_greengill_slaveAI::SpellHit(), npc_spitelashes::npc_spitelashesAI::SpellHit(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::SpellHitTarget(), boss_cthun::SummonedCreatureDies(), boss_netherspite::boss_netherspiteAI::SwitchToBanishPhase(), npc_drakuru_shackles::npc_drakuru_shacklesAI::UnlockRageclaw(), CombatAI::UpdateAI(), CasterAI::UpdateAI(), npc_av_marshal_or_warmaster::npc_av_marshal_or_warmasterAI::UpdateAI(), ironhand_guardian::ironhand_guardianAI::UpdateAI(), boss_anubshiah::boss_anubshiahAI::UpdateAI(), boss_emperor_dagran_thaurissan::boss_draganthaurissanAI::UpdateAI(), boss_hedrum::boss_hedrumAI::UpdateAI(), boss_high_interrogator_gerstahn::boss_high_interrogator_gerstahnAI::UpdateAI(), boss_okthor::boss_okthorAI::UpdateAI(), boss_doomrel::boss_doomrelAI::UpdateAI(), boss_gyth::boss_gythAI::UpdateAI(), boss_halycon::boss_halyconAI::UpdateAI(), boss_lord_valthalak::boss_lord_valthalakAI::UpdateAI(), boss_pyroguard_emberseer::boss_pyroguard_emberseerAI::UpdateAI(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::UpdateAI(), boss_rend_blackhand::boss_rend_blackhandAI::UpdateAI(), npc_rookery_hatcher::npc_rookery_hatcherAI::UpdateAI(), boss_the_beast::boss_thebeastAI::UpdateAI(), npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI::UpdateAI(), boss_chromaggus::boss_chromaggusAI::UpdateAI(), boss_flamegor::boss_flamegorAI::UpdateAI(), boss_victor_nefarius::boss_victor_nefariusAI::UpdateAI(), boss_nefarian::UpdateAI(), boss_majordomo::boss_majordomoAI::UpdateAI(), npc_flamewaker_priest::npc_flamewaker_priestAI::UpdateAI(), boss_netherspite::boss_netherspiteAI::UpdateAI(), boss_nightbane::boss_nightbaneAI::UpdateAI(), netherspite_infernal::netherspite_infernalAI::UpdateAI(), boss_malchezaar::boss_malchezaarAI::UpdateAI(), boss_shade_of_aran::boss_aranAI::UpdateAI(), boss_terestian_illhoof::boss_terestianAI::UpdateAI(), boss_dorothee::boss_dorotheeAI::UpdateAI(), npc_scarlet_miner::npc_scarlet_minerAI::UpdateAI(), npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI::UpdateAI(), npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::UpdateAI(), npc_valkyr_battle_maiden::npc_valkyr_battle_maidenAI::UpdateAI(), boss_high_inquisitor_whitemane::boss_high_inquisitor_whitemaneAI::UpdateAI(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::UpdateAI(), boss_felmyst::boss_felmystAI::UpdateAI(), npc_calvin_montague::npc_calvin_montagueAI::UpdateAI(), npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI::UpdateAI(), npc_highborne_lamenter::npc_highborne_lamenterAI::UpdateAI(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), npc_jaina_proudmoore_bfu::npc_jaina_proudmoore_bfuAI::UpdateAI(), boss_blight_worm::boss_blight_wormAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_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_slither::boss_slitherAI::UpdateAI(), boss_koragg::boss_koraggAI::UpdateAI(), boss_janalai::boss_janalaiAI::UpdateAI(), boss_nalorakk::boss_nalorakkAI::UpdateAI(), boss_zuljin::boss_zuljinAI::UpdateAI(), npc_forest_frog::npc_forest_frogAI::UpdateAI(), npc_harrison_jones::npc_harrison_jonesAI::UpdateAI(), boss_arlokk::boss_arlokkAI::UpdateAI(), boss_grilek::boss_grilekAI::UpdateAI(), boss_hakkar::boss_hakkarAI::UpdateAI(), boss_hazzarah::UpdateAI(), boss_jeklik::UpdateAI(), boss_mandokir::boss_mandokirAI::UpdateAI(), boss_marli::UpdateAI(), boss_renataki::boss_renatakiAI::UpdateAI(), boss_venoxis::boss_venoxisAI::UpdateAI(), boss_wushoolay::boss_wushoolayAI::UpdateAI(), npc_snowfall_glade_playmate::UpdateAI(), boss_anetheron::boss_anetheronAI::UpdateAI(), npc_towering_infernal::npc_towering_infernalAI::UpdateAI(), npc_ancient_wisp::npc_ancient_wispAI::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_banshee::npc_bansheeAI::UpdateAI(), hyjalAI::UpdateAI(), boss_onyxia::UpdateAI(), npc_belnistrasz::npc_belnistraszAI::UpdateAI(), boss_skeram::UpdateAI(), npc_spitelashes::npc_spitelashesAI::UpdateAI(), npc_rizzle_sprysprocket::npc_rizzle_sprysprocketAI::UpdateAI(), npc_omen::npc_omenAI::UpdateAI(), npc_qiraj_war_spawn::npc_qiraj_war_spawnAI::UpdateAI(), npc_aquementas::npc_aquementasAI::UpdateAI(), npc_cairne_bloodhoof::npc_cairne_bloodhoofAI::UpdateAI(), npc_shadowpriest_sezziz::npc_shadowpriest_sezzizAI::UpdateAI(), boss_elder_nadox::UpdateAI(), boss_volazj::UpdateAI(), boss_jedoga_shadowseeker::UpdateAI(), boss_taldaram::UpdateAI(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::UpdateAI(), boss_professor_putricide::boss_professor_putricideAI::UpdateAI(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::UpdateAI(), npc_frost_freeze_trap::npc_frost_freeze_trapAI::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_ioc_gunship_captain::npc_ioc_gunship_captainAI::UpdateAI(), boss_urom::boss_uromAI::UpdateAI(), npc_vrykul_skeleton::npc_vrykul_skeletonAI::UpdateAI(), npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI::UpdateAI(), boss_archavon::boss_archavonAI::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_sinkhole_kill_credit::npc_sinkhole_kill_creditAI::UpdateAI(), npc_imprisoned_beryl_sorcerer::npc_imprisoned_beryl_sorcererAI::UpdateAI(), npc_minigob_manabonk::npc_minigob_manabonkAI::UpdateAI(), npc_dalaran_mage::npc_dalaran_mageAI::UpdateAI(), npc_dalaran_warrior::npc_dalaran_warriorAI::UpdateAI(), npc_venture_co_straggler::npc_venture_co_stragglerAI::UpdateAI(), npc_lake_frog::npc_lake_frogAI::UpdateAI(), npc_tournament_training_dummy::npc_tournament_training_dummyAI::UpdateAI(), npc_blessed_banner::npc_blessed_bannerAI::UpdateAI(), boss_pandemonius::boss_pandemoniusAI::UpdateAI(), boss_talon_king_ikiss::boss_talon_king_ikissAI::UpdateAI(), boss_doomlord_kazzak::boss_doomlordkazzakAI::UpdateAI(), boss_doomwalker::boss_doomwalkerAI::UpdateAI(), boss_hydromancer_thespia::boss_thespiaAI::UpdateAI(), boss_gruul::boss_gruulAI::UpdateAI(), npc_nether_drake::npc_nether_drakeAI::UpdateAI(), npc_simon_bunny::npc_simon_bunnyAI::UpdateAI(), npc_oscillating_frequency_scanner_master_bunny::npc_oscillating_frequency_scanner_master_bunnyAI::UpdateAI(), npc_maghar_captive::npc_maghar_captiveAI::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_torloth_the_magnificent::npc_torloth_the_magnificentAI::UpdateAI(), npc_illidari_spawn::npc_illidari_spawnAI::UpdateAI(), npc_unkor_the_ruthless::npc_unkor_the_ruthlessAI::UpdateAI(), npc_floon::npc_floonAI::UpdateAI(), guard_shattrath_scryer::guard_shattrath_scryerAI::UpdateAI(), guard_shattrath_aldor::guard_shattrath_aldorAI::UpdateAI(), npc_warmage_coldarra::npc_warmage_coldarraAI::UpdateAI(), npc_earthmender_wilda::npc_earthmender_wildaAI::UpdateAI(), npc_zulaman_hostage::npc_zulaman_hostageAI::UpdateAI(), npc_warmage_violetstand::UpdateAI(), npc_wg_spirit_guide::npc_wg_spirit_guideAI::UpdateAI(), npc_apothecary_hanes::npc_Apothecary_HanesAI::UpdateEscortAI(), npc_kurenai_captive::npc_kurenai_captiveAI::UpdateEscortAI(), boss_hexlord_malacrass::boss_hex_lord_malacrassAI::UseAbility(), npc_barnes::npc_barnesAI::WaypointReached(), npc_koltira_deathweaver::npc_koltira_deathweaverAI::WaypointReached(), npc_frost_wyrm::npc_frost_wyrmAI::WaypointReached(), npc_gargoyle::npc_gargoyleAI::WaypointReached(), hyjalAI::WaypointReached(), npc_custodian_of_time::npc_custodian_of_timeAI::WaypointReached(), and npc_isla_starmane::npc_isla_starmaneAI::WaypointReached().

◆ DoCast() [2/2]

SpellCastResult UnitAI::DoCast ( Unit victim,
uint32  spellId,
bool  triggered = false 
)
231{
232 if (!victim)
234
235 if (me->HasUnitState(UNIT_STATE_CASTING) && !triggered)
237
238 return me->CastSpell(victim, spellId, triggered);
239}
@ UNIT_STATE_CASTING
Definition: Unit.h:340
@ SPELL_FAILED_SPELL_IN_PROGRESS
Definition: SharedDefines.h:1026
bool HasUnitState(const uint32 f) const
Definition: Unit.h:1398

References Unit::CastSpell(), Unit::HasUnitState(), me, SPELL_FAILED_BAD_TARGETS, SPELL_FAILED_SPELL_IN_PROGRESS, and UNIT_STATE_CASTING.

◆ DoCastAOE()

SpellCastResult UnitAI::DoCastAOE ( uint32  spellId,
bool  triggered = false 
)
250{
251 if (!triggered && me->HasUnitState(UNIT_STATE_CASTING))
253
254 return me->CastSpell((Unit*)nullptr, spellId, triggered);
255}

References Unit::CastSpell(), Unit::HasUnitState(), me, SPELL_FAILED_SPELL_IN_PROGRESS, and UNIT_STATE_CASTING.

Referenced by boss_mor_grayhoof::CastRandomSpell(), boss_razorgore::boss_razorgoreAI::DamageTaken(), boss_golemagg::boss_golemaggAI::DamageTaken(), npc_garr_firesworn::npc_garr_fireswornAI::DamageTaken(), boss_apothecary_hummel::boss_apothecary_hummelAI::DoAction(), npc_thrall_warchief::npc_thrall_warchiefAI::DoAction(), boss_icehowl::boss_icehowlAI::DoTrampleIfValid(), boss_ouro::Emerge(), boss_majordomo::boss_majordomoAI::EnterCombat(), boss_sothos::EnterCombat(), npc_vilebranch_speaker::EnterCombat(), boss_azuregos::boss_azuregosAI::EnterCombat(), boss_isalien::EnterCombat(), npc_anubisath_guardian::EnterCombat(), npc_obsidian_destroyer::EnterCombat(), npc_anubisath_defender::EnterCombat(), npc_obsidian_eradicator::EnterCombat(), npc_anubisath_warder::EnterCombat(), npc_obsidian_nullifier::EnterCombat(), boss_vaelastrasz::boss_vaelAI::EnterCombat(), boss_yauj::EnterCombat(), boss_veknilash::EnterCombat(), boss_baron_geddon::boss_baron_geddonAI::ExecuteEvent(), boss_shazzrah::boss_shazzrahAI::ExecuteEvent(), boss_amanitar::ExecuteEvent(), boss_sartharion_shadron::boss_sartharion_shadronAI::ExecuteEvent(), npc_shade_of_jindo::IsSummonedBy(), boss_moam::JustDied(), boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI::JustDied(), boss_professor_putricide::boss_professor_putricideAI::JustDied(), boss_sindragosa::boss_sindragosaAI::JustDied(), boss_nefarian::MovementInform(), boss_majordomo::boss_majordomoAI::MovementInform(), npc_shade_of_jindo::Reset(), npc_eye_tentacle::Reset(), npc_claw_tentacle::Reset(), npc_giant_claw_tentacle::Reset(), npc_giant_eye_tentacle::Reset(), boss_ayamiss::ScheduleTasks(), boss_urom::boss_uromAI::SpellHit(), npc_frostbrood_skytalon::npc_frostbrood_skytalonAI::SpellHit(), npc_crusade_persuaded::npc_crusade_persuadedAI::SpellHit(), boss_majordomo::boss_majordomoAI::SummonedCreatureDies(), boss_fankriss::SummonWorms(), boss_drakkisath::boss_drakkisathAI::UpdateAI(), boss_victor_nefarius::boss_victor_nefariusAI::UpdateAI(), boss_nefarian::UpdateAI(), boss_vaelastrasz::boss_vaelAI::UpdateAI(), boss_garr::boss_garrAI::UpdateAI(), boss_majordomo::boss_majordomoAI::UpdateAI(), boss_ragnaros::boss_ragnarosAI::UpdateAI(), npc_crusade_persuaded::npc_crusade_persuadedAI::UpdateAI(), boss_hakkar::boss_hakkarAI::UpdateAI(), boss_marli::UpdateAI(), boss_renataki::boss_renatakiAI::UpdateAI(), boss_wushoolay::boss_wushoolayAI::UpdateAI(), boss_kazrogal::boss_kazrogalAI::UpdateAI(), boss_onyxia::UpdateAI(), npc_onyxian_lair_guard::UpdateAI(), boss_buru::UpdateAI(), boss_moam::UpdateAI(), boss_ossirian::UpdateAI(), boss_huhuran::UpdateAI(), boss_skeram::UpdateAI(), boss_professor_putricide::boss_professor_putricideAI::UpdateAI(), npc_arthas_teleport_visual::npc_arthas_teleport_visualAI::UpdateAI(), npc_azure_captain::npc_azure_captainAI::UpdateAI(), npc_azure_sorceror::npc_azure_sorcerorAI::UpdateAI(), and npc_onyx_flamecaller::npc_onyx_flamecallerAI::UpdateEscortAI().

◆ DoCastRandomTarget()

◆ DoCastSelf()

SpellCastResult UnitAI::DoCastSelf ( uint32  spellId,
bool  triggered = false 
)
inline
323{ return DoCast(me, spellId, triggered); }

References DoCast(), and me.

Referenced by boss_hakkar::boss_hakkarAI::ApplyHakkarPowerStacks(), boss_moira_bronzebeardAI::CastOnEmperorIfPossible(), boss_mor_grayhoof::CastRandomSpell(), boss_thekal::boss_thekalAI::CheckPhaseTransition(), boss_mor_grayhoof::DamageTaken(), boss_kurinnaxx::DamageTaken(), boss_huhuran::DamageTaken(), boss_sartura::DamageTaken(), boss_quartermaster_zigris::DamageTaken(), boss_golemagg::boss_golemaggAI::DamageTaken(), npc_core_rager::npc_core_ragerAI::DamageTaken(), npc_mc_core_hound::npc_mc_core_houndAI::DamageTaken(), boss_apothecary_hummel::boss_apothecary_hummelAI::DamageTaken(), boss_thekal::boss_thekalAI::DamageTaken(), boss_ayamiss::DamageTaken(), npc_anubisath_guardian::DamageTaken(), boss_ouro::DamageTaken(), npc_anubisath_sentinel::aqsentinelAI::DamageTaken(), npc_anubisath_defender::DamageTaken(), npc_amanitar_mushrooms::DamageTaken(), boss_volazj::DamageTaken(), boss_sartharion::boss_sartharionAI::DamageTaken(), boss_viscidus::DamageTaken(), npc_garr_firesworn::npc_garr_fireswornAI::DamageTaken(), boss_buru::DamageTaken(), boss_victor_nefarius::boss_victor_nefariusAI::DoAction(), boss_jarien::DoAction(), boss_sothos::DoAction(), boss_bug_trio::DoAction(), boss_twinemperorsAI::DoAction(), npc_twilight_volunteer::DoAction(), boss_taldaram::DoAction(), boss_cthun::DoAction(), boss_sartharion::boss_sartharionAI::DoAction(), boss_razorgore::boss_razorgoreAI::DoChangePhase(), boss_bug_trio::DoFinalSpell(), boss_ouro::Emerge(), boss_garr::boss_garrAI::EnterCombat(), boss_majordomo::boss_majordomoAI::EnterCombat(), boss_sothos::EnterCombat(), boss_jeklik::EnterCombat(), boss_renataki::boss_renatakiAI::EnterCombat(), boss_thekal::boss_thekalAI::EnterCombat(), npc_zealot_lorkhan::npc_zealot_lorkhanAI::EnterCombat(), npc_zealot_zath::npc_zealot_zathAI::EnterCombat(), npc_coren_direbrew_sisters::EnterCombat(), boss_azuregos::boss_azuregosAI::EnterCombat(), npc_anubisath_guardian::EnterCombat(), npc_dirt_mound::EnterCombat(), npc_anubisath_defender::EnterCombat(), boss_volazj::EnterCombat(), boss_sartharion::boss_sartharionAI::EnterCombat(), npc_ohgan::npc_ohganAI::EnterCombat(), boss_buru::EnterCombat(), boss_ossirian::EnterCombat(), boss_twinemperorsAI::EnterCombat(), boss_lethon::boss_lethonAI::EnterCombat(), boss_buru::EnterEvadeMode(), boss_ouro::EnterEvadeMode(), boss_warmaster_voone::boss_warmastervooneAI::ExecuteEvent(), boss_magmadar::boss_magmadarAI::ExecuteEvent(), boss_shazzrah::boss_shazzrahAI::ExecuteEvent(), boss_sulfuron::boss_sulfuronAI::ExecuteEvent(), boss_amanitar::ExecuteEvent(), boss_sartharion_vesperon::boss_sartharion_vesperonAI::ExecuteEvent(), npc_eye_of_acherus::InitializeAI(), npc_toxic_slime::InitializeAI(), boss_taldaram::InitializeAI(), boss_kormok::IsSummonedBy(), npc_shade_of_jindo::IsSummonedBy(), npc_taldaram_flamesphere::IsSummonedBy(), npc_drakonid_spawner::IsSummonedBy(), npc_anubisath_guardian::JustDied(), npc_obsidian_destroyer::JustDied(), npc_anubisath_sentinel::aqsentinelAI::JustDied(), npc_anubisath_defender::JustDied(), boss_volazj::JustDied(), npc_taldaram_flamesphere::JustDied(), npc_buru_egg::JustDied(), boss_twilight_corrupter::KilledUnit(), boss_mandokir::boss_mandokirAI::KilledUnit(), boss_volazj::KilledUnit(), npc_ouro_spawner::MoveInLineOfSight(), npc_eye_of_acherus::MovementInform(), boss_ayamiss::MovementInform(), boss_bug_trio::MovementInform(), npc_twilight_volunteer::MovementInform(), boss_jedoga_shadowseeker::MovementInform(), boss_glob_of_viscidus::MovementInform(), npc_hive_zara_swarmer::PathEndReached(), boss_golemagg::boss_golemaggAI::Reset(), npc_core_rager::npc_core_ragerAI::Reset(), boss_jeklik::Reset(), npc_ouro_spawner::Reset(), npc_dirt_mound::Reset(), npc_amanitar_mushrooms::Reset(), npc_ahnkahar_nerubian::Reset(), boss_baroness_anastari::boss_baroness_anastariAI::SchedulePossession(), boss_ayamiss::ScheduleTasks(), npc_thassarian2::npc_thassarian2AI::sGossipHello(), boss_viscidus::SpellHit(), boss_ouro::Submerge(), boss_cthun::SummonedCreatureDies(), boss_apothecary_hummel::boss_apothecary_hummelAI::SummonedCreatureDies(), boss_jedoga_shadowseeker::SummonedCreatureDies(), boss_emperor_dagran_thaurissan::boss_draganthaurissanAI::UpdateAI(), boss_gorosh_the_dervish::boss_gorosh_the_dervishAI::UpdateAI(), boss_grizzle::boss_grizzleAI::UpdateAI(), boss_drakkisath::boss_drakkisathAI::UpdateAI(), boss_victor_nefarius::boss_victor_nefariusAI::UpdateAI(), boss_garr::boss_garrAI::UpdateAI(), boss_golemagg::boss_golemaggAI::UpdateAI(), boss_majordomo::boss_majordomoAI::UpdateAI(), boss_ragnaros::boss_ragnarosAI::UpdateAI(), npc_eye_of_acherus::UpdateAI(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::UpdateAI(), boss_arlokk::boss_arlokkAI::UpdateAI(), boss_grilek::boss_grilekAI::UpdateAI(), boss_hakkar::boss_hakkarAI::UpdateAI(), boss_hazzarah::UpdateAI(), boss_jeklik::UpdateAI(), boss_jindo::UpdateAI(), boss_marli::UpdateAI(), boss_renataki::boss_renatakiAI::UpdateAI(), boss_venoxis::boss_venoxisAI::UpdateAI(), npc_coren_direbrew::UpdateAI(), npc_onyxian_lair_guard::UpdateAI(), boss_buru::UpdateAI(), boss_kurinnaxx::UpdateAI(), boss_moam::UpdateAI(), boss_ossirian::UpdateAI(), boss_huhuran::UpdateAI(), boss_sartura::UpdateAI(), npc_sartura_royal_guard::UpdateAI(), boss_viscidus::UpdateAI(), npc_weegli_blastfuse::npc_weegli_blastfuseAI::UpdateAI(), npc_amanitar_mushrooms::UpdateAI(), boss_elder_nadox::UpdateAI(), npc_ahnkahar_nerubian::UpdateAI(), boss_jedoga_shadowseeker::UpdateAI(), npc_taldaram_flamesphere::UpdateAI(), boss_taldaram::UpdateAI(), boss_sartharion::boss_sartharionAI::UpdateAI(), boss_noth::boss_nothAI::UpdateAI(), npc_counselor_talbot::npc_counselor_talbotAI::UpdateAI(), and npc_general_andorov::UpdateEscortAI().

◆ DoCastToAllHostilePlayers()

SpellCastResult UnitAI::DoCastToAllHostilePlayers ( uint32  spellid,
bool  triggered = false 
)
159{
160 if (me->IsInCombat())
161 {
163 for (ThreatContainer::StorageType::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
164 {
165 if (Unit* unit = ObjectAccessor::GetUnit(*me, (*itr)->getUnitGuid()))
166 {
167 if (unit->GetTypeId() == TYPEID_PLAYER)
168 return me->CastSpell(unit, spellid, triggered);
169 }
170 else
172 }
173 }
174
176}

References Unit::CastSpell(), ThreatMgr::GetThreatList(), Unit::GetThreatMgr(), ObjectAccessor::GetUnit(), Unit::IsInCombat(), me, SPELL_FAILED_BAD_TARGETS, SPELL_FAILED_CUSTOM_ERROR, and TYPEID_PLAYER.

◆ DoCastVictim()

SpellCastResult UnitAI::DoCastVictim ( uint32  spellId,
bool  triggered = false 
)
242{
243 if (Unit* victim = me->GetVictim())
244 return DoCast(victim, spellId, triggered);
245
247}

References DoCast(), Unit::GetVictim(), me, and SPELL_FAILED_BAD_TARGETS.

Referenced by boss_mor_grayhoof::CastRandomSpell(), boss_thekal::boss_thekalAI::CheckPhaseTransition(), boss_apothecary_hummel::boss_apothecary_hummelAI::DoAction(), boss_zuljin::boss_zuljinAI::DoMeleeAttackIfReady(), boss_ouro::Emerge(), boss_kormok::EnterCombat(), boss_baroness_anastari::boss_baroness_anastariAI::EnterCombat(), boss_jarien::EnterCombat(), boss_sothos::EnterCombat(), boss_twilight_corrupter::EnterCombat(), npc_shade_of_jindo::EnterCombat(), npc_vilebranch_speaker::EnterCombat(), boss_thekal::boss_thekalAI::EnterCombat(), npc_zealot_lorkhan::npc_zealot_lorkhanAI::EnterCombat(), npc_zealot_zath::npc_zealot_zathAI::EnterCombat(), npc_hallows_end_soh::EnterCombat(), boss_azuregos::boss_azuregosAI::EnterCombat(), npc_claw_tentacle::EnterCombat(), npc_ohgan::npc_ohganAI::EnterCombat(), boss_kri::EnterCombat(), boss_vem::EnterCombat(), boss_yauj::EnterCombat(), boss_fankriss::EnterCombat(), boss_veknilash::EnterCombat(), boss_veklor::EnterCombat(), boss_solakar_flamewreath::boss_solakar_flamewreathAI::ExecuteEvent(), boss_warmaster_voone::boss_warmastervooneAI::ExecuteEvent(), boss_gehennas::boss_gehennasAI::ExecuteEvent(), boss_lucifron::boss_lucifronAI::ExecuteEvent(), boss_magmadar::boss_magmadarAI::ExecuteEvent(), boss_shazzrah::boss_shazzrahAI::ExecuteEvent(), boss_sulfuron::boss_sulfuronAI::ExecuteEvent(), boss_amanitar::ExecuteEvent(), boss_sartharion_tenebron::boss_sartharion_tenebronAI::ExecuteEvent(), boss_sartharion_shadron::boss_sartharion_shadronAI::ExecuteEvent(), boss_sartharion_vesperon::boss_sartharion_vesperonAI::ExecuteEvent(), boss_ysondre::boss_ysondreAI::ExecuteEvent(), boss_emeriss::boss_emerissAI::ExecuteEvent(), boss_ayamiss::MovementInform(), npc_apothecary_baxter::Reset(), boss_ayamiss::ScheduleTasks(), boss_archimonde::boss_archimondeAI::UnleashSoulCharge(), npc_daphne_stilwell::npc_daphne_stilwellAI::Update(), 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_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_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_overlord_wyrmthalak::boss_overlordwyrmthalakAI::UpdateAI(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::UpdateAI(), boss_quartermaster_zigris::UpdateAI(), boss_rend_blackhand::boss_rend_blackhandAI::UpdateAI(), boss_the_beast::boss_thebeastAI::UpdateAI(), boss_urok_doomhowl::boss_urok_doomhowlAI::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_nefarian::UpdateAI(), boss_razorgore::boss_razorgoreAI::UpdateAI(), boss_vaelastrasz::boss_vaelAI::UpdateAI(), npc_core_rager::npc_core_ragerAI::UpdateAI(), boss_ragnaros::boss_ragnarosAI::UpdateAI(), npc_flamewaker_priest::npc_flamewaker_priestAI::UpdateAI(), npc_mc_core_hound::npc_mc_core_houndAI::UpdateAI(), boss_nightbane::boss_nightbaneAI::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(), npc_unworthy_initiate::npc_unworthy_initiateAI::UpdateAI(), npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI::UpdateAI(), npc_highlord_darion_mograine::npc_highlord_darion_mograineAI::UpdateAI(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::UpdateAI(), npc_sentinel_leader::UpdateAI(), npc_sentinel_infiltrator::UpdateAI(), npc_corporal_keeshan::npc_corporal_keeshanAI::UpdateAI(), npc_varian_wrynn::npc_varian_wrynnAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_bfuAI::UpdateAI(), boss_akilzon::boss_akilzonAI::UpdateAI(), boss_halazzi::boss_halazziAI::UpdateAI(), npc_halazzi_lynx::npc_halazzi_lynxAI::UpdateAI(), boss_thurg::boss_thurgAI::UpdateAI(), boss_gazakrothAI::UpdateAI(), boss_lord_raadan::boss_lord_raadanAI::UpdateAI(), boss_darkheart::boss_darkheartAI::UpdateAI(), boss_koragg::boss_koraggAI::UpdateAI(), npc_janalai_hatchling::npc_janalai_hatchlingAI::UpdateAI(), boss_nalorakk::boss_nalorakkAI::UpdateAI(), boss_arlokk::boss_arlokkAI::UpdateAI(), boss_gahzranka::boss_gahzrankaAI::UpdateAI(), boss_grilek::boss_grilekAI::UpdateAI(), boss_hakkar::boss_hakkarAI::UpdateAI(), boss_hazzarah::UpdateAI(), boss_jeklik::UpdateAI(), boss_jindo::UpdateAI(), boss_mandokir::boss_mandokirAI::UpdateAI(), boss_marli::UpdateAI(), boss_archimonde::boss_archimondeAI::UpdateAI(), boss_azgalor::boss_azgalorAI::UpdateAI(), boss_rage_winterchill::boss_rage_winterchillAI::UpdateAI(), npc_giant_infernal::npc_giant_infernalAI::UpdateAI(), npc_abomination::npc_abominationAI::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(), boss_onyxia::UpdateAI(), npc_belnistrasz::npc_belnistraszAI::UpdateAI(), boss_buru::UpdateAI(), boss_kurinnaxx::UpdateAI(), boss_ossirian::UpdateAI(), boss_huhuran::UpdateAI(), boss_sartura::UpdateAI(), npc_sartura_royal_guard::UpdateAI(), boss_skeram::UpdateAI(), npc_death_ravager::npc_death_ravagerAI::UpdateAI(), npc_tiger_matriarch::npc_tiger_matriarchAI::UpdateAI(), npc_omen::npc_omenAI::UpdateAI(), npc_aquementas::npc_aquementasAI::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(), boss_volazj::UpdateAI(), boss_sartharion::boss_sartharionAI::UpdateAI(), npc_twilight_summon::npc_twilight_summonAI::UpdateAI(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::UpdateAI(), boss_lord_marrowgar::UpdateAI(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::UpdateAI(), npc_crok_scourgebane::npc_crok_scourgebaneAI::UpdateAI(), npc_captain_arnath::npc_captain_arnathAI::UpdateAI(), npc_captain_brandon::npc_captain_brandonAI::UpdateAI(), npc_captain_grondel::npc_captain_grondelAI::UpdateAI(), boss_archavon::boss_archavonAI::UpdateAI(), npc_beryl_sorcerer::npc_beryl_sorcererAI::UpdateAI(), npc_counselor_talbot::npc_counselor_talbotAI::UpdateAI(), npc_torturer_lecraft::npc_torturer_lecraftAI::UpdateAI(), npc_venture_co_straggler::npc_venture_co_stragglerAI::UpdateAI(), npc_yor::npc_yorAI::UpdateAI(), boss_doomlord_kazzak::boss_doomlordkazzakAI::UpdateAI(), boss_doomwalker::boss_doomwalkerAI::UpdateAI(), npc_nether_drake::npc_nether_drakeAI::UpdateAI(), npc_aeranas::npc_aeranasAI::UpdateAI(), npc_maghar_captive::npc_maghar_captiveAI::UpdateAI(), socrethar::socretharAI::UpdateAI(), npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI::UpdateAI(), npc_dragonmaw_peon::npc_dragonmaw_peonAI::UpdateAI(), npc_torloth_the_magnificent::npc_torloth_the_magnificentAI::UpdateAI(), npc_illidari_spawn::npc_illidari_spawnAI::UpdateAI(), npc_raliq_the_drunk::npc_raliq_the_drunkAI::UpdateAI(), npc_salsalabim::npc_salsalabimAI::UpdateAI(), npc_floon::npc_floonAI::UpdateAI(), npc_cooshcoosh::npc_cooshcooshAI::UpdateAI(), npc_pet_hunter_snake_trap::UpdateAI(), npc_pet_shaman_earth_elemental::UpdateAI(), npc_general_andorov::UpdateEscortAI(), npc_onyx_flamecaller::npc_onyx_flamecallerAI::UpdateEscortAI(), and npc_kurenai_captive::npc_kurenai_captiveAI::UpdateEscortAI().

◆ DoGetSpellMaxRange()

float UnitAI::DoGetSpellMaxRange ( uint32  spellId,
bool  positive = false 
)
122{
123 SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId);
124 return spellInfo ? spellInfo->GetMaxRange(positive) : 0;
125}
float GetMaxRange(bool positive=false, Unit *caster=nullptr, Spell *spell=nullptr) const
Definition: SpellInfo.cpp:2303

References SpellInfo::GetMaxRange(), and sSpellMgr.

◆ DoMeleeAttackIfReady()

void UnitAI::DoMeleeAttackIfReady ( )
41{
43 return;
44
45 Unit* victim = me->GetVictim();
46 if (!victim || !victim->IsInWorld())
47 return;
48
49 if (!me->IsWithinMeleeRange(victim))
50 return;
51
52 //Make sure our attack is ready and we aren't currently casting before checking distance
53 if (me->isAttackReady())
54 {
55 // xinef: prevent base and off attack in same time, delay attack at 0.2 sec
56 if (me->haveOffhandWeapon())
59
60 me->AttackerStateUpdate(victim);
62 }
63
65 {
66 // xinef: delay main hand attack if both will hit at the same time (players code)
69
72 }
73}
@ OFF_ATTACK
Definition: Unit.h:397
@ BASE_ATTACK
Definition: Unit.h:396
#define ATTACK_DISPLAY_DELAY
Definition: Unit.h:1238
bool IsInWorld() const
Definition: Object.h:101
bool haveOffhandWeapon() const
Definition: Unit.cpp:670
void setAttackTimer(WeaponAttackType type, int32 time)
Definition: Unit.h:1340
bool IsWithinMeleeRange(Unit const *obj, float dist=0.f) const
Definition: Unit.cpp:864
void AttackerStateUpdate(Unit *victim, WeaponAttackType attType=BASE_ATTACK, bool extra=false, bool ignoreCasting=false)
Definition: Unit.cpp:2930
int32 getAttackTimer(WeaponAttackType type) const
Definition: Unit.h:1342
bool isAttackReady(WeaponAttackType type=BASE_ATTACK) const
Definition: Unit.h:1343
void resetAttackTimer(WeaponAttackType type=BASE_ATTACK)
Definition: Unit.cpp:826

References ATTACK_DISPLAY_DELAY, Unit::AttackerStateUpdate(), BASE_ATTACK, Unit::getAttackTimer(), Unit::GetVictim(), Unit::HasUnitState(), Unit::haveOffhandWeapon(), Unit::isAttackReady(), Object::IsInWorld(), Unit::IsWithinMeleeRange(), me, OFF_ATTACK, Unit::resetAttackTimer(), Unit::setAttackTimer(), and UNIT_STATE_CASTING.

Referenced by PetAI::_doMeleeAttack(), boss_twin_valkyrAI::myDoMeleeAttackIfReady(), npc_razzashi_cobra_venoxis::npc_razzashi_cobra_venoxis_AI::UpdateAI(), boss_sartharion_dragonAI::UpdateAI(), CombatAI::UpdateAI(), ArcherAI::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_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(), 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_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_scarlet_ghoul::npc_scarlet_ghoulAI::UpdateAI(), npc_unworthy_initiate::npc_unworthy_initiateAI::UpdateAI(), npc_scarlet_courier::npc_scarlet_courierAI::UpdateAI(), npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI::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_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(), npc_jaina_proudmoore_bfu::npc_jaina_proudmoore_bfuAI::UpdateAI(), boss_blight_worm::boss_blight_wormAI::UpdateAI(), npc_thrall_bfu::npc_thrall_bfuAI::UpdateAI(), npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_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_janalai::boss_janalaiAI::UpdateAI(), npc_janalai_hatchling::npc_janalai_hatchlingAI::UpdateAI(), boss_nalorakk::boss_nalorakkAI::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(), boss_jindo::UpdateAI(), npc_healing_ward::UpdateAI(), npc_shade_of_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_coren_direbrew_sisters::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(), 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(), npc_arthas::npc_arthasAI::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(), npc_claw_tentacle::UpdateAI(), boss_fankriss::UpdateAI(), boss_huhuran::UpdateAI(), boss_ouro::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_obsidian_eradicator::UpdateAI(), npc_anubisath_warder::UpdateAI(), npc_obsidian_nullifier::UpdateAI(), npc_muglash::npc_muglashAI::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_sergeant_bly::npc_sergeant_blyAI::UpdateAI(), npc_weegli_blastfuse::npc_weegli_blastfuseAI::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(), 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_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(), npc_snobold_vassal::npc_snobold_vassalAI::UpdateAI(), boss_gormok::boss_gormokAI::UpdateAI(), boss_jormungarAI::UpdateAI(), boss_icehowl::boss_icehowlAI::UpdateAI(), boss_dred::boss_dredAI::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(), 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_taldaram_icc::boss_prince_taldaramAI::UpdateAI(), boss_prince_valanar_icc::boss_prince_valanarAI::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(), 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(), npc_putricide_oozeAI::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_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_gluth::boss_gluthAI::UpdateAI(), boss_gothik::boss_gothikAI::UpdateAI(), npc_boss_gothik_minion::npc_boss_gothik_minionAI::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(), 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(), 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_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(), npc_ulduar_leviathan_mkii::npc_ulduar_leviathan_mkiiAI::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_beryl_sorcerer::npc_beryl_sorcererAI::UpdateAI(), npc_imprisoned_beryl_sorcerer::npc_imprisoned_beryl_sorcererAI::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_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI::UpdateAI(), npc_torturer_lecraft::npc_torturer_lecraftAI::UpdateAI(), npc_wounded_skirmisher::UpdateAI(), npc_venture_co_straggler::npc_venture_co_stragglerAI::UpdateAI(), npc_your_inner_turmoil::npc_your_inner_turmoilAI::UpdateAI(), npc_iron_watcher::npc_iron_watcherAI::UpdateAI(), npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI::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_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_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_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_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_torloth_the_magnificent::npc_torloth_the_magnificentAI::UpdateAI(), npc_illidari_spawn::npc_illidari_spawnAI::UpdateAI(), npc_raliq_the_drunk::npc_raliq_the_drunkAI::UpdateAI(), npc_salsalabim::npc_salsalabimAI::UpdateAI(), npc_ishanah::ishanahAI::UpdateAI(), npc_unkor_the_ruthless::npc_unkor_the_ruthlessAI::UpdateAI(), npc_floon::npc_floonAI::UpdateAI(), npc_cooshcoosh::npc_cooshcooshAI::UpdateAI(), npc_pet_hunter_snake_trap::UpdateAI(), npc_pet_shaman_earth_elemental::UpdateAI(), npc_pet_shaman_fire_elemental::UpdateAI(), emerald_dragonAI::UpdateAI(), guard_shattrath_scryer::guard_shattrath_scryerAI::UpdateAI(), guard_shattrath_aldor::guard_shattrath_aldorAI::UpdateAI(), npc_artorius::npc_artoriusAI::UpdateAI(), npc_simone::npc_simoneAI::UpdateAI(), npc_nelson::npc_nelsonAI::UpdateAI(), npc_franklin::npc_franklinAI::UpdateAI(), npc_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_maxx_a_million_escort::npc_maxx_a_million_escortAI::UpdateAI(), AggressorAI::UpdateAI(), PossessedAI::UpdateAI(), npc_greengill_slave::npc_greengill_slaveAI::UpdateAI(), npc_marzon_silent_blade::npc_marzon_silent_bladeAI::UpdateAI(), boss_hexlord_addAI::UpdateAI(), npc_zelfrax::npc_zelfraxAI::UpdateAI(), npc_enraged_panther::npc_enraged_pantherAI::UpdateAI(), npc_hor_raging_ghoul::npc_hor_raging_ghoulAI::UpdateAI(), npc_centrifuge_construct::npc_centrifuge_constructAI::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_tallhorn_stag::npc_tallhorn_stagAI::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_akama_illidan::npc_akama_illidanAI::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().

◆ DoSpellAttackIfReady()

◆ DoSpellAttackToRandomTargetIfReady()

void UnitAI::DoSpellAttackToRandomTargetIfReady ( uint32  spell,
uint32  threatTablePosition = 0,
float  dist = 0.f,
bool  playerOnly = true 
)
94{
96 return;
97
98 if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spell))
99 {
100 if (Unit* target = SelectTarget(SelectTargetMethod::Random, threatTablePosition, dist, playerOnly))
101 {
102 if (me->IsWithinCombatRange(target, spellInfo->GetMaxRange(false)))
103 {
104 me->CastSpell(target, spell, false);
106 }
107 }
108 }
109}

References Unit::CastSpell(), Unit::HasUnitState(), Unit::isAttackReady(), Unit::IsWithinCombatRange(), me, Unit::resetAttackTimer(), SelectTarget(), sSpellMgr, and UNIT_STATE_CASTING.

Referenced by boss_ouro::DamageTaken().

◆ FillAISpellInfo()

void UnitAI::FillAISpellInfo ( )
static
270{
271 AISpellInfo = new AISpellInfoType[sSpellMgr->GetSpellInfoStoreSize()];
272
274 SpellInfo const* spellInfo;
275
276 for (uint32 i = 0; i < sSpellMgr->GetSpellInfoStoreSize(); ++i, ++AIInfo)
277 {
278 spellInfo = sSpellMgr->GetSpellInfo(i);
279 if (!spellInfo)
280 continue;
281
283 AIInfo->condition = AICOND_DIE;
284 else if (spellInfo->IsPassive() || spellInfo->GetDuration() == -1)
285 AIInfo->condition = AICOND_AGGRO;
286 else
287 AIInfo->condition = AICOND_COMBAT;
288
289 if (AIInfo->cooldown < spellInfo->RecoveryTime)
290 AIInfo->cooldown = spellInfo->RecoveryTime;
291
292 if (!spellInfo->GetMaxRange(false))
294 else
295 {
296 for (uint32 j = 0; j < MAX_SPELL_EFFECTS; ++j)
297 {
298 uint32 targetType = spellInfo->Effects[j].TargetA.GetTarget();
299
300 if (targetType == TARGET_UNIT_TARGET_ENEMY
301 || targetType == TARGET_DEST_TARGET_ENEMY)
303 else if (targetType == TARGET_UNIT_DEST_AREA_ENEMY)
305
306 if (spellInfo->Effects[j].Effect == SPELL_EFFECT_APPLY_AURA)
307 {
308 if (targetType == TARGET_UNIT_TARGET_ENEMY)
310 else if (spellInfo->IsPositive())
312 }
313 }
314 }
315 AIInfo->realCooldown = spellInfo->RecoveryTime + spellInfo->StartRecoveryTime;
316 AIInfo->maxRange = spellInfo->GetMaxRange(false) * 3 / 4;
317 }
318}
std::uint32_t uint32
Definition: Define.h:108
#define UPDATE_TARGET(a)
Definition: UnitAI.cpp:267
@ AICOND_COMBAT
Definition: CreatureAIImpl.h:49
@ AICOND_AGGRO
Definition: CreatureAIImpl.h:48
@ AICOND_DIE
Definition: CreatureAIImpl.h:50
#define MAX_SPELL_EFFECTS
Definition: DBCStructure.h:1596
@ SPELL_EFFECT_APPLY_AURA
Definition: SharedDefines.h:756
@ TARGET_UNIT_DEST_AREA_ENEMY
Definition: SharedDefines.h:1393
@ TARGET_DEST_TARGET_ENEMY
Definition: SharedDefines.h:1429
@ TARGET_UNIT_TARGET_ENEMY
Definition: SharedDefines.h:1387
@ SPELL_ATTR0_ALLOW_CAST_WHILE_DEAD
Definition: SharedDefines.h:377
Definition: CreatureAIImpl.h:56
uint32 realCooldown
Definition: CreatureAIImpl.h:62
uint32 cooldown
Definition: CreatureAIImpl.h:61
float maxRange
Definition: CreatureAIImpl.h:63
AICondition condition
Definition: CreatureAIImpl.h:60
uint32 RecoveryTime
Definition: SpellInfo.h:346
bool IsPassive() const
Definition: SpellInfo.cpp:1081
bool HasAttribute(SpellAttr0 attribute) const
Definition: SpellInfo.h:412
std::array< SpellEffectInfo, MAX_SPELL_EFFECTS > Effects
Definition: SpellInfo.h:391
int32 GetDuration() const
Definition: SpellInfo.cpp:2318
uint32 StartRecoveryTime
Definition: SpellInfo.h:349
bool IsPositive() const
Definition: SpellInfo.cpp:1220

References AICOND_AGGRO, AICOND_COMBAT, AICOND_DIE, AISpellInfo, AITARGET_BUFF, AITARGET_DEBUFF, AITARGET_ENEMY, AITARGET_SELF, AITARGET_VICTIM, AISpellInfoType::condition, AISpellInfoType::cooldown, SpellInfo::Effects, SpellInfo::GetDuration(), SpellInfo::GetMaxRange(), SpellInfo::HasAttribute(), SpellInfo::IsPassive(), SpellInfo::IsPositive(), MAX_SPELL_EFFECTS, AISpellInfoType::maxRange, AISpellInfoType::realCooldown, SpellInfo::RecoveryTime, SPELL_ATTR0_ALLOW_CAST_WHILE_DEAD, SPELL_EFFECT_APPLY_AURA, sSpellMgr, SpellInfo::StartRecoveryTime, TARGET_DEST_TARGET_ENEMY, TARGET_UNIT_DEST_AREA_ENEMY, TARGET_UNIT_TARGET_ENEMY, and UPDATE_TARGET.

Referenced by ScriptMgr::FillSpellSummary().

◆ GetData()

virtual uint32 UnitAI::GetData ( uint32  ) const
inlinevirtual

Reimplemented in npc_death_knight_initiate::npc_death_knight_initiateAI, boss_hadronox::boss_hadronoxAI, boss_krik_thir::boss_krik_thirAI, boss_dred::boss_dredAI, boss_novos::boss_novosAI, boss_slad_ran::boss_slad_ranAI, boss_anomalus::boss_anomalusAI, boss_magus_telestra::boss_magus_telestraAI, npc_captain_saeed::npc_captain_saeedAI, boss_sartharion::boss_sartharionAI, boss_keristrasza::boss_keristraszaAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, npc_gunship::npc_gunshipAI, boss_vezax::boss_vezaxAI, boss_hodir::boss_hodirAI, boss_ignis::boss_ignisAI, boss_mimiron::boss_mimironAI, boss_razorscale::boss_razorscaleAI, npc_ulduar_harpoonfirestate::npc_ulduar_harpoonfirestateAI, SmartAI, boss_algalon_the_observer::boss_algalon_the_observerAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_auriaya::boss_auriayaAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_freya::boss_freyaAI, boss_kologarn::boss_kologarnAI, boss_thorim::boss_thorimAI, boss_xt002::boss_xt002AI, boss_yoggsaron_sara::boss_yoggsaron_saraAI, boss_yoggsaron::boss_yoggsaronAI, boss_yoggsaron_brain::boss_yoggsaron_brainAI, npc_pet_gen_argent_pony_bridle, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_entropius::boss_entropiusAI, npc_general_andorov, boss_elder_nadox, boss_jedoga_shadowseeker, boss_deathbringer_saurfang::boss_deathbringer_saurfangAI, boss_festergut::boss_festergutAI, boss_professor_putricide::boss_professor_putricideAI, boss_sindragosa::boss_sindragosaAI, npc_sindragosa_trash::npc_sindragosa_trashAI, boss_the_lich_king::boss_the_lich_kingAI, boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI, npc_valithria_portal::npc_valithria_portalAI, npc_elder_clearwater::npc_elder_clearwaterAI, npc_wormhole::npc_wormholeAI, npc_hallows_end_soh, boss_gal_darah::boss_gal_darahAI, npc_living_constellation::npc_living_constellationAI, npc_ulduar_vx001::npc_ulduar_vx001AI, and npc_natrualist_bite::npc_natrualist_biteAI.

197{ return 0; }

Referenced by boss_algalon_the_observer::boss_algalon_the_observerAI::CallConstellations(), instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::CallNextRajaxxLeader(), instance_obsidian_sanctum::instance_obsidian_sanctum_InstanceMapScript::CheckAchievementCriteriaMeet(), spell_putricide_mutation_init::spell_putricide_mutation_init_SpellScript::CheckRequirementInternal(), spell_putricide_unstable_experiment::spell_putricide_unstable_experiment_SpellScript::HandleScript(), spell_putricide_mutated_transformation::spell_putricide_mutated_transformation_SpellScript::HandleSummon(), npc_risen_guardian::npc_risen_guardianAI::IsSummonedBy(), achievement_respect_your_elders::OnCheck(), achievement_hadronox_denied::OnCheck(), achievement_watch_him_die::OnCheck(), achievement_better_off_dred::OnCheck(), achievement_oh_novos::OnCheck(), achievement_share_the_love::OnCheck(), achievement_snakes_whyd_it_have_to_be_snakes::OnCheck(), achievement_flu_shot_shortage::OnCheck(), achievement_im_on_a_boat::OnCheck(), achievement_all_you_can_eat::OnCheck(), achievement_been_waiting_long_time::OnCheck(), achievement_neck_deep_in_vile::OnCheck(), achievement_portal_jockey::OnCheck(), achievement_chaos_theory::OnCheck(), achievement_split_personality::OnCheck(), achievement_algalon_he_feeds_on_your_tears::OnCheck(), achievement_algalon_herald_of_the_titans::OnCheck(), achievement_flame_leviathan_towers::OnCheck(), achievement_flame_leviathan_shutout::OnCheck(), achievement_freya_getting_back_to_nature::OnCheck(), achievement_freya_knock_on_wood::OnCheck(), achievement_smell_saronite::OnCheck(), achievement_shadowdodger::OnCheck(), achievement_cheese_the_freeze::OnCheck(), achievement_getting_cold_in_here::OnCheck(), achievement_i_could_say_that_this_cache_was_rare::OnCheck(), achievement_i_have_the_coolest_friends::OnCheck(), achievement_ignis_shattered::OnCheck(), achievement_mimiron_firefighter::OnCheck(), achievement_mimiron_set_up_us_the_bomb_11::OnCheck(), achievement_mimiron_set_up_us_the_bomb_12::OnCheck(), achievement_mimiron_set_up_us_the_bomb_13::OnCheck(), achievement_quick_shave::OnCheck(), achievement_yogg_saron_drive_me_crazy::OnCheck(), achievement_yogg_saron_kiss_and_make_up::OnCheck(), achievement_intense_cold::OnCheck(), npc_pet_gen_argent_pony_bridle::OnGossipHello(), npc_highlord_darion_mograine::OnGossipHello(), npc_captain_saeed::OnGossipHello(), npc_natrualist_bite::OnGossipHello(), npc_elder_clearwater::OnGossipHello(), npc_wormhole::OnGossipHello(), npc_death_knight_initiate::OnGossipSelect(), npc_natrualist_bite::OnGossipSelect(), npc_elder_clearwater::OnQuestReward(), instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::OnUnitDeath(), OrderWhelpTargetSelector::operator()(), boss_valithria_dreamwalker::boss_valithria_dreamwalkerAI::SummonedCreatureDespawn(), and npc_ulduar_flames_initial::npc_ulduar_flames_initialAI::UpdateAI().

◆ GetDebugInfo()

std::string UnitAI::GetDebugInfo ( ) const
virtual
128{
129 std::stringstream sstr;
130 sstr << std::boolalpha
131 << "Me: " << (me ? me->GetDebugInfo() : "NULL");
132 return sstr.str();
133}
std::string GetDebugInfo() const override
Definition: Unit.cpp:22155

References Unit::GetDebugInfo(), and me.

◆ GetGUID()

◆ HealDone()

virtual void UnitAI::HealDone ( Unit ,
uint32  
)
inlinevirtual
316{}

Referenced by Unit::DealHeal().

◆ HealReceived()

virtual void UnitAI::HealReceived ( Unit ,
uint32  
)
inlinevirtual

◆ InitializeAI()

virtual void UnitAI::InitializeAI ( )
inlinevirtual

Reimplemented in CombatAI, CasterAI, SmartAI, npc_rookery_hatcher::npc_rookery_hatcherAI, boss_solakar_flamewreath::boss_solakar_flamewreathAI, boss_urok_doomhowl::boss_urok_doomhowlAI, boss_majordomo::boss_majordomoAI, boss_moroes::boss_moroesAI, boss_felblood_kaelthas::boss_felblood_kaelthasAI, boss_priestess_delrissa::boss_priestess_delrissaAI, npc_eye_of_acherus, npc_scarlet_ghoul::npc_scarlet_ghoulAI, boss_kiljaeden::boss_kiljaedenAI, boss_twilight_corrupter, npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_bfuAI, 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, boss_kurinnaxx, boss_moam, boss_ossirian, npc_general_andorov, boss_sartura, boss_glob_of_viscidus, npc_toxic_slime, npc_cork_gizelton::npc_cork_gizeltonAI, npc_troll_volunteer::npc_troll_volunteerAI, npc_shay_leafrunner::npc_shay_leafrunnerAI, npc_sergeant_bly::npc_sergeant_blyAI, npc_weegli_blastfuse::npc_weegli_blastfuseAI, boss_volazj, boss_taldaram, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_eck::boss_eckAI, 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, npc_spinestalker::npc_spinestalkerAI, npc_rimefang::npc_rimefangAI, npc_sindragosa_trash::npc_sindragosa_trashAI, boss_sapphiron::boss_sapphironAI, boss_malygos::boss_malygosAI, boss_flame_leviathan::boss_flame_leviathanAI, npc_ulduar_mimiron_rocket::npc_ulduar_mimiron_rocketAI, boss_razorscale::boss_razorscaleAI, npc_preparations_for_war_vehicle, npc_hourglass_of_eternity::npc_hourglass_of_eternityAI, npc_lord_arete::npc_lord_areteAI, npc_bushwhacker::npc_bushwhackerAI, boss_leotheras_the_blind::boss_leotheras_the_blindAI, boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI, npc_millhouse_manastorm::npc_millhouse_manastormAI, boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI, npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI, npc_pet_dk_army_of_the_dead::npc_pet_dk_army_of_the_deadAI, npc_pet_dk_dancing_rune_weapon::npc_pet_dk_dancing_rune_weaponAI, npc_pet_gen_valkyr_guardian, npc_pet_gen_imp_in_a_bottle, npc_pet_mage_mirror_image, npc_pet_pri_lightwell, npc_pet_shaman_earth_elemental, npc_pet_shaman_fire_elemental, npc_precious::npc_preciousAI, and npc_wormhole::npc_wormholeAI.

188{ if (!me->isDead()) Reset(); }
virtual void Reset()
Definition: UnitAI.h:190
bool isDead() const
Definition: Unit.h:2026

References Unit::isDead(), me, and Reset().

Referenced by Creature::AIM_Initialize(), CombatAI::InitializeAI(), npc_rookery_hatcher::npc_rookery_hatcherAI::InitializeAI(), boss_solakar_flamewreath::boss_solakar_flamewreathAI::InitializeAI(), boss_urok_doomhowl::boss_urok_doomhowlAI::InitializeAI(), boss_majordomo::boss_majordomoAI::InitializeAI(), boss_moroes::boss_moroesAI::InitializeAI(), boss_felblood_kaelthas::boss_felblood_kaelthasAI::InitializeAI(), boss_priestess_delrissa::boss_priestess_delrissaAI::InitializeAI(), npc_scarlet_ghoul::npc_scarlet_ghoulAI::InitializeAI(), boss_kiljaeden::boss_kiljaedenAI::InitializeAI(), boss_twilight_corrupter::InitializeAI(), boss_captain_skarloc::boss_captain_skarlocAI::InitializeAI(), boss_lieutenant_drake::boss_lieutenant_drakeAI::InitializeAI(), boss_aeonus::boss_aeonusAI::InitializeAI(), boss_chrono_lord_deja::boss_chrono_lord_dejaAI::InitializeAI(), boss_temporus::boss_temporusAI::InitializeAI(), npc_cork_gizelton::npc_cork_gizeltonAI::InitializeAI(), boss_volazj::InitializeAI(), boss_taldaram::InitializeAI(), boss_baltharus_the_warborn::boss_baltharus_the_warbornAI::InitializeAI(), boss_drakkari_colossus::boss_drakkari_colossusAI::InitializeAI(), boss_eck::boss_eckAI::InitializeAI(), boss_gal_darah::boss_gal_darahAI::InitializeAI(), boss_prince_keleseth_icc::boss_prince_kelesethAI::InitializeAI(), boss_prince_taldaram_icc::boss_prince_taldaramAI::InitializeAI(), boss_prince_valanar_icc::boss_prince_valanarAI::InitializeAI(), boss_sapphiron::boss_sapphironAI::InitializeAI(), boss_flame_leviathan::boss_flame_leviathanAI::InitializeAI(), npc_preparations_for_war_vehicle::InitializeAI(), boss_leotheras_the_blind::boss_leotheras_the_blindAI::InitializeAI(), boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI::InitializeAI(), npc_millhouse_manastorm::npc_millhouse_manastormAI::InitializeAI(), boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI::InitializeAI(), boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI::InitializeAI(), boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI::InitializeAI(), npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI::InitializeAI(), npc_pet_dk_dancing_rune_weapon::npc_pet_dk_dancing_rune_weaponAI::InitializeAI(), npc_pet_gen_imp_in_a_bottle::InitializeAI(), and npc_pet_pri_lightwell::InitializeAI().

◆ OnCharmed()

◆ Reset()

virtual void UnitAI::Reset ( )
inlinevirtual

Reimplemented in npc_razzashi_cobra_venoxis::npc_razzashi_cobra_venoxis_AI, CombatAI, GuardAI, ScriptedAI, BossAI, WorldBossAI, npc_av_marshal_or_warmaster::npc_av_marshal_or_warmasterAI, npc_water_elemental::npc_water_elementalAI, boss_balinda::boss_balindaAI, boss_drekthar::boss_drektharAI, boss_galvangar::boss_galvangarAI, boss_vanndar::boss_vanndarAI, npc_grimstone::npc_grimstoneAI, npc_phalanx::npc_phalanxAI, npc_rocknot::npc_rocknotAI, boss_ambassador_flamelash::boss_ambassador_flamelashAI, boss_general_angerforge::boss_general_angerforgeAI, boss_high_interrogator_gerstahn::boss_high_interrogator_gerstahnAI, boss_magmus::boss_magmusAI, boss_doomrel::boss_doomrelAI, boss_gyth::boss_gythAI, boss_halycon::boss_halyconAI, boss_highlord_omokk::boss_highlordomokkAI, boss_lord_valthalak::boss_lord_valthalakAI, 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_the_beast::boss_thebeastAI, boss_chromaggus::boss_chromaggusAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_nefarian, npc_corrupted_totem, boss_razorgore::boss_razorgoreAI, boss_vaelastrasz::boss_vaelAI, boss_baron_geddon::boss_baron_geddonAI, boss_garr::boss_garrAI, boss_golemagg::boss_golemaggAI, npc_core_rager::npc_core_ragerAI, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, npc_flamewaker_priest::npc_flamewaker_priestAI, npc_mc_core_hound::npc_mc_core_houndAI, npc_lava_spawn, boss_mr_smite::boss_mr_smiteAI, 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_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_portal::npc_fiendish_portalAI, 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_priestess_lackey_commonAI, boss_garaxxas::boss_garaxxasAI, boss_selin_fireheart::boss_selin_fireheartAI, boss_vexallus::boss_vexallusAI, npc_death_knight_initiate::npc_death_knight_initiateAI, npc_unworthy_initiate::npc_unworthy_initiateAI, npc_scarlet_miner::npc_scarlet_minerAI, npc_crusade_persuaded::npc_crusade_persuadedAI, npc_koltira_deathweaver::npc_koltira_deathweaverAI, npc_scarlet_courier::npc_scarlet_courierAI, npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI, npc_a_special_surprise::npc_a_special_surpriseAI, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, npc_valkyr_battle_maiden::npc_valkyr_battle_maidenAI, npc_scarlet_guard::npc_scarlet_guardAI, npc_mograine::npc_mograineAI, boss_high_inquisitor_whitemane::boss_high_inquisitor_whitemaneAI, npc_fairbanks::npc_fairbanksAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_kormok, boss_apothecary_hummel::boss_apothecary_hummelAI, npc_apothecary_baxter, boss_baroness_anastari::boss_baroness_anastariAI, boss_jarien, boss_sothos, boss_brutallus::boss_brutallusAI, boss_sacrolash::boss_sacrolashAI, boss_alythess::boss_alythessAI, boss_felmyst::boss_felmystAI, npc_demonic_vapor::npc_demonic_vaporAI, npc_demonic_vapor_trail::npc_demonic_vapor_trailAI, boss_kalecgos::boss_kalecgosAI, boss_kalec::boss_kalecAI, boss_sathrovarr::boss_sathrovarrAI, npc_kiljaeden_controller::npc_kiljaeden_controllerAI, boss_kiljaeden::boss_kiljaedenAI, npc_kalecgos_kj::npc_kalecgos_kjAI, boss_muru::boss_muruAI, boss_entropius::boss_entropiusAI, npc_singularity::npc_singularityAI, boss_twilight_corrupter, npc_eris_hevenfire::npc_eris_hevenfireAI, npc_supervisor_raelen, npc_eastvale_peasent, npc_partygoer_pather, npc_partygoer, npc_ranger_lilatha, npc_sentinel_leader, npc_sentinel_infiltrator, npc_rinji::npc_rinjiAI, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, npc_corporal_keeshan::npc_corporal_keeshanAI, npc_deathstalker_erland::npc_deathstalker_erlandAI, pyrewood_ambush::pyrewood_ambushAI, npc_bartleby::npc_bartlebyAI, npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, npc_marzon_silent_blade::npc_marzon_silent_bladeAI, npc_tyrion_spybot::npc_tyrion_spybotAI, 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_varian_wrynn::npc_varian_wrynnAI, npc_jaina_proudmoore_bfu::npc_jaina_proudmoore_bfuAI, boss_blight_worm::boss_blight_wormAI, npc_thrall_bfu::npc_thrall_bfuAI, npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_bfuAI, npc_the_scourge_cauldron::npc_the_scourge_cauldronAI, npc_daphne_stilwell::npc_daphne_stilwellAI, 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_thurg::boss_thurgAI, boss_alyson_antille::boss_alyson_antilleAI, boss_gazakrothAI, boss_lord_raadan::boss_lord_raadanAI, boss_darkheart::boss_darkheartAI, boss_slither::boss_slitherAI, boss_fenstalker::boss_fenstalkerAI, boss_koragg::boss_koraggAI, boss_janalai::boss_janalaiAI, npc_janalai_firebomb::npc_janalai_firebombAI, npc_janalai_hatcher::npc_janalai_hatcherAI, npc_janalai_hatchling::npc_janalai_hatchlingAI, npc_janalai_egg::npc_janalai_eggAI, 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_jeklik, npc_batrider, npc_healing_ward, npc_shade_of_jindo, boss_mandokir::boss_mandokirAI, npc_ohgan::npc_ohganAI, npc_chained_spirit, npc_vilebranch_speaker, boss_marli, 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, npc_dark_iron_attack_generator, npc_dark_iron_attack_mole_machine, npc_dark_iron_guzzler, npc_brewfest_super_brew_trigger, npc_brew_bubble, npc_coren_direbrew, npc_direbrew_minion, 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_costumed_orphan_matron, npc_soh_fire_trigger, npc_hallows_end_soh, npc_hallows_end_train_fire, boss_headless_horseman, boss_headless_horseman_head, boss_headless_horseman_pumpkin, npc_love_in_air_snivel, 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, npc_gargoyle::npc_gargoyleAI, 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, npc_cos_stratholme_citizien::npc_cos_stratholme_citizienAI, 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, npc_taretha::npc_tarethaAI, boss_aeonus::boss_aeonusAI, boss_chrono_lord_deja::boss_chrono_lord_dejaAI, boss_temporus::boss_temporusAI, npc_medivh_bm::npc_medivh_bmAI, npc_time_rift::npc_time_riftAI, boss_isalien, boss_onyxia, npc_belnistrasz::npc_belnistraszAI, boss_ayamiss, boss_kurinnaxx, boss_moam, boss_ossirian, npc_anubisath_guardian, npc_hivezara_stinger, npc_obsidian_destroyer, boss_bug_trio, boss_eye_of_cthun, boss_cthun, npc_eye_tentacle, npc_claw_tentacle, npc_giant_claw_tentacle, npc_giant_eye_tentacle, boss_fankriss, boss_huhuran, npc_ouro_spawner, boss_ouro, npc_dirt_mound, boss_sartura, npc_sartura_royal_guard, boss_skeram, boss_viscidus, npc_anubisath_sentinel::aqsentinelAI, npc_anubisath_defender, npc_vekniss_stinger, 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_magwin::npc_magwinAI, npc_death_ravager::npc_death_ravagerAI, npc_stillpine_capitive::npc_stillpine_capitiveAI, npc_webbed_creature::npc_webbed_creatureAI, npc_murkdeep::npc_murkdeepAI, npc_kerlonian::npc_kerlonianAI, npc_prospector_remtravel::npc_prospector_remtravelAI, npc_rabid_thistle_bear::npc_rabid_thistle_bearAI, npc_tharnarian::npc_tharnarianAI, npc_troll_volunteer::npc_troll_volunteerAI, npc_clintar_spirit::npc_clintar_spiritAI, npc_giant_spotlight::npc_giant_spotlightAI, npc_shenthul::npc_shenthulAI, npc_thrall_warchief::npc_thrall_warchiefAI, npc_anachronos_the_ancient::npc_anachronos_the_ancientAI, npc_qiraj_war_spawn::npc_qiraj_war_spawnAI, npc_anachronos_quest_trigger::npc_anachronos_quest_triggerAI, npc_kaya_flathoof::npc_kaya_flathoofAI, npc_aquementas::npc_aquementasAI, npc_custodian_of_time::npc_custodian_of_timeAI, npc_tooga::npc_toogaAI, npc_gilthares::npc_giltharesAI, npc_taskmaster_fizzule::npc_taskmaster_fizzuleAI, npc_twiggy_flathead::npc_twiggy_flatheadAI, npc_wizzlecrank_shredder::npc_wizzlecrank_shredderAI, npc_lakota_windsong::npc_lakota_windsongAI, npc_paoka_swiftmountain::npc_paoka_swiftmountainAI, npc_plucky::npc_pluckyAI, npc_enraged_panther::npc_enraged_pantherAI, npc_cairne_bloodhoof::npc_cairne_bloodhoofAI, npc_ame::npc_ameAI, npc_ringo::npc_ringoAI, npc_ranshalla::npc_ranshallaAI, npc_sergeant_bly::npc_sergeant_blyAI, npc_weegli_blastfuse::npc_weegli_blastfuseAI, npc_shadowpriest_sezziz::npc_shadowpriest_sezzizAI, boss_amanitar, npc_amanitar_mushrooms, boss_elder_nadox, npc_ahnkahar_nerubian, 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, boss_krik_thir::boss_krik_thirAI, boss_sartharion::boss_sartharionAI, boss_sartharion_dragonAI, boss_sartharion_tenebron::boss_sartharion_tenebronAI, boss_sartharion_shadron::boss_sartharion_shadronAI, boss_sartharion_vesperon::boss_sartharion_vesperonAI, npc_twilight_summon::npc_twilight_summonAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, npc_xerestrasza::npc_xerestraszaAI, boss_general_zarithrian::boss_general_zarithrianAI, npc_onyx_flamecaller::npc_onyx_flamecallerAI, boss_halion::boss_halionAI, boss_twilight_halion::boss_twilight_halionAI, npc_halion_controller::npc_halion_controllerAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_eadric::boss_eadricAI, boss_paletress::boss_paletressAI, npc_memory::npc_memoryAI, npc_argent_soldier::npc_argent_soldierAI, boss_black_knight::boss_black_knightAI, npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI, 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, npc_announcer_toc5::npc_announcer_toc5AI, boss_anubarak_trial::boss_anubarak_trialAI, npc_swarm_scarab::npc_swarm_scarabAI, npc_nerubian_burrower::npc_nerubian_burrowerAI, npc_anubarak_spike::npc_anubarak_spikeAI, 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_dred::boss_dredAI, boss_novos::boss_novosAI, boss_tharon_ja::boss_tharon_jaAI, boss_trollgore::boss_trollgoreAI, boss_bronjahm::boss_bronjahmAI, npc_fos_corrupted_soul_fragment::npc_fos_corrupted_soul_fragmentAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, npc_fos_leader::npc_fos_leaderAI, boss_falric::boss_falricAI, boss_marwyn::boss_marwynAI, npc_hor_leader::npc_hor_leaderAI, 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_lich_king::npc_hor_lich_kingAI, npc_hor_leader_second::npc_hor_leader_secondAI, 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, npc_pos_leader::npc_pos_leaderAI, npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI, npc_pos_after_first_boss::npc_pos_after_first_bossAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_drakkari_elemental::boss_drakkari_elementalAI, npc_living_mojo::npc_living_mojoAI, 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, npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI, npc_dark_nucleus::npc_dark_nucleusAI, npc_kinetic_bomb::npc_kinetic_bombAI, 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, boss_festergut::boss_festergutAI, npc_stinky_icc::npc_stinky_iccAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, npc_cult_fanatic::npc_cult_fanaticAI, npc_cult_adherent::npc_cult_adherentAI, npc_vengeful_shade::npc_vengeful_shadeAI, npc_darnavan::npc_darnavanAI, boss_lord_marrowgar, boss_professor_putricide::boss_professor_putricideAI, boss_rotface::boss_rotfaceAI, npc_precious_icc::npc_precious_iccAI, boss_sindragosa::boss_sindragosaAI, npc_spinestalker::npc_spinestalkerAI, npc_rimefang::npc_rimefangAI, npc_sindragosa_trash::npc_sindragosa_trashAI, boss_the_lich_king::boss_the_lich_kingAI, npc_tirion_fordring_tft::npc_tirion_fordringAI, npc_shambling_horror_icc::npc_shambling_horror_iccAI, npc_raging_spirit::npc_raging_spiritAI, npc_spirit_warden::npc_spirit_wardenAI, npc_lk_wicked_spirit::npc_lk_wicked_spiritAI, 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_risen_archmage::npc_risen_archmageAI, npc_valithria_cloud::npc_valithria_cloudAI, npc_blazing_skeleton::npc_blazing_skeletonAI, npc_gluttonous_abomination::npc_gluttonous_abominationAI, npc_highlord_tirion_fordring_lh::npc_highlord_tirion_fordringAI, npc_rotting_frost_giant::npc_rotting_frost_giantAI, npc_crok_scourgebane::npc_crok_scourgebaneAI, boss_sister_svalna::boss_sister_svalnaAI, npc_argent_captainAI, npc_captain_arnath::npc_captain_arnathAI, npc_captain_brandon::npc_captain_brandonAI, npc_captain_grondel::npc_captain_grondelAI, npc_captain_rupert::npc_captain_rupertAI, npc_frostwing_vrykul::npc_frostwing_vrykulAI, npc_impaling_spear::npc_impaling_spearAI, npc_arthas_teleport_visual::npc_arthas_teleport_visualAI, npc_icc_skybreaker_hierophant::npc_icc_skybreaker_hierophantAI, npc_icc_skybreaker_marksman::npc_icc_skybreaker_marksmanAI, npc_icc_skybreaker_vicar::npc_icc_skybreaker_vicarAI, npc_icc_skybreaker_luminary::npc_icc_skybreaker_luminaryAI, npc_icc_valkyr_herald::npc_icc_valkyr_heraldAI, npc_icc_spire_frostwyrm::npc_icc_spire_frostwyrmAI, 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_isle_of_conquest::boss_isle_of_conquestAI, boss_anubrekhan::boss_anubrekhanAI, 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_malygos::boss_malygosAI, boss_anomalus::boss_anomalusAI, boss_commander_stoutbeard::boss_commander_stoutbeardAI, boss_keristrasza::boss_keristraszaAI, boss_magus_telestra::boss_magus_telestraAI, boss_ormorok::boss_ormorokAI, npc_crystal_spike::npc_crystal_spikeAI, npc_crystalline_frayer::npc_crystalline_frayerAI, 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_centrifuge_construct::npc_centrifuge_constructAI, boss_bjarngrim::boss_bjarngrimAI, npc_stormforged_lieutenant::npc_stormforged_lieutenantAI, boss_ionar::boss_ionarAI, npc_spark_of_ionar::npc_spark_of_ionarAI, boss_loken::boss_lokenAI, boss_volkhan::boss_volkhanAI, npc_molten_golem::npc_molten_golemAI, 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, brann_bronzebeard::brann_bronzebeardAI, 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, npc_living_constellation::npc_living_constellationAI, npc_algalon_worm_hole::npc_algalon_worm_holeAI, boss_steelbreaker::boss_steelbreakerAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, npc_assembly_lightning::npc_assembly_lightningAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_auriaya::boss_auriayaAI, npc_auriaya_sanctum_sentry::npc_auriaya_sanctum_sentryAI, npc_auriaya_feral_defender::npc_auriaya_feral_defenderAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_flame_leviathan_seat::boss_flame_leviathan_seatAI, npc_freya_ward::npc_freya_wardAI, npc_hodirs_fury::npc_hodirs_furyAI, npc_mimirons_inferno::npc_mimirons_infernoAI, npc_thorims_hammer::npc_thorims_hammerAI, npc_brann_radio::npc_brann_radioAI, npc_mechanolift::npc_mechanoliftAI, 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_lifebinder::boss_freya_lifebinderAI, boss_freya_healthy_spore::boss_freya_healthy_sporeAI, boss_freya_summons::boss_freya_summonsAI, boss_freya_nature_bomb::boss_freya_nature_bombAI, boss_vezax::boss_vezaxAI, boss_hodir::boss_hodirAI, npc_ulduar_iron_construct::npc_ulduar_iron_constructAI, boss_ignis::boss_ignisAI, boss_kologarn::boss_kologarnAI, 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_mimiron_rocket::npc_ulduar_mimiron_rocketAI, npc_ulduar_bot_summon_trigger::npc_ulduar_bot_summon_triggerAI, boss_razorscale::boss_razorscaleAI, npc_ulduar_harpoonfirestate::npc_ulduar_harpoonfirestateAI, npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI, npc_ulduar_dark_rune_guardian::npc_ulduar_dark_rune_guardianAI, npc_ulduar_dark_rune_watcher::npc_ulduar_dark_rune_watcherAI, npc_ulduar_dark_rune_sentinel::npc_ulduar_dark_rune_sentinelAI, boss_thorim::boss_thorimAI, boss_thorim_sif::boss_thorim_sifAI, boss_thorim_lightning_orb::boss_thorim_lightning_orbAI, boss_thorim_trap::boss_thorim_trapAI, boss_thorim_sif_blizzard::boss_thorim_sif_blizzardAI, boss_thorim_pillar::boss_thorim_pillarAI, 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_xt002_scrapbot::npc_xt002_scrapbotAI, npc_xt002_pummeller::npc_xt002_pummellerAI, npc_xt002_boombot::npc_xt002_boombotAI, npc_xt002_life_spark::npc_xt002_life_sparkAI, boss_yoggsaron_sara::boss_yoggsaron_saraAI, boss_yoggsaron_cloud::boss_yoggsaron_cloudAI, boss_yoggsaron_guardian_of_ys::boss_yoggsaron_guardian_of_ysAI, boss_yoggsaron_brain::boss_yoggsaron_brainAI, boss_yoggsaron_crusher_tentacle::boss_yoggsaron_crusher_tentacleAI, boss_yoggsaron_immortal_guardian::boss_yoggsaron_immortal_guardianAI, boss_yoggsaron_lich_king::boss_yoggsaron_lich_kingAI, boss_yoggsaron_llane::boss_yoggsaron_llaneAI, boss_yoggsaron_neltharion::boss_yoggsaron_neltharionAI, boss_yoggsaron_voice::boss_yoggsaron_voiceAI, npc_ulduar_storm_tempered_keeper::npc_ulduar_storm_tempered_keeperAI, npc_ulduar_arachnopod_destroyer::npc_ulduar_arachnopod_destroyerAI, boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI, boss_keleseth::boss_kelesethAI, npc_vrykul_skeleton::npc_vrykul_skeletonAI, boss_skarvald_the_constructor::boss_skarvald_the_constructorAI, boss_dalronn_the_controller::boss_dalronn_the_controllerAI, npc_dragonflayer_forge_master::npc_dragonflayer_forge_masterAI, npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI, 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, npc_frozen_orb_stalker::npc_frozen_orb_stalkerAI, boss_cyanigosa::boss_cyanigosaAI, boss_erekem::boss_erekemAI, npc_erekem_guard::npc_erekem_guardAI, boss_ichoron::boss_ichoronAI, boss_lavanthor::boss_lavanthorAI, boss_moragg::boss_moraggAI, boss_xevozz::boss_xevozzAI, boss_zuramat::boss_zuramatAI, npc_azure_invader::npc_azure_invaderAI, npc_azure_binder::npc_azure_binderAI, npc_azure_mage_slayer::npc_azure_mage_slayerAI, npc_azure_raider::npc_azure_raiderAI, npc_azure_stalker::npc_azure_stalkerAI, npc_azure_spellbreaker::npc_azure_spellbreakerAI, npc_azure_captain::npc_azure_captainAI, npc_azure_sorceror::npc_azure_sorcerorAI, npc_sinkhole_kill_credit::npc_sinkhole_kill_creditAI, npc_lurgglbr::npc_lurgglbrAI, npc_beryl_sorcerer::npc_beryl_sorcererAI, npc_captured_beryl_sorcerer::npc_captured_beryl_sorcererAI, npc_imprisoned_beryl_sorcerer::npc_imprisoned_beryl_sorcererAI, npc_mootoo_the_younger::npc_mootoo_the_youngerAI, npc_bonker_togglevolt::npc_bonker_togglevoltAI, npc_valiance_keep_cannoneer::npc_valiance_keep_cannoneerAI, npc_warmage_coldarra::npc_warmage_coldarraAI, npc_hidden_cultist::npc_hidden_cultistAI, npc_bloodmage_laurith::npc_bloodmage_laurithAI, npc_thassarian::npc_thassarianAI, npc_thassarian2::npc_thassarian2AI, npc_counselor_talbot::npc_counselor_talbotAI, npc_warmage_violetstand, npc_shandy_dalaran::npc_shandy_dalaranAI, npc_mageguard_dalaran::npc_mageguard_dalaranAI, npc_minigob_manabonk::npc_minigob_manabonkAI, npc_dalaran_mage::npc_dalaran_mageAI, npc_dalaran_warrior::npc_dalaran_warriorAI, npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, npc_future_you::npc_future_youAI, npc_injured_7th_legion_soldier::npc_injured_7th_legion_soldierAI, npc_heated_battle::npc_heated_battleAI, npc_q24545_lich_king::npc_q24545_lich_kingAI, npc_q24545_wretched_ghoul::npc_q24545_wretched_ghoulAI, npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI, npc_torturer_lecraft::npc_torturer_lecraftAI, npc_emily::npc_emilyAI, npc_mrfloppy::npc_mrfloppyAI, npc_outhouse_bunny::npc_outhouse_bunnyAI, npc_tallhorn_stag::npc_tallhorn_stagAI, npc_amberpine_woodsman::npc_amberpine_woodsmanAI, npc_wounded_skirmisher, npc_venture_co_straggler::npc_venture_co_stragglerAI, npc_lake_frog::npc_lake_frogAI, npc_your_inner_turmoil::npc_your_inner_turmoilAI, npc_apothecary_hanes::npc_Apothecary_HanesAI, npc_plaguehound_tracker::npc_plaguehound_trackerAI, npc_battle_at_valhalas::npc_battle_at_valhalasAI, npc_llod_generic::npc_llod_genericAI, npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI, npc_tournament_training_dummy::npc_tournament_training_dummyAI, npc_blessed_banner::npc_blessed_bannerAI, npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI, npc_still_at_it_trigger::npc_still_at_it_triggerAI, npc_engineer_helice::npc_engineer_heliceAI, npc_jungle_punch_target::npc_jungle_punch_targetAI, npc_iron_watcher::npc_iron_watcherAI, npc_time_lost_proto_drake::npc_time_lost_proto_drakeAI, npc_wild_wyrm::npc_wild_wyrmAI, npc_brunnhildar_prisoner::npc_brunnhildar_prisonerAI, npc_freed_protodrake::npc_freed_protodrakeAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, npc_drakuru_shackles::npc_drakuru_shacklesAI, npc_captured_rageclaw::npc_captured_rageclawAI, npc_released_offspring_harkoa::npc_released_offspring_harkoaAI, npc_crusade_recruit::npc_crusade_recruitAI, npc_storm_cloud::npc_storm_cloudAI, boss_exarch_maladaar::boss_exarch_maladaarAI, npc_stolen_soul::npc_stolen_soulAI, 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_gurtogg_bloodboil::boss_gurtogg_bloodboilAI, boss_illidan_stormrage::boss_illidan_stormrageAI, npc_akama_illidan::npc_akama_illidanAI, boss_mother_shahraz::boss_shahrazAI, boss_reliquary_of_souls::boss_reliquary_of_soulsAI, 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_shade_of_akama::boss_shade_of_akamaAI, npc_akama_shade::npc_akamaAI, npc_creature_generator_akama::npc_creature_generator_akamaAI, boss_supremus::boss_supremusAI, boss_teron_gorefiend::boss_teron_gorefiendAI, boss_najentus::boss_najentusAI, boss_illidari_council::boss_illidari_councilAI, boss_illidari_council_memberAI, boss_doomlord_kazzak::boss_doomlordkazzakAI, boss_doomwalker::boss_doomwalkerAI, 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_hydromancer_thespia::boss_thespiaAI, boss_mekgineer_steamrigger::boss_mekgineer_steamriggerAI, npc_steamrigger_mechanic::npc_steamrigger_mechanicAI, boss_warlord_kalithresh::boss_warlord_kalithreshAI, npc_naga_distiller::npc_naga_distillerAI, 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_omor_the_unscarred::boss_omor_the_unscarredAI, boss_vazruden_the_herald::boss_vazruden_the_heraldAI, boss_nazan::boss_nazanAI, boss_vazruden::boss_vazrudenAI, boss_watchkeeper_gargolmar::boss_watchkeeper_gargolmarAI, boss_magtheridon::boss_magtheridonAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, 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_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_alar::boss_alarAI, boss_high_astromancer_solarian::boss_high_astromancer_solarianAI, boss_kaelthas::boss_kaelthasAI, boss_void_reaver::boss_void_reaverAI, npc_ragin_flames::npc_ragin_flamesAI, npc_deaths_door_fell_cannon_target_bunny::npc_deaths_door_fell_cannon_target_bunnyAI, npc_deaths_fel_cannon::npc_deaths_fel_cannonAI, npc_nether_drake::npc_nether_drakeAI, npc_daranelle::npc_daranelleAI, npc_oscillating_frequency_scanner_master_bunny::npc_oscillating_frequency_scanner_master_bunnyAI, npc_aeranas::npc_aeranasAI, npc_ancestral_wolf::npc_ancestral_wolfAI, npc_wounded_blood_elf::npc_wounded_blood_elfAI, npc_fel_guard_hound::npc_fel_guard_houndAI, npc_maghar_captive::npc_maghar_captiveAI, npc_creditmarker_visit_with_ancestors::npc_creditmarker_visit_with_ancestorsAI, npc_corki::npc_corkiAI, npc_kurenai_captive::npc_kurenai_captiveAI, socrethar::socretharAI, npc_captain_saeed::npc_captain_saeedAI, npc_commander_dawnforge::npc_commander_dawnforgeAI, npc_phase_hunter::npc_phase_hunterAI, npc_bessy::npc_bessyAI, npc_maxx_a_million_escort::npc_maxx_a_million_escortAI, npc_invis_infernal_caster::npc_invis_infernal_casterAI, npc_infernal_attacker::npc_infernal_attackerAI, npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI, npc_enslaved_netherwing_drake::npc_enslaved_netherwing_drakeAI, npc_dragonmaw_peon::npc_dragonmaw_peonAI, npc_earthmender_wilda::npc_earthmender_wildaAI, 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_shadowmoon_tuber_node::npc_shadowmoon_tuber_nodeAI, npc_raliq_the_drunk::npc_raliq_the_drunkAI, npc_salsalabim::npc_salsalabimAI, npc_kservant::npc_kservantAI, 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_cooshcoosh::npc_cooshcooshAI, npc_kayra_longmane::npc_kayra_longmaneAI, npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI, npc_pet_gen_argent_pony_bridle, npc_pet_gen_gnomish_flame_turret, npc_pet_gen_toxic_wasteling, npc_pet_hunter_snake_trap, npc_pet_mage_mirror_image, npc_pet_pri_shadowfiend, emerald_dragonAI, npc_dream_fog::npc_dream_fogAI, boss_ysondre::boss_ysondreAI, boss_lethon::boss_lethonAI, boss_emeriss::boss_emerissAI, boss_taerar::boss_taerarAI, guard_shattrath_scryer::guard_shattrath_scryerAI, guard_shattrath_aldor::guard_shattrath_aldorAI, generic_creature::generic_creatureAI, npc_artorius::npc_artoriusAI, npc_precious::npc_preciousAI, npc_simone::npc_simoneAI, npc_nelson::npc_nelsonAI, npc_franklin::npc_franklinAI, npc_training_dummy::npc_training_dummyAI, npc_target_dummy::npc_target_dummyAI, npc_air_force_bots::npc_air_force_botsAI, 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_firework::npc_fireworkAI, npc_spring_rabbit::npc_spring_rabbitAI, and npc_arcanite_dragonling.

190{};

Referenced by CreatureAI::EnterEvadeMode(), ValithriaDespawner::Execute(), InitializeAI(), CreatureAI::JustRespawned(), npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI::npc_infra_green_bomber_genericAI(), FrostwingGauntletRespawner::operator()(), ValithriaDespawner::operator()(), npc_time_lost_proto_drake::npc_time_lost_proto_drakeAI::Reset(), npc_pet_pri_shadowfiend::Reset(), Creature::Respawn(), and Creature::RespawnOnEvade().

◆ SelectTarget() [1/2]

template<class PREDICATE >
Unit * UnitAI::SelectTarget ( SelectTargetMethod  targetType,
uint32  position,
PREDICATE const &  predicate 
)
inline
218 {
220 if (position >= threatlist.size())
221 return nullptr;
222
223 std::list<Unit*> targetList;
224 for (ThreatContainer::StorageType::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
225 if (predicate((*itr)->getTarget()))
226 targetList.push_back((*itr)->getTarget());
227
228 if (position >= targetList.size())
229 return nullptr;
230
231 if (targetType == SelectTargetMethod::MaxDistance || targetType == SelectTargetMethod::MinDistance)
232 targetList.sort(Acore::ObjectDistanceOrderPred(me));
233
234 switch (targetType)
235 {
236 case SelectTargetMethod::MaxDistance:
237 case SelectTargetMethod::MaxThreat:
238 {
239 std::list<Unit*>::iterator itr = targetList.begin();
240 std::advance(itr, position);
241 return *itr;
242 }
243 case SelectTargetMethod::MinDistance:
244 case SelectTargetMethod::MinThreat:
245 {
246 std::list<Unit*>::reverse_iterator ritr = targetList.rbegin();
247 std::advance(ritr, position);
248 return *ritr;
249 }
250 case SelectTargetMethod::Random:
251 {
252 std::list<Unit*>::iterator itr = targetList.begin();
253 std::advance(itr, urand(position, targetList.size() - 1));
254 return *itr;
255 }
256 default:
257 break;
258 }
259
260 return nullptr;
261 }
uint32 urand(uint32 min, uint32 max)
Definition: Random.cpp:44
Definition: Object.h:681

References ThreatMgr::GetThreatList(), Unit::GetThreatMgr(), me, and urand().

◆ SelectTarget() [2/2]

Unit * UnitAI::SelectTarget ( SelectTargetMethod  targetType,
uint32  position = 0,
float  dist = 0.0f,
bool  playerOnly = false,
int32  aura = 0 
)
112{
113 return SelectTarget(targetType, position, DefaultTargetSelector(me, dist, playerOnly, aura));
114}

References me, and SelectTarget().

Referenced by WorldBossAI::_EnterCombat(), boss_victor_nefarius::boss_victor_nefariusAI::BeginEvent(), boss_mor_grayhoof::CastRandomSpell(), prince_axes::prince_axesAI::changetarget(), npc_dirt_mound::ChaseNewTarget(), boss_buru::ChaseNewVictim(), boss_thekal::boss_thekalAI::CheckPhaseTransition(), npc_ghostly_priest::npc_ghostly_priestAI::DoAction(), npc_phantom_mage::npc_phantom_mageAI::DoAction(), npc_shadowy_mercenary::npc_shadowy_mercenaryAI::DoAction(), npc_spectral_footman::npc_spectral_footmanAI::DoAction(), npc_tortured_rifleman::npc_tortured_riflemanAI::DoAction(), boss_ayamiss::DoAction(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::DoAction(), DoCast(), boss_archimonde::boss_archimondeAI::DoCastDoomfire(), DoCastRandomTarget(), DoSpellAttackToRandomTargetIfReady(), boss_ouro::Emerge(), boss_sartharion_dragonAI::EnterCombat(), npc_coren_direbrew_sisters::EnterCombat(), npc_hallows_end_soh::EnterCombat(), npc_anubisath_defender::EnterCombat(), npc_hivezara_stinger::EnterCombat(), boss_vem::EnterCombat(), boss_fankriss::EnterCombat(), npc_vekniss_stinger::EnterCombat(), boss_zuljin::boss_zuljinAI::EnterPhase(), StartMovementEvent::Execute(), boss_baron_geddon::boss_baron_geddonAI::ExecuteEvent(), boss_gehennas::boss_gehennasAI::ExecuteEvent(), boss_magmadar::boss_magmadarAI::ExecuteEvent(), boss_shazzrah::boss_shazzrahAI::ExecuteEvent(), boss_amanitar::ExecuteEvent(), boss_sartharion_tenebron::boss_sartharion_tenebronAI::ExecuteEvent(), boss_sartharion_shadron::boss_sartharion_shadronAI::ExecuteEvent(), boss_sartharion_vesperon::boss_sartharion_vesperonAI::ExecuteEvent(), npc_dream_fog::npc_dream_fogAI::GetRandomUnitFromDragonThreatList(), SmartScript::GetTargets(), spell_shadowblink::HandleDummy(), boss_ragnaros::boss_ragnarosAI::HandleEmerge(), boss_maexxna::boss_maexxnaAI::JustSummoned(), boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI::JustSummoned(), WorldBossAI::JustSummoned(), boss_vexallus::boss_vexallusAI::JustSummoned(), boss_sacrolash::boss_sacrolashAI::JustSummoned(), npc_demonic_vapor_trail::npc_demonic_vapor_trailAI::JustSummoned(), boss_jindo::JustSummoned(), npc_necromancer::npc_necromancerAI::JustSummoned(), boss_gal_darah::boss_gal_darahAI::JustSummoned(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustSummoned(), boss_deathbringer_saurfang::boss_deathbringer_saurfangAI::JustSummoned(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::JustSummoned(), npc_precious_icc::npc_precious_iccAI::JustSummoned(), boss_volkhan::boss_volkhanAI::JustSummoned(), boss_algalon_the_observer::boss_algalon_the_observerAI::JustSummoned(), boss_supremus::boss_supremusAI::JustSummoned(), boss_the_black_stalker::boss_the_black_stalkerAI::JustSummoned(), boss_warchief_kargath_bladefist::boss_warchief_kargath_bladefistAI::JustSummoned(), boss_balinda::boss_balindaAI::JustSummoned(), npc_eye_tentacle::Reset(), npc_giant_eye_tentacle::Reset(), npc_swarm_scarab::npc_swarm_scarabAI::Reset(), boss_baroness_anastari::boss_baroness_anastariAI::SchedulePossession(), boss_ayamiss::ScheduleTasks(), boss_cthun::ScheduleTasks(), npc_anubarak_spike::npc_anubarak_spikeAI::SelectNewTarget(), SelectTarget(), spell_marrowgar_coldflame::spell_marrowgar_coldflame_SpellScript::SelectTarget(), npc_black_knight_ghoul::npc_black_knight_ghoulAI::SpellHitTarget(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::SpellHitTarget(), boss_anubshiah::boss_anubshiahAI::UpdateAI(), boss_emperor_dagran_thaurissan::boss_draganthaurissanAI::UpdateAI(), boss_high_interrogator_gerstahn::boss_high_interrogator_gerstahnAI::UpdateAI(), boss_okthor::boss_okthorAI::UpdateAI(), boss_doomrel::boss_doomrelAI::UpdateAI(), boss_overlord_wyrmthalak::boss_overlordwyrmthalakAI::UpdateAI(), npc_blackhand_incarcerator::npc_blackhand_incarceratorAI::UpdateAI(), boss_the_beast::boss_thebeastAI::UpdateAI(), boss_nefarian::UpdateAI(), boss_razorgore::boss_razorgoreAI::UpdateAI(), boss_vaelastrasz::boss_vaelAI::UpdateAI(), boss_majordomo::boss_majordomoAI::UpdateAI(), boss_ragnaros::boss_ragnarosAI::UpdateAI(), npc_flamewaker_priest::npc_flamewaker_priestAI::UpdateAI(), boss_curator::boss_curatorAI::UpdateAI(), boss_maiden_of_virtue::boss_maiden_of_virtueAI::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(), boss_servant_quarters::boss_servant_quartersAI::UpdateAI(), boss_shade_of_aran::boss_aranAI::UpdateAI(), boss_terestian_illhoof::boss_terestianAI::UpdateAI(), boss_dorothee::boss_dorotheeAI::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_yazzai::boss_yazzaiAI::UpdateAI(), boss_apoko::boss_apokoAI::UpdateAI(), boss_zelfan::boss_zelfanAI::UpdateAI(), boss_selin_fireheart::boss_selin_fireheartAI::UpdateAI(), boss_vexallus::boss_vexallusAI::UpdateAI(), boss_darkmaster_gandling::boss_darkmaster_gandlingAI::UpdateAI(), boss_kirtonos_the_herald::boss_kirtonos_the_heraldAI::UpdateAI(), npc_scholomance_occultist::npc_scholomance_occultistAI::UpdateAI(), boss_brutallus::boss_brutallusAI::UpdateAI(), boss_sacrolash::boss_sacrolashAI::UpdateAI(), boss_alythess::boss_alythessAI::UpdateAI(), boss_felmyst::boss_felmystAI::UpdateAI(), boss_kiljaeden::boss_kiljaedenAI::UpdateAI(), boss_entropius::boss_entropiusAI::UpdateAI(), npc_jaina_proudmoore_bfu::npc_jaina_proudmoore_bfuAI::UpdateAI(), boss_blight_worm::boss_blight_wormAI::UpdateAI(), boss_akilzon::boss_akilzonAI::UpdateAI(), npc_akilzon_eagle::npc_akilzon_eagleAI::UpdateAI(), boss_halazzi::boss_halazziAI::UpdateAI(), boss_hexlord_malacrass::boss_hex_lord_malacrassAI::UpdateAI(), boss_alyson_antille::boss_alyson_antilleAI::UpdateAI(), boss_slither::boss_slitherAI::UpdateAI(), boss_koragg::boss_koraggAI::UpdateAI(), boss_janalai::boss_janalaiAI::UpdateAI(), boss_nalorakk::boss_nalorakkAI::UpdateAI(), boss_zuljin::boss_zuljinAI::UpdateAI(), boss_arlokk::boss_arlokkAI::UpdateAI(), npc_zulian_prowler::npc_zulian_prowlerAI::UpdateAI(), boss_grilek::boss_grilekAI::UpdateAI(), boss_hakkar::boss_hakkarAI::UpdateAI(), boss_hazzarah::UpdateAI(), boss_jeklik::UpdateAI(), boss_mandokir::boss_mandokirAI::UpdateAI(), boss_marli::UpdateAI(), boss_renataki::boss_renatakiAI::UpdateAI(), boss_venoxis::boss_venoxisAI::UpdateAI(), boss_wushoolay::boss_wushoolayAI::UpdateAI(), boss_headless_horseman::UpdateAI(), boss_anetheron::boss_anetheronAI::UpdateAI(), boss_archimonde::boss_archimondeAI::UpdateAI(), boss_azgalor::boss_azgalorAI::UpdateAI(), npc_lesser_doomguard::npc_lesser_doomguardAI::UpdateAI(), boss_rage_winterchill::boss_rage_winterchillAI::UpdateAI(), npc_gargoyle::npc_gargoyleAI::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(), npc_arthas::npc_arthasAI::UpdateAI(), boss_lieutenant_drake::boss_lieutenant_drakeAI::UpdateAI(), boss_onyxia::UpdateAI(), boss_kurinnaxx::UpdateAI(), boss_sartura::UpdateAI(), npc_sartura_royal_guard::UpdateAI(), boss_skeram::UpdateAI(), npc_omen::npc_omenAI::UpdateAI(), npc_cairne_bloodhoof::npc_cairne_bloodhoofAI::UpdateAI(), boss_volazj::UpdateAI(), boss_jedoga_shadowseeker::UpdateAI(), boss_taldaram::UpdateAI(), boss_anub_arak::boss_anub_arakAI::UpdateAI(), boss_hadronox::boss_hadronoxAI::UpdateAI(), boss_krik_thir::boss_krik_thirAI::UpdateAI(), boss_baltharus_the_warborn::boss_baltharus_the_warbornAI::UpdateAI(), npc_baltharus_the_warborn_clone::npc_baltharus_the_warborn_cloneAI::UpdateAI(), boss_halion::boss_halionAI::UpdateAI(), boss_twilight_halion::boss_twilight_halionAI::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(), boss_grand_champion::boss_grand_championAI::UpdateAI(), npc_nerubian_burrower::npc_nerubian_burrowerAI::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_rogue::npc_toc_rogueAI::UpdateAI(), npc_toc_enh_shaman::npc_toc_enh_shamanAI::UpdateAI(), npc_toc_retro_paladin::npc_toc_retro_paladinAI::UpdateAI(), boss_jaraxxus::boss_jaraxxusAI::UpdateAI(), npc_fel_infernal::npc_fel_infernalAI::UpdateAI(), npc_mistress_of_pain::npc_mistress_of_painAI::UpdateAI(), boss_jormungarAI::UpdateAI(), boss_icehowl::boss_icehowlAI::UpdateAI(), boss_novos::boss_novosAI::UpdateAI(), boss_tharon_ja::boss_tharon_jaAI::UpdateAI(), boss_bronjahm::boss_bronjahmAI::UpdateAI(), boss_devourer_of_souls::boss_devourer_of_soulsAI::UpdateAI(), boss_garfrost::boss_garfrostAI::UpdateAI(), boss_ick::boss_ickAI::UpdateAI(), boss_tyrannus::boss_tyrannusAI::UpdateAI(), npc_pos_deathwhisper_necrolyte::npc_pos_deathwhisper_necrolyteAI::UpdateAI(), boss_eck::boss_eckAI::UpdateAI(), boss_gal_darah::boss_gal_darahAI::UpdateAI(), boss_prince_valanar_icc::boss_prince_valanarAI::UpdateAI(), boss_festergut::boss_festergutAI::UpdateAI(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::UpdateAI(), npc_cult_adherent::npc_cult_adherentAI::UpdateAI(), boss_lord_marrowgar::UpdateAI(), boss_professor_putricide::boss_professor_putricideAI::UpdateAI(), boss_rotface::boss_rotfaceAI::UpdateAI(), boss_sindragosa::boss_sindragosaAI::UpdateAI(), npc_rimefang::npc_rimefangAI::UpdateAI(), boss_the_lich_king::boss_the_lich_kingAI::UpdateAI(), npc_risen_archmage::npc_risen_archmageAI::UpdateAI(), npc_rotting_frost_giant::npc_rotting_frost_giantAI::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_valkyr_herald::npc_icc_valkyr_heraldAI::UpdateAI(), npc_icc_spire_frostwyrm::npc_icc_spire_frostwyrmAI::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_kelthuzad::boss_kelthuzadAI::UpdateAI(), boss_maexxna::boss_maexxnaAI::UpdateAI(), boss_razuvious::boss_razuviousAI::UpdateAI(), boss_sapphiron::boss_sapphironAI::UpdateAI(), boss_thaddius::boss_thaddiusAI::UpdateAI(), boss_thaddius_summon::boss_thaddius_summonAI::UpdateAI(), boss_malygos::boss_malygosAI::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(), boss_eregos::boss_eregosAI::UpdateAI(), boss_urom::boss_uromAI::UpdateAI(), boss_varos::boss_varosAI::UpdateAI(), boss_ionar::boss_ionarAI::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_steelbreaker::boss_steelbreakerAI::UpdateAI(), boss_runemaster_molgeim::boss_runemaster_molgeimAI::UpdateAI(), boss_stormcaller_brundir::boss_stormcaller_brundirAI::UpdateAI(), boss_freya::boss_freyaAI::UpdateAI(), boss_freya_elder_ironbranch::boss_freya_elder_ironbranchAI::UpdateAI(), boss_freya_summons::boss_freya_summonsAI::UpdateAI(), boss_hodir::boss_hodirAI::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(), 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_keleseth::boss_kelesethAI::UpdateAI(), boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::UpdateAI(), boss_dalronn_the_controller::boss_dalronn_the_controllerAI::UpdateAI(), boss_palehoof::boss_palehoofAI::UpdateAI(), npc_massive_jormungar::npc_massive_jormungarAI::UpdateAI(), npc_ferocious_rhino::npc_ferocious_rhinoAI::UpdateAI(), boss_skadi::boss_skadiAI::UpdateAI(), boss_svala::boss_svalaAI::UpdateAI(), boss_archavon::boss_archavonAI::UpdateAI(), boss_emalon::boss_emalonAI::UpdateAI(), boss_toravon::boss_toravonAI::UpdateAI(), boss_cyanigosa::boss_cyanigosaAI::UpdateAI(), boss_erekem::boss_erekemAI::UpdateAI(), boss_moragg::boss_moraggAI::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_stalker::npc_azure_stalkerAI::UpdateAI(), npc_azure_spellbreaker::npc_azure_spellbreakerAI::UpdateAI(), npc_azure_sorceror::npc_azure_sorcerorAI::UpdateAI(), boss_exarch_maladaar::boss_exarch_maladaarAI::UpdateAI(), boss_shirrak_the_dead_watcher::boss_shirrak_the_dead_watcherAI::UpdateAI(), boss_pandemonius::boss_pandemoniusAI::UpdateAI(), boss_talon_king_ikiss::boss_talon_king_ikissAI::UpdateAI(), boss_anzu::boss_anzuAI::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_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_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_the_lurker_below::boss_the_lurker_belowAI::UpdateAI(), boss_ahune::boss_ahuneAI::UpdateAI(), boss_hydromancer_thespia::boss_thespiaAI::UpdateAI(), boss_mekgineer_steamrigger::boss_mekgineer_steamriggerAI::UpdateAI(), boss_warlord_kalithresh::boss_warlord_kalithreshAI::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_broggok::boss_broggokAI::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_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_harbinger_skyriss::boss_harbinger_skyrissAI::UpdateAI(), boss_zereketh_the_unbound::boss_zereketh_the_unboundAI::UpdateAI(), boss_thorngrin_the_tender::boss_thorngrin_the_tenderAI::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_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI::UpdateAI(), npc_illidari_spawn::npc_illidari_spawnAI::UpdateAI(), npc_zuljin_vortex::npc_zuljin_vortexAI::UpdateAI(), boss_bjarngrim::boss_bjarngrimAI::UpdateEscortAI(), and boss_hexlord_malacrass::boss_hex_lord_malacrassAI::UseAbility().

◆ SelectTargetList() [1/2]

template<class PREDICATE >
void UnitAI::SelectTargetList ( std::list< Unit * > &  targetList,
PREDICATE const &  predicate,
uint32  maxTargets,
SelectTargetMethod  targetType 
)
inline
280 {
282 if (threatlist.empty())
283 return;
284
285 for (ThreatContainer::StorageType::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
286 if (predicate((*itr)->getTarget()))
287 targetList.push_back((*itr)->getTarget());
288
289 if (targetList.size() < maxTargets)
290 return;
291
292 if (targetType == SelectTargetMethod::MaxDistance || targetType == SelectTargetMethod::MinDistance)
293 targetList.sort(Acore::ObjectDistanceOrderPred(me));
294
295 if (targetType == SelectTargetMethod::MinDistance || targetType == SelectTargetMethod::MinThreat)
296 targetList.reverse();
297
298 if (targetType == SelectTargetMethod::Random)
299 Acore::Containers::RandomResize(targetList, maxTargets);
300 else
301 targetList.resize(maxTargets);
302 }
void RandomResize(C &container, std::size_t requestedSize)
Definition: Containers.h:81

References ThreatMgr::GetThreatList(), Unit::GetThreatMgr(), me, and Acore::Containers::RandomResize().

◆ SelectTargetList() [2/2]

void UnitAI::SelectTargetList ( std::list< Unit * > &  targetList,
uint32  num,
SelectTargetMethod  targetType,
float  dist = 0.0f,
bool  playerOnly = false,
int32  aura = 0 
)
117{
118 SelectTargetList(targetList, DefaultTargetSelector(me, dist, playerOnly, aura), num, targetType);
119}
void SelectTargetList(std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, float dist=0.0f, bool playerOnly=false, int32 aura=0)
Definition: UnitAI.cpp:116

References me, and SelectTargetList().

Referenced by npc_obsidian_destroyer::EnterCombat(), boss_magmadar::boss_magmadarAI::ExecuteEvent(), SelectTargetList(), boss_festergut::boss_festergutAI::UpdateAI(), boss_lady_deathwhisper::boss_lady_deathwhisperAI::UpdateAI(), boss_professor_putricide::boss_professor_putricideAI::UpdateAI(), and boss_rotface::boss_rotfaceAI::UpdateAI().

◆ SetData()

virtual void UnitAI::SetData ( uint32  ,
uint32   
)
inlinevirtual

Reimplemented in boss_svala::boss_svalaAI, npc_blackhand_incarcerator::npc_blackhand_incarceratorAI, boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI, npc_omrogg_heads::npc_omrogg_headsAI, boss_slad_ran::boss_slad_ranAI, npc_eris_hevenfire::npc_eris_hevenfireAI, npc_cork_gizelton::npc_cork_gizeltonAI, boss_professor_putricide::boss_professor_putricideAI, npc_invis_infernal_caster::npc_invis_infernal_casterAI, npc_shadowmoon_tuber_node::npc_shadowmoon_tuber_nodeAI, SmartAI, ironhand_guardian::ironhand_guardianAI, npc_halion_controller::npc_halion_controllerAI, 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, npc_ulduar_harpoonfirestate::npc_ulduar_harpoonfirestateAI, boss_arlokk::boss_arlokkAI, boss_garfrost::boss_garfrostAI, boss_ignis::boss_ignisAI, npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI, boss_emperor_dagran_thaurissan::boss_draganthaurissanAI, boss_rend_blackhand::boss_rend_blackhandAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_darkmaster_gandling::boss_darkmaster_gandlingAI, boss_entropius::boss_entropiusAI, npc_alexstraza_the_lifebinder, npc_dirt_mound, boss_sartharion::boss_sartharionAI, npc_saurfang_event::npc_saurfang_eventAI, boss_festergut::boss_festergutAI, 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_sindragosa_trash::npc_sindragosa_trashAI, npc_highlord_tirion_fordring_lh::npc_highlord_tirion_fordringAI, npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI, npc_q24545_lich_king::npc_q24545_lich_kingAI, npc_outhouse_bunny::npc_outhouse_bunnyAI, npc_tirions_gambit_tirion::npc_tirions_gambit_tirionAI, npc_warden_mellichar::npc_warden_mellicharAI, boss_kaelthas::boss_kaelthasAI, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, npc_pos_tyrannus_events::npc_pos_tyrannus_eventsAI, boss_teron_gorefiend::boss_teron_gorefiendAI, boss_volazj, boss_the_lich_king::boss_the_lich_kingAI, boss_the_beast::boss_thebeastAI, boss_midnight::boss_midnightAI, boss_dred::boss_dredAI, boss_novos::boss_novosAI, npc_pos_leader::npc_pos_leaderAI, boss_anomalus::boss_anomalusAI, boss_keristrasza::boss_keristraszaAI, npc_shandy_dalaran::npc_shandy_dalaranAI, npc_simon_bunny::npc_simon_bunnyAI, boss_grand_champion::boss_grand_championAI, npc_argent_soldier::npc_argent_soldierAI, boss_pyroguard_emberseer::boss_pyroguard_emberseerAI, npc_supervisor_raelen, npc_eastvale_peasent, boss_thekal::boss_thekalAI, npc_idol_room_spawner::npc_idol_room_spawnerAI, npc_thassarian2::npc_thassarian2AI, boss_dalliah_the_doomsayer::boss_dalliah_the_doomsayerAI, boss_wrath_scryer_soccothrates::boss_wrath_scryer_soccothratesAI, boss_mimiron::boss_mimironAI, npc_ulduar_mimiron_rocket::npc_ulduar_mimiron_rocketAI, and npc_ulduar_magnetic_core::npc_ulduar_magnetic_coreAI.

198{}

Referenced by RestoreAttack::Execute(), spell_kiljaeden_sinister_reflection_clone::spell_kiljaeden_sinister_reflection_clone_SpellScript::FilterTargets(), spell_herald_volzaj_insanity::HandleAfterCast(), spell_kaelthas_resurrection::spell_kaelthas_resurrection_SpellScript::HandleBeforeCast(), npc_commandscript::HandleNpcSetDataCommand(), spell_putricide_unstable_experiment::spell_putricide_unstable_experiment_SpellScript::HandleScript(), spell_frostwarden_handler_focus_fire::spell_frostwarden_handler_focus_fire_SpellScript::HandleScript(), boss_warbringer_omrogg::boss_warbringer_omroggAI::JustDied(), boss_muru::boss_muruAI::JustSummoned(), npc_risen_guardian::npc_risen_guardianAI::KilledUnit(), npc_shandy_dalaran::OnGossipSelect(), go_amberpine_outhouse::OnGossipSelect(), npc_eris_hevenfire::OnQuestAccept(), at_blackrock_stadium::OnTrigger(), spell_hodir_flash_freeze::spell_hodir_flash_freeze_AuraScript::PrepareAuraScript(), boss_mimiron::boss_mimironAI::UpdateAI(), npc_ulduar_aerial_command_unit::npc_ulduar_aerial_command_unitAI::UpdateAI(), and boss_razorscale::boss_razorscaleAI::UpdateAI().

◆ SetGUID()

virtual void UnitAI::SetGUID ( ObjectGuid  ,
int32  = 0 
)
inlinevirtual

Reimplemented in boss_mandokir::boss_mandokirAI, boss_razorgore::boss_razorgoreAI, npc_ohgan::npc_ohganAI, npc_chained_spirit, boss_ossirian, boss_chromaggus::boss_chromaggusAI, npc_coren_direbrew_sisters, npc_gunship::npc_gunshipAI, npc_simon_bunny::npc_simon_bunnyAI, SmartAI, boss_ragnaros::boss_ragnarosAI, npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI, npc_putricide_oozeAI, npc_ice_tomb::npc_ice_tombAI, npc_crok_scourgebane::npc_crok_scourgebaneAI, npc_dream_fog::npc_dream_fogAI, boss_blood_queen_lana_thel::boss_blood_queen_lana_thelAI, npc_kernobee::npc_kernobeeAI, npc_scarlet_ghoul::npc_scarlet_ghoulAI, npc_unworthy_initiate_anchor::npc_unworthy_initiate_anchorAI, npc_scarlet_miner_cart::npc_scarlet_miner_cartAI, npc_eris_hevenfire::npc_eris_hevenfireAI, npc_time_rift::npc_time_riftAI, npc_ball_of_flame::npc_ball_of_flameAI, npc_valkyr_shadowguard::npc_valkyr_shadowguardAI, boss_maexxna_webwrap::boss_maexxna_webwrapAI, npc_bloodmage_laurith::npc_bloodmage_laurithAI, npc_q24545_lich_king::npc_q24545_lich_kingAI, npc_voidtraveler::npc_voidtravelerAI, npc_kurenai_captive::npc_kurenai_captiveAI, npc_cork_gizelton::npc_cork_gizeltonAI, npc_captain_saeed::npc_captain_saeedAI, and npc_tharnarian::npc_tharnarianAI.

199{}

Referenced by spell_blood_queen_bloodbolt::spell_blood_queen_bloodbolt_SpellScript::FilterTargets(), go_ossirian_crystal::go_ossirian_crystalAI::GossipHello(), spell_send_mug_target_picker::HandleDummy(), boss_prince_taldaram_icc::boss_prince_taldaramAI::JustSummoned(), boss_grandmaster_vorpil::boss_grandmaster_vorpilAI::JustSummoned(), emerald_dragonAI::JustSummoned(), npc_dkc1_gothik::npc_dkc1_gothikAI::MoveInLineOfSight(), npc_captain_saeed::OnGossipSelect(), npc_kernobee::OnQuestAccept(), npc_kurenai_captive::OnQuestAccept(), npc_eris_hevenfire::OnQuestAccept(), npc_cork_gizelton::OnQuestAccept(), npc_lady_sylvanas_windrunner::OnQuestReward(), npc_tharnarian::OnQuestReward(), spell_the_lich_king_valkyr_target_search::spell_the_lich_king_valkyr_target_search_SpellScript::SelectTarget(), and instance_the_black_morass::instance_the_black_morass_InstanceMapScript::SummonPortalKeeper().

◆ sGossipHello()

◆ sGossipSelect()

◆ sGossipSelectCode()

virtual void UnitAI::sGossipSelectCode ( Player ,
uint32  ,
uint32  ,
char const *   
)
inlinevirtual

Reimplemented in SmartAI.

343{}

Referenced by WorldSession::HandleGossipSelectOptionOpcode().

◆ sOnGameEvent()

virtual void UnitAI::sOnGameEvent ( bool  ,
uint16   
)
inlinevirtual

Reimplemented in SmartAI, and npc_cameron.

348{}

◆ sQuestAccept()

◆ sQuestComplete()

virtual void UnitAI::sQuestComplete ( Player ,
Quest const *   
)
inlinevirtual
346{}

◆ sQuestReward()

virtual void UnitAI::sQuestReward ( Player ,
Quest const *  ,
uint32   
)
inlinevirtual

Reimplemented in SmartAI.

347{}

Referenced by WorldSession::HandleQuestgiverChooseRewardOpcode().

◆ sQuestSelect()

virtual void UnitAI::sQuestSelect ( Player ,
Quest const *   
)
inlinevirtual
345{}

◆ SummonMovementInform()

virtual void UnitAI::SummonMovementInform ( Creature ,
uint32  ,
uint32   
)
inlinevirtual

Reimplemented in boss_razorgore::boss_razorgoreAI.

339{ }

◆ UpdateAI()

virtual void UnitAI::UpdateAI ( uint32  )
pure virtual

Implemented in npc_razzashi_cobra_venoxis::npc_razzashi_cobra_venoxis_AI, boss_sartharion_dragonAI, CombatAI, CasterAI, ArcherAI, TurretAI, VehicleAI, ReactorAI, TotemAI, SimpleCharmedAI, ScriptedAI, BossAI, WorldBossAI, npc_escortAI, SmartAI, npc_av_marshal_or_warmaster::npc_av_marshal_or_warmasterAI, npc_water_elemental::npc_water_elementalAI, boss_balinda::boss_balindaAI, boss_drekthar::boss_drektharAI, boss_galvangar::boss_galvangarAI, boss_vanndar::boss_vanndarAI, ironhand_guardian::ironhand_guardianAI, npc_phalanx::npc_phalanxAI, npc_rocknot::npc_rocknotAI, 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_lord_valthalak::boss_lord_valthalakAI, 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, npc_rookery_hatcher::npc_rookery_hatcherAI, boss_solakar_flamewreath::boss_solakar_flamewreathAI, boss_the_beast::boss_thebeastAI, boss_urok_doomhowl::boss_urok_doomhowlAI, npc_vaelastrasz_the_red::npc_vaelastrasz_the_redAI, boss_broodlord::boss_broodlordAI, boss_chromaggus::boss_chromaggusAI, boss_ebonroc::boss_ebonrocAI, boss_firemaw::boss_firemawAI, boss_flamegor::boss_flamegorAI, boss_victor_nefarius::boss_victor_nefariusAI, boss_nefarian, npc_corrupted_totem, npc_drakonid_spawner, boss_razorgore::boss_razorgoreAI, boss_vaelastrasz::boss_vaelAI, boss_garr::boss_garrAI, boss_golemagg::boss_golemaggAI, npc_core_rager::npc_core_ragerAI, boss_majordomo::boss_majordomoAI, boss_ragnaros::boss_ragnarosAI, npc_flamewaker_priest::npc_flamewaker_priestAI, npc_mc_core_hound::npc_mc_core_houndAI, npc_lava_spawn, boss_mr_smite::boss_mr_smiteAI, npc_kernobee::npc_kernobeeAI, 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_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_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_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, boss_selin_fireheart::boss_selin_fireheartAI, boss_vexallus::boss_vexallusAI, npc_eye_of_acherus, npc_death_knight_initiate::npc_death_knight_initiateAI, npc_scarlet_ghoul::npc_scarlet_ghoulAI, npc_dkc1_gothik::npc_dkc1_gothikAI, npc_scarlet_cannon::npc_scarlet_cannonAI, npc_unworthy_initiate::npc_unworthy_initiateAI, npc_scarlet_miner::npc_scarlet_minerAI, npc_crusade_persuaded::npc_crusade_persuadedAI, npc_scarlet_courier::npc_scarlet_courierAI, npc_high_inquisitor_valroth::npc_high_inquisitor_valrothAI, npc_a_special_surprise::npc_a_special_surpriseAI, npc_highlord_darion_mograine::npc_highlord_darion_mograineAI, npc_valkyr_battle_maiden::npc_valkyr_battle_maidenAI, 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_apothecary_hummel::boss_apothecary_hummelAI, npc_apothecary_baxter, boss_baroness_anastari::boss_baroness_anastariAI, boss_jarien, boss_sothos, boss_brutallus::boss_brutallusAI, npc_madrigosa::npc_madrigosaAI, boss_sacrolash::boss_sacrolashAI, boss_alythess::boss_alythessAI, boss_felmyst::boss_felmystAI, npc_demonic_vapor_trail::npc_demonic_vapor_trailAI, boss_kalecgos::boss_kalecgosAI, boss_kalec::boss_kalecAI, boss_sathrovarr::boss_sathrovarrAI, npc_kiljaeden_controller::npc_kiljaeden_controllerAI, boss_kiljaeden::boss_kiljaedenAI, npc_kalecgos_kj::npc_kalecgos_kjAI, boss_muru::boss_muruAI, boss_entropius::boss_entropiusAI, npc_singularity::npc_singularityAI, npc_professor_phizzlethorpe::npc_professor_phizzlethorpeAI, boss_twilight_corrupter, npc_eris_hevenfire::npc_eris_hevenfireAI, npc_balance_of_light_and_shadow::npc_balance_of_light_and_shadowAI, npc_cameron, npc_supervisor_raelen, npc_eastvale_peasent, npc_partygoer_pather, npc_partygoer, npc_sentinel_leader, npc_sentinel_infiltrator, npc_bh_thalorien_dawnseeker::npc_bh_thalorien_dawnseekerAI, npc_grand_magister_rommath::npc_grand_magister_rommathAI, npc_corporal_keeshan::npc_corporal_keeshanAI, 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_varian_wrynn::npc_varian_wrynnAI, npc_jaina_proudmoore_bfu::npc_jaina_proudmoore_bfuAI, boss_blight_worm::boss_blight_wormAI, npc_thrall_bfu::npc_thrall_bfuAI, npc_lady_sylvanas_windrunner_bfu::npc_lady_sylvanas_windrunner_bfuAI, boss_akilzon::boss_akilzonAI, npc_akilzon_eagle::npc_akilzon_eagleAI, boss_halazzi::boss_halazziAI, npc_halazzi_lynx::npc_halazzi_lynxAI, boss_hexlord_malacrass::boss_hex_lord_malacrassAI, boss_thurg::boss_thurgAI, boss_alyson_antille::boss_alyson_antilleAI, boss_gazakrothAI, boss_lord_raadan::boss_lord_raadanAI, boss_darkheart::boss_darkheartAI, boss_slither::boss_slitherAI, boss_fenstalker::boss_fenstalkerAI, boss_koragg::boss_koraggAI, boss_janalai::boss_janalaiAI, npc_janalai_hatcher::npc_janalai_hatcherAI, npc_janalai_hatchling::npc_janalai_hatchlingAI, boss_nalorakk::boss_nalorakkAI, boss_zuljin::boss_zuljinAI, npc_forest_frog::npc_forest_frogAI, 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, boss_jindo, npc_healing_ward, npc_shade_of_jindo, boss_mandokir::boss_mandokirAI, npc_ohgan::npc_ohganAI, npc_vilebranch_speaker, boss_marli, 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_brew_bubble, npc_coren_direbrew, npc_coren_direbrew_sisters, 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_costumed_orphan_matron, npc_hallows_end_soh, npc_hallows_end_train_fire, boss_headless_horseman, boss_headless_horseman_head, boss_headless_horseman_pumpkin, npc_love_in_air_supply_sentry, npc_love_in_air_snivel, npc_love_in_air_snivel_real, npc_midsummer_torch_target, npc_pilgrims_bounty_chair, boss_azuregos::boss_azuregosAI, boss_anetheron::boss_anetheronAI, npc_towering_infernal::npc_towering_infernalAI, npc_ancient_wisp::npc_ancient_wispAI, 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, npc_gargoyle::npc_gargoyleAI, 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, npc_cos_stratholme_citizien::npc_cos_stratholme_citizienAI, 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, npc_medivh_bm::npc_medivh_bmAI, npc_time_rift::npc_time_riftAI, boss_isalien, boss_onyxia, npc_onyxian_lair_guard, npc_belnistrasz::npc_belnistraszAI, boss_ayamiss, npc_hive_zara_larva, boss_buru, boss_kurinnaxx, boss_moam, boss_ossirian, npc_anubisath_guardian, boss_rajaxx, npc_hivezara_stinger, npc_obsidian_destroyer, boss_bug_trio, boss_eye_of_cthun, boss_cthun, npc_eye_tentacle, npc_claw_tentacle, npc_giant_claw_tentacle, npc_giant_eye_tentacle, boss_fankriss, boss_huhuran, boss_ouro, npc_dirt_mound, boss_sartura, npc_sartura_royal_guard, boss_skeram, boss_twinemperorsAI, boss_viscidus, boss_glob_of_viscidus, npc_anubisath_defender, npc_vekniss_stinger, 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_death_ravager::npc_death_ravagerAI, npc_stillpine_capitive::npc_stillpine_capitiveAI, npc_murkdeep::npc_murkdeepAI, npc_rabid_thistle_bear::npc_rabid_thistle_bearAI, npc_tharnarian::npc_tharnarianAI, npc_tiger_matriarch_credit::npc_tiger_matriarch_creditAI, npc_tiger_matriarch::npc_tiger_matriarchAI, npc_shay_leafrunner::npc_shay_leafrunnerAI, npc_clintar_spirit::npc_clintar_spiritAI, npc_omen::npc_omenAI, npc_giant_spotlight::npc_giant_spotlightAI, npc_shenthul::npc_shenthulAI, npc_thrall_warchief::npc_thrall_warchiefAI, npc_anachronos_the_ancient::npc_anachronos_the_ancientAI, npc_qiraj_war_spawn::npc_qiraj_war_spawnAI, npc_anachronos_quest_trigger::npc_anachronos_quest_triggerAI, npc_aquementas::npc_aquementasAI, npc_custodian_of_time::npc_custodian_of_timeAI, npc_taskmaster_fizzule::npc_taskmaster_fizzuleAI, npc_twiggy_flathead::npc_twiggy_flatheadAI, npc_plucky::npc_pluckyAI, npc_cairne_bloodhoof::npc_cairne_bloodhoofAI, npc_ame::npc_ameAI, npc_sergeant_bly::npc_sergeant_blyAI, npc_weegli_blastfuse::npc_weegli_blastfuseAI, npc_shadowpriest_sezziz::npc_shadowpriest_sezzizAI, npc_amanitar_mushrooms, boss_elder_nadox, npc_ahnkahar_nerubian, boss_volazj, boss_jedoga_shadowseeker, npc_twilight_volunteer, npc_taldaram_flamesphere, 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, npc_twilight_summon::npc_twilight_summonAI, boss_baltharus_the_warborn::boss_baltharus_the_warbornAI, npc_baltharus_the_warborn_clone::npc_baltharus_the_warborn_cloneAI, npc_xerestrasza::npc_xerestraszaAI, boss_general_zarithrian::boss_general_zarithrianAI, boss_halion::boss_halionAI, boss_twilight_halion::boss_twilight_halionAI, npc_halion_controller::npc_halion_controllerAI, boss_saviana_ragefire::boss_saviana_ragefireAI, boss_eadric::boss_eadricAI, boss_paletress::boss_paletressAI, npc_memory::npc_memoryAI, npc_argent_soldier::npc_argent_soldierAI, boss_black_knight::boss_black_knightAI, 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, npc_frost_sphere::npc_frost_sphereAI, npc_nerubian_burrower::npc_nerubian_burrowerAI, npc_anubarak_spike::npc_anubarak_spikeAI, boss_faction_championsAI, npc_toc_druid::npc_toc_druidAI, npc_toc_shaman::npc_toc_shamanAI, npc_toc_paladin::npc_toc_paladinAI, npc_toc_priest::npc_toc_priestAI, npc_toc_shadow_priest::npc_toc_shadow_priestAI, npc_toc_warlock::npc_toc_warlockAI, npc_toc_mage::npc_toc_mageAI, npc_toc_hunter::npc_toc_hunterAI, npc_toc_boomkin::npc_toc_boomkinAI, npc_toc_warrior::npc_toc_warriorAI, npc_toc_dk::npc_toc_dkAI, npc_toc_rogue::npc_toc_rogueAI, npc_toc_enh_shaman::npc_toc_enh_shamanAI, npc_toc_retro_paladin::npc_toc_retro_paladinAI, 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, npc_snobold_vassal::npc_snobold_vassalAI, boss_gormok::boss_gormokAI, boss_jormungarAI, boss_icehowl::boss_icehowlAI, boss_twin_valkyrAI, boss_dred::boss_dredAI, boss_novos::boss_novosAI, boss_tharon_ja::boss_tharon_jaAI, boss_trollgore::boss_trollgoreAI, boss_bronjahm::boss_bronjahmAI, npc_fos_corrupted_soul_fragment::npc_fos_corrupted_soul_fragmentAI, boss_devourer_of_souls::boss_devourer_of_soulsAI, npc_fos_leader::npc_fos_leaderAI, boss_falric::boss_falricAI, boss_marwyn::boss_marwynAI, npc_hor_leader::npc_hor_leaderAI, npc_ghostly_priest::npc_ghostly_priestAI, npc_phantom_mage::npc_phantom_mageAI, npc_phantom_hallucination::npc_phantom_hallucinationAI, npc_shadowy_mercenary::npc_shadowy_mercenaryAI, npc_spectral_footman::npc_spectral_footmanAI, npc_tortured_rifleman::npc_tortured_riflemanAI, boss_frostsworn_general::boss_frostsworn_generalAI, npc_hor_spiritual_reflection::npc_hor_spiritual_reflectionAI, npc_hor_lich_king::npc_hor_lich_kingAI, npc_hor_leader_second::npc_hor_leader_secondAI, 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_krick::boss_krickAI, boss_tyrannus::boss_tyrannusAI, npc_pos_leader::npc_pos_leaderAI, 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_icicle_trigger::npc_pos_icicle_triggerAI, npc_pos_collapsing_icicle::npc_pos_collapsing_icicleAI, npc_pos_martin_or_gorkun_second::npc_pos_martin_or_gorkun_secondAI, npc_pos_leader_second::npc_pos_leader_secondAI, npc_frostbite_invisible_stalker::npc_frostbite_invisible_stalkerAI, boss_drakkari_colossus::boss_drakkari_colossusAI, boss_drakkari_elemental::boss_drakkari_elementalAI, npc_living_mojo::npc_living_mojoAI, 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, npc_blood_queen_lana_thel::npc_blood_queen_lana_thelAI, npc_dark_nucleus::npc_dark_nucleusAI, npc_kinetic_bomb::npc_kinetic_bombAI, 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_icc_blood_beast::npc_icc_blood_beastAI, boss_festergut::boss_festergutAI, 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_addAI, npc_gunship_boarding_leader::npc_gunship_boarding_leaderAI, npc_gunship_boarding_add::npc_gunship_boarding_add_realAI, npc_gunship_mage::npc_gunship_mageAI, npc_gunship_gunner::npc_gunship_gunnerAI, boss_lady_deathwhisper::boss_lady_deathwhisperAI, npc_cult_fanatic::npc_cult_fanaticAI, npc_cult_adherent::npc_cult_adherentAI, npc_vengeful_shade::npc_vengeful_shadeAI, npc_darnavan::npc_darnavanAI, boss_lord_marrowgar, npc_coldflame::npc_coldflameAI, npc_bone_spike::npc_bone_spikeAI, boss_professor_putricide::boss_professor_putricideAI, npc_putricide_oozeAI, 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, npc_sindragosa_trash::npc_sindragosa_trashAI, boss_the_lich_king::boss_the_lich_kingAI, npc_tirion_fordring_tft::npc_tirion_fordringAI, npc_shambling_horror_icc::npc_shambling_horror_iccAI, npc_icc_ice_sphere::npc_icc_ice_sphereAI, npc_raging_spirit::npc_raging_spiritAI, npc_valkyr_shadowguard::npc_valkyr_shadowguardAI, npc_strangulate_vehicle::npc_strangulate_vehicleAI, npc_terenas_menethil::npc_terenas_menethilAI, npc_spirit_warden::npc_spirit_wardenAI, npc_lk_spirit_bomb::npc_lk_spirit_bombAI, 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_risen_archmage::npc_risen_archmageAI, npc_valithria_cloud::npc_valithria_cloudAI, npc_blazing_skeleton::npc_blazing_skeletonAI, npc_blistering_zombie::npc_blistering_zombieAI, npc_gluttonous_abomination::npc_gluttonous_abominationAI, npc_highlord_tirion_fordring_lh::npc_highlord_tirion_fordringAI, npc_rotting_frost_giant::npc_rotting_frost_giantAI, npc_frost_freeze_trap::npc_frost_freeze_trapAI, npc_crok_scourgebane::npc_crok_scourgebaneAI, boss_sister_svalna::boss_sister_svalnaAI, npc_captain_arnath::npc_captain_arnathAI, npc_captain_brandon::npc_captain_brandonAI, npc_captain_grondel::npc_captain_grondelAI, npc_captain_rupert::npc_captain_rupertAI, npc_frostwing_vrykul::npc_frostwing_vrykulAI, npc_impaling_spear::npc_impaling_spearAI, npc_arthas_teleport_visual::npc_arthas_teleport_visualAI, 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_severed_essence::npc_icc_severed_essenceAI, npc_icc_spire_frostwyrm::npc_icc_spire_frostwyrmAI, 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, npc_isle_of_conquest_turret::npc_isle_of_conquest_turretAI, npc_ioc_gunship_captain::npc_ioc_gunship_captainAI, boss_isle_of_conquest::boss_isle_of_conquestAI, boss_anubrekhan::boss_anubrekhanAI, 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_naxxramas_misc::boss_naxxramas_miscAI, boss_malygos::boss_malygosAI, npc_vortex_ride::npc_vortex_rideAI, npc_power_spark::npc_power_sparkAI, npc_nexus_lord::npc_nexus_lordAI, npc_scion_of_eternity::npc_scion_of_eternityAI, npc_hover_disk::npc_hover_diskAI, npc_alexstrasza::npc_alexstraszaAI, boss_anomalus::boss_anomalusAI, boss_commander_stoutbeard::boss_commander_stoutbeardAI, boss_keristrasza::boss_keristraszaAI, boss_magus_telestra::boss_magus_telestraAI, boss_ormorok::boss_ormorokAI, npc_crystal_spike::npc_crystal_spikeAI, npc_crystalline_frayer::npc_crystalline_frayerAI, 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_oculus_drakegiver::npc_oculus_drakegiverAI, npc_oculus_drake::npc_oculus_drakeAI, npc_stormforged_lieutenant::npc_stormforged_lieutenantAI, boss_ionar::boss_ionarAI, boss_loken::boss_lokenAI, boss_volkhan::boss_volkhanAI, npc_molten_golem::npc_molten_golemAI, 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, npc_brann_bronzebeard_algalon::npc_brann_bronzebeard_algalonAI, npc_living_constellation::npc_living_constellationAI, npc_algalon_worm_hole::npc_algalon_worm_holeAI, boss_steelbreaker::boss_steelbreakerAI, boss_runemaster_molgeim::boss_runemaster_molgeimAI, boss_stormcaller_brundir::boss_stormcaller_brundirAI, boss_auriaya::boss_auriayaAI, npc_auriaya_sanctum_sentry::npc_auriaya_sanctum_sentryAI, npc_auriaya_feral_defender::npc_auriaya_feral_defenderAI, boss_flame_leviathan::boss_flame_leviathanAI, boss_flame_leviathan_seat::boss_flame_leviathan_seatAI, boss_flame_leviathan_defense_turret::boss_flame_leviathan_defense_turretAI, npc_freya_ward::npc_freya_wardAI, npc_hodirs_fury::npc_hodirs_furyAI, npc_mimirons_inferno::npc_mimirons_infernoAI, npc_thorims_hammer::npc_thorims_hammerAI, npc_storm_beacon_spawn::npc_storm_beacon_spawnAI, boss_flame_leviathan_safety_container::boss_flame_leviathan_safety_containerAI, npc_mechanolift::npc_mechanoliftAI, 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_lifebinder::boss_freya_lifebinderAI, boss_freya_healthy_spore::boss_freya_healthy_sporeAI, boss_freya_summons::boss_freya_summonsAI, boss_freya_nature_bomb::boss_freya_nature_bombAI, boss_vezax::boss_vezaxAI, npc_ulduar_saronite_animus::npc_ulduar_saronite_animusAI, boss_hodir::boss_hodirAI, npc_ulduar_icicle::npc_ulduar_icicleAI, npc_ulduar_flash_freeze::npc_ulduar_flash_freezeAI, 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_eyebeam::boss_kologarn_eyebeamAI, 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_magnetic_core::npc_ulduar_magnetic_coreAI, npc_ulduar_bot_summon_trigger::npc_ulduar_bot_summon_triggerAI, npc_ulduar_flames_initial::npc_ulduar_flames_initialAI, npc_ulduar_emergency_fire_bot::npc_ulduar_emergency_fire_botAI, boss_razorscale::boss_razorscaleAI, npc_ulduar_expedition_engineer::npc_ulduar_expedition_engineerAI, npc_ulduar_dark_rune_guardian::npc_ulduar_dark_rune_guardianAI, npc_ulduar_dark_rune_watcher::npc_ulduar_dark_rune_watcherAI, npc_ulduar_dark_rune_sentinel::npc_ulduar_dark_rune_sentinelAI, boss_thorim::boss_thorimAI, boss_thorim_sif::boss_thorim_sifAI, boss_thorim_trap::boss_thorim_trapAI, boss_thorim_pillar::boss_thorim_pillarAI, 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_xt002_heart::npc_xt002_heartAI, npc_xt002_pummeller::npc_xt002_pummellerAI, boss_yoggsaron_sara::boss_yoggsaron_saraAI, boss_yoggsaron_guardian_of_ys::boss_yoggsaron_guardian_of_ysAI, boss_yoggsaron::boss_yoggsaronAI, boss_yoggsaron_brain::boss_yoggsaron_brainAI, boss_yoggsaron_death_orb::boss_yoggsaron_death_orbAI, boss_yoggsaron_constrictor_tentacle::boss_yoggsaron_constrictor_tentacleAI, boss_yoggsaron_keeper::boss_yoggsaron_keeperAI, boss_yoggsaron_immortal_guardian::boss_yoggsaron_immortal_guardianAI, boss_yoggsaron_lich_king::boss_yoggsaron_lich_kingAI, boss_yoggsaron_llane::boss_yoggsaron_llaneAI, boss_yoggsaron_neltharion::boss_yoggsaron_neltharionAI, boss_yoggsaron_voice::boss_yoggsaron_voiceAI, npc_ulduar_storm_tempered_keeper::npc_ulduar_storm_tempered_keeperAI, npc_ulduar_arachnopod_destroyer::npc_ulduar_arachnopod_destroyerAI, boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI, boss_keleseth::boss_kelesethAI, npc_vrykul_skeleton::npc_vrykul_skeletonAI, boss_skarvald_the_constructor::boss_skarvald_the_constructorAI, boss_dalronn_the_controller::boss_dalronn_the_controllerAI, npc_enslaved_proto_drake::npc_enslaved_proto_drakeAI, 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_erekem::boss_erekemAI, npc_erekem_guard::npc_erekem_guardAI, 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_azure_invader::npc_azure_invaderAI, npc_azure_binder::npc_azure_binderAI, npc_azure_mage_slayer::npc_azure_mage_slayerAI, npc_azure_raider::npc_azure_raiderAI, npc_azure_stalker::npc_azure_stalkerAI, npc_azure_spellbreaker::npc_azure_spellbreakerAI, npc_azure_captain::npc_azure_captainAI, npc_azure_sorceror::npc_azure_sorcerorAI, npc_azure_saboteur::npc_azure_saboteurAI, npc_sinkhole_kill_credit::npc_sinkhole_kill_creditAI, npc_lurgglbr::npc_lurgglbrAI, npc_beryl_sorcerer::npc_beryl_sorcererAI, npc_captured_beryl_sorcerer::npc_captured_beryl_sorcererAI, npc_imprisoned_beryl_sorcerer::npc_imprisoned_beryl_sorcererAI, npc_valiance_keep_cannoneer::npc_valiance_keep_cannoneerAI, npc_hidden_cultist::npc_hidden_cultistAI, npc_bloodmage_laurith::npc_bloodmage_laurithAI, npc_thassarian::npc_thassarianAI, npc_thassarian2::npc_thassarian2AI, npc_counselor_talbot::npc_counselor_talbotAI, npc_preparations_for_war_vehicle, npc_shandy_dalaran::npc_shandy_dalaranAI, npc_archmage_landalock::npc_archmage_landalockAI, npc_minigob_manabonk::npc_minigob_manabonkAI, npc_dalaran_mage::npc_dalaran_mageAI, npc_dalaran_warrior::npc_dalaran_warriorAI, npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, npc_hourglass_of_eternity::npc_hourglass_of_eternityAI, npc_wintergarde_gryphon, npc_q24545_lich_king::npc_q24545_lich_kingAI, npc_q24545_vegard::npc_q24545_vegardAI, npc_commander_eligor_dawnbringer::npc_commander_eligor_dawnbringerAI, npc_torturer_lecraft::npc_torturer_lecraftAI, npc_ravenous_worg::npc_ravenous_worgAI, npc_amberpine_woodsman::npc_amberpine_woodsmanAI, npc_wounded_skirmisher, npc_venture_co_straggler::npc_venture_co_stragglerAI, npc_lake_frog::npc_lake_frogAI, npc_your_inner_turmoil::npc_your_inner_turmoilAI, npc_battle_at_valhalas::npc_battle_at_valhalasAI, npc_llod_generic::npc_llod_genericAI, npc_lord_arete::npc_lord_areteAI, npc_boneguard_footman::npc_boneguard_footmanAI, npc_infra_green_bomber_generic::npc_infra_green_bomber_genericAI, npc_tournament_training_dummy::npc_tournament_training_dummyAI, npc_blessed_banner::npc_blessed_bannerAI, npc_frostbrood_skytalon::npc_frostbrood_skytalonAI, npc_artruis_the_hearthless::npc_artruis_the_hearthlessAI, npc_still_at_it_trigger::npc_still_at_it_triggerAI, npc_jungle_punch_target::npc_jungle_punch_targetAI, npc_frosthound::npc_frosthoundAI, npc_iron_watcher::npc_iron_watcherAI, npc_wild_wyrm::npc_wild_wyrmAI, npc_freed_protodrake::npc_freed_protodrakeAI, npc_icefang::npc_icefangAI, npc_hyldsmeet_protodrake::npc_hyldsmeet_protodrakeAI, npc_wg_queue::npc_wg_queueAI, npc_wg_siege_machine::npc_wg_siege_machineAI, npc_feedin_da_goolz::npc_feedin_da_goolzAI, npc_overlord_drakuru_betrayal::npc_overlord_drakuru_betrayalAI, npc_drakuru_shackles::npc_drakuru_shacklesAI, npc_crusade_recruit::npc_crusade_recruitAI, boss_exarch_maladaar::boss_exarch_maladaarAI, npc_stolen_soul::npc_stolen_soulAI, 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, npc_voidtraveler::npc_voidtravelerAI, boss_murmur::boss_murmurAI, 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_essence_of_suffering::boss_essence_of_sufferingAI, boss_essence_of_desire::boss_essence_of_desireAI, boss_essence_of_anger::boss_essence_of_angerAI, boss_shade_of_akama::boss_shade_of_akamaAI, npc_akama_shade::npc_akamaAI, npc_creature_generator_akama::npc_creature_generator_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_doomlord_kazzak::boss_doomlordkazzakAI, boss_doomwalker::boss_doomwalkerAI, 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, npc_inner_demon::npc_inner_demonAI, boss_the_lurker_below::boss_the_lurker_belowAI, boss_morogrim_tidewalker::boss_morogrim_tidewalkerAI, boss_ahune::boss_ahuneAI, boss_hydromancer_thespia::boss_thespiaAI, boss_mekgineer_steamrigger::boss_mekgineer_steamriggerAI, npc_steamrigger_mechanic::npc_steamrigger_mechanicAI, boss_warlord_kalithresh::boss_warlord_kalithreshAI, npc_naga_distiller::npc_naga_distillerAI, 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_omor_the_unscarred::boss_omor_the_unscarredAI, boss_nazan::boss_nazanAI, 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_omrogg_heads::npc_omrogg_headsAI, 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_alar::boss_alarAI, 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, npc_ragin_flames::npc_ragin_flamesAI, boss_pathaleon_the_calculator::boss_pathaleon_the_calculatorAI, npc_deaths_door_fell_cannon_target_bunny::npc_deaths_door_fell_cannon_target_bunnyAI, npc_nether_drake::npc_nether_drakeAI, npc_simon_bunny::npc_simon_bunnyAI, npc_oscillating_frequency_scanner_master_bunny::npc_oscillating_frequency_scanner_master_bunnyAI, npc_aeranas::npc_aeranasAI, npc_fel_guard_hound::npc_fel_guard_houndAI, npc_maghar_captive::npc_maghar_captiveAI, npc_corki::npc_corkiAI, adyen_the_lightbringer::adyen_the_lightbringerAI, anchorite_karja::anchorite_karjaAI, exarch_orelis::exarch_orelisAI, socrethar::socretharAI, kaylaan_the_lost::kaylaan_the_lostAI, npc_captain_saeed::npc_captain_saeedAI, npc_commander_dawnforge::npc_commander_dawnforgeAI, npc_phase_hunter::npc_phase_hunterAI, npc_invis_infernal_caster::npc_invis_infernal_casterAI, npc_mature_netherwing_drake::npc_mature_netherwing_drakeAI, npc_enslaved_netherwing_drake::npc_enslaved_netherwing_drakeAI, 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_shadowmoon_tuber_node::npc_shadowmoon_tuber_nodeAI, npc_raliq_the_drunk::npc_raliq_the_drunkAI, npc_salsalabim::npc_salsalabimAI, npc_ishanah::ishanahAI, npc_unkor_the_ruthless::npc_unkor_the_ruthlessAI, npc_floon::npc_floonAI, npc_cooshcoosh::npc_cooshcooshAI, npc_pet_dk_ebon_gargoyle::npc_pet_dk_ebon_gargoyleAI, npc_pet_gen_soul_trader_beacon, npc_pet_gen_argent_pony_bridle, npc_pet_gen_target_following_bomb, npc_pet_gen_valkyr_guardian, npc_pet_gen_imp_in_a_bottle, npc_pet_gen_wind_rider_cub, npc_pet_gen_plump_turkey, npc_pet_gen_toxic_wasteling, npc_pet_gen_fetch_ball, npc_pet_hunter_snake_trap, npc_pet_mage_mirror_image, npc_pet_shaman_earth_elemental, npc_pet_shaman_fire_elemental, emerald_dragonAI, npc_dream_fog::npc_dream_fogAI, boss_taerar::boss_taerarAI, guard_shattrath_scryer::guard_shattrath_scryerAI, guard_shattrath_aldor::guard_shattrath_aldorAI, generic_creature::generic_creatureAI, trigger_periodic::trigger_periodicAI, npc_artorius::npc_artoriusAI, npc_simone::npc_simoneAI, npc_nelson::npc_nelsonAI, npc_franklin::npc_franklinAI, npc_elder_clearwater::npc_elder_clearwaterAI, npc_riggle_bassbait::npc_riggle_bassbaitAI, npc_training_dummy::npc_training_dummyAI, npc_target_dummy::npc_target_dummyAI, npc_chicken_cluck::npc_chicken_cluckAI, npc_dancing_flames::npc_dancing_flamesAI, npc_doctor::npc_doctorAI, npc_garments_of_quests::npc_garments_of_questsAI, npc_spring_rabbit::npc_spring_rabbitAI, npc_arcanite_dragonling, npc_koltira_deathweaver::npc_koltira_deathweaverAI, npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, npc_tyrion_spybot::npc_tyrion_spybotAI, npc_black_knight_skeletal_gryphon::npc_black_knight_skeletal_gryphonAI, boss_ichoron::boss_ichoronAI, npc_ichor_globule::npc_ichor_globuleAI, npc_warmage_coldarra::npc_warmage_coldarraAI, npc_engineer_helice::npc_engineer_heliceAI, npc_maxx_a_million_escort::npc_maxx_a_million_escortAI, npc_earthmender_wilda::npc_earthmender_wildaAI, AggressorAI, PassiveAI, PossessedAI, NullCreatureAI, CritterAI, PetAI, FollowerAI, npc_demonic_vapor::npc_demonic_vaporAI, npc_greengill_slave::npc_greengill_slaveAI, npc_marzon_silent_blade::npc_marzon_silent_bladeAI, boss_hexlord_addAI, npc_janalai_firebomb::npc_janalai_firebombAI, npc_janalai_egg::npc_janalai_eggAI, npc_zuljin_vortex::npc_zuljin_vortexAI, npc_zulaman_hostage::npc_zulaman_hostageAI, npc_chained_spirit, npc_buru_egg, npc_injured_draenei::npc_injured_draeneiAI, npc_zelfrax::npc_zelfraxAI, npc_enraged_panther::npc_enraged_pantherAI, npc_orb_carrier::npc_orb_carrierAI, npc_announcer_toc5::npc_announcer_toc5AI, npc_concentrated_ball::npc_concentrated_ballAI, npc_hor_raging_ghoul::npc_hor_raging_ghoulAI, npc_gunship_rocketeer::npc_gunship_rocketeerAI, npc_suppresser::npc_suppresserAI, npc_tesla::npc_teslaAI, npc_centrifuge_construct::npc_centrifuge_constructAI, npc_spark_of_ionar::npc_spark_of_ionarAI, boss_sjonnir_dwarf::boss_sjonnir_dwarfAI, npc_assembly_lightning::npc_assembly_lightningAI, boss_kologarn_arms::boss_kologarn_armsAI, npc_ulduar_mimiron_rocket::npc_ulduar_mimiron_rocketAI, npc_xt002_scrapbot::npc_xt002_scrapbotAI, npc_xt002_boombot::npc_xt002_boombotAI, npc_xt002_life_spark::npc_xt002_life_sparkAI, boss_yoggsaron_crusher_tentacle::boss_yoggsaron_crusher_tentacleAI, boss_yoggsaron_corruptor_tentacle::boss_yoggsaron_corruptor_tentacleAI, npc_ulduar_snow_mound::npc_ulduar_snow_moundAI, npc_frost_tomb::npc_frost_tombAI, npc_warmage_violetstand, npc_mageguard_dalaran::npc_mageguard_dalaranAI, npc_future_you::npc_future_youAI, npc_q24545_vegard_dummy::npc_q24545_vegard_dummyAI, npc_mrfloppy::npc_mrfloppyAI, npc_tallhorn_stag::npc_tallhorn_stagAI, npc_bushwhacker::npc_bushwhackerAI, npc_brunnhildar_prisoner::npc_brunnhildar_prisonerAI, npc_wg_spirit_guide::npc_wg_spirit_guideAI, boss_illidari_council::boss_illidari_councilAI, boss_vazruden_the_herald::boss_vazruden_the_heraldAI, npc_deaths_fel_cannon::npc_deaths_fel_cannonAI, npc_infernal_attacker::npc_infernal_attackerAI, npc_pet_gen_gnomish_flame_turret, npc_precious::npc_preciousAI, npc_injured_patient::npc_injured_patientAI, and npc_guardian::npc_guardianAI.

Referenced by Creature::Update(), and npc_gunship_mage::npc_gunship_mageAI::UpdateAI().

Member Data Documentation

◆ AISpellInfo

◆ me