aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-01-08 22:23:12 +0100
committerShauren <shauren.trinity@gmail.com>2024-01-08 22:23:12 +0100
commit605e5f94c0d71cad8e83fa5a07eaec4e6bed9cc3 (patch)
tree5cad677458a22ef0dd187fa86d1cd574282384dd /src/server/scripts/Northrend
parenteeb4407f077bf567361becdbe5083c2790f00313 (diff)
Core/Creatures: Moved autoattack handling from scripts to game
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp4
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp10
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp17
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp6
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp14
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp24
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp4
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp4
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp4
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp16
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp8
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp12
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp10
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp8
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp9
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp18
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp2
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp6
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp2
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp5
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp3
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp25
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp6
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp10
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp5
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp11
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp26
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp20
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp10
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp14
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp18
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp16
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp18
-rw-r--r--src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp11
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp3
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp20
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp6
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp10
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp10
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_noth.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp8
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp6
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp10
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_general_bjarngrim.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp7
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp11
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp18
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp3
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp9
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp10
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp13
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp6
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp3
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp7
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp7
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp13
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp2
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp4
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp2
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp5
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_erekem.cpp7
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp5
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp5
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_moragg.cpp5
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp5
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp5
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp7
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp10
-rw-r--r--src/server/scripts/Northrend/zone_dragonblight.cpp1
-rw-r--r--src/server/scripts/Northrend/zone_grizzly_hills.cpp10
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_icecrown.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp5
-rw-r--r--src/server/scripts/Northrend/zone_wintergrasp.cpp2
123 files changed, 115 insertions, 675 deletions
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
index 03214e40768..717c0cec560 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
@@ -189,8 +189,6 @@ struct boss_amanitar : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
index 5085bfd36cd..41f83de88ac 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
@@ -167,8 +167,6 @@ struct boss_elder_nadox : public BossAI
DoCastSelf(SPELL_SUMMON_SWARM_GUARD);
_guardianSummoned = true;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -206,8 +204,6 @@ struct npc_ahnkahar_nerubian : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
index b2157756451..0812891367b 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
@@ -354,10 +354,7 @@ struct boss_volazj : public BossAI
me->RemoveAurasDueToSpell(INSANITY_VISUAL);
}
- scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
void JustDied(Unit* killer) override
@@ -733,10 +730,7 @@ struct npc_twisted_visage : public ScriptedAI
if (!UpdateVictim())
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
private:
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
index 386a7622c49..c6bd4787e05 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
@@ -390,8 +390,6 @@ struct boss_jedoga_shadowseeker : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
index 296cb50e0e4..5694682b7bd 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
@@ -216,8 +216,6 @@ struct boss_prince_taldaram : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void DamageTaken(Unit* /*doneBy*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
index 7d35ecef46f..048c06f122c 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
@@ -280,8 +280,6 @@ struct boss_anub_arak : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -501,10 +499,7 @@ struct npc_anubarak_anub_ar_assassin : public npc_anubarak_pet_template
if (!UpdateVictim())
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
void MovementInform(uint32 /*type*/, uint32 id) override
@@ -543,10 +538,7 @@ struct npc_anubarak_anub_ar_guardian : public npc_anubarak_pet_template
if (!UpdateVictim())
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
private:
@@ -576,10 +568,7 @@ struct npc_anubarak_anub_ar_venomancer : public npc_anubarak_pet_template
if (!UpdateVictim())
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
private:
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
index d9bd21691f2..9a295622a7b 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
@@ -348,8 +348,6 @@ struct boss_hadronox : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
// Safeguard to prevent Hadronox dying to NPCs
@@ -474,8 +472,6 @@ struct npc_hadronox_crusherPackAI : public ScriptedAI
while (uint32 eventId = _events.ExecuteEvent())
DoEvent(eventId);
-
- DoMeleeAttackIfReady();
}
protected:
@@ -745,8 +741,6 @@ struct npc_hadronox_foeAI : public ScriptedAI
while (uint32 eventId = _events.ExecuteEvent())
DoEvent(eventId);
-
- DoMeleeAttackIfReady();
}
protected:
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
index a7358a52b90..11b2e61efea 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
@@ -285,8 +285,6 @@ struct boss_krik_thir : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void SpellHit(WorldObject* /*caster*/, SpellInfo const* spellInfo) override
@@ -452,8 +450,6 @@ struct npc_watcher_gashra : public npc_gatewatcher_petAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -519,8 +515,6 @@ struct npc_watcher_narjil : public npc_gatewatcher_petAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -586,8 +580,6 @@ struct npc_watcher_silthik : public npc_gatewatcher_petAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -638,8 +630,6 @@ struct npc_anub_ar_warrior : public npc_gatewatcher_petAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -689,8 +679,6 @@ struct npc_anub_ar_skirmisher : public npc_gatewatcher_petAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo) override
@@ -749,8 +737,6 @@ struct npc_anub_ar_shadowcaster : public npc_gatewatcher_petAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
index 69911185eed..164645a0ddd 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
@@ -493,8 +493,6 @@ struct boss_sartharion : public BossAI
{
_isSoftEnraged = true;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
index f52c2bb1625..421b0715091 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
@@ -451,8 +451,6 @@ struct npc_tenebron : public dummy_dragonAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
};
@@ -519,8 +517,6 @@ struct npc_shadron : public dummy_dragonAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
};
@@ -574,8 +570,6 @@ struct npc_vesperon : public dummy_dragonAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
};
@@ -637,14 +631,6 @@ struct npc_acolyte_of_shadron : public ScriptedAI
debuffTarget->RemoveAurasDueToSpell(SPELL_GIFT_OF_TWILIGTH_SHA);
}
- void UpdateAI(uint32 /*diff*/) override
- {
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
-
private:
InstanceScript* instance;
};
@@ -701,14 +687,6 @@ struct npc_acolyte_of_vesperon : public ScriptedAI
instance->DoRemoveAurasDueToSpellOnPlayers(58835, true, true); // Components of spell Twilight Torment
}
- void UpdateAI(uint32 /*diff*/) override
- {
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
-
private:
InstanceScript* instance;
};
@@ -902,8 +880,6 @@ struct npc_twilight_whelp : public ScriptedAI
DoCastVictim(SPELL_FADE_ARMOR);
events.ScheduleEvent(EVENT_FADE_ARMOR, 5s, 10s);
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
index 9a13a69a664..2a4bf0460fd 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
@@ -218,8 +218,6 @@ struct boss_baltharus_the_warborn : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -298,8 +296,6 @@ struct npc_baltharus_the_warborn_clone : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
index a2f3e083402..ff40d8e0790 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
@@ -161,8 +161,6 @@ struct boss_general_zarithrian : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -242,8 +240,6 @@ struct npc_onyx_flamecaller : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
EventMap _events;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index b633761d1cd..7cbace920a0 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -374,8 +374,6 @@ class boss_halion : public CreatureScript
break;
}
}
-
- DoMeleeAttackIfReady();
}
void SetData(uint32 index, uint32 value) override
@@ -545,8 +543,6 @@ class boss_twilight_halion : public CreatureScript
break;
}
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
index fe7be970774..d6fe5c2a011 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
@@ -191,8 +191,6 @@ struct boss_saviana_ragefire : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
index fd83e5064c1..17c1eaca2cc 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
@@ -249,8 +249,6 @@ public:
uiRadianceTimer = 16000;
} else uiRadianceTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
};
@@ -406,8 +404,6 @@ public:
bHealth = true;
}
-
- DoMeleeAttackIfReady();
}
void JustSummoned(Creature* summon) override
@@ -480,8 +476,6 @@ public:
}
uiShadowPastTimer = 5000;
}else uiShadowPastTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -590,16 +584,6 @@ public:
uiWaypoint = uiType;
}
- void UpdateAI(uint32 uiDiff) override
- {
- EscortAI::UpdateAI(uiDiff);
-
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
-
void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_ARGENT_SOLDIER_DEFEATED, instance->GetData(DATA_ARGENT_SOLDIER_DEFEATED) + 1);
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
index 6b308410f64..a42e87a1335 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
@@ -137,6 +137,7 @@ public:
summons.DespawnAll();
me->SetDisplayId(me->GetNativeDisplayId());
me->ClearUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
+ me->SetCanMelee(true);
Initialize();
}
@@ -168,6 +169,7 @@ public:
uiResurrectTimer = 4000;
bEventInProgress = false;
me->ClearUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
+ me->SetCanMelee(true);
} else uiResurrectTimer -= uiDiff;
}
@@ -262,9 +264,6 @@ public:
break;
}
}
-
- if (!me->HasUnitState(UNIT_STATE_ROOT) && !me->HealthBelowPct(1))
- DoMeleeAttackIfReady();
}
void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
@@ -274,6 +273,7 @@ public:
uiDamage = 0;
me->SetHealth(0);
me->AddUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
+ me->SetCanMelee(false);
summons.DespawnAll();
switch (uiPhase)
{
@@ -340,8 +340,6 @@ public:
}
uiAttackTimer = 3500;
} else uiAttackTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
index abec7d1e932..bf35bcda21e 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
@@ -296,8 +296,6 @@ public:
}
uiShieldBreakerTimer = 7000;
}else uiShieldBreakerTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
};
@@ -429,8 +427,6 @@ public:
DoCastVictim(SPELL_MORTAL_STRIKE);
uiMortalStrikeTimer = urand(8000, 12000);
} else uiMortalStrikeTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -573,8 +569,6 @@ public:
DoCast(me, SPELL_HASTE);
uiHasteTimer = 22000;
} else uiHasteTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -725,8 +719,6 @@ public:
uiHexMendingTimer = urand(20000, 25000);
} else uiHexMendingTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -886,8 +878,6 @@ public:
}
bShoot = false;
} else uiMultiShotTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -1012,8 +1002,6 @@ public:
DoCast(target, SPELL_POISON_BOTTLE);
uiPosionBottleTimer = 19000;
} else uiPosionBottleTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
index 17c36044f66..08c75cc716a 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
@@ -190,6 +190,7 @@ struct boss_anubarak_trial : public BossAI
Initialize();
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetUninteractible(false);
+ me->SetCanMelee(true);
// clean up spawned Frost Spheres
std::list<Creature*> FrostSphereList;
me->GetCreatureListWithEntryInGrid(FrostSphereList, NPC_FROST_SPHERE, 150.0f);
@@ -335,6 +336,7 @@ struct boss_anubarak_trial : public BossAI
DoCast(me, SPELL_CLEAR_ALL_DEBUFFS);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetUninteractible(true);
+ me->SetCanMelee(false);
Talk(EMOTE_BURROWER);
events.SetPhase(PHASE_SUBMERGED);
events.ScheduleEvent(EVENT_PURSUING_SPIKE, 2s, 0, PHASE_SUBMERGED);
@@ -372,6 +374,7 @@ struct boss_anubarak_trial : public BossAI
me->RemoveAurasDueToSpell(SPELL_SUBMERGE_ANUBARAK);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetUninteractible(false);
+ me->SetCanMelee(true);
DoCast(me, SPELL_EMERGE_ANUBARAK);
Talk(EMOTE_EMERGE);
events.SetPhase(PHASE_MELEE);
@@ -422,9 +425,6 @@ struct boss_anubarak_trial : public BossAI
Talk(EMOTE_LEECHING_SWARM);
Talk(SAY_LEECHING_SWARM);
}
-
- if (events.IsInPhase(PHASE_MELEE))
- DoMeleeAttackIfReady();
}
private:
@@ -493,8 +493,6 @@ struct npc_swarm_scarab : public ScriptedAI
}
else
_determinationTimer -= diff;
-
- DoMeleeAttackIfReady();
}
private:
@@ -575,8 +573,6 @@ struct npc_nerubian_burrower : public ScriptedAI
}
else
_submergeTimer -= diff;
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
index eafc61b849a..b4198fc8fa0 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
@@ -724,9 +724,6 @@ struct boss_faction_championsAI : public BossAI
return;
}
}
-
- if (_aiType == AI_MELEE || _aiType == AI_PET)
- DoMeleeAttackIfReady();
}
private:
@@ -1322,7 +1319,10 @@ struct npc_toc_mage : public boss_faction_championsAI
struct npc_toc_hunter : public boss_faction_championsAI
{
- npc_toc_hunter(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
+ npc_toc_hunter(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED)
+ {
+ me->SetCanMelee(false); // DoSpellAttackIfReady
+ }
void Reset() override
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
index 240bf370bd6..5512f5b4460 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
@@ -281,8 +281,6 @@ struct boss_jaraxxus : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -363,10 +361,7 @@ struct npc_fel_infernal : public ScriptedAI
if (!UpdateVictim())
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
private:
@@ -456,8 +451,6 @@ struct npc_mistress_of_pain : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
index 837872c398d..b61a3633ef7 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
@@ -320,8 +320,6 @@ struct boss_northrend_beastsAI : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -443,6 +441,7 @@ struct npc_snobold_vassal : public ScriptedAI
break;
case ACTION_ACTIVE_SNOBOLD:
_mountedOnPlayer = true;
+ me->SetCanMelee(true);
break;
default:
break;
@@ -468,6 +467,7 @@ struct npc_snobold_vassal : public ScriptedAI
if (gormok && gormok->IsAlive())
{
me->AttackStop();
+ me->SetCanMelee(false);
_targetGUID.Clear();
_mountedOnPlayer = false;
_events.CancelEvent(EVENT_BATTER);
@@ -490,6 +490,7 @@ struct npc_snobold_vassal : public ScriptedAI
_events.CancelEvent(EVENT_CHECK_MOUNT);
_events.CancelEvent(EVENT_FIRE_BOMB);
me->AttackStop();
+ me->SetCanMelee(true);
SetCombatMovement(true);
_gormokDead = true;
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
@@ -550,10 +551,6 @@ struct npc_snobold_vassal : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- // do melee attack only if is in player back or if gormok is dead.
- if (_mountedOnPlayer || _gormokDead)
- DoMeleeAttackIfReady();
}
private:
@@ -668,6 +665,7 @@ struct boss_jormungarAI : public boss_northrend_beastsAI
{
Initialize();
boss_northrend_beastsAI::Reset();
+ me->SetCanMelee(true);
}
void JustSummoned(Creature* summoned) override
@@ -759,6 +757,7 @@ struct boss_jormungarAI : public boss_northrend_beastsAI
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetUninteractible(true);
+ me->SetCanMelee(false);
me->GetMotionMaster()->MovePoint(0, ToCCommonLoc[1].GetPositionX() + frand(-40.0f, 40.0f), ToCCommonLoc[1].GetPositionY() + frand(-40.0f, 40.0f), ToCCommonLoc[1].GetPositionZ() + me->GetCollisionHeight());
}
@@ -781,6 +780,7 @@ struct boss_jormungarAI : public boss_northrend_beastsAI
{
me->SetControlled(true, UNIT_STATE_ROOT);
me->SetDisplayId(modelStationary);
+ me->SetCanMelee(false);
DoCastSelf(SPELL_GROUND_VISUAL_1, true);
events.SetPhase(PHASE_STATIONARY);
}
@@ -789,6 +789,7 @@ struct boss_jormungarAI : public boss_northrend_beastsAI
if (Unit* target = me->GetVictim())
me->GetMotionMaster()->MoveChase(target);
me->SetDisplayId(modelMobile);
+ me->SetCanMelee(true);
events.SetPhase(PHASE_MOBILE);
}
wasMobile = !wasMobile;
@@ -804,6 +805,7 @@ struct boss_jormungarAI : public boss_northrend_beastsAI
{
instance->DoCloseDoorOrButton(instance->GetGuidData(DATA_MAIN_GATE));
me->SetImmuneToPC(false);
+ me->SetCanMelee(true);
events.SetPhase(PHASE_MOBILE);
me->SetReactState(REACT_AGGRESSIVE);
DoZoneInCombat();
@@ -867,9 +869,7 @@ struct boss_jormungarAI : public boss_northrend_beastsAI
return;
}
- if (events.IsInPhase(PHASE_MOBILE))
- DoMeleeAttackIfReady();
- else
+ if (!events.IsInPhase(PHASE_MOBILE))
DoCastVictim(spitSpell);
}
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
index dca2b5d81c3..0a6ca5742d2 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -358,8 +358,6 @@ struct boss_twin_baseAI : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
protected:
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
index b10edbf31c9..bb3b2e22e30 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
@@ -152,8 +152,6 @@ struct boss_king_dred : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -194,8 +192,6 @@ struct npc_drakkari_gutripper : public ScriptedAI
}
else
GutRipTimer -= diff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -239,8 +235,6 @@ struct npc_drakkari_scytheclaw : public ScriptedAI
}
else
uiRendTimer -= diff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp
index 05fd38c38e5..ae4dd0aab77 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp
@@ -190,8 +190,6 @@ struct boss_tharon_ja : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
index 397ae7597a1..f38e1dcf690 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
@@ -153,8 +153,6 @@ struct boss_trollgore : public BossAI
if (ConsumeAura && ConsumeAura->GetStackAmount() > 9)
_consumptionJunction = false;
}
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
index 49bd36ced27..8a0d8b761e8 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
@@ -82,6 +82,7 @@ struct boss_bronjahm : public BossAI
events.ScheduleEvent(EVENT_SHADOW_BOLT, 2s);
events.ScheduleEvent(EVENT_MAGIC_BANE, 8s, 20s);
events.ScheduleEvent(EVENT_CORRUPT_SOUL, 25s, 35s, 0, PHASE_1);
+ me->SetCanMelee(true);
}
void JustReachedHome() override
@@ -117,6 +118,7 @@ struct boss_bronjahm : public BossAI
DoCast(me, SPELL_TELEPORT);
events.ScheduleEvent(EVENT_FEAR, 12s, 16s, 0, PHASE_2);
events.ScheduleEvent(EVENT_SOULSTORM, 100ms, 0, PHASE_2);
+ me->SetCanMelee(false);
}
}
@@ -203,9 +205,6 @@ struct boss_bronjahm : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- if (!events.IsInPhase(PHASE_2))
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
index 6ac0a779725..1f9ca84e3b8 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
@@ -326,8 +326,6 @@ struct boss_devourer_of_souls : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
index 49987063278..22adfdc8b92 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
@@ -158,7 +158,6 @@ struct npc_sylvanas_fos : public ScriptedAI
return;
events.Update(diff);
- DoMeleeAttackIfReady();
}
};
@@ -255,8 +254,6 @@ struct npc_jaina_fos: public ScriptedAI
return;
events.Update(diff);
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
index 02c441d8b86..c936c03df2f 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
@@ -140,8 +140,6 @@ class boss_falric : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
index fb933ba1a6a..0660da6176a 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
@@ -121,8 +121,6 @@ class boss_marwyn : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
index b2db3a91b4a..377fc98af1d 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -1160,8 +1160,6 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1348,8 +1346,6 @@ class npc_the_lich_king_escape_hor : public CreatureScript
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1558,8 +1554,6 @@ class npc_ghostly_priest : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -1633,8 +1627,6 @@ class npc_phantom_mage : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -1726,8 +1718,6 @@ class npc_shadowy_mercenary : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -1780,8 +1770,6 @@ class npc_spectral_footman : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -1842,8 +1830,6 @@ class npc_tortured_rifleman : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -1942,7 +1928,6 @@ class npc_frostsworn_general : public CreatureScript
break;
}
}
- DoMeleeAttackIfReady();
}
void SummonClones()
@@ -2016,8 +2001,6 @@ class npc_spiritual_reflection : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -2248,8 +2231,6 @@ class npc_raging_ghoul : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -2318,8 +2299,6 @@ class npc_risen_witch_doctor : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -2370,8 +2349,6 @@ class npc_lumbering_abomination : public CreatureScript
default:
break;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -2711,8 +2688,6 @@ class npc_quel_delar_sword : public CreatureScript
break;
}
}
-
- DoMeleeAttackIfReady();
}
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
index d07bd4f55fc..8d7cc069edc 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -239,8 +239,6 @@ struct boss_garfrost : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
index e645e2310cc..531f88a88e4 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
@@ -284,8 +284,6 @@ struct boss_ick : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
index 1383bc1a827..85fd943cf7d 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
@@ -275,8 +275,6 @@ struct boss_tyrannus : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
index 2e14fdef1e9..c0ca2d4a7bf 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
@@ -100,8 +100,6 @@ struct npc_ymirjar_flamebearer: public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -143,8 +141,6 @@ struct npc_iceborn_protodrake: public ScriptedAI
}
else
_frostBreathCooldown -= diff;
-
- DoMeleeAttackIfReady();
}
private:
@@ -191,8 +187,6 @@ struct npc_geist_ambusher: public ScriptedAI
}
else
_leapingFaceMaulCooldown -= diff;
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
index 12b9ac830dc..a2a1ad294ea 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
@@ -216,9 +216,6 @@ struct boss_drakkari_colossus : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- if (me->GetReactState() == REACT_AGGRESSIVE)
- DoMeleeAttackIfReady();
}
void JustSummoned(Creature* summon) override
@@ -283,8 +280,6 @@ struct boss_drakkari_elemental : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void DoAction(int32 action) override
@@ -439,10 +434,7 @@ struct npc_living_mojo : public ScriptedAI
if (!UpdateVictim())
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
private:
diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
index 79a6d240d04..007e9ed11c2 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
@@ -176,8 +176,6 @@ struct boss_moorabi : public BossAI
if(me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
index fcc36315e6a..d274c9d1162 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
@@ -133,10 +133,7 @@ struct boss_slad_ran : public BossAI
if (!UpdateVictim())
return;
- scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index 51527f3e9b9..17ae3a3dd64 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -611,7 +611,10 @@ protected:
struct boss_prince_keleseth_icc : public BloodPrincesBossAI
{
- boss_prince_keleseth_icc(Creature* creature) : BloodPrincesBossAI(creature, DATA_PRINCE_KELESETH) { }
+ boss_prince_keleseth_icc(Creature* creature) : BloodPrincesBossAI(creature, DATA_PRINCE_KELESETH)
+ {
+ me->SetCanMelee(false);
+ }
void ScheduleEvents() override
{
@@ -671,8 +674,6 @@ struct boss_prince_keleseth_icc : public BloodPrincesBossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- // does not melee
}
};
@@ -745,8 +746,6 @@ struct boss_prince_taldaram_icc : public BloodPrincesBossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -841,8 +840,6 @@ struct boss_prince_valanar_icc : public BloodPrincesBossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
index 6aedfefafae..48d42b6aa44 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
@@ -409,8 +409,6 @@ struct boss_blood_queen_lana_thel : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
bool WasVampire(ObjectGuid guid) const
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 3357f25086f..b21e77530e0 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -534,8 +534,6 @@ struct boss_deathbringer_saurfang : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
uint32 GetData(uint32 type) const override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
index e6bdd11aa7f..f7e8cdcbc31 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
@@ -255,8 +255,6 @@ struct boss_festergut : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void SetData(uint32 type, uint32 data) override
@@ -331,8 +329,6 @@ struct npc_stinky_icc : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
index 1d27d897b48..98580bde1cb 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
@@ -1076,12 +1076,13 @@ struct npc_high_overlord_saurfang_igb : public ScriptedAI
}
}
- if (me->IsWithinMeleeRange(me->GetVictim()))
- DoMeleeAttackIfReady();
- else if (me->isAttackReady())
+ if (!me->IsWithinMeleeRange(me->GetVictim()))
{
- DoCastVictim(SPELL_RENDING_THROW);
- me->resetAttackTimer();
+ if (me->isAttackReady())
+ {
+ DoCastVictim(SPELL_RENDING_THROW);
+ me->resetAttackTimer();
+ }
}
}
@@ -1336,12 +1337,13 @@ struct npc_muradin_bronzebeard_igb : public ScriptedAI
}
}
- if (me->IsWithinMeleeRange(me->GetVictim()))
- DoMeleeAttackIfReady();
- else if (me->isAttackReady())
+ if (!me->IsWithinMeleeRange(me->GetVictim()))
{
- DoCastVictim(SPELL_RENDING_THROW);
- me->resetAttackTimer();
+ if (me->isAttackReady())
+ {
+ DoCastVictim(SPELL_RENDING_THROW);
+ me->resetAttackTimer();
+ }
}
}
@@ -1484,8 +1486,6 @@ struct npc_gunship_boarding_addAI : public gunship_npc_AI
if (!HasAttackablePlayerNearby())
TriggerBurningPitch();
-
- DoMeleeAttackIfReady();
}
bool CanAIAttack(Unit const* target) const override
@@ -1563,8 +1563,6 @@ struct npc_gunship_boarding_leader : public npc_gunship_boarding_addAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
index e34aee8b3a9..4337cc59996 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
@@ -417,6 +417,7 @@ struct boss_lady_deathwhisper : public BossAI
damage -= me->GetPower(POWER_MANA);
me->SetPower(POWER_MANA, 0);
me->RemoveAurasDueToSpell(SPELL_MANA_BARRIER);
+ me->SetCanMelee(true);
scheduler.CancelGroup(GROUP_ONE);
scheduler
@@ -495,12 +496,7 @@ struct boss_lady_deathwhisper : public BossAI
if (!UpdateVictim() && _phase != PHASE_INTRO)
return;
- scheduler.Update(diff, [this]
- {
- // We should not melee attack when barrier is up
- if (!me->HasAura(SPELL_MANA_BARRIER))
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
// summoning function for first phase
@@ -668,10 +664,7 @@ struct npc_cult_fanatic : public ScriptedAI
if (!UpdateVictim() && !me->HasAura(SPELL_PERMANENT_FEIGN_DEATH))
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
protected:
@@ -811,10 +804,7 @@ struct npc_vengeful_shade : public ScriptedAI
void UpdateAI(uint32 diff) override
{
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
private:
@@ -933,8 +923,6 @@ struct npc_darnavan : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index 08d0fa77a6f..b7236028725 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -275,8 +275,6 @@ struct boss_lord_marrowgar : public BossAI
// 10 seconds since encounter start Bone Slice replaces melee attacks
if (_boneSlice && !me->GetCurrentSpell(CURRENT_MELEE_SPELL))
DoCastVictim(SPELL_BONE_SLICE);
-
- DoMeleeAttackIfReady();
}
void MovementInform(uint32 type, uint32 id) override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index ed08f59b1c3..25dc005fd52 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -697,8 +697,6 @@ struct boss_professor_putricide : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -754,8 +752,6 @@ class npc_putricide_oozeAI : public ScriptedAI
if (!_newTargetSelectTimer && !me->IsNonMeleeSpellCast(false, false, true, false, true))
_newTargetSelectTimer = 1000;
- DoMeleeAttackIfReady();
-
if (!_newTargetSelectTimer)
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
index 623b1b929b6..081cfce1ce4 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
@@ -229,8 +229,6 @@ struct boss_rotface : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -271,8 +269,6 @@ struct npc_little_ooze : public ScriptedAI
DoCastVictim(SPELL_STICKY_OOZE);
events.ScheduleEvent(EVENT_STICKY_OOZE, 15s);
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -328,9 +324,6 @@ struct npc_big_ooze : public ScriptedAI
break;
}
}
-
- if (me->IsVisible())
- DoMeleeAttackIfReady();
}
private:
@@ -403,8 +396,6 @@ struct npc_precious_icc : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -695,6 +686,7 @@ class spell_rotface_unstable_ooze_explosion_suicide : public AuraScript
target->RemoveAllAuras();
target->SetVisible(false);
+ target->ToCreature()->SetCanMelee(false);
target->ToCreature()->DespawnOrUnsummon(60s);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index 86c9ee09c49..e57abfc67b8 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -564,8 +564,6 @@ struct boss_sindragosa : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -751,8 +749,6 @@ struct npc_spinestalker : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -904,8 +900,6 @@ struct npc_rimefang_icc : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1003,8 +997,6 @@ struct npc_sindragosa_trash : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
index 1d2aa997cf2..2d7cfc810f1 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
@@ -505,8 +505,6 @@ struct boss_sister_svalna : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -778,8 +776,6 @@ struct npc_crok_scourgebane : public EscortAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
bool CanAIAttack(Unit const* target) const override
@@ -985,8 +981,6 @@ struct npc_captain_arnath : public npc_argent_captainAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1055,8 +1049,6 @@ struct npc_captain_brandon : public npc_argent_captainAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -1114,8 +1106,6 @@ struct npc_captain_grondel : public npc_argent_captainAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -1169,8 +1159,6 @@ struct npc_captain_rupert : public npc_argent_captainAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -1366,8 +1354,6 @@ struct npc_frostwing_ymirjar_vrykul : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index ba5dcb80c28..92b885d6d55 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -1129,8 +1129,6 @@ struct boss_the_lich_king : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING) && !(events.IsInPhase(PHASE_TRANSITION) || events.IsInPhase(PHASE_OUTRO) || events.IsInPhase(PHASE_FROSTMOURNE)))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1261,8 +1259,6 @@ struct npc_tirion_fordring_tft : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1321,8 +1317,6 @@ struct npc_shambling_horror_icc : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
void OnSpellFailed(SpellInfo const* spell) override
@@ -1412,8 +1406,6 @@ struct npc_raging_spirit : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1556,8 +1548,6 @@ struct npc_valkyr_shadowguard : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- // no melee attacks
}
private:
@@ -1792,10 +1782,6 @@ struct npc_terenas_menethil : public ScriptedAI
break;
}
}
-
- // fighting Spirit Warden
- if (me->IsInCombat())
- DoMeleeAttackIfReady();
}
private:
@@ -1839,8 +1825,6 @@ struct npc_spirit_warden : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1936,8 +1920,6 @@ struct npc_broken_frostmourne : public CreatureAI
break;
}
}
-
- // no melee attacks
}
private:
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index b8c9fca9d61..3b9e0f2b8de 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -731,8 +731,6 @@ struct npc_risen_archmage : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -782,8 +780,6 @@ struct npc_blazing_skeleton : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -838,8 +834,6 @@ struct npc_suppresser : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -855,14 +849,6 @@ struct npc_blistering_zombie : public ScriptedAI
{
DoCastSelf(SPELL_ACID_BURST, true);
}
-
- void UpdateAI(uint32 /*diff*/) override
- {
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
};
struct npc_gluttonous_abomination : public ScriptedAI
@@ -905,8 +891,6 @@ struct npc_gluttonous_abomination : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index b7b45af37b0..527afb2c3c3 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -499,8 +499,6 @@ struct npc_rotting_frost_giant : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -848,8 +846,6 @@ struct DarkFallenAI : public ScriptedAI
if (AttackSpellId)
DoSpellAttackIfReady(AttackSpellId);
- else
- DoMeleeAttackIfReady();
}
protected:
@@ -884,7 +880,10 @@ struct npc_darkfallen_blood_knight : public DarkFallenAI
struct npc_darkfallen_noble : public DarkFallenAI
{
- npc_darkfallen_noble(Creature* creature) : DarkFallenAI(creature) { }
+ npc_darkfallen_noble(Creature* creature) : DarkFallenAI(creature)
+ {
+ me->SetCanMelee(false); // DoSpellAttackIfReady
+ }
void ScheduleSpells() override
{
@@ -934,8 +933,6 @@ struct npc_vampiric_fiend : public ScriptedAI
return;
_scheduler.Update(diff);
-
- DoMeleeAttackIfReady();
}
private:
@@ -944,7 +941,10 @@ private:
struct npc_darkfallen_archmage : public DarkFallenAI
{
- npc_darkfallen_archmage(Creature* creature) : DarkFallenAI(creature) { }
+ npc_darkfallen_archmage(Creature* creature) : DarkFallenAI(creature)
+ {
+ me->SetCanMelee(false); // DoSpellAttackIfReady
+ }
void ScheduleSpells() override
{
@@ -1103,8 +1103,6 @@ struct npc_icc_nerubar_broodkeeper : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp b/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp
index e3d89c1fc22..77f5e53207e 100644
--- a/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp
+++ b/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp
@@ -111,8 +111,6 @@ struct boss_ioc_horde_alliance : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
index 7340eb5c698..8babac81a40 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
@@ -51,13 +51,14 @@ enum Events
enum Spells
{
- SPELL_IMPALE = 28783, // 25-man: 56090
- SPELL_LOCUST_SWARM = 28785, // 25-man: 54021
SPELL_SUMMON_CORPSE_SCARABS_PLR = 29105, // This spawns 5 corpse scarabs on top of player
SPELL_SUMMON_CORPSE_SCARABS_MOB = 28864, // This spawns 10 corpse scarabs on top of dead guards
SPELL_BERSERK = 27680
};
+#define SPELL_IMPALE RAID_MODE(28783, 56090)
+#define SPELL_LOCUST_SWARM RAID_MODE(28785, 54021)
+
enum SpawnGroups
{
GROUP_INITIAL_25M = 1,
@@ -98,6 +99,7 @@ struct boss_anubrekhan : public BossAI
{
_Reset();
guardCorpses.clear();
+ me->SetCanMelee(true);
}
void JustReachedHome() override
@@ -203,6 +205,7 @@ struct boss_anubrekhan : public BossAI
Talk(EMOTE_LOCUST);
events.SetPhase(PHASE_SWARM);
DoCast(me, SPELL_LOCUST_SWARM);
+ me->SetCanMelee(false);
events.ScheduleEvent(EVENT_SPAWN_GUARD, 3s);
events.ScheduleEvent(EVENT_LOCUST_ENDS, RAID_MODE(Seconds(19), Seconds(23)));
@@ -210,6 +213,7 @@ struct boss_anubrekhan : public BossAI
break;
case EVENT_LOCUST_ENDS:
events.SetPhase(PHASE_NORMAL);
+ me->SetCanMelee(true);
events.ScheduleEvent(EVENT_IMPALE, randtime(Seconds(10), Seconds(20)), 0, PHASE_NORMAL);
events.ScheduleEvent(EVENT_SCARABS, randtime(Seconds(20), Seconds(30)), 0, PHASE_NORMAL);
break;
@@ -222,9 +226,6 @@ struct boss_anubrekhan : public BossAI
break;
}
}
-
- if (events.IsInPhase(PHASE_NORMAL))
- DoMeleeAttackIfReady();
}
private:
GuidSet guardCorpses;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
index aeb36c4fa10..a406d3e13aa 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
@@ -180,8 +180,6 @@ struct boss_faerlina : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -224,7 +222,6 @@ struct npc_faerlina_add : public ScriptedAI
return;
DoCastVictim(SPELL_ADD_FIREBALL);
- DoMeleeAttackIfReady(); // this will only happen if the fireball cast fails for some reason
}
private:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
index 0f57dfbfae6..2905d24ea24 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
@@ -433,10 +433,6 @@ struct boss_four_horsemen_baron : public boss_four_horsemen_baseAI
break;
}
}
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
- DoMeleeAttackIfReady();
}
void SpellHitTarget(WorldObject* /*target*/, SpellInfo const* spellInfo) override
@@ -498,10 +494,6 @@ struct boss_four_horsemen_thane : public boss_four_horsemen_baseAI
break;
}
}
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
- DoMeleeAttackIfReady();
}
void SpellHitTarget(WorldObject* /*target*/, SpellInfo const* spellInfo) override
@@ -519,7 +511,11 @@ struct boss_four_horsemen_thane : public boss_four_horsemen_baseAI
struct boss_four_horsemen_lady : public boss_four_horsemen_baseAI
{
- boss_four_horsemen_lady(Creature* creature) : boss_four_horsemen_baseAI(creature, LADY, ladyPath) { }
+ boss_four_horsemen_lady(Creature* creature) : boss_four_horsemen_baseAI(creature, LADY, ladyPath)
+ {
+ me->SetCanMelee(false);
+ }
+
void BeginFighting() override
{
events.ScheduleEvent(EVENT_BERSERK, 10min);
@@ -578,7 +574,11 @@ struct boss_four_horsemen_lady : public boss_four_horsemen_baseAI
struct boss_four_horsemen_sir : public boss_four_horsemen_baseAI
{
- boss_four_horsemen_sir(Creature* creature) : boss_four_horsemen_baseAI(creature, SIR, sirPath), _shouldSay(true) { }
+ boss_four_horsemen_sir(Creature* creature) : boss_four_horsemen_baseAI(creature, SIR, sirPath), _shouldSay(true)
+ {
+ me->SetCanMelee(false);
+ }
+
void BeginFighting() override
{
events.ScheduleEvent(EVENT_BERSERK, 10min);
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
index f4653cb2972..a5fe4abab32 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
@@ -254,8 +254,6 @@ struct boss_gluth : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void MovementInform(uint32 /*type*/, uint32 id) override
@@ -381,8 +379,6 @@ struct npc_zombie_chow : public ScriptedAI
me->StopMoving();
}
}
- else if (state == STATE_ZOMBIE_NORMAL)
- DoMeleeAttackIfReady();
}
void SetData(uint32 id, uint32 value) override
@@ -394,6 +390,7 @@ struct npc_zombie_chow : public ScriptedAI
{
me->SetReactState(ReactStates::REACT_PASSIVE);
me->AttackStop();
+ me->SetCanMelee(false);
me->SetTarget(ObjectGuid::Empty);
// at this point, the zombie should be non attacking and non moving.
@@ -410,6 +407,7 @@ struct npc_zombie_chow : public ScriptedAI
// and loose aggro behavior
me->SetReactState(ReactStates::REACT_PASSIVE);
me->AttackStop();
+ me->SetCanMelee(false);
me->SetTarget(ObjectGuid::Empty);
me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_GRIP, true); // not sure if this is blizz-like but this is very convenient
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 454d6ba4674..4aa91542934 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -637,7 +637,6 @@ struct npc_gothik_minion_livingtrainee : public npc_gothik_minion_baseAI
DoCastAOE(SPELL_DEATH_PLAGUE);
_deathPlagueTimer = urandms(5, 20);
}
- DoMeleeAttackIfReady();
}
uint32 _deathPlagueTimer;
};
@@ -655,7 +654,6 @@ struct npc_gothik_minion_livingknight : public npc_gothik_minion_baseAI
DoCastAOE(SPELL_SHADOW_MARK);
_whirlwindTimer = urandms(15, 20);
}
- DoMeleeAttackIfReady();
}
uint32 _whirlwindTimer;
};
@@ -685,8 +683,6 @@ struct npc_gothik_minion_livingrider : public npc_gothik_minion_baseAI
DoCastAOE(SPELL_SHADOW_BOLT_VOLLEY);
_boltVolleyTimer = urandms(10, 15);
}
- if (!me->HasUnitState(UNIT_STATE_CASTING))
- DoMeleeAttackIfReady();
npc_gothik_minion_baseAI::_UpdateAI(diff);
}
@@ -706,7 +702,6 @@ struct npc_gothik_minion_spectraltrainee : public npc_gothik_minion_baseAI
DoCastAOE(SPELL_ARCANE_EXPLOSION);
_explosionTimer = 2 * IN_MILLISECONDS;
}
- DoMeleeAttackIfReady();
}
uint32 _explosionTimer;
};
@@ -724,7 +719,6 @@ struct npc_gothik_minion_spectralknight : public npc_gothik_minion_baseAI
DoCastAOE(SPELL_WHIRLWIND);
_whirlwindTimer = urandms(20, 25);
}
- DoMeleeAttackIfReady();
}
uint32 _whirlwindTimer;
};
@@ -789,9 +783,6 @@ struct npc_gothik_minion_spectralrider : public npc_gothik_minion_baseAI
_drainTimer = urandms(10,15);
}
- if (!me->HasUnitState(UNIT_STATE_CASTING))
- DoMeleeAttackIfReady();
-
npc_gothik_minion_baseAI::_UpdateAI(diff);
}
uint32 _frenzyTimer, _drainTimer;
@@ -810,7 +801,6 @@ struct npc_gothik_minion_spectralhorse : public npc_gothik_minion_baseAI
DoCastAOE(SPELL_STOMP);
_stompTimer = urandms(14, 18);
}
- DoMeleeAttackIfReady();
}
uint32 _stompTimer;
};
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
index ad815472a61..d40c0033d28 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
@@ -121,8 +121,6 @@ struct boss_grobbulus : public BossAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
};
@@ -176,8 +174,6 @@ struct npc_fallout_slime : public ScriptedAI
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
index 645acf28775..7d4d6a8dafe 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
@@ -198,8 +198,6 @@ struct boss_heigan : public BossAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index 85572114efc..33207c6048d 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -508,8 +508,6 @@ struct boss_kelthuzad : public BossAI
DoCastVictim(SPELL_FROSTBOLT_SINGLE);
_frostboltCooldown = 3 * IN_MILLISECONDS;
}
- else
- DoMeleeAttackIfReady();
}
uint32 GetData(uint32 data) const override
@@ -691,8 +689,6 @@ struct npc_kelthuzad_skeleton : public npc_kelthuzad_minionAI
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
};
@@ -706,8 +702,6 @@ struct npc_kelthuzad_banshee : public npc_kelthuzad_minionAI
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
};
@@ -729,8 +723,6 @@ struct npc_kelthuzad_abomination : public npc_kelthuzad_minionAI
}
else
_woundTimer -= diff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* killer) override
@@ -817,8 +809,6 @@ struct npc_kelthuzad_guardian : public ScriptedAI
}
else
_bloodTapTimer -= diff;
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
index 7a83239a2c1..edb25e54339 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
@@ -131,8 +131,6 @@ struct boss_loatheb : public BossAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
index 2b22b31fff5..7a2b208929b 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
@@ -173,8 +173,6 @@ struct boss_maexxna : public BossAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
index 98de9a42912..956a901e12f 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
@@ -310,8 +310,6 @@ struct boss_noth : public BossAI
me->GetMotionMaster()->MoveChase(me->EnsureVictim());
justBlinked = false;
}
- else
- DoMeleeAttackIfReady();
}
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
index 79c5b4cf561..2f0afd640d3 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
@@ -171,8 +171,6 @@ struct boss_patchwerk : public BossAI
Talk(EMOTE_FRENZY);
_enraged = true;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
index 19bb9649717..af68b202029 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
@@ -150,8 +150,6 @@ struct boss_razuvious : public BossAI
return;
}
}
-
- DoMeleeAttackIfReady();
}
void Reset() override
@@ -195,8 +193,6 @@ struct npc_dk_understudy : public ScriptedAI
else
DoCastVictim(SPELL_UNDERSTUDY_BLOOD_STRIKE);
}
-
- DoMeleeAttackIfReady();
}
void OnCharmed(bool isNew) override
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
index 214b8a94918..5de5f9af313 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
@@ -222,6 +222,7 @@ struct boss_sapphiron : public BossAI
void EnterPhaseGround(bool initial)
{
+ me->SetCanMelee(true);
me->SetReactState(REACT_AGGRESSIVE);
events.ScheduleEvent(EVENT_CLEAVE, randtime(Seconds(5), Seconds(15)), 0, PHASE_GROUND);
events.ScheduleEvent(EVENT_TAIL, randtime(Seconds(7), Seconds(10)), 0, PHASE_GROUND);
@@ -313,6 +314,7 @@ struct boss_sapphiron : public BossAI
events.SetPhase(PHASE_FLIGHT);
me->SetReactState(REACT_PASSIVE);
me->AttackStop();
+ me->SetCanMelee(false);
float x, y, z, o;
me->GetHomePosition(x, y, z, o);
me->GetMotionMaster()->MovePoint(1, x, y, z);
@@ -321,8 +323,6 @@ struct boss_sapphiron : public BossAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
else
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
index a4a20fb900c..0cb07689954 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
@@ -437,10 +437,7 @@ public:
if (events.IsInPhase(PHASE_THADDIUS) && !me->HasUnitState(UNIT_STATE_CASTING) && me->isAttackReady())
{
if (me->IsWithinMeleeRange(me->GetVictim()))
- {
ballLightningEnabled = false;
- DoMeleeAttackIfReady();
- }
else if (ballLightningUnlocked)
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
DoCast(target, SPELL_BALL_LIGHTNING);
@@ -640,9 +637,6 @@ public:
}
else
powerSurgeTimer -= uiDiff;
-
- if (!isFeignDeath)
- DoMeleeAttackIfReady();
}
private:
@@ -882,8 +876,6 @@ public:
staticFieldTimer = 6 * IN_MILLISECONDS;
}
else staticFieldTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 4e0985c330b..37794e1ae26 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -522,6 +522,7 @@ struct boss_malygos : public BossAI
events.Reset();
events.SetPhase(phase);
_phase = phase;
+ me->SetCanMelee(phase != PHASE_THREE);
if (setEvents)
SetPhaseEvents();
}
@@ -963,9 +964,6 @@ struct boss_malygos : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING) && _phase != PHASE_NOT_STARTED)
return;
}
-
- if (_phase != PHASE_THREE)
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -1290,8 +1288,6 @@ struct npc_nexus_lord : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
index 1665f76be82..ce20fd86968 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
@@ -179,8 +179,6 @@ struct boss_anomalus : public ScriptedAI
}
else
uiSparkTimer -= diff;
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
index e86c687b159..6711c9fdab9 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
@@ -195,8 +195,6 @@ struct boss_keristrasza : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
index 9715348d5b3..d7d0d482cf6 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
@@ -310,8 +310,6 @@ struct boss_magus_telestra : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
index 9cb218167d8..807a64a1af2 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
@@ -166,8 +166,6 @@ struct boss_ormorok : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
index 4e766d77811..9c2b2669158 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
@@ -131,8 +131,6 @@ struct boss_drakos : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
index 95eaa59cf8f..1d3edeac2ff 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
@@ -233,8 +233,6 @@ struct boss_eregos : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
index 13b869a4d5e..1c3c8aba52e 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
@@ -273,8 +273,6 @@ struct boss_urom : public BossAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
index 2e6357a0794..f5800dfd2da 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
@@ -148,8 +148,6 @@ struct boss_varos : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -196,14 +194,6 @@ struct npc_azure_ring_captain : public ScriptedAI
}
}
- void UpdateAI(uint32 /*diff*/) override
- {
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
-
void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE ||
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_general_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_general_bjarngrim.cpp
index 05211042a1f..5d84e2d8f88 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_general_bjarngrim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_general_bjarngrim.cpp
@@ -308,8 +308,6 @@ struct boss_general_bjarngrim : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -367,8 +365,6 @@ struct npc_bjarngrim_stormforged_lieutenant : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
EventMap _events;
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
index 85f73a09536..9d12dfc627a 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
@@ -264,8 +264,6 @@ struct boss_ionar : public BossAI
DoCast(me, SPELL_DISPERSE, false);
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
index 099bd3a86a3..3073080d109 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
@@ -167,8 +167,6 @@ struct boss_loken : public BossAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
index 53fcdb94f43..edc671e4ff5 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
@@ -283,8 +283,6 @@ struct boss_volkhan : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -366,8 +364,6 @@ struct npc_volkhan_molten_golem : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
index 25b0dd77579..f73b3457789 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
@@ -114,8 +114,6 @@ struct boss_krystallus : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp
index d8bdf29bfc8..1bd410c272d 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp
@@ -128,8 +128,6 @@ struct boss_maiden_of_grief : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
index 7d575f0d16a..f58c5c988c3 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
@@ -247,8 +247,6 @@ struct boss_sjonnir : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -385,10 +383,7 @@ struct npc_iron_sludge : public ScriptedAI
if (!UpdateVictim())
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
index 6641c7bd186..5615eed4932 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
@@ -672,8 +672,6 @@ struct npc_brann_hos : public EscortAI
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
bool OnGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
index f823561a2ea..94920a013ff 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
@@ -679,8 +679,6 @@ struct boss_algalon_the_observer : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING) && !events.IsInPhase(PHASE_ROLE_PLAY))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
index 0db4f8b942f..dd63139d377 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
@@ -269,8 +269,6 @@ class boss_steelbreaker : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -437,8 +435,6 @@ class boss_runemaster_molgeim : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -652,8 +648,6 @@ class boss_stormcaller_brundir : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
index e0e64ffbdbb..f3f6d252769 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
@@ -266,8 +266,6 @@ struct boss_auriaya : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -333,8 +331,6 @@ struct npc_sanctum_sentry : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -436,8 +432,6 @@ struct npc_feral_defender : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void DamageTaken(Unit* /*done_by*/, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) override
@@ -495,8 +489,6 @@ struct npc_swarming_guardian : public ScriptedAI
_scheduler.Update(diff);
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index 61e0854c319..72f768cae53 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -226,6 +226,7 @@ class boss_flame_leviathan : public CreatureScript
boss_flame_leviathanAI(Creature* creature) : BossAI(creature, DATA_FLAME_LEVIATHAN)
{
Initialize();
+ me->SetCanMelee(false); // DoSpellAttackIfReady
}
void Initialize()
@@ -947,14 +948,6 @@ class npc_colossus : public CreatureScript
if (me->GetHomePosition().IsInDist(&Center, 50.f))
instance->SetData(DATA_COLOSSUS, instance->GetData(DATA_COLOSSUS)+1);
}
-
- void UpdateAI(uint32 /*diff*/) override
- {
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
};
CreatureAI* GetAI(Creature* creature) const override
@@ -1189,8 +1182,6 @@ class npc_freya_ward_summon : public CreatureScript
}
else
lashTimer -= diff;
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
index eb09f2085fc..496e57f9518 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
@@ -534,8 +534,6 @@ class boss_freya : public CreatureScript
}
}
}
-
- DoMeleeAttackIfReady();
}
// Check if all Trio NPCs are dead - achievement check
@@ -807,8 +805,6 @@ class boss_elder_brightleaf : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void DoAction(int32 action) override
@@ -916,8 +912,6 @@ class boss_elder_stonebark : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void DoAction(int32 action) override
@@ -1010,8 +1004,6 @@ class boss_elder_ironbranch : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void DoAction(int32 action) override
@@ -1081,8 +1073,6 @@ class npc_detonating_lasher : public CreatureScript
}
else
changeTargetTimer -= diff;
-
- DoMeleeAttackIfReady();
}
private:
@@ -1139,8 +1129,6 @@ class npc_ancient_water_spirit : public CreatureScript
}
else
tidalWaveTimer -= diff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -1213,8 +1201,6 @@ class npc_storm_lasher : public CreatureScript
}
else
stormboltTimer -= diff;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -1262,8 +1248,6 @@ class npc_snaplasher : public CreatureScript
if (!me->HasAura(SPELL_BARK_AURA))
DoCast(SPELL_HARDENED_BARK);
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -1348,8 +1332,6 @@ class npc_ancient_conservator : public CreatureScript
}
else
natureFuryTimer -= diff;
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
index 9b9d91c7574..c65f7113b7b 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
@@ -216,8 +216,6 @@ class boss_general_vezax : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo) override
@@ -364,8 +362,6 @@ class boss_saronite_animus : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
index 4d2b9895876..1f8ffc6da9f 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
@@ -507,8 +507,6 @@ class boss_hodir : public CreatureScript
}
else
gettingColdInHereTimer -= diff;
-
- DoMeleeAttackIfReady();
}
void DoAction(int32 action) override
@@ -663,6 +661,7 @@ class npc_hodir_priest : public CreatureScript
npc_hodir_priestAI(Creature* creature) : ScriptedAI(creature)
{
instance = me->GetInstanceScript();
+ me->SetCanMelee(false); // DoSpellAttackIfReady
}
void Reset() override
@@ -720,10 +719,10 @@ class npc_hodir_priest : public CreatureScript
}
void JustDied(Unit* /*killer*/) override
- {
+ {
if (Creature* hodir = instance->GetCreature(DATA_HODIR))
hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
- }
+ }
private:
InstanceScript* instance;
@@ -746,6 +745,7 @@ class npc_hodir_shaman : public CreatureScript
npc_hodir_shamanAI(Creature* creature) : ScriptedAI(creature)
{
instance = me->GetInstanceScript();
+ me->SetCanMelee(false); // DoSpellAttackIfReady
}
void Reset() override
@@ -811,6 +811,7 @@ class npc_hodir_druid : public CreatureScript
npc_hodir_druidAI(Creature* creature) : ScriptedAI(creature)
{
instance = me->GetInstanceScript();
+ me->SetCanMelee(false); // DoSpellAttackIfReady
}
void Reset() override
@@ -875,6 +876,7 @@ class npc_hodir_mage : public CreatureScript
npc_hodir_mageAI(Creature* creature) : ScriptedAI(creature), summons(me)
{
instance = me->GetInstanceScript();
+ me->SetCanMelee(false); // DoSpellAttackIfReady
}
void Reset() override
@@ -932,10 +934,10 @@ class npc_hodir_mage : public CreatureScript
}
void JustDied(Unit* /*killer*/) override
- {
+ {
if (Creature* hodir = instance->GetCreature(DATA_HODIR))
hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
- }
+ }
private:
InstanceScript* instance;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
index b005d402bb6..b1653004e02 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
@@ -283,8 +283,6 @@ class boss_ignis : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -358,8 +356,6 @@ class npc_iron_construct : public CreatureScript
me->RemoveAura(SPELL_MOLTEN);
_brittled = true;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index 933bf45563c..db6bfa7b2fd 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -315,8 +315,6 @@ class boss_kologarn : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index 06b0f21465d..294e3cf86b1 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -917,7 +917,6 @@ class boss_leviathan_mk_ii : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
- DoMeleeAttackIfReady();
}
private:
@@ -1337,8 +1336,6 @@ class npc_mimiron_assault_bot : public CreatureScript
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index 619eddadea5..5406bb8bb07 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -654,9 +654,6 @@ struct boss_razorscale : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- if (events.IsInPhase(PHASE_PERMA_GROUND))
- DoMeleeAttackIfReady();
}
private:
@@ -1300,8 +1297,6 @@ struct npc_darkrune_watcher : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1367,8 +1362,6 @@ struct npc_darkrune_guardian : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1434,8 +1427,6 @@ struct npc_darkrune_sentinel : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index 38145e95a6a..8ead673fc51 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -798,8 +798,6 @@ class boss_thorim : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void DoAction(int32 action) override
@@ -952,6 +950,8 @@ struct npc_thorim_trashAI : public ScriptedAI
_info = &StaticThorimTrashInfo[i];
ASSERT(_info);
+ if (_info->Type == DARK_RUNE_ACOLYTE)
+ me->SetCanMelee(false); // DoSpellAttackIfReady
}
struct AIHelper
@@ -1101,8 +1101,6 @@ struct npc_thorim_trashAI : public ScriptedAI
if (_info->Type == DARK_RUNE_ACOLYTE)
DoSpellAttackIfReady(SPELL_HOLY_SMITE);
- else
- DoMeleeAttackIfReady();
}
virtual void ExecuteEvent(uint32 eventId) = 0;
@@ -1470,8 +1468,6 @@ class npc_runic_colossus : public CreatureScript
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
private:
@@ -1555,8 +1551,6 @@ class npc_ancient_rune_giant : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index 6fc929c95c4..fb38edf3c97 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -385,9 +385,6 @@ struct boss_xt002 : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- if (events.IsInPhase(PHASE_1))
- DoMeleeAttackIfReady();
}
void WaypointReached(uint32 waypointId, uint32 pathId) override
@@ -567,10 +564,7 @@ struct npc_pummeller : public ScriptedAI
if (!UpdateVictim())
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
private:
@@ -667,10 +661,7 @@ struct npc_life_spark : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
private:
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
index c73d7132a92..fbe017d44ed 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
@@ -1218,8 +1218,6 @@ class npc_guardian_of_yogg_saron : public CreatureScript
break;
}
}
-
- DoMeleeAttackIfReady();
}
void IsSummonedBy(WorldObject* summoner) override
@@ -1392,8 +1390,6 @@ class npc_crusher_tentacle : public CreatureScript
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
@@ -1517,8 +1513,6 @@ class npc_immortal_guardian : public CreatureScript
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
index df36779cace..677248c5ae7 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
@@ -259,9 +259,6 @@ struct boss_ingvar_the_plunderer : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- if (!events.IsInPhase(PHASE_EVENT))
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
index 871499ca53e..b58c1b74988 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
@@ -207,8 +207,6 @@ struct boss_keleseth : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
void SummonSkeletons()
@@ -244,6 +242,7 @@ struct npc_vrykul_skeleton : public ScriptedAI
{
// from sniffs
me->SetUninteractible(true);
+ me->SetCanMelee(false);
me->SetStandState(UNIT_STAND_STATE_DEAD);
events.Reset();
@@ -285,6 +284,7 @@ struct npc_vrykul_skeleton : public ScriptedAI
DoCast(me, SPELL_SHADOW_FISSURE, true);
DoCastAOE(SPELL_BONE_ARMOR, true);
me->SetUninteractible(false);
+ me->SetCanMelee(true);
me->SetStandState(UNIT_STAND_STATE_STAND);
me->GetMotionMaster()->MoveChase(me->GetVictim());
events.ScheduleEvent(EVENT_DECREPIFY, 4s, 6s);
@@ -296,9 +296,6 @@ struct npc_vrykul_skeleton : public ScriptedAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- if (!me->IsUninteractible())
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
index 3e6103542a4..d0f969089e0 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
@@ -78,8 +78,6 @@ struct npc_dragonflayer_forge_master : public ScriptedAI
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
private:
@@ -249,8 +247,6 @@ struct npc_enslaved_proto_drake : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
index 93562e43267..26280c7d9b2 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
@@ -306,8 +306,6 @@ struct boss_skadi : public BossAI
{
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
}
@@ -498,10 +496,7 @@ struct npc_skadi_trashAI : public ScriptedAI
{
UpdateVictim();
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
virtual void ScheduleTasks() = 0;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
index 00b32535e3e..fc22bd8f9bb 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
@@ -154,11 +154,15 @@ struct boss_svala : public BossAI
_Reset();
if (_introCompleted)
+ {
events.SetPhase(NORMAL);
+ me->SetCanMelee(true);
+ }
else
{
events.SetPhase(IDLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetCanMelee(false);
}
me->SetDisableGravity(false);
@@ -190,6 +194,7 @@ struct boss_svala : public BossAI
{
events.SetPhase(INTRO);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetCanMelee(false);
if (GameObject* mirror = instance->GetGameObject(DATA_UTGARDE_MIRROR))
mirror->SetGoState(GO_STATE_READY);
@@ -234,11 +239,9 @@ struct boss_svala : public BossAI
_sacrificed = true;
events.SetPhase(SACRIFICING);
events.ScheduleEvent(EVENT_RITUAL_PREPARATION, 0s, 0, SACRIFICING);
+ me->SetCanMelee(false);
}
- if (events.IsInPhase(NORMAL))
- DoMeleeAttackIfReady();
-
while (uint32 eventId = events.ExecuteEvent())
{
switch (eventId)
@@ -329,6 +332,7 @@ struct boss_svala : public BossAI
arthas->DespawnOrUnsummon();
_arthasGUID.Clear();
events.SetPhase(NORMAL);
+ me->SetCanMelee(true);
_introCompleted = true;
if (Unit* target = me->SelectNearestPlayer(100.0f))
AttackStart(target);
@@ -373,6 +377,7 @@ struct boss_svala : public BossAI
case EVENT_FINISH_RITUAL:
me->SetDisableGravity(false);
me->SetReactState(REACT_AGGRESSIVE);
+ me->SetCanMelee(true);
events.SetPhase(NORMAL);
events.ScheduleEvent(EVENT_SINISTER_STRIKE, 7s, 0, NORMAL);
events.ScheduleEvent(EVENT_CALL_FLAMES, 10s, 20s, 0, NORMAL);
@@ -534,8 +539,6 @@ struct npc_scourge_hulk : public ScriptedAI
}
else
volatileInfection -= diff;
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
index 8373f5faefa..5fbb08c2901 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
@@ -109,8 +109,6 @@ struct boss_archavon : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
index 1eef9198b57..f328d8e1696 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
@@ -153,8 +153,6 @@ struct boss_emalon : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
@@ -239,8 +237,6 @@ struct npc_tempest_minion : public ScriptedAI
DoCastVictim(SPELL_SHOCK);
_events.ScheduleEvent(EVENT_SHOCK, 20s);
}
-
- DoMeleeAttackIfReady();
}
private:
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
index 851700b1b39..91d7d824184 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
@@ -94,8 +94,6 @@ struct boss_koralon : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
index 4c14f24e3e1..b090bce918a 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
@@ -96,8 +96,6 @@ struct boss_toravon : public BossAI
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
}
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
index 1ae2ca29064..58b119ffbad 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
@@ -72,10 +72,7 @@ struct boss_cyanigosa : public BossAI
if (!UpdateVictim())
return;
- scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
void ScheduleTasks() override
diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
index 59a18ef1f67..8bc988e8560 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
@@ -172,8 +172,6 @@ struct boss_erekem : public BossAI
{
if (_phase == 1)
DoSpellAttackIfReady(SPELL_STORMSTRIKE);
- else
- DoMeleeAttackIfReady();
});
}
@@ -265,10 +263,7 @@ struct npc_erekem_guard : public ScriptedAI
if (!UpdateVictim())
return;
- scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
void ScheduledTasks()
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index faa9c08fbc3..4b86e483a03 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -193,10 +193,7 @@ struct boss_ichoron : public BossAI
_isFrenzy = true;
}
- scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
void ScheduleTasks() override
diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
index aa3c2a49329..8e2af4c38db 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
@@ -53,10 +53,7 @@ struct boss_lavanthor : public BossAI
if (!UpdateVictim())
return;
- scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
void ScheduleTasks() override
diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
index 974360cda3a..016b7a8e570 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
@@ -61,10 +61,7 @@ struct boss_moragg : public BossAI
if (!UpdateVictim())
return;
- scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
void ScheduleTasks() override
diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
index 727f5a33072..b5c8bf15927 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
@@ -128,10 +128,7 @@ struct boss_xevozz : public BossAI
if (!UpdateVictim())
return;
- scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
void ScheduleTasks() override
diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
index cd5f79f0861..c98b520d5b6 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
@@ -116,10 +116,7 @@ struct boss_zuramat : public BossAI
if (!UpdateVictim())
return;
- scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ scheduler.Update(diff);
}
void ScheduleTasks() override
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index 16553c78709..91b087f1ef6 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -432,8 +432,6 @@ struct npc_sinclari_vh : public ScriptedAI
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
void ScheduleIntro()
@@ -920,10 +918,7 @@ struct violet_hold_trashAI : public EscortAI
if (!UpdateVictim())
return;
- _scheduler.Update(diff, [this]
- {
- DoMeleeAttackIfReady();
- });
+ _scheduler.Update(diff);
}
virtual void ScheduledTasks() { }
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index ef6846d7882..1bdff8f8adf 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -114,8 +114,6 @@ struct npc_beryl_sorcerer : public ScriptedAI
break;
}
}
-
- DoMeleeAttackIfReady();
}
private:
EventMap _events;
@@ -638,8 +636,6 @@ struct npc_hidden_cultist : public ScriptedAI
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
bool OnGossipHello(Player* player) override
@@ -1083,8 +1079,6 @@ struct npc_thassarian : public ScriptedAI
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -1227,7 +1221,6 @@ struct npc_counselor_talbot : public ScriptedAI
}
}
}
- DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/) override
@@ -1312,10 +1305,7 @@ struct npc_bloodmage_laurith : public ScriptedAI
void UpdateAI(uint32 diff) override
{
if (UpdateVictim())
- {
- DoMeleeAttackIfReady();
return;
- }
_events.Update(diff);
diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp
index d66b74dfb1e..fd99ee345f2 100644
--- a/src/server/scripts/Northrend/zone_dragonblight.cpp
+++ b/src/server/scripts/Northrend/zone_dragonblight.cpp
@@ -341,7 +341,6 @@ struct npc_commander_eligor_dawnbringer : public ScriptedAI
break;
}
}
- DoMeleeAttackIfReady();
}
private:
EventMap _events;
diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
index 2b22cf699c3..74f88fb2e12 100644
--- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
@@ -342,7 +342,6 @@ struct npc_tallhorn_stag : public ScriptedAI
}
if (!UpdateVictim())
return;
- DoMeleeAttackIfReady();
}
private:
uint8 _phase;
@@ -459,14 +458,6 @@ struct npc_wounded_skirmisher : public ScriptedAI
}
}
}
-
- void UpdateAI(uint32 /*diff*/) override
- {
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
private:
Milliseconds _despawnTimer;
};
@@ -550,7 +541,6 @@ struct npc_venture_co_straggler : public ScriptedAI
if (!UpdateVictim())
return;
- DoMeleeAttackIfReady();
}
void SpellHit(WorldObject* caster, SpellInfo const* spellInfo) override
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index 89ebec5526c..2bfb9902ba3 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -100,8 +100,6 @@ struct npc_daegarn : public ScriptedAI
if (!UpdateVictim())
return;
-
- DoMeleeAttackIfReady();
}
void JustSummoned(Creature* summon) override
diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp
index e59c7dd5ed8..a043f399dda 100644
--- a/src/server/scripts/Northrend/zone_icecrown.cpp
+++ b/src/server/scripts/Northrend/zone_icecrown.cpp
@@ -98,8 +98,6 @@ struct npc_argent_valiant : public ScriptedAI
DoCastVictim(SPELL_SHIELD_BREAKER);
uiShieldBreakerTimer = 10000;
} else uiShieldBreakerTimer -= uiDiff;
-
- DoMeleeAttackIfReady();
}
};
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp
index f271d5161cf..f8f8238e1ab 100644
--- a/src/server/scripts/Northrend/zone_storm_peaks.cpp
+++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp
@@ -526,6 +526,7 @@ struct npc_wild_wyrm : public VehicleAI
InitSpellsForPhase();
me->SetImmuneToPC(false);
+ me->SetCanMelee(true);
}
void DoAction(int32 action) override
@@ -565,6 +566,7 @@ struct npc_wild_wyrm : public VehicleAI
_playerGuid = caster->GetGUID();
DoCastAOE(SPELL_FULL_HEAL_MANA, true);
me->SetImmuneToPC(true);
+ me->SetCanMelee(false);
me->GetMotionMaster()->MovePoint(POINT_START_FIGHT, *caster);
}
@@ -697,8 +699,7 @@ struct npc_wild_wyrm : public VehicleAI
{
if (!_playerGuid)
{
- if (UpdateVictim())
- DoMeleeAttackIfReady();
+ UpdateVictim();
return;
}
diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp
index 5bcdcd4c8c1..1a8cb65d783 100644
--- a/src/server/scripts/Northrend/zone_wintergrasp.cpp
+++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp
@@ -254,8 +254,6 @@ struct npc_wg_queue : public ScriptedAI
FrostArmor_Timer = 180000;
}
else FrostArmor_Timer -= diff;
-
- DoMeleeAttackIfReady();
}
bool OnGossipHello(Player* player) override