From 228f6635c0acba196bf1225033f17cdf70bf4357 Mon Sep 17 00:00:00 2001 From: avarishd <46330494+avarishd@users.noreply.github.com> Date: Sat, 21 Oct 2023 15:15:20 +0300 Subject: [PATCH] fix(Core/Scripts): ScriptEffect Frog Kiss (#17482) --- .../rev_1697002994350126800.sql | 6 ++++ .../scripts/Northrend/zone_grizzly_hills.cpp | 28 ++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 data/sql/updates/pending_db_world/rev_1697002994350126800.sql diff --git a/data/sql/updates/pending_db_world/rev_1697002994350126800.sql b/data/sql/updates/pending_db_world/rev_1697002994350126800.sql new file mode 100644 index 000000000..4729de048 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1697002994350126800.sql @@ -0,0 +1,6 @@ +-- Duplicated gossip option +DELETE FROM `gossip_menu_option` WHERE (`MenuID` = 10316) AND (`OptionID` = 1); + +DELETE FROM `spell_script_names` WHERE `spell_id`=62536 AND `ScriptName`='spell_frog_kiss'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(62536, 'spell_frog_kiss'); diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp index e5cd77c38..255c4a4d5 100644 --- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp +++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp @@ -918,7 +918,8 @@ public: player->AddAura(SPELL_WARTS, player); else { - DoCast(player, SPELL_FROG_KISS); // Removes SPELL_WARTSBGONE_LIP_BALM + // Removes SPELL_WARTSBGONE_LIP_BALM + player->CastSpell(player, SPELL_FROG_KISS, true); if (me->GetEntry() == NPC_LAKE_FROG) { @@ -1298,6 +1299,30 @@ public: } }; +// 62536 - Frog Kiss +class spell_frog_kiss : public SpellScript +{ + PrepareSpellScript(spell_frog_kiss); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_WARTSBGONE_LIP_BALM }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + if (Player* target = GetHitPlayer()) + { + target->RemoveAurasDueToSpell(SPELL_WARTSBGONE_LIP_BALM); + } + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_frog_kiss::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_grizzly_hills() { // Theirs @@ -1319,4 +1344,5 @@ void AddSC_grizzly_hills() new spell_warhead_fuse(); RegisterSpellScript(spell_q12227_outhouse_groans); RegisterSpellScript(spell_q12227_camera_shake); + RegisterSpellScript(spell_frog_kiss); }