From 52cd493ad889ff4c2bca354c497911c17d4ae937 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 26 Aug 2024 01:25:10 -0300 Subject: [PATCH] =?UTF-8?q?fix(Scripts/BlackTemple):=20L5=20Arcane=20Charg?= =?UTF-8?q?e=20should=20be=20modified=20by=20dama=E2=80=A6=20(#19730)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(Scripts/BlackTemple): L5 Arcane Charge should be modified by damage taken mods * Create rev_1724540286668312700.sql * Update spell_generic.cpp * update to new format --- .../rev_1724540286668312700.sql | 4 ++++ .../BlackTemple/instance_black_temple.cpp | 17 +++++++++++++++++ src/server/scripts/Spells/spell_generic.cpp | 2 -- 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1724540286668312700.sql diff --git a/data/sql/updates/pending_db_world/rev_1724540286668312700.sql b/data/sql/updates/pending_db_world/rev_1724540286668312700.sql new file mode 100644 index 000000000..76fab4d42 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1724540286668312700.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id` = 41360; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(41360, 'spell_black_temple_l5_arcane_charge'); diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp index d2da79855..f324168f4 100644 --- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp +++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp @@ -486,6 +486,22 @@ class spell_black_temple_summon_shadowfiends : public SpellScript } }; +class spell_black_temple_l5_arcane_charge : public SpellScript +{ + PrepareSpellScript(spell_black_temple_l5_arcane_charge) + + void RecalculateDamage() + { + uint32 damage = GetHitUnit()->SpellDamageBonusTaken(GetCaster(), GetSpellInfo(), GetHitUnit()->CountPctFromMaxHealth(100), SPELL_DIRECT_DAMAGE); + SetHitDamage(int32(damage)); + } + + void Register() override + { + OnHit += SpellHitFn(spell_black_temple_l5_arcane_charge::RecalculateDamage); + } +}; + void AddSC_instance_black_temple() { new instance_black_temple(); @@ -502,4 +518,5 @@ void AddSC_instance_black_temple() RegisterSpellScript(spell_black_temple_curse_of_vitality_aura); RegisterSpellScript(spell_black_temple_dementia_aura); RegisterSpellScript(spell_black_temple_summon_shadowfiends); + RegisterSpellScript(spell_black_temple_l5_arcane_charge); } diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 0b39de333..d5ca8b153 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3686,7 +3686,6 @@ class spell_gen_ds_flush_knockback : public SpellScript 60864 - Jaws of Death (spell_gen_default_count_pct_from_max_hp) 38441 - Cataclysmic Bolt (spell_gen_50pct_count_pct_from_max_hp) 66316, 67100, 67101, 67102 - Spinning Pain Spike (spell_gen_50pct_count_pct_from_max_hp) - 41360 - L5 Arcane Charge (spell_gen_100pct_count_pct_from_max_hp) 33711/38794 - Murmur's Touch */ class spell_gen_count_pct_from_max_hp : public SpellScript @@ -5424,7 +5423,6 @@ void AddSC_generic_spell_scripts() RegisterSpellScriptWithArgs(spell_gen_count_pct_from_max_hp, "spell_gen_default_count_pct_from_max_hp"); RegisterSpellScriptWithArgs(spell_gen_count_pct_from_max_hp, "spell_gen_10pct_count_pct_from_max_hp", 10); RegisterSpellScriptWithArgs(spell_gen_count_pct_from_max_hp, "spell_gen_50pct_count_pct_from_max_hp", 50); - RegisterSpellScriptWithArgs(spell_gen_count_pct_from_max_hp, "spell_gen_100pct_count_pct_from_max_hp", 100); RegisterSpellScript(spell_gen_despawn_self); RegisterSpellScript(spell_gen_bandage); RegisterSpellScript(spell_gen_paralytic_poison);