From cb483d124f772063f7f1850d53616155c6639ce5 Mon Sep 17 00:00:00 2001 From: Ludwig Date: Thu, 9 Nov 2023 00:19:57 +0100 Subject: [PATCH] fix(Script/Spell): fix AOE circle bug on Midsummer Torch Catching (#17654) * fix(Spells/Midsummer): fix script for spell 46747 SPELL_FLING_TORCH_DUMMY * SpellInfoCorrections: fix target of spell 46747 Fling torch * DB: assign spell 46747 Fling torch to item 34833 Unlit Torches * remove whitespaces at src/server/game/Spells/SpellInfoCorrections.cpp:4610 --- .../updates/pending_db_world/rev_1699388718386814200.sql | 2 ++ src/server/game/Spells/SpellInfoCorrections.cpp | 6 ++++++ src/server/scripts/Events/midsummer.cpp | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 data/sql/updates/pending_db_world/rev_1699388718386814200.sql diff --git a/data/sql/updates/pending_db_world/rev_1699388718386814200.sql b/data/sql/updates/pending_db_world/rev_1699388718386814200.sql new file mode 100644 index 000000000..08b01dd14 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1699388718386814200.sql @@ -0,0 +1,2 @@ +-- assign correct spell to 'Unlit Torches' to remove AOE circle on item use +UPDATE `item_template` SET `spellid_1` = 46747 WHERE (`entry` = 34833); diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index 619f88f01..d24c92fa2 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -4602,6 +4602,12 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->Effects[EFFECT_1].SpellClassMask[0] = 6; }); + // 46747 Fling torch + ApplySpellFix({ 46747 }, [](SpellInfo* spellInfo) + { + spellInfo->Effects[EFFECT_0].TargetA = SpellImplicitTargetInfo(TARGET_DEST_CASTER); + }); + // Chains of Naberius ApplySpellFix({ 36146 }, [](SpellInfo* spellInfo) { diff --git a/src/server/scripts/Events/midsummer.cpp b/src/server/scripts/Events/midsummer.cpp index d82b54d99..6d347d2e2 100644 --- a/src/server/scripts/Events/midsummer.cpp +++ b/src/server/scripts/Events/midsummer.cpp @@ -754,9 +754,9 @@ class spell_midsummer_fling_torch : public SpellScript void Register() override { AfterCast += SpellCastFn(spell_midsummer_fling_torch::HandleFinish); + OnCheckCast += SpellCheckCastFn(spell_midsummer_fling_torch::CheckCast); if (m_scriptSpellId == SPELL_JUGGLE_TORCH) { - OnCheckCast += SpellCheckCastFn(spell_midsummer_fling_torch::CheckCast); OnEffectHitTarget += SpellEffectFn(spell_midsummer_fling_torch::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); } }