From 23ce3fd29eb8638719bcbf1127b2d4072d7a5042 Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Thu, 16 Apr 2026 10:42:29 -0500 Subject: [PATCH] fix(Scripts/ICC): Ball of Flames Proc stack drop on hit (#25483) Co-authored-by: blinkysc Co-authored-by: ariel- --- .../rev_1776309913700597434.sql | 10 ++++++++++ .../boss_blood_prince_council.cpp | 17 ++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 data/sql/updates/pending_db_world/rev_1776309913700597434.sql diff --git a/data/sql/updates/pending_db_world/rev_1776309913700597434.sql b/data/sql/updates/pending_db_world/rev_1776309913700597434.sql new file mode 100644 index 000000000..e7e125cde --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1776309913700597434.sql @@ -0,0 +1,10 @@ +-- +-- Ball of Flames Proc (ICC Prince Valanar): +-- ensure the spell script is registered so the new AuraScript +-- decrements a stack each time the ball hits a player. +DELETE FROM `spell_script_names` WHERE `spell_id` IN (71756, 72782, 72783, 72784) AND `ScriptName`='spell_taldaram_ball_of_inferno_flame'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(71756, 'spell_taldaram_ball_of_inferno_flame'), +(72782, 'spell_taldaram_ball_of_inferno_flame'), +(72783, 'spell_taldaram_ball_of_inferno_flame'), +(72784, 'spell_taldaram_ball_of_inferno_flame'); 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 df6775917..a686b46a3 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -1543,6 +1543,21 @@ class spell_taldaram_ball_of_inferno_flame : public SpellScript } }; +class spell_taldaram_ball_of_inferno_flame_aura : public AuraScript +{ + PrepareAuraScript(spell_taldaram_ball_of_inferno_flame_aura); + + void HandleStackDrop(ProcEventInfo& /*eventInfo*/) + { + ModStackAmount(-1); + } + + void Register() override + { + OnProc += AuraProcFn(spell_taldaram_ball_of_inferno_flame_aura::HandleStackDrop); + } +}; + class spell_valanar_kinetic_bomb : public SpellScript { PrepareSpellScript(spell_valanar_kinetic_bomb); @@ -1704,7 +1719,7 @@ void AddSC_boss_blood_prince_council() RegisterSpellScript(spell_blood_council_shadow_prison_damage); RegisterSpellScript(spell_taldaram_glittering_sparks); RegisterSpellScript(spell_taldaram_summon_flame_ball); - RegisterSpellScript(spell_taldaram_ball_of_inferno_flame); + RegisterSpellAndAuraScriptPair(spell_taldaram_ball_of_inferno_flame, spell_taldaram_ball_of_inferno_flame_aura); RegisterSpellAndAuraScriptPair(spell_valanar_kinetic_bomb, spell_valanar_kinetic_bomb_aura); RegisterSpellScript(spell_valanar_kinetic_bomb_absorb_aura); RegisterSpellScript(spell_valanar_kinetic_bomb_knockback);