From 8fee06f041fbfbc7e22eccc03a8f12bd7a649999 Mon Sep 17 00:00:00 2001 From: megamage Date: Fri, 30 Jan 2009 18:10:05 -0600 Subject: *AI structure update. --HG-- branch : trunk --- src/bindings/scripts/include/sc_creature.cpp | 16 +------- src/bindings/scripts/include/sc_creature.h | 5 +-- src/bindings/scripts/scripts/boss/boss_emeriss.cpp | 2 +- src/bindings/scripts/scripts/boss/boss_taerar.cpp | 4 +- src/bindings/scripts/scripts/boss/boss_ysondre.cpp | 4 +- .../scripts/scripts/creature/mob_event_ai.cpp | 2 +- .../scripts/creature/mob_generic_creature.cpp | 2 +- .../scripts/scripts/creature/simple_ai.cpp | 2 +- .../scripts/scripts/custom/custom_example.cpp | 2 +- src/bindings/scripts/scripts/guard/guard_ai.cpp | 2 +- src/bindings/scripts/scripts/guard/guards.cpp | 4 +- src/bindings/scripts/scripts/npc/npc_escortAI.cpp | 2 +- src/bindings/scripts/scripts/npc/npcs_special.cpp | 4 +- .../scripts/zone/ashenvale_forest/ashenvale.cpp | 2 +- .../auchenai_crypts/boss_exarch_maladaar.cpp | 6 +-- .../boss_shirrak_the_dead_watcher.cpp | 4 +- .../mana_tombs/boss_nexusprince_shaffar.cpp | 4 +- .../aunchindoun/mana_tombs/boss_pandemonius.cpp | 2 +- .../sethekk_halls/boss_darkweaver_syth.cpp | 10 ++--- .../sethekk_halls/boss_tailonking_ikiss.cpp | 2 +- .../shadow_labyrinth/boss_ambassador_hellmaw.cpp | 2 +- .../boss_blackheart_the_inciter.cpp | 2 +- .../shadow_labyrinth/boss_grandmaster_vorpil.cpp | 2 +- .../aunchindoun/shadow_labyrinth/boss_murmur.cpp | 2 +- .../scripts/scripts/zone/azshara/azshara.cpp | 2 +- .../scripts/scripts/zone/azshara/boss_azuregos.cpp | 2 +- .../scripts/zone/azuremyst_isle/azuremyst_isle.cpp | 2 +- .../scripts/scripts/zone/barrens/the_barrens.cpp | 2 +- .../scripts/zone/black_temple/boss_bloodboil.cpp | 2 +- .../scripts/zone/black_temple/boss_illidan.cpp | 10 ++--- .../zone/black_temple/boss_mother_shahraz.cpp | 2 +- .../zone/black_temple/boss_reliquary_of_souls.cpp | 6 +-- .../zone/black_temple/boss_shade_of_akama.cpp | 2 +- .../scripts/zone/black_temple/boss_supremus.cpp | 2 +- .../zone/black_temple/boss_teron_gorefiend.cpp | 4 +- .../zone/black_temple/boss_warlord_najentus.cpp | 2 +- .../scripts/zone/black_temple/illidari_council.cpp | 10 ++--- .../zone/blackrock_depths/blackrock_depths.cpp | 2 +- .../blackrock_depths/boss_ambassador_flamelash.cpp | 2 +- .../zone/blackrock_depths/boss_anubshiah.cpp | 2 +- .../boss_emperor_dagran_thaurissan.cpp | 2 +- .../blackrock_depths/boss_general_angerforge.cpp | 2 +- .../blackrock_depths/boss_gorosh_the_dervish.cpp | 2 +- .../scripts/zone/blackrock_depths/boss_grizzle.cpp | 2 +- .../boss_high_interrogator_gerstahn.cpp | 2 +- .../scripts/zone/blackrock_depths/boss_magmus.cpp | 2 +- .../blackrock_depths/boss_moira_bronzebeard.cpp | 2 +- .../zone/blackrock_depths/boss_tomb_of_seven.cpp | 14 +++---- .../zone/blackrock_spire/boss_drakkisath.cpp | 2 +- .../scripts/zone/blackrock_spire/boss_gyth.cpp | 2 +- .../scripts/zone/blackrock_spire/boss_halycon.cpp | 2 +- .../zone/blackrock_spire/boss_highlord_omokk.cpp | 2 +- .../blackrock_spire/boss_mother_smolderweb.cpp | 2 +- .../blackrock_spire/boss_overlord_wyrmthalak.cpp | 2 +- .../blackrock_spire/boss_pyroguard_emberseer.cpp | 2 +- .../blackrock_spire/boss_quartermaster_zigris.cpp | 2 +- .../zone/blackrock_spire/boss_rend_blackhand.cpp | 2 +- .../boss_shadow_hunter_voshgajin.cpp | 2 +- .../zone/blackrock_spire/boss_the_beast.cpp | 2 +- .../zone/blackrock_spire/boss_warmaster_voone.cpp | 2 +- .../blackwing_lair/boss_broodlord_lashlayer.cpp | 2 +- .../zone/blackwing_lair/boss_chromaggus.cpp | 2 +- .../scripts/zone/blackwing_lair/boss_ebonroc.cpp | 2 +- .../scripts/zone/blackwing_lair/boss_firemaw.cpp | 2 +- .../scripts/zone/blackwing_lair/boss_flamegor.cpp | 2 +- .../scripts/zone/blackwing_lair/boss_nefarian.cpp | 2 +- .../scripts/zone/blackwing_lair/boss_razorgore.cpp | 2 +- .../zone/blackwing_lair/boss_vaelastrasz.cpp | 2 +- .../zone/blackwing_lair/boss_victor_nefarius.cpp | 2 +- .../blades_edge_mountains.cpp | 2 +- .../scripts/zone/blasted_lands/boss_kruul.cpp | 2 +- .../caverns_of_time/dark_portal/boss_aeonus.cpp | 2 +- .../dark_portal/boss_chrono_lord_deja.cpp | 2 +- .../caverns_of_time/dark_portal/boss_temporus.cpp | 2 +- .../caverns_of_time/dark_portal/dark_portal.cpp | 2 +- .../zone/caverns_of_time/hyjal/boss_archimonde.cpp | 4 +- .../scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp | 2 +- .../old_hillsbrad/boss_captain_skarloc.cpp | 2 +- .../old_hillsbrad/boss_epoch_hunter.cpp | 2 +- .../old_hillsbrad/boss_leutenant_drake.cpp | 2 +- .../old_hillsbrad/old_hillsbrad.cpp | 2 +- .../serpent_shrine/boss_fathomlord_karathress.cpp | 8 ++-- .../serpent_shrine/boss_hydross_the_unstable.cpp | 2 +- .../serpent_shrine/boss_lady_vashj.cpp | 2 +- .../serpent_shrine/boss_leotheras_the_blind.cpp | 8 ++-- .../serpent_shrine/boss_lurker_below.cpp | 4 +- .../serpent_shrine/boss_morogrim_tidewalker.cpp | 4 +- .../steam_vault/boss_hydromancer_thespia.cpp | 4 +- .../steam_vault/boss_mekgineer_steamrigger.cpp | 4 +- .../steam_vault/boss_warlord_kalithresh.cpp | 2 +- .../coilfang_resevoir/underbog/boss_hungarfen.cpp | 2 +- .../zone/dustwallow_marsh/dustwallow_marsh.cpp | 2 +- .../scripts/zone/eversong_woods/eversong_woods.cpp | 4 +- .../scripts/zone/gruuls_lair/boss_gruul.cpp | 2 +- .../zone/gruuls_lair/boss_high_king_maulgar.cpp | 10 ++--- .../blood_furnace/boss_broggok.cpp | 2 +- .../blood_furnace/boss_kelidan_the_breaker.cpp | 4 +- .../blood_furnace/boss_the_maker.cpp | 2 +- .../hellfire_ramparts/boss_omor_the_unscarred.cpp | 2 +- .../hellfire_ramparts/boss_vazruden_the_herald.cpp | 6 +-- .../boss_watchkeeper_gargolmar.cpp | 2 +- .../magtheridons_lair/boss_magtheridon.cpp | 6 +-- .../shattered_halls/boss_nethekurse.cpp | 4 +- .../shattered_halls/boss_warbringer_omrogg.cpp | 2 +- .../boss_warchief_kargath_bladefist.cpp | 2 +- .../hellfire_peninsula/boss_doomlord_kazzak.cpp | 2 +- .../zone/hellfire_peninsula/hellfire_peninsula.cpp | 2 +- .../scripts/scripts/zone/karazhan/boss_curator.cpp | 2 +- .../zone/karazhan/boss_maiden_of_virtue.cpp | 2 +- .../scripts/zone/karazhan/boss_midnight.cpp | 4 +- .../scripts/scripts/zone/karazhan/boss_moroes.cpp | 16 ++++---- .../scripts/zone/karazhan/boss_nightbane.cpp | 2 +- .../zone/karazhan/boss_prince_malchezaar.cpp | 2 +- .../scripts/zone/karazhan/boss_shade_of_aran.cpp | 4 +- .../zone/karazhan/boss_terestian_illhoof.cpp | 10 ++--- .../scripts/scripts/zone/karazhan/bosses_opera.cpp | 18 ++++----- .../scripts/scripts/zone/karazhan/karazhan.cpp | 2 +- .../magisters_terrace/boss_felblood_kaelthas.cpp | 6 +-- .../magisters_terrace/boss_priestess_delrissa.cpp | 20 +++++----- .../magisters_terrace/boss_selin_fireheart.cpp | 2 +- .../zone/magisters_terrace/boss_vexallus.cpp | 4 +- .../zone/maraudon/boss_celebras_the_cursed.cpp | 2 +- .../scripts/zone/maraudon/boss_landslide.cpp | 2 +- .../scripts/scripts/zone/maraudon/boss_noxxion.cpp | 2 +- .../zone/maraudon/boss_princess_theradras.cpp | 2 +- .../scripts/zone/molten_core/boss_baron_geddon.cpp | 2 +- .../scripts/scripts/zone/molten_core/boss_garr.cpp | 4 +- .../scripts/zone/molten_core/boss_gehennas.cpp | 2 +- .../scripts/zone/molten_core/boss_golemagg.cpp | 4 +- .../scripts/zone/molten_core/boss_lucifron.cpp | 2 +- .../scripts/zone/molten_core/boss_magmadar.cpp | 2 +- .../zone/molten_core/boss_majordomo_executus.cpp | 2 +- .../scripts/zone/molten_core/boss_ragnaros.cpp | 2 +- .../scripts/zone/molten_core/boss_shazzrah.cpp | 2 +- .../zone/molten_core/boss_sulfuron_harbinger.cpp | 4 +- .../scripts/scripts/zone/nagrand/nagrand.cpp | 2 +- .../scripts/zone/naxxramas/boss_anubrekhan.cpp | 2 +- .../scripts/zone/naxxramas/boss_faerlina.cpp | 2 +- .../scripts/zone/naxxramas/boss_four_horsemen.cpp | 8 ++-- .../scripts/scripts/zone/naxxramas/boss_gluth.cpp | 2 +- .../zone/naxxramas/boss_highlord_mograine.cpp | 2 +- .../scripts/zone/naxxramas/boss_kelthuzad.cpp | 2 +- .../scripts/zone/naxxramas/boss_loatheb.cpp | 2 +- .../scripts/zone/naxxramas/boss_maexxna.cpp | 2 +- .../scripts/scripts/zone/naxxramas/boss_noth.cpp | 2 +- .../scripts/zone/naxxramas/boss_patchwerk.cpp | 2 +- .../scripts/zone/naxxramas/boss_razuvious.cpp | 2 +- .../scripts/zone/naxxramas/boss_sapphiron.cpp | 2 +- .../scripts/zone/netherstorm/netherstorm.cpp | 2 +- .../scripts/zone/onyxias_lair/boss_onyxia.cpp | 2 +- .../scripts/scripts/zone/orgrimmar/orgrimmar.cpp | 4 +- .../boss_amnennar_the_coldbringer.cpp | 2 +- .../zone/ruins_of_ahnqiraj/boss_ayamiss.cpp | 2 +- .../zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp | 2 +- .../scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp | 2 +- .../zone/scarlet_monastery/boss_arcanist_doan.cpp | 2 +- .../boss_azshir_the_sleepless.cpp | 2 +- .../scarlet_monastery/boss_bloodmage_thalnos.cpp | 2 +- .../scarlet_monastery/boss_headless_horseman.cpp | 4 +- .../scripts/zone/scarlet_monastery/boss_herod.cpp | 2 +- .../boss_high_inquisitor_fairbanks.cpp | 2 +- .../scarlet_monastery/boss_houndmaster_loksey.cpp | 2 +- .../scarlet_monastery/boss_interrogator_vishas.cpp | 2 +- .../boss_mograine_and_whitemane.cpp | 4 +- .../scripts/zone/scarlet_monastery/boss_scorn.cpp | 2 +- .../zone/scholomance/boss_darkmaster_gandling.cpp | 2 +- .../scholomance/boss_doctor_theolen_krastinov.cpp | 2 +- .../zone/scholomance/boss_illucia_barov.cpp | 2 +- .../zone/scholomance/boss_instructor_malicia.cpp | 2 +- .../zone/scholomance/boss_jandice_barov.cpp | 4 +- .../scripts/zone/scholomance/boss_kormok.cpp | 2 +- .../zone/scholomance/boss_lord_alexei_barov.cpp | 2 +- .../zone/scholomance/boss_lorekeeper_polkelt.cpp | 2 +- .../zone/scholomance/boss_ras_frostwhisper.cpp | 2 +- .../scripts/zone/scholomance/boss_the_ravenian.cpp | 2 +- .../scripts/zone/scholomance/boss_vectus.cpp | 2 +- .../zone/shadowmoon_valley/boss_doomwalker.cpp | 2 +- .../zone/shadowmoon_valley/shadowmoon_valley.cpp | 6 +-- .../scripts/zone/shattrath/shattrath_city.cpp | 4 +- .../zone/stranglethorn_vale/stranglethorn_vale.cpp | 2 +- .../zone/stratholme/boss_baron_rivendare.cpp | 2 +- .../zone/stratholme/boss_baroness_anastari.cpp | 2 +- .../zone/stratholme/boss_cannon_master_willey.cpp | 2 +- .../zone/stratholme/boss_dathrohan_balnazzar.cpp | 2 +- .../zone/stratholme/boss_magistrate_barthilas.cpp | 2 +- .../zone/stratholme/boss_maleki_the_pallid.cpp | 2 +- .../scripts/zone/stratholme/boss_nerubenkan.cpp | 2 +- .../zone/stratholme/boss_order_of_silver_hand.cpp | 2 +- .../zone/stratholme/boss_postmaster_malown.cpp | 2 +- .../zone/stratholme/boss_ramstein_the_gorger.cpp | 2 +- .../zone/stratholme/boss_timmy_the_cruel.cpp | 2 +- .../scripts/scripts/zone/stratholme/stratholme.cpp | 2 +- .../zone/sunwell_plateau/boss_brutallus.cpp | 2 +- .../zone/sunwell_plateau/boss_eredar_twins.cpp | 6 +-- .../scripts/zone/sunwell_plateau/boss_felmyst.cpp | 2 +- .../scripts/zone/sunwell_plateau/boss_kalecgos.cpp | 4 +- .../scripts/scripts/zone/tanaris/tanaris.cpp | 4 +- .../zone/tempest_keep/arcatraz/arcatraz.cpp | 2 +- .../arcatraz/boss_harbinger_skyriss.cpp | 2 +- .../botanica/boss_high_botanist_freywinn.cpp | 2 +- .../zone/tempest_keep/botanica/boss_laj.cpp | 2 +- .../tempest_keep/botanica/boss_warp_splinter.cpp | 4 +- .../zone/tempest_keep/the_eye/boss_alar.cpp | 4 +- .../zone/tempest_keep/the_eye/boss_astromancer.cpp | 4 +- .../zone/tempest_keep/the_eye/boss_kaelthas.cpp | 12 +++--- .../zone/tempest_keep/the_eye/boss_void_reaver.cpp | 2 +- .../scripts/zone/tempest_keep/the_eye/the_eye.cpp | 2 +- .../the_mechanar/boss_gatewatcher_ironhand.cpp | 2 +- .../the_mechanar/boss_nethermancer_sepethrea.cpp | 4 +- .../the_mechanar/boss_pathaleon_the_calculator.cpp | 4 +- .../zone/temple_of_ahnqiraj/boss_bug_trio.cpp | 6 +-- .../scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp | 14 +++---- .../zone/temple_of_ahnqiraj/boss_fankriss.cpp | 2 +- .../zone/temple_of_ahnqiraj/boss_huhuran.cpp | 2 +- .../scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp | 2 +- .../zone/temple_of_ahnqiraj/boss_sartura.cpp | 4 +- .../zone/temple_of_ahnqiraj/boss_skeram.cpp | 2 +- .../zone/temple_of_ahnqiraj/boss_twinemperors.cpp | 4 +- .../zone/terokkar_forest/terokkar_forest.cpp | 4 +- .../scripts/zone/thunder_bluff/thunder_bluff.cpp | 2 +- .../zone/tirisfal_glades/tirisfal_glades.cpp | 2 +- .../scripts/zone/uldaman/boss_archaedas.cpp | 6 +-- .../scripts/scripts/zone/uldaman/boss_ironaya.cpp | 2 +- .../scripts/scripts/zone/uldaman/uldaman.cpp | 2 +- .../scripts/scripts/zone/undercity/undercity.cpp | 2 +- .../scripts/zone/ungoro_crater/ungoro_crater.cpp | 2 +- .../scripts/zone/zangarmarsh/zangarmarsh.cpp | 2 +- .../scripts/scripts/zone/zulaman/boss_akilzon.cpp | 2 +- .../scripts/scripts/zone/zulaman/boss_halazzi.cpp | 4 +- .../scripts/scripts/zone/zulaman/boss_hexlord.cpp | 18 ++++----- .../scripts/scripts/zone/zulaman/boss_janalai.cpp | 4 +- .../scripts/scripts/zone/zulaman/boss_nalorakk.cpp | 2 +- .../scripts/scripts/zone/zulaman/boss_zuljin.cpp | 2 +- .../scripts/scripts/zone/zulfarrak/zulfarrak.cpp | 4 +- .../scripts/scripts/zone/zulgurub/boss_arlokk.cpp | 2 +- .../scripts/zone/zulgurub/boss_gahzranka.cpp | 2 +- .../scripts/scripts/zone/zulgurub/boss_grilek.cpp | 2 +- .../scripts/scripts/zone/zulgurub/boss_hakkar.cpp | 2 +- .../scripts/zone/zulgurub/boss_hazzarah.cpp | 2 +- .../scripts/scripts/zone/zulgurub/boss_jeklik.cpp | 4 +- .../scripts/scripts/zone/zulgurub/boss_jindo.cpp | 2 +- .../scripts/zone/zulgurub/boss_mandokir.cpp | 9 ++--- .../scripts/scripts/zone/zulgurub/boss_marli.cpp | 4 +- .../scripts/zone/zulgurub/boss_renataki.cpp | 2 +- .../scripts/scripts/zone/zulgurub/boss_thekal.cpp | 6 +-- .../scripts/scripts/zone/zulgurub/boss_venoxis.cpp | 2 +- .../scripts/zone/zulgurub/boss_wushoolay.cpp | 2 +- src/game/AggressorAI.cpp | 46 +--------------------- src/game/AggressorAI.h | 3 -- src/game/Creature.h | 2 +- src/game/CreatureAI.cpp | 37 +++++++++++------ src/game/CreatureAI.h | 32 ++++++++------- src/game/GuardAI.cpp | 18 +-------- src/game/GuardAI.h | 1 - src/game/NullCreatureAI.h | 3 +- src/game/OutdoorPvPObjectiveAI.cpp | 29 +++----------- src/game/OutdoorPvPObjectiveAI.h | 12 +----- src/game/PetAI.cpp | 14 +------ src/game/PetAI.h | 1 - src/game/PossessedAI.cpp | 6 --- src/game/PossessedAI.h | 3 +- src/game/ReactorAI.cpp | 18 +-------- src/game/ReactorAI.h | 3 +- src/game/TotemAI.cpp | 2 +- src/game/Unit.cpp | 27 ++++--------- src/game/Unit.h | 1 - 266 files changed, 458 insertions(+), 596 deletions(-) (limited to 'src') diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp index c2ae15d9ab1..b4bb5175a8b 100644 --- a/src/bindings/scripts/include/sc_creature.cpp +++ b/src/bindings/scripts/include/sc_creature.cpp @@ -63,20 +63,6 @@ void SummonList::DespawnAll() clear(); } -bool ScriptedAI::IsVisible(Unit* who) const -{ - if (!who) - return false; - - return (m_creature->GetDistance(who) < VISIBLE_RANGE) && who->isVisibleForOrDetect(m_creature,true); -} - -void ScriptedAI::MoveInLineOfSight(Unit *who) -{ - if(!m_creature->getVictim() && m_creature->canStartAttack(who)) - AttackStart(who); -} - void ScriptedAI::AttackStart(Unit* who, bool melee) { if (!who) @@ -121,7 +107,7 @@ void ScriptedAI::AttackStart(Unit* who) void ScriptedAI::UpdateAI(const uint32 diff) { //Check if we have a current target - if (m_creature->isAlive() && m_creature->SelectHostilTarget() && m_creature->getVictim()) + if (m_creature->isAlive() && UpdateVictim()) { if (m_creature->isAttackReady() ) { diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h index 6f60f8cf334..252895bfe68 100644 --- a/src/bindings/scripts/include/sc_creature.h +++ b/src/bindings/scripts/include/sc_creature.h @@ -33,7 +33,7 @@ GameObject* FindGameObject(uint32 entry, float range, Unit* Finder); struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI { - ScriptedAI(Creature* creature) : m_creature(creature), InCombat(false), IsFleeing(false) {} + ScriptedAI(Creature* creature) : CreatureAI(creature), m_creature(creature), InCombat(false), IsFleeing(false) {} ~ScriptedAI() {} //************* @@ -53,9 +53,6 @@ struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI // Called at any Damage from any attacker (before damage apply) void DamageTaken(Unit *done_by, uint32 &damage) {} - //Is unit visible for MoveInLineOfSight - bool IsVisible(Unit *who) const; - //Called at World update tick void UpdateAI(const uint32); diff --git a/src/bindings/scripts/scripts/boss/boss_emeriss.cpp b/src/bindings/scripts/scripts/boss/boss_emeriss.cpp index fa415be412c..c22c3deb614 100644 --- a/src/bindings/scripts/scripts/boss/boss_emeriss.cpp +++ b/src/bindings/scripts/scripts/boss/boss_emeriss.cpp @@ -60,7 +60,7 @@ struct TRINITY_DLL_DECL boss_emerissAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Sleep_Timer diff --git a/src/bindings/scripts/scripts/boss/boss_taerar.cpp b/src/bindings/scripts/scripts/boss/boss_taerar.cpp index 0dc69f1a990..ab2a9fb0ddb 100644 --- a/src/bindings/scripts/scripts/boss/boss_taerar.cpp +++ b/src/bindings/scripts/scripts/boss/boss_taerar.cpp @@ -115,7 +115,7 @@ struct TRINITY_DLL_DECL boss_taerarAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Sleep_Timer @@ -259,7 +259,7 @@ struct TRINITY_DLL_DECL boss_shadeoftaerarAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //PoisonCloud_Timer diff --git a/src/bindings/scripts/scripts/boss/boss_ysondre.cpp b/src/bindings/scripts/scripts/boss/boss_ysondre.cpp index d4771ebd414..4f8eafeb64c 100644 --- a/src/bindings/scripts/scripts/boss/boss_ysondre.cpp +++ b/src/bindings/scripts/scripts/boss/boss_ysondre.cpp @@ -90,7 +90,7 @@ struct TRINITY_DLL_DECL boss_ysondreAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Sleep_Timer @@ -206,7 +206,7 @@ struct TRINITY_DLL_DECL mob_dementeddruidsAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //MoonFire_Timer diff --git a/src/bindings/scripts/scripts/creature/mob_event_ai.cpp b/src/bindings/scripts/scripts/creature/mob_event_ai.cpp index 17b2c1b5ace..c7605f9adc4 100644 --- a/src/bindings/scripts/scripts/creature/mob_event_ai.cpp +++ b/src/bindings/scripts/scripts/creature/mob_event_ai.cpp @@ -1223,7 +1223,7 @@ struct TRINITY_DLL_DECL Mob_EventAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Check if we are in combat (also updates calls threat update code) - bool Combat = InCombat ? m_creature->SelectHostilTarget() : false; + bool Combat = InCombat ? UpdateVictim() : false; //Must return if creature isn't alive. Normally select hostil target and get victim prevent this if (!m_creature->isAlive()) diff --git a/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp b/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp index aa55016ebde..043bf461c0c 100644 --- a/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp +++ b/src/bindings/scripts/scripts/creature/mob_generic_creature.cpp @@ -77,7 +77,7 @@ struct TRINITY_DLL_DECL generic_creatureAI : public ScriptedAI }else BuffTimer -= diff; //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //If we are within range melee the target diff --git a/src/bindings/scripts/scripts/creature/simple_ai.cpp b/src/bindings/scripts/scripts/creature/simple_ai.cpp index 365b4269009..55fb05b195d 100644 --- a/src/bindings/scripts/scripts/creature/simple_ai.cpp +++ b/src/bindings/scripts/scripts/creature/simple_ai.cpp @@ -216,7 +216,7 @@ void SimpleAI::DamageTaken(Unit *killer, uint32 &damage) void SimpleAI::UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Spells diff --git a/src/bindings/scripts/scripts/custom/custom_example.cpp b/src/bindings/scripts/scripts/custom/custom_example.cpp index ce471d0b6a6..a36d18d28c9 100644 --- a/src/bindings/scripts/scripts/custom/custom_example.cpp +++ b/src/bindings/scripts/scripts/custom/custom_example.cpp @@ -147,7 +147,7 @@ struct TRINITY_DLL_DECL custom_exampleAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Spell 1 timer diff --git a/src/bindings/scripts/scripts/guard/guard_ai.cpp b/src/bindings/scripts/scripts/guard/guard_ai.cpp index 4fc3f3a8037..09b4a92a306 100644 --- a/src/bindings/scripts/scripts/guard/guard_ai.cpp +++ b/src/bindings/scripts/scripts/guard/guard_ai.cpp @@ -92,7 +92,7 @@ void guardAI::UpdateAI(const uint32 diff) }else BuffTimer -= diff; //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; // Make sure our attack is ready and we arn't currently casting diff --git a/src/bindings/scripts/scripts/guard/guards.cpp b/src/bindings/scripts/scripts/guard/guards.cpp index 06d476ff6bc..46b455e806f 100644 --- a/src/bindings/scripts/scripts/guard/guards.cpp +++ b/src/bindings/scripts/scripts/guard/guards.cpp @@ -2517,7 +2517,7 @@ struct TRINITY_DLL_DECL guard_shattrath_aldorAI : public guardAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if( CanTeleport ) @@ -2713,7 +2713,7 @@ struct TRINITY_DLL_DECL guard_shattrath_scryerAI : public guardAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if( CanTeleport ) diff --git a/src/bindings/scripts/scripts/npc/npc_escortAI.cpp b/src/bindings/scripts/scripts/npc/npc_escortAI.cpp index 20e6345b9f7..f17c134ab2c 100644 --- a/src/bindings/scripts/scripts/npc/npc_escortAI.cpp +++ b/src/bindings/scripts/scripts/npc/npc_escortAI.cpp @@ -188,7 +188,7 @@ void npc_escortAI::UpdateAI(const uint32 diff) } //Check if we have a current target - if( m_creature->isAlive() && m_creature->SelectHostilTarget() && m_creature->getVictim()) + if( m_creature->isAlive() && UpdateVictim()) { //If we are within range melee the target if( m_creature->IsWithinMeleeRange(m_creature->getVictim())) diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp index eaa841fe59d..9c23c21ffbd 100644 --- a/src/bindings/scripts/scripts/npc/npcs_special.cpp +++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp @@ -73,7 +73,7 @@ struct TRINITY_DLL_DECL npc_chicken_cluckAI : public ScriptedAI else ResetFlagTimer -= diff; } - if(m_creature->SelectHostilTarget() && m_creature->getVictim()) + if(UpdateVictim()) DoMeleeAttackIfReady(); } }; @@ -611,7 +611,7 @@ struct TRINITY_DLL_DECL npc_guardianAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (m_creature->isAttackReady()) diff --git a/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp b/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp index fcbb931cf06..10a311b3fc1 100644 --- a/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp +++ b/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp @@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL npc_torekAI : public npc_escortAI { npc_escortAI::UpdateAI(diff); - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (Rend_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp index afcb3be5b88..c0ceb9fd35f 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp @@ -61,7 +61,7 @@ struct TRINITY_DLL_DECL mob_stolen_soulAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (Class_Timer < diff) @@ -234,7 +234,7 @@ struct TRINITY_DLL_DECL boss_exarch_maladaarAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (!Avatar_summoned && ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 25)) @@ -319,7 +319,7 @@ struct TRINITY_DLL_DECL mob_avatar_of_martyredAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (Mortal_Strike_timer < diff) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp index d0273e22d34..2f554c9ca1d 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp @@ -102,7 +102,7 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI }else Inhibitmagic_Timer -= diff; //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Attractmagic_Timer @@ -173,7 +173,7 @@ struct TRINITY_DLL_DECL mob_focus_fireAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //FieryBlast_Timer diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp index 5f4eae9fbfe..2f720d03db8 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp @@ -136,7 +136,7 @@ struct TRINITY_DLL_DECL boss_nexusprince_shaffarAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if( FrostNova_Timer < diff ) @@ -234,7 +234,7 @@ struct TRINITY_DLL_DECL mob_ethereal_beaconAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if( ArcaneBolt_Timer < diff ) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp index 3d73efb6757..6bf52dabf14 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp @@ -86,7 +86,7 @@ struct TRINITY_DLL_DECL boss_pandemoniusAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if( VoidBlast_Timer < diff ) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp index f38b144da90..8d2572f90de 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp @@ -132,7 +132,7 @@ struct TRINITY_DLL_DECL boss_darkweaver_sythAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 90) && !summon90) @@ -228,7 +228,7 @@ struct TRINITY_DLL_DECL mob_syth_fireAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(flameshock_timer < diff) @@ -280,7 +280,7 @@ struct TRINITY_DLL_DECL mob_syth_arcaneAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(arcaneshock_timer < diff) @@ -332,7 +332,7 @@ struct TRINITY_DLL_DECL mob_syth_frostAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(frostshock_timer < diff) @@ -384,7 +384,7 @@ struct TRINITY_DLL_DECL mob_syth_shadowAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(shadowshock_timer < diff) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp index 3da01bf0586..0dc5aa4aaa1 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp @@ -135,7 +135,7 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (Blink) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp index b97f4bd296e..f93f670d6bc 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp @@ -164,7 +164,7 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public ScriptedAI //DoWhine("I haz no mount!", LANG_UNIVERSAL, NULL); } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (CorrosiveAcid_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp index 68ad03f86e3..cd4ba800caf 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp @@ -112,7 +112,7 @@ struct TRINITY_DLL_DECL boss_blackheart_the_inciterAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (InciteChaos) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp index 35f1cffa8e8..ed6b1da35cd 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp @@ -254,7 +254,7 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (ShadowBoltVolley_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp index ba878b24511..8061785c16a 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp @@ -65,7 +65,7 @@ struct TRINITY_DLL_DECL boss_murmurAI : public Scripted_NoMovementAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //SonicBoom_Timer diff --git a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp index 262754a0f92..e3851ab3821 100644 --- a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp +++ b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp @@ -82,7 +82,7 @@ struct TRINITY_DLL_DECL mobs_spitelashesAI : public ScriptedAI DoCast(m_creature,6924); //visual explosion } } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //TODO: add abilities for the different creatures diff --git a/src/bindings/scripts/scripts/zone/azshara/boss_azuregos.cpp b/src/bindings/scripts/scripts/zone/azshara/boss_azuregos.cpp index 3c36e471393..f0fde3ffbe2 100644 --- a/src/bindings/scripts/scripts/zone/azshara/boss_azuregos.cpp +++ b/src/bindings/scripts/scripts/zone/azshara/boss_azuregos.cpp @@ -65,7 +65,7 @@ struct TRINITY_DLL_DECL boss_azuregosAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(Teleport_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp b/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp index 569e2ae8bc5..2c1d2635a1d 100644 --- a/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp +++ b/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp @@ -235,7 +235,7 @@ struct TRINITY_DLL_DECL npc_engineer_spark_overgrindAI : public ScriptedAI }else Emote_Timer -= diff; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if (Dynamite_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp index 238918ed973..2cb282422a7 100644 --- a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp +++ b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp @@ -148,7 +148,7 @@ struct TRINITY_DLL_DECL npc_taskmaster_fizzuleAI : public ScriptedAI } else Reset_Timer -= diff; } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp index 567c9302704..8ec0f7c0d1b 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp @@ -198,7 +198,7 @@ struct TRINITY_DLL_DECL boss_gurtogg_bloodboilAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(ArcingSmashTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp index 40d69bd2186..16200052630 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp @@ -694,7 +694,7 @@ struct TRINITY_DLL_DECL boss_illidan_stormrageAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if((!m_creature->SelectHostilTarget() && !m_creature->getVictim()) && Phase < PHASE_TALK_SEQUENCE) + if((!UpdateVictim()) && Phase < PHASE_TALK_SEQUENCE) return; Event = EVENT_NULL; @@ -942,7 +942,7 @@ struct TRINITY_DLL_DECL flame_of_azzinothAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(FlameBlastTimer < diff) @@ -1353,7 +1353,7 @@ struct TRINITY_DLL_DECL npc_akama_illidanAI : public ScriptedAI } } - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; if(m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 20) @@ -1494,7 +1494,7 @@ struct TRINITY_DLL_DECL boss_maievAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if((!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if((!UpdateVictim()) && !Timer[EVENT_MAIEV_STEALTH]) return; @@ -1697,7 +1697,7 @@ struct TRINITY_DLL_DECL shadow_demonAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) return; + if(!UpdateVictim()) return; if(m_creature->getVictim()->GetTypeId() != TYPEID_PLAYER) return; // Only cast the below on players. diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp index 3f882d16679..a547034fd58 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_mother_shahraz.cpp @@ -170,7 +170,7 @@ struct TRINITY_DLL_DECL boss_shahrazAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 10) && !Enraged) diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp index 348d21c4959..6a9cd6bc7b8 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp @@ -397,7 +397,7 @@ struct TRINITY_DLL_DECL boss_essence_of_sufferingAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if (!UpdateVictim()) return; //Supposed to be cast on nearest target @@ -491,7 +491,7 @@ struct TRINITY_DLL_DECL boss_essence_of_desireAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if (!UpdateVictim()) return; if(RuneShieldTimer < diff) @@ -580,7 +580,7 @@ struct TRINITY_DLL_DECL boss_essence_of_angerAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if (!UpdateVictim()) return; if(!CheckedAggro) diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp index be2c1830409..1e82ce4be1b 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp @@ -748,7 +748,7 @@ struct TRINITY_DLL_DECL npc_akamaAI : public ScriptedAI } }else SoulRetrieveTimer -= diff; - if(!m_creature->getVictim() || !m_creature->SelectHostilTarget()) + if(!UpdateVictim()) return; if(DestructivePoisonTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp index d380131d18c..954d66c9d82 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp @@ -148,7 +148,7 @@ struct TRINITY_DLL_DECL boss_supremusAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(!m_creature->HasAura(SPELL_BERSERK, 0)) diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp index 133978d8b00..69afd23f888 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp @@ -89,7 +89,7 @@ struct TRINITY_DLL_DECL mob_doom_blossomAI : public ScriptedAI CheckTeronTimer = 5000; }else CheckTeronTimer -= diff; - if(!m_creature->getVictim() || !m_creature->SelectHostilTarget()) + if(!UpdateVictim()) return; if(ShadowBoltTimer < diff) @@ -390,7 +390,7 @@ struct TRINITY_DLL_DECL boss_teron_gorefiendAI : public ScriptedAI }else AggroTimer -= diff; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() || Intro) + if(!UpdateVictim() || Intro) return; if(SummonShadowsTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp index b6af9d06869..427ddbda2cb 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp @@ -132,7 +132,7 @@ struct TRINITY_DLL_DECL boss_najentusAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(TidalShieldTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp b/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp index 978c1522f48..1fd53ec2cd7 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp @@ -325,7 +325,7 @@ struct TRINITY_DLL_DECL mob_illidari_councilAI : public ScriptedAI if(Creature* Member = ((Creature*)Unit::GetUnit((*m_creature), Council[i]))) { // This is the evade/death check. - if(Member->isAlive() && !Member->SelectHostilTarget()) + if(Member->isAlive() && !Member->getVictim()) ++EvadeCheck; //If all members evade, we reset so that players can properly reset the event else if(!Member->isAlive()) // If even one member dies, kill the rest, set instance data, and kill self. { @@ -490,7 +490,7 @@ struct TRINITY_DLL_DECL boss_gathios_the_shattererAI : public boss_illidari_coun void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(BlessingTimer < diff) @@ -578,7 +578,7 @@ struct TRINITY_DLL_DECL boss_high_nethermancer_zerevorAI : public boss_illidari_ void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(Cooldown) @@ -666,7 +666,7 @@ struct TRINITY_DLL_DECL boss_lady_malandeAI : public boss_illidari_councilAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(EmpoweredSmiteTimer < diff) @@ -740,7 +740,7 @@ struct TRINITY_DLL_DECL boss_veras_darkshadowAI : public boss_illidari_councilAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(!HasVanished) diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp index e0aa40d060c..7c5ff1e942f 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp @@ -360,7 +360,7 @@ struct TRINITY_DLL_DECL mob_phalanxAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; //ThunderClap_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp index 10eb3984d73..51a35f3f64f 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp @@ -67,7 +67,7 @@ struct TRINITY_DLL_DECL boss_ambassador_flamelashAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //FireBlast_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp index aa2ebcf1cbf..ca7b76d5628 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_anubshiah.cpp @@ -55,7 +55,7 @@ struct TRINITY_DLL_DECL boss_anubshiahAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ShadowBolt_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp index 4d90b9b457a..790e0676962 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp @@ -57,7 +57,7 @@ struct TRINITY_DLL_DECL boss_draganthaurissanAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (HandOfThaurissan_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp index 54053098977..d31a0e5927e 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_general_angerforge.cpp @@ -103,7 +103,7 @@ struct TRINITY_DLL_DECL boss_general_angerforgeAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //MightyBlow_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp index 80a740c6e1c..81cc6713f8c 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp @@ -46,7 +46,7 @@ struct TRINITY_DLL_DECL boss_gorosh_the_dervishAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //WhirlWind_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp index 56d3bfaa606..ea3dea480c2 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_grizzle.cpp @@ -46,7 +46,7 @@ struct TRINITY_DLL_DECL boss_grizzleAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //GroundTremor_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp index c5a93fd1ad6..dc7b7b4669d 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp @@ -52,7 +52,7 @@ struct TRINITY_DLL_DECL boss_high_interrogator_gerstahnAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ShadowWordPain_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp index 1f1b3bf2835..826c4962643 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_magmus.cpp @@ -46,7 +46,7 @@ struct TRINITY_DLL_DECL boss_magmusAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //FieryBurst_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp index bac5e365049..c7416a8d84a 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp @@ -58,7 +58,7 @@ struct TRINITY_DLL_DECL boss_moira_bronzebeardAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //MindBlast_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp index d687b6aae01..d74b883917a 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp @@ -52,7 +52,7 @@ struct TRINITY_DLL_DECL boss_angerrelAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //SunderArmor_Timer @@ -110,7 +110,7 @@ struct TRINITY_DLL_DECL boss_doperelAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //SinisterStrike_Timer @@ -170,7 +170,7 @@ struct TRINITY_DLL_DECL boss_haterelAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //ShadowBolt_Timer @@ -242,7 +242,7 @@ struct TRINITY_DLL_DECL boss_vilerelAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //MindBlast_Timer @@ -315,7 +315,7 @@ struct TRINITY_DLL_DECL boss_seethrelAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //FrostArmor_Timer @@ -391,7 +391,7 @@ struct TRINITY_DLL_DECL boss_gloomrelAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Hamstring_Timer @@ -520,7 +520,7 @@ struct TRINITY_DLL_DECL boss_doomrelAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ShadowVolley_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp index 06844d249f6..48f64249581 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_drakkisath.cpp @@ -52,7 +52,7 @@ struct TRINITY_DLL_DECL boss_drakkisathAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //FireNova_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp index d90c84116c5..732e367eee6 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_gyth.cpp @@ -96,7 +96,7 @@ struct TRINITY_DLL_DECL boss_gythAI : public ScriptedAI //char buf[200]; //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (!RootSelf) diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp index 16783f03171..7c4cb2bad95 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_halycon.cpp @@ -53,7 +53,7 @@ struct TRINITY_DLL_DECL boss_halyconAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //CrowdPummel_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp index 01c11ab347e..cbed894bc0d 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_highlord_omokk.cpp @@ -61,7 +61,7 @@ struct TRINITY_DLL_DECL boss_highlordomokkAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //WarStomp_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp index 88768e0f2ef..b8c79f281bb 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp @@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL boss_mothersmolderwebAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Crystalize_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp index ef045e99d6c..85f9e29af79 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp @@ -65,7 +65,7 @@ struct TRINITY_DLL_DECL boss_overlordwyrmthalakAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //BlastWave_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp index 1c3c281bc3f..f436ffeb87d 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp @@ -49,7 +49,7 @@ struct TRINITY_DLL_DECL boss_pyroguard_emberseerAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //FireNova_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp index 8ab9643406d..f51b8d19b66 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp @@ -50,7 +50,7 @@ struct TRINITY_DLL_DECL boss_quatermasterzigrisAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Shoot_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp index e1db4e92b5b..5be92c57c33 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_rend_blackhand.cpp @@ -49,7 +49,7 @@ struct TRINITY_DLL_DECL boss_rend_blackhandAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //WhirlWind_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp index be3ac1eb04b..13c92c27d27 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp @@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL boss_shadowvoshAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //CurseOfBlood_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp index 88d7b3a851e..3d4f7673aaa 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_the_beast.cpp @@ -49,7 +49,7 @@ struct TRINITY_DLL_DECL boss_thebeastAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Flamebreak_Timer diff --git a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp index d2eb84fa543..12cd27c6e3c 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_spire/boss_warmaster_voone.cpp @@ -58,7 +58,7 @@ struct TRINITY_DLL_DECL boss_warmastervooneAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Snapkick_Timer diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp index 560adc63011..64757ad1321 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp @@ -61,7 +61,7 @@ struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //LeashCheck_Timer diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp index 3c2d6a78ff7..09dd9ec53a4 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp @@ -189,7 +189,7 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Shimmer_Timer Timer diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp index 2e622f5c0de..87770b7250f 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_ebonroc.cpp @@ -52,7 +52,7 @@ struct TRINITY_DLL_DECL boss_ebonrocAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Shadowflame Timer diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp index 532657e3063..609a1d08c53 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_firemaw.cpp @@ -49,7 +49,7 @@ struct TRINITY_DLL_DECL boss_firemawAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ShadowFlame_Timer diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp index 5af096fa4ac..1c3632c2326 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_flamegor.cpp @@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL boss_flamegorAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ShadowFlame_Timer diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp index 767a45f51c2..2c60d7fa72d 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp @@ -112,7 +112,7 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ShadowFlame_Timer diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp index e706a22ff6e..e3b73bc9b1c 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp @@ -67,7 +67,7 @@ struct TRINITY_DLL_DECL boss_razorgoreAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Cleave_Timer diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp index 6749e7cb360..2515d41740a 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp @@ -142,7 +142,7 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; // Yell if hp lower than 15% diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp index 1942def9e66..d6940c38742 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp @@ -221,7 +221,7 @@ struct TRINITY_DLL_DECL boss_victor_nefariusAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Only do this if we haven't spawned nef yet diff --git a/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp b/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp index 116c08d4b0a..8b08011bc8a 100644 --- a/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp +++ b/src/bindings/scripts/scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp @@ -226,7 +226,7 @@ struct TRINITY_DLL_DECL mobs_nether_drakeAI : public ScriptedAI return; //anything below here is not interesting for Nihil, so skip it } - if( !m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if( !UpdateVictim() ) return; if( IntangiblePresence_Timer <= diff ) diff --git a/src/bindings/scripts/scripts/zone/blasted_lands/boss_kruul.cpp b/src/bindings/scripts/scripts/zone/blasted_lands/boss_kruul.cpp index 9248cf5c3d8..3e09371466e 100644 --- a/src/bindings/scripts/scripts/zone/blasted_lands/boss_kruul.cpp +++ b/src/bindings/scripts/scripts/zone/blasted_lands/boss_kruul.cpp @@ -93,7 +93,7 @@ struct TRINITY_DLL_DECL boss_kruulAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ShadowVolley_Timer diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp index 466fb647e40..7f8142c155a 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp @@ -104,7 +104,7 @@ struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Sand Breath diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp index c75b4510784..eec99e8b9bb 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp @@ -99,7 +99,7 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Arcane Blast diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp index 802953da0d2..b112cd60c67 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp @@ -102,7 +102,7 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Attack Haste diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp index 858d57cc0e4..8ceb9ddd44b 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp @@ -213,7 +213,7 @@ struct TRINITY_DLL_DECL npc_medivh_bmAI : public ScriptedAI }else Check_Timer -= diff; } - //if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + //if (!UpdateVictim()) //return; //DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp index b1bb9b9e63a..f1c8b12e60b 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp @@ -256,7 +256,7 @@ struct TRINITY_DLL_DECL mob_doomfire_targettingAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(SummonTimer < diff) @@ -574,7 +574,7 @@ struct TRINITY_DLL_DECL boss_archimondeAI : public ScriptedAI }else DrainNordrassilTimer -= diff; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 10) && !BelowTenPercent && !Enraged) diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp index 4e4734f817a..0e2038e4e75 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp @@ -433,7 +433,7 @@ void hyjalAI::UpdateAI(const uint32 diff) CheckTimer = 5000; }else CheckTimer -= diff; - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; for(uint8 i = 0; i < 3; ++i) diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp index 2d7c8b55c27..2c6737a16ce 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp @@ -92,7 +92,7 @@ struct TRINITY_DLL_DECL boss_captain_skarlocAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Holy_Light diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp index 4553ea5dd13..706b804da6c 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp @@ -92,7 +92,7 @@ struct TRINITY_DLL_DECL boss_epoch_hunterAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Sand Breath diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp index c835ea5a1e3..ee7b6749f22 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp @@ -144,7 +144,7 @@ struct TRINITY_DLL_DECL boss_lieutenant_drakeAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Whirlwind diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp index e442d067bc4..0ed19fdc558 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp @@ -495,7 +495,7 @@ struct TRINITY_DLL_DECL npc_thrall_old_hillsbradAI : public npc_escortAI { npc_escortAI::UpdateAI(diff); - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //TODO: add his abilities'n-crap here diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp index 933b4c0361f..630b78ecbf2 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp @@ -232,7 +232,7 @@ struct TRINITY_DLL_DECL boss_fathomlord_karathressAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //someone evaded! @@ -381,7 +381,7 @@ struct TRINITY_DLL_DECL boss_fathomguard_sharkkisAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //someone evaded! @@ -512,7 +512,7 @@ struct TRINITY_DLL_DECL boss_fathomguard_tidalvessAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //someone evaded! @@ -627,7 +627,7 @@ struct TRINITY_DLL_DECL boss_fathomguard_caribdisAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //someone evaded! diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp index 4051ddf3550..df2c92246fb 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp @@ -223,7 +223,7 @@ struct TRINITY_DLL_DECL boss_hydross_the_unstableAI : public ScriptedAI beam=true; } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; // corrupted form diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp index 1c8e8091480..70db67f0f06 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp @@ -342,7 +342,7 @@ struct TRINITY_DLL_DECL boss_lady_vashjAI : public ScriptedAI return; } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(Phase == 1 || Phase == 3) diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp index a0cad28099a..42d0a3e1ceb 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp @@ -113,7 +113,7 @@ struct TRINITY_DLL_DECL mob_inner_demonAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (m_creature->getVictim()->GetGUID() != victimGUID) @@ -403,7 +403,7 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (m_creature->HasAura(AURA_BANISH, 0) || !m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (m_creature->HasAura(AURA_BANISH, 0) || !UpdateVictim()) { if(BanishTimerSelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ChaosBlast_Timer if(m_creature->GetDistance(m_creature->getVictim()) < 30) @@ -723,7 +723,7 @@ struct TRINITY_DLL_DECL mob_greyheart_spellbinderAI : public ScriptedAI } } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) { CastChanneling(); return; diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp index b8864fe6506..7fb0215169b 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp @@ -249,7 +249,7 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() /*|| !m_creature->getVictim()*/ )//rotate resets target + if (!UpdateVictim() /*|| !m_creature->getVictim()*/ )//rotate resets target return; //Check if players in water and if in water cast spell @@ -328,7 +328,7 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI WaterboltTimer = 3000; }else WaterboltTimer -= diff; - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp index af702cf22dc..77d744d7006 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp @@ -183,7 +183,7 @@ struct TRINITY_DLL_DECL boss_morogrim_tidewalkerAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Earthquake_Timer @@ -326,7 +326,7 @@ struct TRINITY_DLL_DECL mob_water_globuleAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (Check_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp index 358e7ae393f..388a0704685 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp @@ -99,7 +99,7 @@ struct TRINITY_DLL_DECL boss_thespiaAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //LightningCloud_Timer @@ -158,7 +158,7 @@ struct TRINITY_DLL_DECL mob_coilfang_waterelementalAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (WaterBoltVolley_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp index b17784fcfa4..938cb732ee5 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp @@ -127,7 +127,7 @@ struct TRINITY_DLL_DECL boss_mekgineer_steamriggerAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (Shrink_Timer < diff) @@ -252,7 +252,7 @@ struct TRINITY_DLL_DECL mob_steamrigger_mechanicAI : public ScriptedAI }else Repair_Timer = 5000; }else Repair_Timer -= diff; - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp index 7361b330d1c..efa5cf72eaa 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp @@ -174,7 +174,7 @@ struct TRINITY_DLL_DECL boss_warlord_kalithreshAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (Rage_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp index dd8bc5d32b5..ac04981d99b 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp @@ -52,7 +52,7 @@ struct TRINITY_DLL_DECL boss_hungarfenAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if( (m_creature->GetHealth()*100) / m_creature->GetMaxHealth() <= 20 ) diff --git a/src/bindings/scripts/scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp b/src/bindings/scripts/scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp index 00c4ee3e381..03a5e88165b 100644 --- a/src/bindings/scripts/scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp +++ b/src/bindings/scripts/scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp @@ -63,7 +63,7 @@ struct TRINITY_DLL_DECL mobs_risen_husk_spiritAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if( ConsumeFlesh_Timer < diff ) diff --git a/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp b/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp index 6149b185cfa..885913ffbed 100644 --- a/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp +++ b/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp @@ -282,7 +282,7 @@ struct TRINITY_DLL_DECL npc_secondTrialAI : public ScriptedAI else timer -= diff; } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; // healer @@ -400,7 +400,7 @@ struct TRINITY_DLL_DECL master_kelerun_bloodmournAI : public ScriptedAI else timer -= diff; } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp index ba2366d5488..8317f1d2062 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp +++ b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp @@ -132,7 +132,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; // Growth diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp index cf1ff7c1eeb..bdfbe1446d5 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp +++ b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp @@ -200,7 +200,7 @@ struct TRINITY_DLL_DECL boss_high_king_maulgarAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //someone evaded! @@ -329,7 +329,7 @@ struct TRINITY_DLL_DECL boss_olm_the_summonerAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //someone evaded! @@ -431,7 +431,7 @@ struct TRINITY_DLL_DECL boss_kiggler_the_crazedAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //someone evaded! @@ -535,7 +535,7 @@ struct TRINITY_DLL_DECL boss_blindeye_the_seerAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //someone evaded! @@ -624,7 +624,7 @@ struct TRINITY_DLL_DECL boss_krosh_firehandAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //someone evaded! diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp index 98fd220a512..42016771df0 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp @@ -54,7 +54,7 @@ struct TRINITY_DLL_DECL boss_broggokAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(AcidSpray_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp index 1a01cdab769..8e9a87d8c41 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp @@ -188,7 +188,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) { if(check_Timer < diff) { @@ -309,7 +309,7 @@ struct TRINITY_DLL_DECL mob_shadowmoon_channelerAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) { if(check_Timer < diff) { diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp index a17bbec2277..09efb66bd1f 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp @@ -78,7 +78,7 @@ struct TRINITY_DLL_DECL boss_the_makerAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (AcidSpray_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp index 5ba37b0ed11..6b4fd99295b 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp @@ -111,7 +111,7 @@ struct TRINITY_DLL_DECL boss_omor_the_unscarredAI : public Scripted_NoMovementAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //only two may be wrong, perhaps increase timer and spawn periodically instead. diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp index a89d6d04aa9..4d4e9dcdd5c 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp @@ -107,7 +107,7 @@ struct TRINITY_DLL_DECL boss_nazanAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) { if(UnsummonCheck < diff && m_creature->isAlive()) { @@ -220,7 +220,7 @@ struct TRINITY_DLL_DECL boss_vazrudenAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) { if(UnsummonCheck < diff && m_creature->isAlive()) { @@ -430,7 +430,7 @@ struct TRINITY_DLL_DECL mob_hellfire_sentryAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(KidneyShot_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp index 694cef563b4..5608839ad3e 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp @@ -112,7 +112,7 @@ struct TRINITY_DLL_DECL boss_watchkeeper_gargolmarAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (MortalWound_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp index 30a49f374c3..fdce1519c77 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp @@ -154,7 +154,7 @@ struct TRINITY_DLL_DECL mob_abyssalAI : public ScriptedAI m_creature->setDeathState(JUST_DIED); }else Despawn_Timer -= diff; - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; if(FireBlast_Timer < diff) @@ -323,7 +323,7 @@ struct TRINITY_DLL_DECL boss_magtheridonAI : public ScriptedAI }else RandChat_Timer -= diff; } - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; if(NeedCheckCube) NeedCheckCubeStatus(); @@ -470,7 +470,7 @@ struct TRINITY_DLL_DECL mob_hellfire_channelerAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; if(ShadowBoltVolley_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp index c8027abaa5b..d9ab3992373 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp @@ -269,7 +269,7 @@ struct TRINITY_DLL_DECL boss_grand_warlock_nethekurseAI : public ScriptedAI } } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (!IsMainEvent) @@ -367,7 +367,7 @@ struct TRINITY_DLL_DECL mob_fel_orc_convertAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (Hemorrhage_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp index 4b5a585cfda..cf02f04e35e 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp @@ -328,7 +328,7 @@ struct TRINITY_DLL_DECL boss_warbringer_omroggAI : public ScriptedAI } }else Delay_Timer -= diff; - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (BlastCount && BlastWave_Timer <= diff) diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp index 5cf3baac9d7..aa275d013e5 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp @@ -189,7 +189,7 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(Assassins_Timer) diff --git a/src/bindings/scripts/scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp b/src/bindings/scripts/scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp index 1264a72f0cb..d4a8631a86a 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp @@ -106,7 +106,7 @@ struct TRINITY_DLL_DECL boss_doomlordkazzakAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ShadowVolley_Timer diff --git a/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp b/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp index 8341652c30e..bda4d137894 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp @@ -81,7 +81,7 @@ struct TRINITY_DLL_DECL npc_aeranasAI : public ScriptedAI }else Faction_Timer -= diff; } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 30) diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp index 661ac4ff475..300e06c5592 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_curator.cpp @@ -86,7 +86,7 @@ struct TRINITY_DLL_DECL boss_curatorAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (Evocating && !m_creature->HasAura(SPELL_EVOCATION, 0)) diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp index 4fcc525868f..e41ab83543e 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_maiden_of_virtue.cpp @@ -88,7 +88,7 @@ struct TRINITY_DLL_DECL boss_maiden_of_virtueAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (Enrage_Timer < diff && !Enraged) diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp index 30e8a49b84a..e1f6c89f8c2 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp @@ -75,7 +75,7 @@ struct TRINITY_DLL_DECL boss_midnightAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(Phase == 1 && (m_creature->GetHealth()*100)/m_creature->GetMaxHealth() < 95) @@ -226,7 +226,7 @@ struct TRINITY_DLL_DECL boss_attumenAI : public ScriptedAI } else ResetTimer -= diff; //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(m_creature->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE )) diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp index 99283ca7097..12115dfa1d0 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp @@ -260,7 +260,7 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if(pInstance && !pInstance->GetData(DATA_MOROES_EVENT)) @@ -281,7 +281,7 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI { Temp = (Creature*)Unit::GetUnit((*m_creature),AddGUID[i]); if (Temp && Temp->isAlive()) - if (!Temp->SelectHostilTarget() || !Temp->getVictim() ) + if (!Temp->getVictim() ) Temp->AI()->AttackStart(m_creature->getVictim()); } } @@ -450,7 +450,7 @@ struct TRINITY_DLL_DECL boss_baroness_dorothea_millstipeAI : public boss_moroes_ void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_moroes_guestAI::UpdateAI(diff); @@ -505,7 +505,7 @@ struct TRINITY_DLL_DECL boss_baron_rafe_dreugerAI : public boss_moroes_guestAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_moroes_guestAI::UpdateAI(diff); @@ -560,7 +560,7 @@ struct TRINITY_DLL_DECL boss_lady_catriona_von_indiAI : public boss_moroes_guest void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_moroes_guestAI::UpdateAI(diff); @@ -630,7 +630,7 @@ struct TRINITY_DLL_DECL boss_lady_keira_berrybuckAI : public boss_moroes_guestAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_moroes_guestAI::UpdateAI(diff); @@ -693,7 +693,7 @@ struct TRINITY_DLL_DECL boss_lord_robin_darisAI : public boss_moroes_guestAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_moroes_guestAI::UpdateAI(diff); @@ -745,7 +745,7 @@ struct TRINITY_DLL_DECL boss_lord_crispin_ferenceAI : public boss_moroes_guestAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_moroes_guestAI::UpdateAI(diff); diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp index ab2f4807551..eabc302551b 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp @@ -289,7 +289,7 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI WaitTimer = 0; }else WaitTimer -= diff; - if(!m_creature->SelectHostilTarget()) + if(!UpdateVictim()) return; if(Flying) diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp index f73f947653b..6a56b720f78 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_prince_malchezaar.cpp @@ -399,7 +399,7 @@ struct TRINITY_DLL_DECL boss_malchezaarAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(EnfeebleResetTimer) diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp index a1999111b84..030781fed64 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp @@ -219,7 +219,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(CloseDoorTimer) @@ -539,7 +539,7 @@ struct TRINITY_DLL_DECL water_elementalAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(CastTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp index 8255893763e..c7c95a4eabc 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp @@ -93,7 +93,7 @@ struct TRINITY_DLL_DECL mob_kilrekAI : public ScriptedAI } Creature* Terestian = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_TERESTIAN))); - if(Terestian && (!Terestian->SelectHostilTarget() && !Terestian->getVictim())) + if(Terestian && !Terestian->getVictim()) Terestian->AddThreat(who, 1.0f); } @@ -114,7 +114,7 @@ struct TRINITY_DLL_DECL mob_kilrekAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (AmplifyTimer < diff) @@ -219,7 +219,7 @@ struct TRINITY_DLL_DECL boss_terestianAI : public ScriptedAI { // Put Kil'rek in combat against our target so players don't skip him Creature* Kilrek = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_KILREK))); - if(Kilrek && (!Kilrek->SelectHostilTarget() && !Kilrek->getVictim())) + if(Kilrek && !Kilrek->getVictim()) Kilrek->AddThreat(who, 1.0f); pInstance->SetData(DATA_TERESTIAN_EVENT, IN_PROGRESS); @@ -257,7 +257,7 @@ struct TRINITY_DLL_DECL boss_terestianAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->getVictim() && !m_creature->SelectHostilTarget()) + if(!UpdateVictim()) return; if(CheckKilrekTimer < diff) @@ -368,7 +368,7 @@ struct TRINITY_DLL_DECL mob_karazhan_impAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(FireboltTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp b/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp index 5574ce20128..73f19b03e61 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp @@ -175,7 +175,7 @@ struct TRINITY_DLL_DECL boss_dorotheeAI : public ScriptedAI }else AggroTimer -= diff; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(WaterBoltTimer < diff) @@ -236,7 +236,7 @@ struct TRINITY_DLL_DECL mob_titoAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(YipTimer < diff) @@ -334,7 +334,7 @@ struct TRINITY_DLL_DECL boss_strawmanAI : public ScriptedAI }else AggroTimer -= diff; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(BrainBashTimer < diff) @@ -423,7 +423,7 @@ struct TRINITY_DLL_DECL boss_tinheadAI : public ScriptedAI }else AggroTimer -= diff; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(CleaveTimer < diff) @@ -515,7 +515,7 @@ struct TRINITY_DLL_DECL boss_roarAI : public ScriptedAI }else AggroTimer -= diff; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(MangleTimer < diff) @@ -585,7 +585,7 @@ struct TRINITY_DLL_DECL boss_croneAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(m_creature->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE)) @@ -780,7 +780,7 @@ struct TRINITY_DLL_DECL boss_bigbadwolfAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; DoMeleeAttackIfReady(); @@ -1239,7 +1239,7 @@ void boss_julianneAI::UpdateAI(const uint32 diff) }else SummonRomuloTimer -= diff; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ||IsFakingDeath) + if(!UpdateVictim() ||IsFakingDeath) return; if(RomuloDead) @@ -1295,7 +1295,7 @@ void boss_julianneAI::UpdateAI(const uint32 diff) void boss_romuloAI::UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() || IsFakingDeath) + if(!UpdateVictim() || IsFakingDeath) return; if(JulianneDead) diff --git a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp index bb44dd55cc0..eb69b604be6 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp @@ -297,7 +297,7 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp index a2219096968..24df5e7d0d8 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp @@ -292,7 +292,7 @@ struct TRINITY_DLL_DECL boss_felblood_kaelthasAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->getVictim() && !m_creature->SelectHostilTarget()) + if(!UpdateVictim()) return; switch(Phase) @@ -548,7 +548,7 @@ struct TRINITY_DLL_DECL mob_felkael_phoenixAI : public ScriptedAI CheckTimer = 1000; }else CheckTimer -= diff; - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (BurnTimer < diff) @@ -648,7 +648,7 @@ struct TRINITY_DLL_DECL mob_arcane_sphereAI : public ScriptedAI m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); else DespawnTimer -= diff; - if(!m_creature->getVictim() || !m_creature->SelectHostilTarget()) + if(!UpdateVictim()) ChangeTargetTimer = 0; if(ChangeTargetTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp index a0ffe784c6c..6688e40c27c 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp @@ -253,7 +253,7 @@ struct TRINITY_DLL_DECL boss_priestess_delrissaAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(HealTimer < diff) @@ -480,7 +480,7 @@ struct TRINITY_DLL_DECL boss_kagani_nightstrikeAI : public boss_priestess_guestA void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_priestess_guestAI::UpdateAI(diff); @@ -559,7 +559,7 @@ struct TRINITY_DLL_DECL boss_kagani_nightstrikeAI : public boss_priestess_guestA void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Chain cast @@ -611,7 +611,7 @@ struct TRINITY_DLL_DECL boss_ellris_duskhallowAI : public boss_priestess_guestAI HasSummonedImp = true; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_priestess_guestAI::UpdateAI(diff); @@ -685,7 +685,7 @@ struct TRINITY_DLL_DECL boss_eramas_brightblazeAI : public boss_priestess_guestA void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_priestess_guestAI::UpdateAI(diff); @@ -748,7 +748,7 @@ struct TRINITY_DLL_DECL boss_yazzaiAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_priestess_guestAI::UpdateAI(diff); @@ -867,7 +867,7 @@ struct TRINITY_DLL_DECL boss_warlord_salarisAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_priestess_guestAI::UpdateAI(diff); @@ -1006,7 +1006,7 @@ struct TRINITY_DLL_DECL boss_garaxxasAI : public boss_priestess_guestAI } } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_priestess_guestAI::UpdateAI(diff); @@ -1113,7 +1113,7 @@ struct TRINITY_DLL_DECL boss_apokoAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_priestess_guestAI::UpdateAI(diff); @@ -1200,7 +1200,7 @@ struct TRINITY_DLL_DECL boss_zelfanAI : public boss_priestess_guestAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; boss_priestess_guestAI::UpdateAI(diff); diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp index 0515c6b1497..fe6d3cb7ca4 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp @@ -250,7 +250,7 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(!DrainingCrystal) diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp index e19dd8c07de..1c51e98a1d4 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp @@ -111,7 +111,7 @@ struct TRINITY_DLL_DECL boss_vexallusAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 11) @@ -200,7 +200,7 @@ struct TRINITY_DLL_DECL mob_pure_energyAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->getVictim() || !m_creature->SelectHostilTarget()) + if(!UpdateVictim()) return; if(EnergyBoltTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp b/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp index a03579bccbd..f6d967945d5 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp +++ b/src/bindings/scripts/scripts/zone/maraudon/boss_celebras_the_cursed.cpp @@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL celebras_the_cursedAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Wrath diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp b/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp index 474faaa7ac7..e296bedc92c 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp +++ b/src/bindings/scripts/scripts/zone/maraudon/boss_landslide.cpp @@ -48,7 +48,7 @@ struct TRINITY_DLL_DECL boss_landslideAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //KnockAway_Timer diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp b/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp index 3a80145c683..0405bd6a8ce 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp +++ b/src/bindings/scripts/scripts/zone/maraudon/boss_noxxion.cpp @@ -93,7 +93,7 @@ struct TRINITY_DLL_DECL boss_noxxionAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //ToxicVolley_Timer diff --git a/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp b/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp index 2785189cdf2..6999d218691 100644 --- a/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp +++ b/src/bindings/scripts/scripts/zone/maraudon/boss_princess_theradras.cpp @@ -56,7 +56,7 @@ struct TRINITY_DLL_DECL boss_ptheradrasAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Dustfield_Timer diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp index ee37902833c..7e907c41581 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_baron_geddon.cpp @@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL boss_baron_geddonAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <2% hp cast Armageddom diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp index b479a8b29da..a9739a7b53b 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_garr.cpp @@ -55,7 +55,7 @@ struct TRINITY_DLL_DECL boss_garrAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //AntiMagicPulse_Timer @@ -93,7 +93,7 @@ struct TRINITY_DLL_DECL mob_fireswornAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Immolate_Timer diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp index 28a6d749a70..8a1df315d1c 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_gehennas.cpp @@ -46,7 +46,7 @@ struct TRINITY_DLL_DECL boss_gehennasAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //ShadowBolt_Timer diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp index e9b1e0115ef..1c849cd5936 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp @@ -72,7 +72,7 @@ struct TRINITY_DLL_DECL boss_golemaggAI : public ScriptedAI } void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Pyroblast_Timer @@ -139,7 +139,7 @@ struct TRINITY_DLL_DECL mob_core_ragerAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Mangle_Timer diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp index cf3c2c050b3..44b8d556bac 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_lucifron.cpp @@ -48,7 +48,7 @@ struct TRINITY_DLL_DECL boss_lucifronAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Impending doom timer diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp index ad34d353184..d57254132c9 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_magmadar.cpp @@ -54,7 +54,7 @@ struct TRINITY_DLL_DECL boss_magmadarAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Frenzy_Timer diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp index c8c32f41729..3e77f52fa77 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_majordomo_executus.cpp @@ -87,7 +87,7 @@ struct TRINITY_DLL_DECL boss_majordomoAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Cast Ageis if less than 50% hp diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp index a1a1c5eab13..8c2f65930f5 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp @@ -148,7 +148,7 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public Scripted_NoMovementAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //WrathOfRagnaros_Timer diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp index d9291cfdec0..2773e988fb5 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_shazzrah.cpp @@ -53,7 +53,7 @@ struct TRINITY_DLL_DECL boss_shazzrahAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //ArcaneExplosion_Timer diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp index 5652a76b93c..c0ad09d36df 100644 --- a/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp +++ b/src/bindings/scripts/scripts/zone/molten_core/boss_sulfuron_harbinger.cpp @@ -65,7 +65,7 @@ struct TRINITY_DLL_DECL boss_sulfuronAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //DemoralizingShout_Timer @@ -150,7 +150,7 @@ struct TRINITY_DLL_DECL mob_flamewaker_priestAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Casting Heal to Sulfuron or other Guards. diff --git a/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp b/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp index 598d64fdc8d..3ee4f06d629 100644 --- a/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp +++ b/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp @@ -163,7 +163,7 @@ struct TRINITY_DLL_DECL mob_lumpAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Spear_Throw_Timer diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp index fde6b1f82ed..eb601bc7979 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_anubrekhan.cpp @@ -101,7 +101,7 @@ struct TRINITY_DLL_DECL boss_anubrekhanAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Impale_Timer diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp index 7a6d49ff417..49921ad24f0 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_faerlina.cpp @@ -93,7 +93,7 @@ struct TRINITY_DLL_DECL boss_faerlinaAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //PoisonBoltVolley_Timer diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp index 33582c0a3c1..527d19aff05 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_four_horsemen.cpp @@ -79,7 +79,7 @@ void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; // Mark of Blaumeux @@ -175,7 +175,7 @@ void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; DoMeleeAttackIfReady(); @@ -235,7 +235,7 @@ void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; // Mark of Korthazz @@ -331,7 +331,7 @@ void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; // Mark of Zeliek diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp index 62e88718630..9c527ba5db3 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_gluth.cpp @@ -92,7 +92,7 @@ struct TRINITY_DLL_DECL boss_gluthAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //MortalWound_Timer diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp index 8566c7a16b5..e082dc0910a 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_highlord_mograine.cpp @@ -122,7 +122,7 @@ struct TRINITY_DLL_DECL boss_highlord_mograineAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; // Mark of Mograine diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp index a5c95f34e04..0ccc63fd356 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_kelthuzad.cpp @@ -274,7 +274,7 @@ struct TRINITY_DLL_DECL boss_kelthuzadAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(m_creature->getVictim() && m_creature->isAlive()) diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp index 43a1e5f935e..12a594dae79 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_loatheb.cpp @@ -141,7 +141,7 @@ struct TRINITY_DLL_DECL boss_loathebAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //CorruptedMind_Timer diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp index 2062ab553f0..65d94747d34 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp @@ -176,7 +176,7 @@ struct TRINITY_DLL_DECL boss_maexxnaAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //WebTrap_Timer diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp index cb30ff7ad45..77b85659e4e 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp @@ -96,7 +96,7 @@ struct TRINITY_DLL_DECL boss_nothAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Blink_Timer diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp index 07c3616473c..1bf0dcff388 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_patchwerk.cpp @@ -81,7 +81,7 @@ struct TRINITY_DLL_DECL boss_patchwerkAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //HatefullStrike_Timer diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp index 8171b5eff25..fcd1cdc4c30 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_razuvious.cpp @@ -107,7 +107,7 @@ struct TRINITY_DLL_DECL boss_razuviousAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //UnbalancingStrike_Timer diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp index 6937f96e8ca..2c28cf0d438 100644 --- a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp +++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp @@ -75,7 +75,7 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(phase == 1) diff --git a/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp b/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp index 9b888365a4e..fe4c3ba6501 100644 --- a/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp +++ b/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp @@ -836,7 +836,7 @@ struct TRINITY_DLL_DECL mob_phase_hunterAI : public ScriptedAI if(m_creature->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED) || m_creature->hasUnitState(UNIT_STAT_ROOT)) // if the mob is rooted/slowed by spells eg.: Entangling Roots, Frost Nova, Hamstring, Crippling Poison, etc. => remove it DoCast(m_creature, SPELL_PHASE_SLIP); - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(ManaBurnTimer < diff) // cast Mana Burn diff --git a/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp b/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp index 0539f12b10b..7ae10e4abbc 100644 --- a/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp +++ b/src/bindings/scripts/scripts/zone/onyxias_lair/boss_onyxia.cpp @@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL boss_onyxiaAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 60) && (Phase == 1)) diff --git a/src/bindings/scripts/scripts/zone/orgrimmar/orgrimmar.cpp b/src/bindings/scripts/scripts/zone/orgrimmar/orgrimmar.cpp index 8c70e1bd501..797a10f83f2 100644 --- a/src/bindings/scripts/scripts/zone/orgrimmar/orgrimmar.cpp +++ b/src/bindings/scripts/scripts/zone/orgrimmar/orgrimmar.cpp @@ -111,7 +111,7 @@ struct TRINITY_DLL_DECL npc_shenthulAI : public ScriptedAI Reset_Timer = 60000; } else Salute_Timer -= diff; - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; DoMeleeAttackIfReady(); @@ -178,7 +178,7 @@ struct TRINITY_DLL_DECL npc_thrall_warchiefAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if( ChainLightning_Timer < diff ) diff --git a/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp b/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp index d926d5a0cbe..036408ba744 100644 --- a/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp +++ b/src/bindings/scripts/scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp @@ -87,7 +87,7 @@ struct TRINITY_DLL_DECL boss_amnennar_the_coldbringerAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //AmnenarsWrath_Timer diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp index 71ca9e71406..362b4cc1ba8 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp @@ -59,7 +59,7 @@ struct TRINITY_DLL_DECL boss_ayamissAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //If he is 70% start phase 2 diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp index a6d1e892598..ce337f3d212 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp @@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL boss_kurinnaxxAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <30% cast enrage diff --git a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp index 2be4646f04c..e6336122406 100644 --- a/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp +++ b/src/bindings/scripts/scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp @@ -60,7 +60,7 @@ struct TRINITY_DLL_DECL boss_moamAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are 100%MANA cast Arcane Erruption diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp index 3a15b35a65f..61a83846c7c 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp @@ -76,7 +76,7 @@ struct TRINITY_DLL_DECL boss_arcanist_doanAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <50% hp cast Arcane Bubble and start casting SPECIAL FIRE AOE diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp index 8152aa931b9..cf82aabdaec 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp @@ -48,7 +48,7 @@ struct TRINITY_DLL_DECL boss_azshir_the_sleeplessAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <50% hp cast Soul Siphon rank 1 diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp index 0b859b64baf..274eb382ca1 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp @@ -66,7 +66,7 @@ struct TRINITY_DLL_DECL boss_bloodmage_thalnosAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <35% hp diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp index f66e20ed5cd..3c3c60b0341 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp @@ -649,7 +649,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI DoPlaySoundToSet(m_creature, RandomLaught[rand()%3]); } else laugh -= diff; - if (m_creature->SelectHostilTarget() && m_creature->getVictim()) + if (UpdateVictim()) { DoMeleeAttackIfReady(); if (cleave < diff) { @@ -778,7 +778,7 @@ struct TRINITY_DLL_DECL mob_pulsing_pumpkinAI : public ScriptedAI void UpdateAI(const uint32 diff) { if (sprouted) - if (m_creature->SelectHostilTarget() && m_creature->getVictim()) + if (UpdateVictim()) DoMeleeAttackIfReady(); } }; diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp index c6259d33ac9..c45f1a143cf 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_herod.cpp @@ -74,7 +74,7 @@ struct TRINITY_DLL_DECL boss_herodAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <30% hp goes Enraged diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp index cb1826bdbde..9e219fb8219 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp @@ -61,7 +61,7 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <45% hp cast Renew rank 6 or Flash heal rank 4 diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp index 337423f703c..c95d0161693 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp @@ -50,7 +50,7 @@ struct TRINITY_DLL_DECL boss_houndmaster_lokseyAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <10% hp cast healing spells at self and Mograine diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp index 1921287b52a..ef8bb8e811a 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp @@ -56,7 +56,7 @@ struct TRINITY_DLL_DECL boss_interrogator_vishasAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are low on hp Do sayings diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp index 67a25af87db..2a442c89993 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp @@ -84,7 +84,7 @@ struct TRINITY_DLL_DECL boss_scarlet_commander_mograineAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <50% hp cast Arcane Bubble and start casting SPECIAL Arcane Explosion @@ -213,7 +213,7 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_whitemaneAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; /* diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp index d1dcc05c9f0..3f5443dae0d 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_scorn.cpp @@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL boss_scornAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //LichSlap_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp index 93002e53976..ea3418a4011 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp @@ -71,7 +71,7 @@ struct TRINITY_DLL_DECL boss_darkmaster_gandlingAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //ArcaneMissiles_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp index ee2bf4831eb..9e4761598f2 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp @@ -61,7 +61,7 @@ struct TRINITY_DLL_DECL boss_theolenkrastinovAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Rend_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp index 45a8a56f0b7..d46119306a1 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_illucia_barov.cpp @@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL boss_illuciabarovAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //CurseOfAgony_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp index 353332e70b2..55c623d7ea6 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_instructor_malicia.cpp @@ -71,7 +71,7 @@ struct TRINITY_DLL_DECL boss_instructormaliciaAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //CallOfGraves_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp index b0168a506a0..1fe45ed3494 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp @@ -93,7 +93,7 @@ struct TRINITY_DLL_DECL boss_jandicebarovAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //CurseOfBlood_Timer @@ -177,7 +177,7 @@ struct TRINITY_DLL_DECL mob_illusionofjandicebarovAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Cleave_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp index 8227e5f6d9b..d5d0aff4587 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp @@ -99,7 +99,7 @@ struct TRINITY_DLL_DECL boss_kormokAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //ShadowVolley_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp index fdbed261996..408312b26b0 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_lord_alexei_barov.cpp @@ -60,7 +60,7 @@ struct TRINITY_DLL_DECL boss_lordalexeibarovAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Immolate_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp index 2e5c01adfaf..b6af89fe65c 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp @@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL boss_lorekeeperpolkeltAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //VolatileInfection_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp index 0b3c2d1ef05..e4d1801e103 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_ras_frostwhisper.cpp @@ -59,7 +59,7 @@ struct TRINITY_DLL_DECL boss_rasfrostAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //IceArmor_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp index 072fc8ff35a..1a9b25c8da2 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_the_ravenian.cpp @@ -69,7 +69,7 @@ struct TRINITY_DLL_DECL boss_theravenianAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Trample_Timer diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp index d9581ef2448..080c97c6aca 100644 --- a/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp +++ b/src/bindings/scripts/scripts/zone/scholomance/boss_vectus.cpp @@ -48,7 +48,7 @@ struct TRINITY_DLL_DECL boss_vectusAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //FireShield_Timer diff --git a/src/bindings/scripts/scripts/zone/shadowmoon_valley/boss_doomwalker.cpp b/src/bindings/scripts/scripts/zone/shadowmoon_valley/boss_doomwalker.cpp index 003c7d5bfec..00722dd82ec 100644 --- a/src/bindings/scripts/scripts/zone/shadowmoon_valley/boss_doomwalker.cpp +++ b/src/bindings/scripts/scripts/zone/shadowmoon_valley/boss_doomwalker.cpp @@ -90,7 +90,7 @@ struct TRINITY_DLL_DECL boss_doomwalkerAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Spell Enrage, when hp <= 20% gain enrage diff --git a/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp b/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp index 83244ff7b78..bf7e610c237 100644 --- a/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp +++ b/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp @@ -144,7 +144,7 @@ struct TRINITY_DLL_DECL mob_mature_netherwing_drakeAI : public ScriptedAI EnterEvadeMode(); else ResetTimer -= diff; - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(CastTimer < diff) @@ -251,7 +251,7 @@ struct TRINITY_DLL_DECL mob_enslaved_netherwing_drakeAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) { if(Tapped) if(FlyTimer < diff) @@ -1167,7 +1167,7 @@ struct TRINITY_DLL_DECL mob_illidari_spawnAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->getVictim() || !m_creature->SelectHostilTarget()) + if(!UpdateVictim()) return; if(!Timers) diff --git a/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp b/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp index 0709342d424..eeccfa9ce81 100644 --- a/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp +++ b/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp @@ -62,7 +62,7 @@ struct TRINITY_DLL_DECL npc_raliq_the_drunkAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if( Uppercut_Timer < diff ) @@ -136,7 +136,7 @@ struct TRINITY_DLL_DECL npc_salsalabimAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if( MagneticPull_Timer < diff ) diff --git a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp index 2631b9ac3ae..0eb90f5702e 100644 --- a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp +++ b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp @@ -96,7 +96,7 @@ struct TRINITY_DLL_DECL mob_yennikuAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp index 2473afc8179..ca2cece45f1 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp @@ -121,7 +121,7 @@ struct TRINITY_DLL_DECL boss_baron_rivendareAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //ShadowBolt diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp index c511b1a41a7..e875db75fda 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp @@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL boss_baroness_anastariAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //BansheeWail diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp index 4e26bb314d2..c2de7bcd965 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp @@ -110,7 +110,7 @@ struct TRINITY_DLL_DECL boss_cannon_master_willeyAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Pummel diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp index 6b00ce594f4..aebd8564816 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp @@ -136,7 +136,7 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //START NOT TRANSFORMED diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp index 57a5ab1cac0..a7e96f2fee5 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp @@ -81,7 +81,7 @@ struct TRINITY_DLL_DECL boss_magistrate_barthilasAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (FuriousAnger_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp index 9ecf883f976..3383c0c5720 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp @@ -63,7 +63,7 @@ struct TRINITY_DLL_DECL boss_maleki_the_pallidAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Frostbolt diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp index 9422f0c7aa6..c3de6d074be 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp @@ -89,7 +89,7 @@ struct TRINITY_DLL_DECL boss_nerubenkanAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //EncasingWebs diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp index 0f1f626fc9b..99f8bef9daa 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp @@ -116,7 +116,7 @@ struct TRINITY_DLL_DECL boss_silver_hand_bossesAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (HolyLight_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp index b1cdc4a7c30..e506ff151cc 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp @@ -62,7 +62,7 @@ struct TRINITY_DLL_DECL boss_postmaster_malownAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //WailingDead diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp index be7332f6971..7d98fcda5f4 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp @@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL boss_ramstein_the_gorgerAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Trample diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp index 57cd170a5e8..28a7028a348 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp @@ -52,7 +52,7 @@ struct TRINITY_DLL_DECL boss_timmy_the_cruelAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //RavenousClaw diff --git a/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp b/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp index 1ebfbef1782..e3c11e5480c 100644 --- a/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp +++ b/src/bindings/scripts/scripts/zone/stratholme/stratholme.cpp @@ -222,7 +222,7 @@ struct TRINITY_DLL_DECL mobs_spectral_ghostly_citizenAI : public ScriptedAI }else Die_Timer -= diff; } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp index 71dededae54..16597e23f2d 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_brutallus.cpp @@ -114,7 +114,7 @@ struct TRINITY_DLL_DECL boss_brutallusAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(SlashTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp index 709273f146f..73752fe04f3 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp @@ -258,7 +258,7 @@ struct TRINITY_DLL_DECL boss_sacrolashAI : public ScriptedAI } } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(sisterdeath) @@ -604,7 +604,7 @@ struct TRINITY_DLL_DECL boss_alythessAI : public Scripted_NoMovementAI } } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(sisterdeath) @@ -738,7 +738,7 @@ struct TRINITY_DLL_DECL mob_shadow_imageAI : public ScriptedAI kill_timer = 9999999; }else kill_timer -=diff; - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(shadowfury_timer < diff) diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp index 07a9a7834a1..7321881d543 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp @@ -389,7 +389,7 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if (!UpdateVictim()) { if(Phase == PHASE_FLIGHT && !m_creature->IsInEvadeMode()) EnterEvadeMode(); diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp index 4eca22a9613..86cdf2ef39b 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp @@ -347,7 +347,7 @@ struct TRINITY_DLL_DECL boss_sathrovarrAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if (!UpdateVictim()) return; if(CheckTimer < diff) @@ -528,7 +528,7 @@ void boss_kalecgosAI::UpdateAI(const uint32 diff) } else { - if (!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if (!UpdateVictim()) return; if(CheckTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp b/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp index 85621b1963f..f1eb63b54f5 100644 --- a/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp +++ b/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp @@ -94,7 +94,7 @@ struct TRINITY_DLL_DECL mob_aquementasAI : public ScriptedAI }else SwitchFaction_Timer -= diff; } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if( !isFriendly ) @@ -449,7 +449,7 @@ struct TRINITY_DLL_DECL npc_OOX17AI : public npc_escortAI void UpdateAI(const uint32 diff) { npc_escortAI::UpdateAI(diff); - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; } }; diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp index febecd13ce1..28895db340d 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/arcatraz.cpp @@ -186,7 +186,7 @@ struct TRINITY_DLL_DECL npc_millhouse_manastormAI : public ScriptedAI } else EventProgress_Timer -= diff; } - if( !m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if( !UpdateVictim() ) return; if( !LowHp && ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 20) ) diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp index 823d35ed414..f93bd4da668 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp @@ -175,7 +175,7 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI }else Intro_Timer -=diff; } - if( !m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if( !UpdateVictim() ) return; if( !IsImage66 && ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() <= 66) ) diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp index 56fc1ba593c..a524c06352c 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp @@ -102,7 +102,7 @@ struct TRINITY_DLL_DECL boss_high_botanist_freywinnAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if( !m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if( !UpdateVictim() ) return; if( TreeForm_Timer < diff ) diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp index c7e138e0918..ad78c98ba21 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_laj.cpp @@ -152,7 +152,7 @@ struct TRINITY_DLL_DECL boss_lajAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if( !m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if( !UpdateVictim() ) return; if( CanSummon ) diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp index 19b015961dd..e00e1c70242 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp @@ -54,7 +54,7 @@ struct TRINITY_DLL_DECL mob_treantAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if (m_creature->getVictim()->GetGUID() != WarpGuid) @@ -196,7 +196,7 @@ struct TRINITY_DLL_DECL boss_warp_splinterAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Check for War Stomp diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp index 81a35e6788b..85381e58fb3 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp @@ -328,7 +328,7 @@ struct TRINITY_DLL_DECL boss_alarAI : public ScriptedAI } else { - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; if(Charge_Timer < diff) @@ -449,7 +449,7 @@ struct TRINITY_DLL_DECL mob_ember_of_alarAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; if(toDie) diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp index 64f196ddc72..30f9faf34a4 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp @@ -191,7 +191,7 @@ struct TRINITY_DLL_DECL boss_high_astromancer_solarianAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if (AppearDelay) @@ -439,7 +439,7 @@ struct TRINITY_DLL_DECL mob_solarium_priestAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (healTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp index 39627a30cfb..70ef1262507 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp @@ -783,7 +783,7 @@ struct TRINITY_DLL_DECL boss_kaelthasAI : public ScriptedAI case 6: { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Fireball_Timer @@ -1091,7 +1091,7 @@ struct TRINITY_DLL_DECL boss_thaladred_the_darkenerAI : public advisorbase_ai return; //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Gaze_Timer @@ -1162,7 +1162,7 @@ struct TRINITY_DLL_DECL boss_lord_sanguinarAI : public advisorbase_ai return; //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Fear_Timer @@ -1240,7 +1240,7 @@ struct TRINITY_DLL_DECL boss_grand_astromancer_capernianAI : public advisorbase_ return; //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Yell_Timer @@ -1344,7 +1344,7 @@ struct TRINITY_DLL_DECL boss_master_engineer_telonicusAI : public advisorbase_ai return; //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Bomb_Timer @@ -1444,7 +1444,7 @@ struct TRINITY_DLL_DECL mob_phoenix_tkAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(SummonEgg < 2){ diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp index 256ffbae949..82d4e22d3dd 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp @@ -94,7 +94,7 @@ struct TRINITY_DLL_DECL boss_void_reaverAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; // Pounding diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp index 64587f03dbc..2c69411c7d4 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/the_eye.cpp @@ -50,7 +50,7 @@ struct TRINITY_DLL_DECL mob_crystalcore_devastatorAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Check if we have a current target diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp index ca52eb8b360..95701f64ca0 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp @@ -94,7 +94,7 @@ boss_gatewatcher_iron_handAI(Creature *c) : ScriptedAI(c) void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Shadow Power diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp index b3fc7c2c762..8d815b0f968 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp @@ -101,7 +101,7 @@ boss_nethermancer_sepethreaAI(Creature *c) : ScriptedAI(c) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Frost Attack @@ -198,7 +198,7 @@ struct TRINITY_DLL_DECL mob_ragin_flamesAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (!onlyonce) diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp index 61a98bcb785..5bd5af6ee8f 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp @@ -101,7 +101,7 @@ struct TRINITY_DLL_DECL boss_pathaleon_the_calculatorAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; if(Summon_Timer < diff) @@ -197,7 +197,7 @@ struct TRINITY_DLL_DECL mob_nether_wraithAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(ArcaneMissiles_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp index 8f06423482f..d5bbfd2098f 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp @@ -80,7 +80,7 @@ struct TRINITY_DLL_DECL boss_kriAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Cleave_Timer @@ -165,7 +165,7 @@ struct TRINITY_DLL_DECL boss_vemAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Charge_Timer @@ -254,7 +254,7 @@ struct TRINITY_DLL_DECL boss_yaujAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Fear_Timer diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp index 736eb10b3ba..7932e027355 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp @@ -206,7 +206,7 @@ struct TRINITY_DLL_DECL eye_of_cthunAI : public Scripted_NoMovementAI void UpdateAI(const uint32 diff) { //Check if we have a target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //No instance @@ -561,7 +561,7 @@ struct TRINITY_DLL_DECL cthunAI : public Scripted_NoMovementAI void UpdateAI(const uint32 diff) { //Check if we have a target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) { //No target so we'll use this section to do our random wispers instance wide //WisperTimer @@ -952,7 +952,7 @@ struct TRINITY_DLL_DECL eye_tentacleAI : public Scripted_NoMovementAI void UpdateAI(const uint32 diff) { //Check if we have a target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //KillSelfTimer @@ -1015,7 +1015,7 @@ struct TRINITY_DLL_DECL claw_tentacleAI : public Scripted_NoMovementAI void UpdateAI(const uint32 diff) { //Check if we have a target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //EvadeTimer @@ -1112,7 +1112,7 @@ struct TRINITY_DLL_DECL giant_claw_tentacleAI : public Scripted_NoMovementAI void UpdateAI(const uint32 diff) { //Check if we have a target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //EvadeTimer @@ -1211,7 +1211,7 @@ struct TRINITY_DLL_DECL giant_eye_tentacleAI : public Scripted_NoMovementAI void UpdateAI(const uint32 diff) { //Check if we have a target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //BeamTimer @@ -1232,7 +1232,7 @@ struct TRINITY_DLL_DECL giant_eye_tentacleAI : public Scripted_NoMovementAI void flesh_tentacleAI::UpdateAI(const uint32 diff) { //Check if we have a target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (Parent) diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp index 34dd5c7c30e..8e4f765e965 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp @@ -84,7 +84,7 @@ struct TRINITY_DLL_DECL boss_fankrissAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //MortalWound_Timer diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp index 928409c2ad3..aea477183b9 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp @@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL boss_huhuranAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Frenzy_Timer diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp index b9b9b1e796f..ee17d559a55 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp @@ -67,7 +67,7 @@ struct TRINITY_DLL_DECL boss_ouroAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Sweep_Timer diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp index 0c650572958..81fe9152bcd 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp @@ -86,7 +86,7 @@ struct TRINITY_DLL_DECL boss_sarturaAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (WhirlWind) @@ -197,7 +197,7 @@ struct TRINITY_DLL_DECL mob_sartura_royal_guardAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (!WhirlWind && WhirlWind_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp index 94ea4658141..9e6cdf2abb7 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp @@ -125,7 +125,7 @@ struct TRINITY_DLL_DECL boss_skeramAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //ArcaneExplosion_Timer diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp index 461f41de6eb..97a4e26536c 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp @@ -456,7 +456,7 @@ struct TRINITY_DLL_DECL boss_veknilashAI : public boss_twinemperorsAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (!TryActivateAfterTTelep(diff)) @@ -542,7 +542,7 @@ struct TRINITY_DLL_DECL boss_veklorAI : public boss_twinemperorsAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; // reset arcane burst after teleport - we need to do this because diff --git a/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp b/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp index 4e4c5409911..811a3decce6 100644 --- a/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp +++ b/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp @@ -124,7 +124,7 @@ struct TRINITY_DLL_DECL mob_unkor_the_ruthlessAI : public ScriptedAI } } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if( Pulverize_Timer < diff ) @@ -272,7 +272,7 @@ struct TRINITY_DLL_DECL npc_floonAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if( Silence_Timer < diff ) diff --git a/src/bindings/scripts/scripts/zone/thunder_bluff/thunder_bluff.cpp b/src/bindings/scripts/scripts/zone/thunder_bluff/thunder_bluff.cpp index d8b5eafaddb..0d0db9b8134 100644 --- a/src/bindings/scripts/scripts/zone/thunder_bluff/thunder_bluff.cpp +++ b/src/bindings/scripts/scripts/zone/thunder_bluff/thunder_bluff.cpp @@ -58,7 +58,7 @@ struct TRINITY_DLL_DECL npc_cairne_bloodhoofAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if( BerserkerCharge_Timer < diff ) diff --git a/src/bindings/scripts/scripts/zone/tirisfal_glades/tirisfal_glades.cpp b/src/bindings/scripts/scripts/zone/tirisfal_glades/tirisfal_glades.cpp index d2685d31b9f..8b7b0596005 100644 --- a/src/bindings/scripts/scripts/zone/tirisfal_glades/tirisfal_glades.cpp +++ b/src/bindings/scripts/scripts/zone/tirisfal_glades/tirisfal_glades.cpp @@ -58,7 +58,7 @@ struct TRINITY_DLL_DECL npc_calvin_montagueAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp b/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp index dddfc3834f9..88fc5491802 100644 --- a/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp +++ b/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp @@ -132,7 +132,7 @@ struct TRINITY_DLL_DECL boss_archaedasAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; @@ -270,7 +270,7 @@ struct TRINITY_DLL_DECL mob_archaedas_minionsAI : public ScriptedAI } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; @@ -383,7 +383,7 @@ struct TRINITY_DLL_DECL mob_stonekeepersAI : public ScriptedAI { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp b/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp index 529ba31abb4..b5300261a66 100644 --- a/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp +++ b/src/bindings/scripts/scripts/zone/uldaman/boss_ironaya.cpp @@ -54,7 +54,7 @@ struct TRINITY_DLL_DECL boss_ironayaAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //If we are <50% hp do knockaway ONCE diff --git a/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp b/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp index 8edee57564c..7855c359304 100644 --- a/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp +++ b/src/bindings/scripts/scripts/zone/uldaman/uldaman.cpp @@ -52,7 +52,7 @@ struct TRINITY_DLL_DECL mob_jadespine_basiliskAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Cslumber_Timer diff --git a/src/bindings/scripts/scripts/zone/undercity/undercity.cpp b/src/bindings/scripts/scripts/zone/undercity/undercity.cpp index 4761af1c7bd..2b92a0efd98 100644 --- a/src/bindings/scripts/scripts/zone/undercity/undercity.cpp +++ b/src/bindings/scripts/scripts/zone/undercity/undercity.cpp @@ -119,7 +119,7 @@ struct TRINITY_DLL_DECL npc_lady_sylvanas_windrunnerAI : public ScriptedAI }else LamentEvent_Timer -= diff; } - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp b/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp index 5d1bc072867..b3ac3d795c8 100644 --- a/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp +++ b/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp @@ -108,7 +108,7 @@ struct TRINITY_DLL_DECL npc_ameAI : public npc_escortAI void UpdateAI(const uint32 diff) { npc_escortAI::UpdateAI(diff); - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if (DEMORALIZINGSHOUT_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp b/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp index 2275efbb586..274d07ca0e8 100644 --- a/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp +++ b/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp @@ -141,7 +141,7 @@ struct TRINITY_DLL_DECL npc_cooshcooshAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if( LightningBolt_Timer < diff ) diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp index 067d1519cd6..c314e889253 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp @@ -240,7 +240,7 @@ struct TRINITY_DLL_DECL boss_akilzonAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if (!UpdateVictim()) return; if(StormCount) diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp index 055e050dbb7..b14b0442373 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_halazzi.cpp @@ -205,7 +205,7 @@ struct TRINITY_DLL_DECL boss_halazziAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; if(BerserkTimer < diff) @@ -358,7 +358,7 @@ struct TRINITY_DLL_DECL boss_spiritlynxAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; if(FrenzyTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp index 82a993c3894..f72ee9963c9 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp @@ -332,7 +332,7 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if(CheckAddState_Timer < diff) @@ -459,7 +459,7 @@ struct TRINITY_DLL_DECL boss_thurgAI : public boss_hexlord_addAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if(bloodlust_timer < diff) @@ -527,7 +527,7 @@ struct TRINITY_DLL_DECL boss_alyson_antilleAI : public boss_hexlord_addAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if(flashheal_timer < diff) @@ -612,7 +612,7 @@ struct TRINITY_DLL_DECL boss_gazakrothAI : public boss_hexlord_addAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if(firebolt_timer < diff) @@ -645,7 +645,7 @@ struct TRINITY_DLL_DECL boss_lord_raadanAI : public boss_hexlord_addAI } void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if (thunderclap_timer < diff) @@ -681,7 +681,7 @@ struct TRINITY_DLL_DECL boss_darkheartAI : public boss_hexlord_addAI } void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if (psychicwail_timer < diff) @@ -732,7 +732,7 @@ struct TRINITY_DLL_DECL boss_slitherAI : public boss_hexlord_addAI void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if (venomspit_timer < diff) @@ -764,7 +764,7 @@ struct TRINITY_DLL_DECL boss_fenstalkerAI : public boss_hexlord_addAI } void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if (volatileinf_timer < diff) @@ -800,7 +800,7 @@ struct TRINITY_DLL_DECL boss_koraggAI : public boss_hexlord_addAI } void UpdateAI(const uint32 diff) { - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if(!UpdateVictim() ) return; if (mightyblow_timer < diff) diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp index 44a949cadd7..261343fb527 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp @@ -336,7 +336,7 @@ struct TRINITY_DLL_DECL boss_janalaiAI : public ScriptedAI return; } - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; //enrage if under 25% hp before 5 min. @@ -642,7 +642,7 @@ struct TRINITY_DLL_DECL mob_hatchlingAI : public ScriptedAI return; } - if(!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if(!UpdateVictim()) return; if(BuffetTimer < diff) diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp index 4a199759691..57bcefea1ab 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp @@ -346,7 +346,7 @@ struct TRINITY_DLL_DECL boss_nalorakkAI : public ScriptedAI }else waitTimer -= diff; } - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; if(Berserk_Timer < diff) diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp index 2c50875e4ad..bb3c00a4f71 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp @@ -390,7 +390,7 @@ struct TRINITY_DLL_DECL boss_zuljinAI : public ScriptedAI { if(!TankGUID) { - if(!m_creature->SelectHostilTarget() && !m_creature->getVictim()) + if(!UpdateVictim()) return; if(m_creature->GetHealth() < health_20 * (4 - Phase)) diff --git a/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp b/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp index 01b36dfb24e..86757c0fcf2 100644 --- a/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp +++ b/src/bindings/scripts/scripts/zone/zulfarrak/zulfarrak.cpp @@ -78,7 +78,7 @@ struct TRINITY_DLL_DECL npc_sergeant_blyAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if( !m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if( !UpdateVictim() ) return; if( ShieldBash_Timer < diff ) @@ -168,7 +168,7 @@ struct TRINITY_DLL_DECL npc_weegli_blastfuseAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if( !m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if( !UpdateVictim() ) return; DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp index caa37fd188f..1dcfee08ef6 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp @@ -96,7 +96,7 @@ struct TRINITY_DLL_DECL boss_arlokkAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->getVictim() && !m_creature->SelectHostilTarget()) + if (!UpdateVictim()) return; if( m_creature->getVictim() && m_creature->isAlive()) diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp index 0c4e23ce02c..9645b3ce47b 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_gahzranka.cpp @@ -48,7 +48,7 @@ struct TRINITY_DLL_DECL boss_gahzrankaAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Frostbreath_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp index 11e9fcd36fb..5ffdfd9337c 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_grilek.cpp @@ -47,7 +47,7 @@ struct TRINITY_DLL_DECL boss_grilekAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Avartar_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp index 8ac4427ab04..a8d34b65c78 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_hakkar.cpp @@ -102,7 +102,7 @@ struct TRINITY_DLL_DECL boss_hakkarAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //BloodSiphon_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp index 7f6f188d202..77c7ddc10f1 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp @@ -49,7 +49,7 @@ struct TRINITY_DLL_DECL boss_hazzarahAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //ManaBurn_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp index 4d57cbc05b7..e8bf5d27611 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp @@ -94,7 +94,7 @@ struct TRINITY_DLL_DECL boss_jeklikAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->getVictim() && !m_creature->SelectHostilTarget()) + if (!UpdateVictim()) return; if( m_creature->getVictim() && m_creature->isAlive()) @@ -238,7 +238,7 @@ struct TRINITY_DLL_DECL mob_batriderAI : public ScriptedAI void UpdateAI (const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Bomb_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp index 7ed29debb42..607c9e71224 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp @@ -75,7 +75,7 @@ struct TRINITY_DLL_DECL boss_jindoAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //BrainWashTotem_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp index a440ba4a575..477729f63d8 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_mandokir.cpp @@ -131,8 +131,7 @@ struct TRINITY_DLL_DECL boss_mandokirAI : public ScriptedAI void UpdateAI(const uint32 diff) { - Unit *victim = m_creature->SelectHostilTarget(); - if(!victim) + if(!UpdateVictim()) return; if( m_creature->getVictim() && m_creature->isAlive()) @@ -235,11 +234,11 @@ struct TRINITY_DLL_DECL boss_mandokirAI : public ScriptedAI }else Fear_Timer -=diff; //Mortal Strike if target below 50% hp - if (victim && victim->GetHealth() < victim->GetMaxHealth()*0.5) + if (m_creature->getVictim() && m_creature->getVictim()->GetHealth() < m_creature->getVictim()->GetMaxHealth()*0.5) { if (MortalStrike_Timer < diff) { - DoCast(victim,SPELL_MORTAL_STRIKE); + DoCast(m_creature->getVictim(),SPELL_MORTAL_STRIKE); MortalStrike_Timer = 15000; }else MortalStrike_Timer -= diff; } @@ -295,7 +294,7 @@ struct TRINITY_DLL_DECL mob_ohganAI : public ScriptedAI void UpdateAI (const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //SunderArmor_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp index 1e095ef3f0b..4f3d8de2262 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp @@ -91,7 +91,7 @@ struct TRINITY_DLL_DECL boss_marliAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->getVictim() && !m_creature->SelectHostilTarget()) + if (!UpdateVictim()) return; if( m_creature->getVictim() && m_creature->isAlive()) @@ -216,7 +216,7 @@ struct TRINITY_DLL_DECL mob_spawn_of_marliAI : public ScriptedAI void UpdateAI (const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //LevelUp_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp index f3b5498882b..0dccc26ff14 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_renataki.cpp @@ -58,7 +58,7 @@ struct TRINITY_DLL_DECL boss_renatakiAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //Invisible_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp index cd44ec16382..1e68713fea9 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp @@ -107,7 +107,7 @@ struct TRINITY_DLL_DECL boss_thekalAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->getVictim() && !m_creature->SelectHostilTarget()) + if (!UpdateVictim()) return; //Check_Timer for the death of LorKhan and Zath. @@ -274,7 +274,7 @@ struct TRINITY_DLL_DECL mob_zealot_lorkhanAI : public ScriptedAI void UpdateAI (const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //Shield_Timer @@ -412,7 +412,7 @@ struct TRINITY_DLL_DECL mob_zealot_zathAI : public ScriptedAI void UpdateAI (const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!UpdateVictim() ) return; //SweepingStrikes_Timer diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp index 87758cae703..64ecb56bfd9 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp @@ -87,7 +87,7 @@ struct TRINITY_DLL_DECL boss_venoxisAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->getVictim() && !m_creature->SelectHostilTarget()) + if (!UpdateVictim()) return; if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth() > 50)) diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp index 01ae8298f3b..45391c7b6f8 100644 --- a/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp +++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_wushoolay.cpp @@ -46,7 +46,7 @@ struct TRINITY_DLL_DECL boss_wushoolayAI : public ScriptedAI void UpdateAI(const uint32 diff) { - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) + if (!UpdateVictim()) return; //LightningCloud_Timer diff --git a/src/game/AggressorAI.cpp b/src/game/AggressorAI.cpp index a11584eab64..65dd1849217 100644 --- a/src/game/AggressorAI.cpp +++ b/src/game/AggressorAI.cpp @@ -38,29 +38,10 @@ AggressorAI::Permissible(const Creature *creature) return PERMIT_BASE_NO; } -AggressorAI::AggressorAI(Creature *c) : i_creature(*c), i_victimGuid(0), i_state(STATE_NORMAL), i_tracker(TIME_INTERVAL_LOOK) +AggressorAI::AggressorAI(Creature *c) : CreatureAI(c), i_creature(*c), i_victimGuid(0), i_state(STATE_NORMAL), i_tracker(TIME_INTERVAL_LOOK) { } -void -AggressorAI::MoveInLineOfSight(Unit *u) -{ - if(!i_creature.getVictim() && i_creature.canStartAttack(u)) - AttackStart(u); - - /* - if(!i_creature.getVictim()) - { - AttackStart(u); - } - else if(sMapStore.LookupEntry(i_creature.GetMapId())->IsDungeon()) - { - u->SetInCombatWith(&i_creature); - i_creature.AddThreat(u, 0.0f); - } - */ -} - void AggressorAI::EnterEvadeMode() { if( !i_creature.isAlive() ) @@ -118,7 +99,7 @@ void AggressorAI::UpdateAI(const uint32 /*diff*/) { // update i_victimGuid if i_creature.getVictim() !=0 and changed - if(!i_creature.SelectHostilTarget() || !i_creature.getVictim()) + if(!UpdateVictim()) return; i_victimGuid = i_creature.getVictim()->GetGUID(); @@ -132,26 +113,3 @@ AggressorAI::UpdateAI(const uint32 /*diff*/) } } } - -bool -AggressorAI::IsVisible(Unit *pl) const -{ - return i_creature.GetDistance(pl) < sWorld.getConfig(CONFIG_SIGHT_MONSTER) - && pl->isVisibleForOrDetect(&i_creature,true); -} - -void -AggressorAI::AttackStart(Unit *u) -{ - if( !u ) - return; - - if(i_creature.Attack(u,true)) - { - i_creature.AddThreat(u, 0.0f); - // DEBUG_LOG("Creature %s tagged a victim to kill [guid=%u]", i_creature.GetName(), u->GetGUIDLow()); - i_victimGuid = u->GetGUID(); - - i_creature.GetMotionMaster()->MoveChase(u); - } -} diff --git a/src/game/AggressorAI.h b/src/game/AggressorAI.h index f6e2a649c8a..e50a4c0ece3 100644 --- a/src/game/AggressorAI.h +++ b/src/game/AggressorAI.h @@ -38,10 +38,7 @@ class TRINITY_DLL_DECL AggressorAI : public CreatureAI AggressorAI(Creature *c); - void MoveInLineOfSight(Unit *); - void AttackStart(Unit *); void EnterEvadeMode(); - bool IsVisible(Unit *) const; void UpdateAI(const uint32); static int Permissible(const Creature *); diff --git a/src/game/Creature.h b/src/game/Creature.h index f51f5f6be47..14fc77cf24a 100644 --- a/src/game/Creature.h +++ b/src/game/Creature.h @@ -632,7 +632,7 @@ class TRINITY_DLL_SPEC Creature : public Unit bool IsFormationLeader() {return (GetDBTableGUIDLow() && GetDBTableGUIDLow() == m_formationID);} uint32 GetFormationID(){return m_formationID;} - Unit *SelectHostilTarget(); + Unit *SelectVictim(); protected: bool CreateFromProto(uint32 guidlow,uint32 Entry,uint32 team, const CreatureData *data = NULL); bool InitEntry(uint32 entry, uint32 team=ALLIANCE, const CreatureData* data=NULL); diff --git a/src/game/CreatureAI.cpp b/src/game/CreatureAI.cpp index 66c9d5af0b0..8682bf064a5 100644 --- a/src/game/CreatureAI.cpp +++ b/src/game/CreatureAI.cpp @@ -20,17 +20,39 @@ #include "CreatureAI.h" #include "Creature.h" +#include "Player.h" #include "Pet.h" #include "SpellAuras.h" -CreatureAI::~CreatureAI() +void UnitAI::AttackStart(Unit *victim) { + if(!victim) + return; + + if(me->Attack(victim, true)) + { + //DEBUG_LOG("Creature %s tagged a victim to kill [guid=%u]", me->GetName(), victim->GetGUIDLow()); + me->GetMotionMaster()->MoveChase(victim); + } } -void CreatureAI::EnterEvadeMode() +void CreatureAI::MoveInLineOfSight(Unit *who) { - if(!me) return; + if(!me->getVictim() && me->canStartAttack(who)) + AttackStart(who); +} +bool CreatureAI::UpdateVictim() +{ + if(!me->isInCombat()) + return false; + if(Unit *victim = me->SelectVictim()) + AttackStart(victim); + return me->getVictim(); +} + +void CreatureAI::EnterEvadeMode() +{ me->RemoveAllAuras(); me->DeleteThreatList(); me->CombatStop(); @@ -62,12 +84,5 @@ void SimpleCharmedAI::UpdateAI(const uint32 /*diff*/) Unit *target = me->getVictim(); if(!target || !charmer->canAttack(target)) - { - target = charmer->SelectNearestTarget(); - if(!target) - return; - - me->GetMotionMaster()->MoveChase(target); - me->Attack(target, true); - } + AttackStart(charmer->SelectNearestTarget()); } diff --git a/src/game/CreatureAI.h b/src/game/CreatureAI.h index 72e911cceaf..5a8126f24d4 100644 --- a/src/game/CreatureAI.h +++ b/src/game/CreatureAI.h @@ -29,6 +29,7 @@ class Unit; class Creature; +class Player; struct SpellEntry; #define TIME_INTERVAL_LOOK 5000 @@ -71,34 +72,41 @@ enum SelectAggroTarget class TRINITY_DLL_SPEC UnitAI { + protected: + Unit *me; public: UnitAI(Unit *u) : me(u) {} + virtual void AttackStart(Unit *); virtual void UpdateAI(const uint32 diff) = 0; +}; + +class TRINITY_DLL_SPEC PlayerAI : public UnitAI +{ protected: - Unit *me; + Player *me; + public: + PlayerAI(Player *p) : UnitAI((Unit*)p), me(p) {} }; -class TRINITY_DLL_SPEC SimpleCharmedAI : public UnitAI +class TRINITY_DLL_SPEC SimpleCharmedAI : public PlayerAI { public: - virtual void UpdateAI(const uint32 diff); + void UpdateAI(const uint32 diff); }; class TRINITY_DLL_SPEC CreatureAI : public UnitAI { protected: Creature *me; + + bool UpdateVictim(); public: - CreatureAI() : UnitAI(NULL), me(NULL) {} CreatureAI(Creature *c) : UnitAI((Unit*)c), me(c) {} - virtual ~CreatureAI(); + virtual ~CreatureAI() {} // Called if IsVisible(Unit *who) is true at each *who move - virtual void MoveInLineOfSight(Unit *) = 0; - - // Called at each attack of m_creature by any victim - virtual void AttackStart(Unit *) = 0; + virtual void MoveInLineOfSight(Unit *); // Called at stopping attack by any attacker virtual void EnterEvadeMode(); @@ -106,12 +114,6 @@ class TRINITY_DLL_SPEC CreatureAI : public UnitAI // Called at any Damage from any attacker (before damage apply) virtual void DamageTaken(Unit *done_by, uint32 & /*damage*/) {} - // Is unit visible for MoveInLineOfSight - virtual bool IsVisible(Unit *) const = 0; - - // Called at World update tick - virtual void UpdateAI(const uint32 diff ) = 0; - // Called when the creature is killed virtual void JustDied(Unit *) {} diff --git a/src/game/GuardAI.cpp b/src/game/GuardAI.cpp index 273fa32272b..d3c3d9a7330 100644 --- a/src/game/GuardAI.cpp +++ b/src/game/GuardAI.cpp @@ -33,7 +33,7 @@ int GuardAI::Permissible(const Creature *creature) return PERMIT_BASE_NO; } -GuardAI::GuardAI(Creature *c) : i_creature(*c), i_victimGuid(0), i_state(STATE_NORMAL), i_tracker(TIME_INTERVAL_LOOK) +GuardAI::GuardAI(Creature *c) : CreatureAI(c), i_creature(*c), i_victimGuid(0), i_state(STATE_NORMAL), i_tracker(TIME_INTERVAL_LOOK) { } @@ -110,7 +110,7 @@ void GuardAI::EnterEvadeMode() void GuardAI::UpdateAI(const uint32 /*diff*/) { // update i_victimGuid if i_creature.getVictim() !=0 and changed - if(!i_creature.SelectHostilTarget() || !i_creature.getVictim()) + if(!UpdateVictim()) return; i_victimGuid = i_creature.getVictim()->GetGUID(); @@ -131,20 +131,6 @@ bool GuardAI::IsVisible(Unit *pl) const && pl->isVisibleForOrDetect(&i_creature,true); } -void GuardAI::AttackStart(Unit *u) -{ - if( !u ) - return; - - // DEBUG_LOG("Creature %s tagged a victim to kill [guid=%u]", i_creature.GetName(), u->GetGUIDLow()); - if(i_creature.Attack(u,true)) - { - i_creature.AddThreat(u, 0.0f); - i_victimGuid = u->GetGUID(); - i_creature.GetMotionMaster()->MoveChase(u); - } -} - void GuardAI::JustDied(Unit *killer) { if(Player* pkiller = killer->GetCharmerOrOwnerPlayerOrPlayerItself()) diff --git a/src/game/GuardAI.h b/src/game/GuardAI.h index 16e0c6e8bd6..30f76dd509a 100644 --- a/src/game/GuardAI.h +++ b/src/game/GuardAI.h @@ -39,7 +39,6 @@ class TRINITY_DLL_DECL GuardAI : public CreatureAI GuardAI(Creature *c); void MoveInLineOfSight(Unit *); - void AttackStart(Unit *); void EnterEvadeMode(); void JustDied(Unit *); bool IsVisible(Unit *) const; diff --git a/src/game/NullCreatureAI.h b/src/game/NullCreatureAI.h index 821b42f7e76..a9814c9c5e0 100644 --- a/src/game/NullCreatureAI.h +++ b/src/game/NullCreatureAI.h @@ -32,8 +32,6 @@ class TRINITY_DLL_DECL PassiveAI : public CreatureAI void MoveInLineOfSight(Unit *) {} void AttackStart(Unit *) {} - bool IsVisible(Unit *) const { return false; } - void UpdateAI(const uint32); static int Permissible(const Creature *) { return PERMIT_BASE_IDLE; } }; @@ -43,6 +41,7 @@ class TRINITY_DLL_DECL NullCreatureAI : public PassiveAI public: NullCreatureAI(Creature *c) : PassiveAI(c) {} + void UpdateAI(const uint32) {} void EnterEvadeMode() {} }; diff --git a/src/game/OutdoorPvPObjectiveAI.cpp b/src/game/OutdoorPvPObjectiveAI.cpp index a99afbfbe5a..aa7778ef105 100644 --- a/src/game/OutdoorPvPObjectiveAI.cpp +++ b/src/game/OutdoorPvPObjectiveAI.cpp @@ -25,18 +25,18 @@ #define MAX_OUTDOOR_PVP_DISTANCE 200 // the max value in capture point type go data0 is 100 currently, so use twice that much to handle leaving as well -OutdoorPvPObjectiveAI::OutdoorPvPObjectiveAI(Creature *c) : i_creature(*c) +OutdoorPvPObjectiveAI::OutdoorPvPObjectiveAI(Creature *c) : NullCreatureAI(c) { - sLog.outDebug("OutdoorPvP objective AI assigned to creature guid %u", i_creature.GetGUIDLow()); - i_creature.SetReactState(REACT_AGGRESSIVE); + sLog.outDebug("OutdoorPvP objective AI assigned to creature guid %u", me->GetGUIDLow()); + me->SetReactState(REACT_AGGRESSIVE); } void OutdoorPvPObjectiveAI::MoveInLineOfSight(Unit *u) { // IsVisible only passes for players in range, so no need to check again // leaving/entering distance will be checked based on go range data - if((u->GetTypeId() == TYPEID_PLAYER) && i_creature.IsWithinDistInMap(u, MAX_OUTDOOR_PVP_DISTANCE)) - sOutdoorPvPMgr.HandleCaptureCreaturePlayerMoveInLos(((Player*)u),&i_creature); + if((u->GetTypeId() == TYPEID_PLAYER) && me->IsWithinDistInMap(u, MAX_OUTDOOR_PVP_DISTANCE)) + sOutdoorPvPMgr.HandleCaptureCreaturePlayerMoveInLos(((Player*)u), me); } int OutdoorPvPObjectiveAI::Permissible(const Creature * c) @@ -45,22 +45,3 @@ int OutdoorPvPObjectiveAI::Permissible(const Creature * c) return PERMIT_BASE_NO; } -bool OutdoorPvPObjectiveAI::IsVisible(Unit *pl) const -{ - return (pl->GetTypeId() == TYPEID_PLAYER) && (i_creature.GetDistance(pl) < MAX_OUTDOOR_PVP_DISTANCE); -} - -void OutdoorPvPObjectiveAI::AttackStart(Unit *) -{ - //EnterEvadeMode(); -} - -void OutdoorPvPObjectiveAI::EnterEvadeMode() -{ -// i_creature.DeleteThreatList(); -// i_creature.CombatStop(); -} - -void OutdoorPvPObjectiveAI::UpdateAI(const uint32 diff) -{ -} diff --git a/src/game/OutdoorPvPObjectiveAI.h b/src/game/OutdoorPvPObjectiveAI.h index 2da9086dbd3..c8e4844cd5a 100644 --- a/src/game/OutdoorPvPObjectiveAI.h +++ b/src/game/OutdoorPvPObjectiveAI.h @@ -19,25 +19,17 @@ #ifndef TRINITY_OUTDOORPVPOBJECTIVEAI_H #define TRINITY_OUTDOORPVPOBJECTIVEAI_H -#include "CreatureAI.h" +#include "NullCreatureAI.h" class Creature; -class TRINITY_DLL_DECL OutdoorPvPObjectiveAI : public CreatureAI +class TRINITY_DLL_DECL OutdoorPvPObjectiveAI : public NullCreatureAI { public: - OutdoorPvPObjectiveAI(Creature *c); void MoveInLineOfSight(Unit *); - bool IsVisible(Unit *) const; - void AttackStart(Unit *); - void EnterEvadeMode(); - void UpdateAI(const uint32 diff); static int Permissible(const Creature *); - - private: - Creature &i_creature; }; #endif diff --git a/src/game/PetAI.cpp b/src/game/PetAI.cpp index bce8a4d8f59..67607defba0 100644 --- a/src/game/PetAI.cpp +++ b/src/game/PetAI.cpp @@ -38,7 +38,7 @@ int PetAI::Permissible(const Creature *creature) return PERMIT_BASE_NO; } -PetAI::PetAI(Creature *c) : i_pet(*c), i_tracker(TIME_INTERVAL_LOOK), inCombat(false) +PetAI::PetAI(Creature *c) : CreatureAI(c), i_pet(*c), i_tracker(TIME_INTERVAL_LOOK), inCombat(false) { m_AllySet.clear(); UpdateAllies(); @@ -87,11 +87,6 @@ void PetAI::EnterEvadeMode() { } -bool PetAI::IsVisible(Unit *pl) const -{ - return _isVisible(pl); -} - bool PetAI::_needToStop() const { // This is needed for charmed creatures, as once their target was reset other effects can trigger threat @@ -291,13 +286,6 @@ void PetAI::UpdateAI(const uint32 diff) } } -bool PetAI::_isVisible(Unit *u) const -{ - //return false; //( ((Creature*)&i_pet)->GetDistanceSq(u) * 1.0<= sWorld.getConfig(CONFIG_SIGHT_GUARDER) && !u->m_stealth && u->isAlive()); - return i_pet.GetDistance(u) < sWorld.getConfig(CONFIG_SIGHT_GUARDER) - && u->isVisibleForOrDetect(&i_pet,true); -} - void PetAI::UpdateAllies() { Unit* owner = i_pet.GetCharmerOrOwner(); diff --git a/src/game/PetAI.h b/src/game/PetAI.h index 8583404b669..b81bdd8e14f 100644 --- a/src/game/PetAI.h +++ b/src/game/PetAI.h @@ -36,7 +36,6 @@ class TRINITY_DLL_DECL PetAI : public CreatureAI void MoveInLineOfSight(Unit *); void AttackStart(Unit *); void EnterEvadeMode(); - bool IsVisible(Unit *) const; void JustDied(Unit* who) { _stopAttack(); } void UpdateAI(const uint32); diff --git a/src/game/PossessedAI.cpp b/src/game/PossessedAI.cpp index 4292a2bd22b..f291221216a 100644 --- a/src/game/PossessedAI.cpp +++ b/src/game/PossessedAI.cpp @@ -107,12 +107,6 @@ void PossessedAI::UpdateAI(const uint32 diff) } } -bool PossessedAI::_isVisible(Unit *u) const -{ - return i_pet.GetDistance(u) < sWorld.getConfig(CONFIG_SIGHT_MONSTER) - && u->isVisibleForOrDetect(&i_pet,true); -} - void PossessedAI::JustDied(Unit *u) { // We died while possessed, disable our loot diff --git a/src/game/PossessedAI.h b/src/game/PossessedAI.h index 16c3172b6bf..5c4a670c200 100644 --- a/src/game/PossessedAI.h +++ b/src/game/PossessedAI.h @@ -28,7 +28,7 @@ class Creature; class TRINITY_DLL_DECL PossessedAI : public CreatureAI { public: - PossessedAI(Creature *c) : i_pet(*c), i_victimGuid(0) {} + PossessedAI(Creature *c) : CreatureAI(c), i_pet(*c), i_victimGuid(0) {} // Possessed creatures shouldn't aggro by themselves void MoveInLineOfSight(Unit *) {} @@ -36,7 +36,6 @@ class TRINITY_DLL_DECL PossessedAI : public CreatureAI void EnterEvadeMode() {} void JustDied(Unit*); void KilledUnit(Unit* victim); - bool IsVisible(Unit * u) const { return _isVisible(u); } void UpdateAI(const uint32); // Never permit this to be used, it must always be initialized with Creature::InitPossessedAI() diff --git a/src/game/ReactorAI.cpp b/src/game/ReactorAI.cpp index 7ade73495c3..29b07f60b00 100644 --- a/src/game/ReactorAI.cpp +++ b/src/game/ReactorAI.cpp @@ -41,22 +41,6 @@ ReactorAI::MoveInLineOfSight(Unit *) { } -void -ReactorAI::AttackStart(Unit *p) -{ - if(!p) - return; - - if(i_creature.Attack(p,true)) - { - DEBUG_LOG("Tag unit GUID: %u (TypeId: %u) as a victim", p->GetGUIDLow(), p->GetTypeId()); - - i_creature.AddThreat(p, 0.0f); - i_victimGuid = p->GetGUID(); - i_creature.GetMotionMaster()->MoveChase(p); - } -} - bool ReactorAI::IsVisible(Unit *) const { @@ -67,7 +51,7 @@ void ReactorAI::UpdateAI(const uint32 /*time_diff*/) { // update i_victimGuid if i_creature.getVictim() !=0 and changed - if(!i_creature.SelectHostilTarget() || !i_creature.getVictim()) + if(!UpdateVictim()) return; i_victimGuid = i_creature.getVictim()->GetGUID(); diff --git a/src/game/ReactorAI.h b/src/game/ReactorAI.h index b2bfa3501c2..cea1e8dcdb5 100644 --- a/src/game/ReactorAI.h +++ b/src/game/ReactorAI.h @@ -29,10 +29,9 @@ class TRINITY_DLL_DECL ReactorAI : public CreatureAI { public: - ReactorAI(Creature *c) : i_creature(*c), i_victimGuid(0) {} + ReactorAI(Creature *c) : CreatureAI(c), i_creature(*c), i_victimGuid(0) {} void MoveInLineOfSight(Unit *); - void AttackStart(Unit *); void EnterEvadeMode(); bool IsVisible(Unit *) const; diff --git a/src/game/TotemAI.cpp b/src/game/TotemAI.cpp index 72a43cfc97b..4d7b45eba8e 100644 --- a/src/game/TotemAI.cpp +++ b/src/game/TotemAI.cpp @@ -40,7 +40,7 @@ TotemAI::Permissible(const Creature *creature) return PERMIT_BASE_NO; } -TotemAI::TotemAI(Creature *c) : i_totem(static_cast(*c)), i_victimGuid(0) +TotemAI::TotemAI(Creature *c) : CreatureAI(c), i_totem(static_cast(*c)), i_victimGuid(0) { } diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index a2b4aba30fd..ec8daf1482c 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -8208,6 +8208,7 @@ bool Unit::Attack(Unit *victim, bool meleeAttack) SetInCombatWith(victim); if(victim->GetTypeId() == TYPEID_PLAYER) victim->SetInCombatWith(this); + AddThreat(victim, 0.0f); } // delay offhand weapon attack to next attack time @@ -10408,7 +10409,7 @@ void Unit::TauntFadeOut(Unit *taunter) //====================================================================== -Unit* Creature::SelectHostilTarget() +Unit* Creature::SelectVictim() { //function provides main threat functionality //next-victim-selection algorithm and evade mode are called @@ -10420,10 +10421,6 @@ Unit* Creature::SelectHostilTarget() Unit* target = NULL; - //This function only useful once AI has been initialized - if (!AI()) - return NULL; - if(!m_ThreatManager.isThreatListEmpty()) { if(!HasAuraType(SPELL_AURA_MOD_TAUNT)) @@ -10438,18 +10435,15 @@ Unit* Creature::SelectHostilTarget() { if(!hasUnitState(UNIT_STAT_STUNNED)) SetInFront(target); - AI()->AttackStart(target); - return getVictim(); + return target; } - // no target but something prevent go to evade mode - if( !isInCombat() /*|| HasAuraType(SPELL_AURA_MOD_TAUNT)*/ ) - return NULL; - // last case when creature don't must go to evade mode: // it in combat but attacker not make any damage and not enter to aggro radius to have record in threat list // for example at owner command to pet attack some far away creature // Note: creature not have targeted movement generator but have attacker in this case + if(m_attackers.size()) + return NULL; /*if( GetMotionMaster()->GetCurrentMovementGeneratorType() != TARGETED_MOTION_TYPE ) { for(AttackerSet::const_iterator itr = m_attackers.begin(); itr != m_attackers.end(); ++itr) @@ -10462,14 +10456,9 @@ Unit* Creature::SelectHostilTarget() // search nearby enemy before enter evade mode if(HasReactState(REACT_AGGRESSIVE)) { - if(target = SelectNearestTarget()) - { - if(!IsOutOfThreatArea(target)) - { - AI()->AttackStart(target); - return getVictim(); - } - } + target = SelectNearestTarget(); + if(target && !IsOutOfThreatArea(target)) + return target; } if(m_invisibilityMask) diff --git a/src/game/Unit.h b/src/game/Unit.h index 83cb1900506..69c10400a4c 100644 --- a/src/game/Unit.h +++ b/src/game/Unit.h @@ -1238,7 +1238,6 @@ class TRINITY_DLL_SPEC Unit : public WorldObject void AddThreat(Unit* pVictim, float threat, SpellSchoolMask schoolMask = SPELL_SCHOOL_MASK_NORMAL, SpellEntry const *threatSpell = NULL); float ApplyTotalThreatModifier(float threat, SpellSchoolMask schoolMask = SPELL_SCHOOL_MASK_NORMAL); void DeleteThreatList(); - //bool SelectHostilTarget(); void TauntApply(Unit* pVictim); void TauntFadeOut(Unit *taunter); ThreatManager& getThreatManager() { return m_ThreatManager; } -- cgit v1.2.3