diff --git a/data/sql/updates/pending_db_world/air-burst-script.sql b/data/sql/updates/pending_db_world/air-burst-script.sql new file mode 100644 index 000000000..f8560b6f9 --- /dev/null +++ b/data/sql/updates/pending_db_world/air-burst-script.sql @@ -0,0 +1 @@ +DELETE FROM `spell_script_names` WHERE `spell_id` = 32014; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp index cab91dd88..73accd7f7 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp @@ -267,9 +267,11 @@ struct boss_archimonde : public BossAI Talk(SAY_AGGRO); ScheduleTimedEvent(25s, 35s, [&] { - scheduler.DelayGroup(GROUP_FEAR, 5s); - Talk(SAY_AIR_BURST); - DoCastRandomTarget(SPELL_AIR_BURST); + if (DoCastRandomTarget(SPELL_AIR_BURST, 1) == SPELL_CAST_OK) + { + scheduler.DelayGroup(GROUP_FEAR, 5s); + Talk(SAY_AIR_BURST); + } }, 25s, 40s); ScheduleTimedEvent(8s, [&] { @@ -471,24 +473,6 @@ class spell_red_sky_effect : public SpellScript } }; -class spell_air_burst : public SpellScript -{ - PrepareSpellScript(spell_air_burst); - - void FilterTargets(std::list& targets) - { - if (Unit* victim = GetCaster()->GetVictim()) - { - targets.remove_if(Acore::ObjectGUIDCheck(victim->GetGUID(), true)); - } - } - - void Register() override - { - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_air_burst::FilterTargets, EFFECT_ALL, TARGET_UNIT_DEST_AREA_ENEMY); - } -}; - class spell_doomfire : public AuraScript { PrepareAuraScript(spell_doomfire); @@ -519,7 +503,6 @@ class spell_doomfire : public AuraScript void AddSC_boss_archimonde() { RegisterSpellScript(spell_red_sky_effect); - RegisterSpellScript(spell_air_burst); RegisterSpellScript(spell_doomfire); RegisterHyjalAI(boss_archimonde); RegisterHyjalAI(npc_ancient_wisp);