diff options
author | Aqua Deus <95978183+aquadeus@users.noreply.github.com> | 2025-01-13 13:47:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-13 13:47:51 +0100 |
commit | 66e200da242b033b1a3470236d42dcbad8b42f34 (patch) | |
tree | aaa78774fc680a881e2526b89d9c4335e15783d8 /src | |
parent | faf8efc25d4bb088fc263accba2721ac29efc80a (diff) |
Scripts/Spells: Implement monk talent "Pressure Points" with Paralysis (#30594)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_monk.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_monk.cpp b/src/server/scripts/Spells/spell_monk.cpp index 371b06184a5..33696ddc7a4 100644 --- a/src/server/scripts/Spells/spell_monk.cpp +++ b/src/server/scripts/Spells/spell_monk.cpp @@ -40,6 +40,7 @@ enum MonkSpells SPELL_MONK_MORTAL_WOUNDS = 115804, SPELL_MONK_POWER_STRIKE_PROC = 129914, SPELL_MONK_POWER_STRIKE_ENERGIZE = 121283, + SPELL_MONK_PRESSURE_POINTS = 450432, SPELL_MONK_PROVOKE_SINGLE_TARGET = 116189, SPELL_MONK_PROVOKE_AOE = 118635, SPELL_MONK_NO_FEATHER_FALL = 79636, @@ -208,6 +209,32 @@ class spell_monk_power_strike_proc : public AuraScript } }; +// 115078 - Paralysis +class spell_monk_pressure_points : public SpellScript +{ + bool Validate(SpellInfo const* spellInfo) override + { + return ValidateSpellInfo({ SPELL_MONK_PRESSURE_POINTS }) + && ValidateSpellEffect({ { spellInfo->Id, EFFECT_2 } }) + && spellInfo->GetEffect(EFFECT_2).IsEffect(SPELL_EFFECT_DISPEL); + } + + bool Load() override + { + return !GetCaster()->HasAura(SPELL_MONK_PRESSURE_POINTS); + } + + static void PreventDispel(WorldObject*& target) + { + target = nullptr; + } + + void Register() override + { + OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_monk_pressure_points::PreventDispel, EFFECT_2, TARGET_UNIT_TARGET_ENEMY); + } +}; + // 115546 - Provoke class spell_monk_provoke : public SpellScript { @@ -617,6 +644,7 @@ void AddSC_monk_spell_scripts() RegisterSpellScript(spell_monk_open_palm_strikes); RegisterSpellScript(spell_monk_power_strike_periodic); RegisterSpellScript(spell_monk_power_strike_proc); + RegisterSpellScript(spell_monk_pressure_points); RegisterSpellScript(spell_monk_provoke); RegisterSpellScript(spell_monk_rising_sun_kick); RegisterSpellScript(spell_monk_roll); |