From 6338e036c576ac5f054e823d96a64aaae035dc77 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sat, 28 Feb 2026 14:17:14 -0300 Subject: [PATCH] fix(Scripts/SSC): remove Tainted Core from inventory on death (#24939) Co-authored-by: Claude Sonnet 4.6 --- .../rev_1772296214349604900.sql | 3 +++ .../SerpentShrine/boss_lady_vashj.cpp | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1772296214349604900.sql diff --git a/data/sql/updates/pending_db_world/rev_1772296214349604900.sql b/data/sql/updates/pending_db_world/rev_1772296214349604900.sql new file mode 100644 index 000000000..3d5fb8bc3 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1772296214349604900.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `spell_id` = 38132 AND `ScriptName` = 'spell_lady_vashj_tainted_core_paralyze'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(38132, 'spell_lady_vashj_tainted_core_paralyze'); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp index 9aa769753..9fcbc68fc 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp @@ -401,6 +401,26 @@ class spell_lady_vashj_summons : public SpellScript } }; +// Spell 38132 - Paralyze (applied to player when looting Tainted Core item 31088) +class spell_lady_vashj_tainted_core_paralyze : public AuraScript +{ + PrepareAuraScript(spell_lady_vashj_tainted_core_paralyze); + + void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_DEATH) + return; + + if (Player* player = GetTarget()->ToPlayer()) + player->DestroyItemCount(ITEM_TAINTED_CORE, -1, true); + } + + void Register() override + { + AfterEffectRemove += AuraEffectRemoveFn(spell_lady_vashj_tainted_core_paralyze::HandleEffectRemove, EFFECT_0, SPELL_AURA_MOD_ROOT, AURA_EFFECT_HANDLE_REAL); + } +}; + void AddSC_boss_lady_vashj() { RegisterSerpentShrineAI(boss_lady_vashj); @@ -409,4 +429,5 @@ void AddSC_boss_lady_vashj() RegisterSpellScript(spell_lady_vashj_summon_sporebat); RegisterSpellScript(spell_lady_vashj_spore_drop_effect); RegisterSpellScript(spell_lady_vashj_summons); + RegisterSpellScript(spell_lady_vashj_tainted_core_paralyze); }