aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2024_11_09_03_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp24
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);