diff options
author | Aqua Deus <95978183+aquadeus@users.noreply.github.com> | 2024-09-13 00:35:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-13 00:35:47 +0200 |
commit | 18519e62f786c505e3575b0739a1780f46c59e10 (patch) | |
tree | df16e8f47d3a9acbf4f5936f55207942201efdfc /src | |
parent | 7e504aded17d8e26e16287f905c7f74afb1c5977 (diff) |
Scripts/Spells: Implement warlock talent Roaring Blaze (#30186)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_warlock.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index b7bdbc98669..bcaa2551f0a 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -41,6 +41,7 @@ enum WarlockSpells { SPELL_WARLOCK_ABSOLUTE_CORRUPTION = 196103, SPELL_WARLOCK_AGONY = 980, + SPELL_WARLOCK_CONFLAGRATE_DEBUFF = 265931, SPELL_WARLOCK_CONFLAGRATE_ENERGIZE = 245330, SPELL_WARLOCK_CORRUPTION_DAMAGE = 146739, SPELL_WARLOCK_CREATE_HEALTHSTONE = 23517, @@ -64,6 +65,7 @@ enum WarlockSpells SPELL_WARLOCK_PERPETUAL_UNSTABILITY_DAMAGE = 459461, SPELL_WARLOCK_RAIN_OF_FIRE = 5740, SPELL_WARLOCK_RAIN_OF_FIRE_DAMAGE = 42223, + SPELL_WARLOCK_ROARING_BLAZE = 205184, SPELL_WARLOCK_SEED_OF_CORRUPTION_DAMAGE = 27285, SPELL_WARLOCK_SEED_OF_CORRUPTION_GENERIC = 32865, SPELL_WARLOCK_SHADOW_BOLT_ENERGIZE = 194192, @@ -737,6 +739,33 @@ class spell_warl_random_sayaad : public SpellScript } }; +// Called by 17962 - Conflagrate +class spell_warl_roaring_blaze : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo ({ SPELL_WARLOCK_ROARING_BLAZE, SPELL_WARLOCK_CONFLAGRATE_DEBUFF }); + } + + bool Load() override + { + return GetCaster()->HasAura(SPELL_WARLOCK_ROARING_BLAZE); + } + + void HandleDummy(SpellEffIndex /*effIndex*/) const + { + GetCaster()->CastSpell(GetHitUnit(), SPELL_WARLOCK_CONFLAGRATE_DEBUFF, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringSpell = GetSpell() + }); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_warl_roaring_blaze::HandleDummy, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); + } +}; + // 366323 - Strengthen Pact - Succubus // 366325 - Strengthen Pact - Incubus // 366222 - Summon Sayaad @@ -1387,6 +1416,7 @@ void AddSC_warlock_spell_scripts() RegisterSpellScript(spell_warl_perpetual_unstability); RegisterSpellScript(spell_warl_rain_of_fire); RegisterSpellScript(spell_warl_random_sayaad); + RegisterSpellScript(spell_warl_roaring_blaze); RegisterSpellScript(spell_warl_sayaad_precast_disorientation); RegisterSpellScript(spell_warl_seduction); RegisterSpellScript(spell_warl_seed_of_corruption); |