From 76b9d8554265bc1f359905695c26759fe227b234 Mon Sep 17 00:00:00 2001 From: Aqua Deus <95978183+aquadeus@users.noreply.github.com> Date: Mon, 16 Sep 2024 01:05:53 +0200 Subject: Scripts/Spells: Implemented warlock talent Pyrogenics (#30190) Co-authored-by: Shauren --- src/server/scripts/Spells/spell_warlock.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index c7e41790d4b..fc810d573e6 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -67,6 +67,8 @@ enum WarlockSpells SPELL_WARLOCK_INCUBUS_PACT = 365355, SPELL_WARLOCK_PERPETUAL_UNSTABILITY_DAMAGE = 459461, SPELL_WARLOCK_PERPETUAL_UNSTABILITY_TALENT = 459376, + SPELL_WARLOCK_PYROGENICS_DEBUFF = 387096, + SPELL_WARLOCK_PYROGENICS_TALENT = 387095, SPELL_WARLOCK_RAIN_OF_FIRE = 5740, SPELL_WARLOCK_RAIN_OF_FIRE_DAMAGE = 42223, SPELL_WARLOCK_ROARING_BLAZE = 205184, @@ -728,6 +730,28 @@ class spell_warl_perpetual_unstability : public SpellScript } }; +// 387095 - Pyrogenics +class spell_warl_pyrogenics : public AuraScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_WARLOCK_PYROGENICS_DEBUFF }); + } + + void HandleProc(AuraEffect const* aurEff, ProcEventInfo const& procInfo) const + { + GetTarget()->CastSpell(procInfo.GetActionTarget(), SPELL_WARLOCK_PYROGENICS_DEBUFF, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringAura = aurEff + }); + } + + void Register() override + { + OnEffectProc += AuraEffectProcFn(spell_warl_pyrogenics::HandleProc, EFFECT_0, SPELL_AURA_ADD_FLAT_MODIFIER_BY_SPELL_LABEL); + } +}; + // 5740 - Rain of Fire /// Updated 11.0.2 class spell_warl_rain_of_fire : public AuraScript @@ -1468,6 +1492,7 @@ void AddSC_warlock_spell_scripts() RegisterSpellScript(spell_warl_healthstone_heal); RegisterSpellScript(spell_warl_immolate); RegisterSpellScript(spell_warl_perpetual_unstability); + RegisterSpellScript(spell_warl_pyrogenics); RegisterSpellScript(spell_warl_rain_of_fire); RegisterSpellScript(spell_warl_random_sayaad); RegisterSpellScript(spell_warl_roaring_blaze); -- cgit v1.2.3