diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-01-08 22:23:12 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2024-01-08 22:23:12 +0100 |
| commit | 605e5f94c0d71cad8e83fa5a07eaec4e6bed9cc3 (patch) | |
| tree | 5cad677458a22ef0dd187fa86d1cd574282384dd /src/server/scripts/Kalimdor | |
| parent | eeb4407f077bf567361becdbe5083c2790f00313 (diff) | |
Core/Creatures: Moved autoattack handling from scripts to game
Diffstat (limited to 'src/server/scripts/Kalimdor')
60 files changed, 15 insertions, 160 deletions
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp index c4fcea58e01..88e22ad94be 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp @@ -151,8 +151,6 @@ struct npc_blackfathom_deeps_event : public ScriptedAI break; } } - - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp index f9d836b0d6f..b98940b5b42 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp @@ -54,8 +54,6 @@ struct boss_gelihast : public BossAI events.ScheduleEvent(EVENT_THROW_NET, 4s, 7s); } } - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp index 3fa44b79ef0..a776fbf553f 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp @@ -103,8 +103,6 @@ struct boss_kelris : public BossAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp index f23b7b017b5..2d23154f9c2 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp @@ -168,8 +168,6 @@ public: InfernoTimer = 45000; Talk(SAY_INFERNO); } else InfernoTimer -= diff; - - DoMeleeAttackIfReady(); } }; }; @@ -245,8 +243,6 @@ public: DoCast(me, SPELL_IMMOLATION); ImmolationTimer = 5000; } else ImmolationTimer -= diff; - - DoMeleeAttackIfReady(); } }; }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp index a08cf11f500..735878f4c1b 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp @@ -172,8 +172,6 @@ public: enraged = true; EnrageTimer = 600000; } else EnrageTimer -= diff; - - DoMeleeAttackIfReady(); } }; @@ -262,8 +260,6 @@ public: DoCast(SelectTarget(SelectTargetMethod::Random, 0, 100, true), SPELL_CRIPPLE); CrippleTimer = 25000 + rand32() % 5000; } else CrippleTimer -= diff; - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp index 988de4af818..01913499ea0 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp @@ -158,8 +158,6 @@ public: MarkTimer = MarkTimerBase; Talk(SAY_MARK); } else MarkTimer -= diff; - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp index a3e17f8c997..ff1886ed927 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp @@ -153,8 +153,6 @@ public: DoCast(SelectTarget(SelectTargetMethod::Random, 0, 40, true), SPELL_ICEBOLT); IceboltTimer = 11000 + rand32() % 20000; } else IceboltTimer -= diff; - - DoMeleeAttackIfReady(); } }; }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp index 76ee8e86efc..aefa9115f48 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp @@ -888,8 +888,6 @@ void hyjalAI::UpdateAI(uint32 diff) } else SpellTimer[i] -= diff; } } - - DoMeleeAttackIfReady(); } void hyjalAI::JustDied(Unit* /*killer*/) diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp index 15a5567584a..1c27f75a883 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp @@ -194,7 +194,6 @@ hyjal_trashAI::hyjal_trashAI(Creature* creature) : EscortAI(creature) useFlyPath = false; damageTaken = 0; memset(DummyTarget, 0, sizeof(DummyTarget)); - Reset(); } void hyjal_trashAI::DamageTaken(Unit* done_by, uint32& damage, DamageEffectType /*damageType*/, SpellInfo const* /*spellInfo = nullptr*/) @@ -530,7 +529,6 @@ public: DoCastVictim(SPELL_FLAME_BUFFET, true); FlameBuffetTimer = 7000; } else FlameBuffetTimer -= diff; - DoMeleeAttackIfReady(); } }; @@ -633,7 +631,6 @@ public: DoCastVictim(SPELL_KNOCKDOWN); KnockDownTimer = 15000 + rand32() % 10000; } else KnockDownTimer -= diff; - DoMeleeAttackIfReady(); } }; @@ -735,8 +732,6 @@ public: } else FrenzyTimer -= diff; if (!UpdateVictim()) return; - - DoMeleeAttackIfReady(); } }; @@ -871,8 +866,6 @@ public: DoCastVictim(SPELL_SHADOW_BOLT); ShadowBoltTimer = 20000 + rand32() % 10000; } else ShadowBoltTimer -= diff; - - DoMeleeAttackIfReady(); } }; @@ -988,7 +981,6 @@ public: DoCast(me, SPELL_ANTI_MAGIC_SHELL); ShellTimer = 50000 + rand32() % 10000; } else ShellTimer -= diff; - DoMeleeAttackIfReady(); } }; @@ -1079,7 +1071,6 @@ public: DoCastVictim(SPELL_WEB); WebTimer = 20000 + rand32() % 5000; } else WebTimer -= diff; - DoMeleeAttackIfReady(); } }; @@ -1170,7 +1161,6 @@ public: DoCastVictim(SPELL_MANA_BURN); ManaBurnTimer = 9000 + rand32() % 5000; } else ManaBurnTimer -= diff; - DoMeleeAttackIfReady(); } }; @@ -1513,7 +1503,6 @@ public: me->CastSpell(me->GetVictim(), SPELL_EXPLODING_SHOT, args); ExplodeTimer = 5000 + rand32() % 5000; } else ExplodeTimer -= diff; - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp index 29e3025b92f..bb28cc50193 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp @@ -167,8 +167,6 @@ class boss_mal_ganis : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - - DoMeleeAttackIfReady(); } void KilledUnit(Unit* victim) override diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp index 6c432a8929a..7f5099679f1 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp @@ -908,8 +908,6 @@ public: } else _exorcismCooldown -= diff; - - DoMeleeAttackIfReady(); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp index 9992806e628..7ca4ecf94a1 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp @@ -145,8 +145,6 @@ struct boss_captain_skarloc : public BossAI //DoCastVictim(SPELL_CONSECRATION); Consecration_Timer = urand(5000, 10000); } else Consecration_Timer -= diff; - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp index 25c5b0345f0..7d0cde48098 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp @@ -127,8 +127,6 @@ struct boss_epoch_hunter : public BossAI DoCast(me, SPELL_MAGIC_DISRUPTION_AURA); Mda_Timer = 15000; } else Mda_Timer -= diff; - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp index 77fbb20f084..37c5e62f85e 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp @@ -156,8 +156,6 @@ struct boss_lieutenant_drake : public BossAI DoCastVictim(SPELL_MORTAL_STRIKE); MortalStrike_Timer = 20000 + rand32() % 10000; } else MortalStrike_Timer -= diff; - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp index 5958ae3f5e6..ca8db9e99a0 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp @@ -130,7 +130,6 @@ struct boss_aeonus : public BossAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp index 752cf85b370..e9a0e114de2 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp @@ -135,8 +135,6 @@ struct boss_chrono_lord_deja : public BossAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp index 03ced5fb1ff..d0a972abeb7 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp @@ -133,7 +133,6 @@ struct boss_temporus : public BossAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp index 922cc03230a..1603e3e7e49 100644 --- a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp +++ b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp @@ -238,8 +238,6 @@ class npc_harbinger_of_flame : public CreatureScript break; } } - - DoMeleeAttackIfReady(); } private: @@ -482,8 +480,6 @@ class npc_egg_pile : public CreatureScript break; } } - - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/Firelands/firelands.cpp b/src/server/scripts/Kalimdor/Firelands/firelands.cpp index 243894203b7..8fb40ff6420 100644 --- a/src/server/scripts/Kalimdor/Firelands/firelands.cpp +++ b/src/server/scripts/Kalimdor/Firelands/firelands.cpp @@ -143,8 +143,6 @@ struct npc_firelands_flame_archon : public ScriptedAI return; scheduler.Update(diff); - - DoMeleeAttackIfReady(); } private: @@ -212,8 +210,6 @@ struct npc_firelands_molten_flamefather : public ScriptedAI return; scheduler.Update(diff); - - DoMeleeAttackIfReady(); } private: @@ -223,7 +219,10 @@ private: // http://www.wowhead.com/npc=54144/magmakin struct npc_firelands_magmakin : public ScriptedAI { - npc_firelands_magmakin(Creature* creature) : ScriptedAI(creature) { } + npc_firelands_magmakin(Creature* creature) : ScriptedAI(creature) + { + me->SetCanMelee(false); // DoSpellAttackIfReady + } void IsSummonedBy(WorldObject* /*summoner*/) override { diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp index 5a27808e508..47123755458 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp @@ -260,9 +260,6 @@ struct boss_anraphet : public BossAI break; } } - - if (events.GetPhaseMask() & PHASE_MASK_COMBAT) - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp index 19a2e2a74df..5703039625c 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp @@ -112,6 +112,7 @@ struct boss_earthrager_ptah : public BossAI void Reset() override { + me->SetCanMelee(true); _summonDeaths = 0; _hasDispersed = false; Cleanup(); @@ -130,6 +131,7 @@ struct boss_earthrager_ptah : public BossAI _hasDispersed = true; me->AttackStop(); + me->SetCanMelee(false); DoCast(me, SPELL_SANDSTORM); me->GetMap()->SetZoneWeather(AREA_TOMB_OF_THE_EARTHRAGER, WEATHER_STATE_LIGHT_SANDSTORM, 1.0f); events.ScheduleEvent(EVENT_PTAH_EXPLODE, 6s, 0, PHASE_DISPERSE); @@ -165,6 +167,7 @@ struct boss_earthrager_ptah : public BossAI { me->GetMap()->SetZoneWeather(AREA_TOMB_OF_THE_EARTHRAGER, WEATHER_STATE_FOG, 0.0f); me->RemoveAurasDueToSpell(SPELL_PTAH_EXPLOSION); + me->SetCanMelee(true); events.SetPhase(PHASE_NORMAL); events.ScheduleEvent(EVENT_RAGING_SMASH, 7s, 12s, 0, PHASE_NORMAL); events.ScheduleEvent(EVENT_FLAME_BOLT, 15s, 0, PHASE_NORMAL); @@ -234,9 +237,6 @@ struct boss_earthrager_ptah : public BossAI break; } } - - if (events.GetPhaseMask() & PHASE_MASK_NORMAL) // Do not melee in the disperse phase - DoMeleeAttackIfReady(); } protected: diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp index 550dc6cb424..764cd43494f 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp @@ -253,8 +253,6 @@ struct boss_temple_guardian_anhuur : public BossAI } } } - - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/LostCityOfTheTolvir/boss_general_husam.cpp b/src/server/scripts/Kalimdor/LostCityOfTheTolvir/boss_general_husam.cpp index 182e0ac984e..a14b42f3d75 100644 --- a/src/server/scripts/Kalimdor/LostCityOfTheTolvir/boss_general_husam.cpp +++ b/src/server/scripts/Kalimdor/LostCityOfTheTolvir/boss_general_husam.cpp @@ -245,7 +245,6 @@ struct boss_general_husam : public BossAI break; } } - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/LostCityOfTheTolvir/boss_lockmaw.cpp b/src/server/scripts/Kalimdor/LostCityOfTheTolvir/boss_lockmaw.cpp index a863bc0f5a2..1b235ebed4c 100644 --- a/src/server/scripts/Kalimdor/LostCityOfTheTolvir/boss_lockmaw.cpp +++ b/src/server/scripts/Kalimdor/LostCityOfTheTolvir/boss_lockmaw.cpp @@ -256,8 +256,6 @@ struct boss_lockmaw : public BossAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - - DoMeleeAttackIfReady(); } private: bool _enraged; @@ -494,8 +492,6 @@ struct npc_lockmaw_augh_boss : public ScriptedAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp index 980a094fc94..7c50254f385 100644 --- a/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp +++ b/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp @@ -105,8 +105,6 @@ public: CorruptForcesTimer = 20000; } else CorruptForcesTimer -= diff; - - DoMeleeAttackIfReady(); } }; }; diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp index 333192572b7..a0ad2784b0f 100644 --- a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp +++ b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp @@ -100,8 +100,6 @@ public: } else LandslideTimer -= diff; } - - DoMeleeAttackIfReady(); } }; }; diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp index 2884f62262d..cfca3f58c3c 100644 --- a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp +++ b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp @@ -137,8 +137,6 @@ public: AddsTimer = 40000; } else AddsTimer -= diff; - - DoMeleeAttackIfReady(); } }; }; diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp index e60e4f7c79a..ba274d9031d 100644 --- a/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp +++ b/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp @@ -115,8 +115,6 @@ public: ThrashTimer = 18000; } else ThrashTimer -= diff; - - DoMeleeAttackIfReady(); } }; }; diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp index 0721a5c95d8..93b6d7a831c 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp @@ -146,8 +146,8 @@ struct boss_onyxia : public BossAI { Initialize(); - if (!IsCombatMovementAllowed()) - SetCombatMovement(true); + SetCombatMovement(true); + me->SetCanMelee(true); _Reset(); me->SetReactState(REACT_AGGRESSIVE); @@ -329,6 +329,7 @@ struct boss_onyxia : public BossAI Phase = PHASE_BREATH; me->SetReactState(REACT_PASSIVE); me->AttackStop(); + me->SetCanMelee(false); me->GetMotionMaster()->MovePoint(10, Phase2Location); return; } @@ -379,7 +380,6 @@ struct boss_onyxia : public BossAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - DoMeleeAttackIfReady(); } else { @@ -390,6 +390,7 @@ struct boss_onyxia : public BossAI Talk(SAY_PHASE_3_TRANS); SetCombatMovement(true); IsMoving = false; + me->SetCanMelee(true); Position const pos = me->GetHomePosition(); me->GetMotionMaster()->MovePoint(9, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ() + 12.0f); events.ScheduleEvent(EVENT_BELLOWING_ROAR, 30s); diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp index 852dbe9d9d8..fe7d80398af 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp @@ -139,8 +139,6 @@ public: DoCastVictim(SPELL_FROST_SPECTRES); hp30Spectrals = true; } - - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_glutton.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_glutton.cpp index 05ae8bc3a04..f51fd2eb139 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_glutton.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_glutton.cpp @@ -86,8 +86,6 @@ public: DoCast(me, SPELL_FRENZY); hp15 = true; } - - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp index 07567285467..1fa6bd42c78 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp @@ -123,7 +123,6 @@ public: if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp index 909085c2a7b..8e214e35555 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp @@ -94,7 +94,6 @@ public: if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp index 44ca79c2765..3bb531f2d96 100644 --- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp +++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp @@ -102,6 +102,7 @@ public: DoCastSelf(SPELL_ARCANE_INTELLECT); channeling = false; + me->SetCanMelee(true); eventProgress = 0; spawnerCount = 0; me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); @@ -144,6 +145,7 @@ public: if (type == WAYPOINT_MOTION_TYPE && id == POINT_REACH_IDOL) { channeling = true; + me->SetCanMelee(false); events.ScheduleEvent(EVENT_CHANNEL, 2s); } } @@ -238,8 +240,6 @@ public: break; } } - if (!channeling) - DoMeleeAttackIfReady(); } private: @@ -351,7 +351,6 @@ public: break; } } - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp index d8e0b181547..47341ef8f90 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp @@ -173,10 +173,6 @@ class boss_ayamiss : public CreatureScript events.ScheduleEvent(EVENT_TRASH, 3s, 6s); events.CancelEvent(EVENT_POISON_STINGER); } - else - { - DoMeleeAttackIfReady(); - } if (!_enraged && me->GetHealthPct() < 20.0f) { diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp index 153737b1a2f..35f88fa267c 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp @@ -180,8 +180,6 @@ class boss_buru : public CreatureScript me->RemoveAurasDueToSpell(SPELL_THORNS); _phase = PHASE_TRANSFORM; } - - DoMeleeAttackIfReady(); } private: GuidList Eggs; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp index 0d6d854d46e..ed5c7074c98 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp @@ -128,8 +128,6 @@ class boss_kurinnaxx : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - - DoMeleeAttackIfReady(); } private: bool _enraged; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp index 15163624293..fe4bbe13c82 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp @@ -174,8 +174,6 @@ class boss_moam : public CreatureScript break; } } - - DoMeleeAttackIfReady(); } private: bool _isStonePhase; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp index af0a2bc069a..edcce05c316 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp @@ -277,8 +277,6 @@ class boss_ossirian : public CreatureScript break; } } - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp index 1f3d62327c8..7c854d10b2a 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp @@ -110,8 +110,6 @@ class boss_rajaxx : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; } - - DoMeleeAttackIfReady(); } private: bool enraged; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp index a077ec95b3c..5443bb1d52f 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp @@ -128,8 +128,6 @@ public: Check_Timer = 2000; } else Check_Timer -=diff; } - - DoMeleeAttackIfReady(); } }; @@ -215,8 +213,6 @@ public: DoCast(me, SPELL_ENRAGE); Enraged = true; } else Charge_Timer -= diff; - - DoMeleeAttackIfReady(); } }; @@ -323,8 +319,6 @@ public: } Check_Timer = 2000; } else Check_Timer -= diff; - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp index ea02ccf3d0e..f9bbc1ce953 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp @@ -1069,8 +1069,6 @@ public: DoCastVictim(SPELL_HAMSTRING); HamstringTimer = 5000; } else HamstringTimer -= diff; - - DoMeleeAttackIfReady(); } }; @@ -1193,8 +1191,6 @@ public: DoCastVictim(SPELL_HAMSTRING); HamstringTimer = 10000; } else HamstringTimer -= diff; - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp index d13b84e3719..22a373357e4 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp @@ -203,8 +203,6 @@ public: SpawnHatchlings_Timer = urand(45000, 60000); } else SpawnHatchlings_Timer -= diff; } - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp index 101f5279a9b..b5c28166947 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp @@ -148,8 +148,6 @@ public: DoCast(me, SPELL_BERSERK); Berserk = true; } - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp index 743dacb9951..617868f13e9 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp @@ -140,8 +140,6 @@ public: Submerged = false; Submerge_Timer = urand(60000, 120000); } else Back_Timer -= diff; - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp index d11116f2441..21d40fc8a47 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp @@ -186,8 +186,6 @@ public: EnragedHard = true; } else EnrageHard_Timer -= diff; } - - DoMeleeAttackIfReady(); } } }; @@ -308,8 +306,6 @@ public: AggroReset_Timer = urand(30000, 40000); } else AggroResetEnd_Timer -= diff; } - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp index 725d8678ea1..7248c1ca99a 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp @@ -191,10 +191,7 @@ class boss_skeram : public CreatureScript } if (me->IsWithinMeleeRange(me->GetVictim())) - { events.RescheduleEvent(EVENT_EARTH_SHOCK, 2s); - DoMeleeAttackIfReady(); - } } private: diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp index 0edfd0e2906..52304194201 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp @@ -468,8 +468,6 @@ public: } else Teleport_Timer -= diff; CheckEnrage(diff); - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp index 279de4a3365..71ae2199134 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp @@ -125,6 +125,7 @@ class boss_viscidus : public CreatureScript _phase = PHASE_GLOB; DoCast(me, SPELL_VISCIDUS_EXPLODE); me->SetVisible(false); + me->SetCanMelee(false); me->RemoveAura(SPELL_TOXIN); me->RemoveAura(SPELL_VISCIDUS_FREEZE); @@ -223,6 +224,7 @@ class boss_viscidus : public CreatureScript _phase = PHASE_FROST; InitSpells(); me->SetVisible(true); + me->SetCanMelee(true); } events.Update(diff); @@ -247,9 +249,6 @@ class boss_viscidus : public CreatureScript break; } } - - if (_phase != PHASE_GLOB) - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp index 14113e37fe2..5f37e01f9f7 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp @@ -136,8 +136,6 @@ public: _heal30 = true; events.ScheduleEvent(EVENT_HEALING_WAVE, 3s); } - - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp index e4584437b48..ec96631ceb3 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp @@ -147,8 +147,6 @@ public: } else Revenge_Timer -= diff; - - DoMeleeAttackIfReady(); } void DoAction(int32 /*param*/) override @@ -327,7 +325,6 @@ public: else { me->SetSheath(SHEATH_STATE_MELEE); - DoMeleeAttackIfReady(); } } diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp index 0193995fcf7..b0a346e1997 100644 --- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp +++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp @@ -323,7 +323,6 @@ public: } return; } - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp index e29c47b3709..3931703e223 100644 --- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp @@ -257,8 +257,6 @@ public: DoCastVictim(SPELL_DYNAMITE); DynamiteTimer = 8000; } else DynamiteTimer -= diff; - - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index 79057902202..f4914131547 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -235,8 +235,6 @@ public: break; } } - - DoMeleeAttackIfReady(); } void DoAction(int32 param) override @@ -391,8 +389,6 @@ public: break; } } - - DoMeleeAttackIfReady(); } if (HasEscortState(STATE_ESCORT_NONE)) diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp index eb72607604c..b91b6f7ffda 100644 --- a/src/server/scripts/Kalimdor/zone_durotar.cpp +++ b/src/server/scripts/Kalimdor/zone_durotar.cpp @@ -110,7 +110,6 @@ public: RebuffTimer -= diff; if (!UpdateVictim()) return; - DoMeleeAttackIfReady(); } }; }; @@ -342,8 +341,6 @@ struct npc_darkspear_jailor : public ScriptedAI if (!UpdateVictim()) return; - - DoMeleeAttackIfReady(); } private: EventMap _events; @@ -447,8 +444,6 @@ struct npc_captive_spitescale_scout : public ScriptedAI if (!UpdateVictim()) return; - - DoMeleeAttackIfReady(); } private: @@ -590,8 +585,6 @@ struct npc_echo_isles_class_trainer : public ScriptedAI if (!UpdateVictim()) return; - - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/zone_felwood.cpp b/src/server/scripts/Kalimdor/zone_felwood.cpp index 64b04472dad..07a93852790 100644 --- a/src/server/scripts/Kalimdor/zone_felwood.cpp +++ b/src/server/scripts/Kalimdor/zone_felwood.cpp @@ -95,7 +95,6 @@ public: break; } } - DoMeleeAttackIfReady(); } private: diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index e88c3a73bd3..9981e5267f5 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -774,8 +774,6 @@ public: hasTarget = false; return; } - - DoMeleeAttackIfReady(); } }; diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp index 7e97a7ee392..cb91363902a 100644 --- a/src/server/scripts/Kalimdor/zone_tanaris.cpp +++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp @@ -174,8 +174,6 @@ public: return; } - - DoMeleeAttackIfReady(); } void OnQuestAccept(Player* player, Quest const* quest) override diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp index 9895a06c7eb..ee18c98607a 100644 --- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp +++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp @@ -119,8 +119,6 @@ public: if (!UpdateVictim()) return; - - DoMeleeAttackIfReady(); } void ReceiveEmote(Player* /*player*/, uint32 emote) override @@ -458,10 +456,7 @@ public: void UpdateEscortAI(uint32 Diff) override { if (UpdateVictim()) - { - DoMeleeAttackIfReady(); return; - } if (!IsPostEvent) return; diff --git a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp index f6fd975dc62..e4f05fb633b 100644 --- a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp +++ b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp @@ -124,8 +124,6 @@ public: DoCastVictim(SPELL_CLEAVE); CleaveTimer = 7000; } else CleaveTimer -= diff; - - DoMeleeAttackIfReady(); } bool OnGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override |
