diff options
-rw-r--r-- | sql/updates/world/master/2024_11_09_03_world.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_rogue.cpp | 24 |
2 files changed, 27 insertions, 0 deletions
diff --git a/sql/updates/world/master/2024_11_09_03_world.sql b/sql/updates/world/master/2024_11_09_03_world.sql new file mode 100644 index 00000000000..126e3104f79 --- /dev/null +++ b/sql/updates/world/master/2024_11_09_03_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_rog_acrobatic_strikes'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(455143, 'spell_rog_acrobatic_strikes'); diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp index 8fb1e04cc2c..4773b7a584b 100644 --- a/src/server/scripts/Spells/spell_rogue.cpp +++ b/src/server/scripts/Spells/spell_rogue.cpp @@ -36,6 +36,7 @@ enum RogueSpells { + SPELL_ROGUE_ACROBATIC_STRIKES_PROC = 455144, SPELL_ROGUE_ADRENALINE_RUSH = 13750, SPELL_ROGUE_AIRBORNE_IRRITANT = 200733, SPELL_ROGUE_AMPLIFYING_POISON = 381664, @@ -136,6 +137,28 @@ bool IsFinishingMove(Spell const* spell) return GetFinishingMoveCPCost(spell).has_value(); } +// 455143 - Acrobatic Strikes +class spell_rog_acrobatic_strikes : public AuraScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_ROGUE_ACROBATIC_STRIKES_PROC }); + } + + void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/) const + { + GetTarget()->CastSpell(GetTarget(), SPELL_ROGUE_ACROBATIC_STRIKES_PROC, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringAura = aurEff + }); + } + + void Register() override + { + OnEffectProc += AuraEffectProcFn(spell_rog_acrobatic_strikes::HandleProc, EFFECT_0, SPELL_AURA_DUMMY); + } +}; + // Called by 2094 - Blind class spell_rog_airborne_irritant : public SpellScript { @@ -1293,6 +1316,7 @@ class spell_rog_venomous_wounds : public AuraScript void AddSC_rogue_spell_scripts() { + RegisterSpellScript(spell_rog_acrobatic_strikes); RegisterSpellScript(spell_rog_airborne_irritant); RegisterSpellScript(spell_rog_airborne_irritant_target_selection); RegisterSpellScript(spell_rog_backstab); |