From 73e44859f075321bb53023e48aa13f717f321098 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 27 May 2024 15:48:29 -0300 Subject: [PATCH] fix(Scripts/Hyjal): Azgalor mark of doom spawn demons on target death (#18959) --- .../rev_1716833230281927300.sql | 4 ++++ .../BattleForMountHyjal/boss_azgalor.cpp | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1716833230281927300.sql diff --git a/data/sql/updates/pending_db_world/rev_1716833230281927300.sql b/data/sql/updates/pending_db_world/rev_1716833230281927300.sql new file mode 100644 index 000000000..411fa534b --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1716833230281927300.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_azgalor_doom' AND `spell_id` = 31347; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(31347, 'spell_azgalor_doom'); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp index 6a7562869..95cdfdffb 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp @@ -17,6 +17,8 @@ #include "CreatureScript.h" #include "ScriptedCreature.h" +#include "SpellScript.h" +#include "SpellScriptLoader.h" #include "hyjal.h" enum Spells @@ -117,7 +119,27 @@ private: }; +class spell_azgalor_doom : public AuraScript +{ + PrepareAuraScript(spell_azgalor_doom); + + void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + Unit* target = GetTarget(); + if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_DEATH) + { + target->CastSpell(target, GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, true); + } + } + + void Register() override + { + OnEffectRemove += AuraEffectRemoveFn(spell_azgalor_doom::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL); + } +}; + void AddSC_boss_azgalor() { RegisterHyjalAI(boss_azgalor); + RegisterSpellScript(spell_azgalor_doom); }