diff --git a/data/sql/updates/pending_db_world/rev_1697371691796198300.sql b/data/sql/updates/pending_db_world/rev_1697371691796198300.sql new file mode 100644 index 000000000..ad4346251 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1697371691796198300.sql @@ -0,0 +1,5 @@ +-- Yehkinya Bramble +DELETE FROM `spell_script_names` WHERE `spell_id`=12699 AND `ScriptName`='spell_gen_yehkinya_bramble'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (12699, 'spell_gen_yehkinya_bramble'); + +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 1) AND (`SourceEntry` = 12699) AND (`SourceId` = 0); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 1e4d4b184..bfd937f03 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -5076,6 +5076,32 @@ class spell_gen_jubling_cooldown : public SpellScript } }; +// 12699 - Yeh'kinya's Bramble +enum YehkinyaBramble +{ + NPC_VALE_SCREECHER = 5307, + NPC_ROGUE_VALE_SCREECHER = 5308 +}; + +class spell_gen_yehkinya_bramble : public SpellScript +{ + PrepareSpellScript(spell_gen_yehkinya_bramble) + + SpellCastResult CheckCast() + { + if (Unit* target = GetExplTargetUnit()) + if ((target->GetEntry() == NPC_VALE_SCREECHER || target->GetEntry() == NPC_ROGUE_VALE_SCREECHER) && target->isDead()) + return SPELL_CAST_OK; + + return SPELL_FAILED_BAD_TARGETS; + } + + void Register() override + { + OnCheckCast += SpellCheckCastFn(spell_gen_yehkinya_bramble::CheckCast); + } +}; + void AddSC_generic_spell_scripts() { RegisterSpellScript(spell_silithyst); @@ -5227,4 +5253,5 @@ void AddSC_generic_spell_scripts() RegisterSpellScript(spell_gen_valthalak_amulet); RegisterSpellScript(spell_gen_planting_scourge_banner); RegisterSpellScript(spell_gen_jubling_cooldown); + RegisterSpellScript(spell_gen_yehkinya_bramble); }