aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_warlock.cpp25
1 files changed, 25 insertions, 0 deletions
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);