aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAqua Deus <95978183+aquadeus@users.noreply.github.com>2025-05-27 12:59:20 +0200
committerGitHub <noreply@github.com>2025-05-27 12:59:20 +0200
commit21a6c0b91bbf6778c5b62f253705ee5031f5c884 (patch)
tree1b3f5751370d3ae3366b4498c7cf775285849ca7 /src
parent8734e28c8af06ff8f067390959d9273657db2297 (diff)
Scripts/Spells: Implement rogue talent Night Terrors (#30994)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp
index 958ea3d79b7..87a6e64d13f 100644
--- a/src/server/scripts/Spells/spell_rogue.cpp
+++ b/src/server/scripts/Spells/spell_rogue.cpp
@@ -72,6 +72,7 @@ enum RogueSpells
SPELL_ROGUE_KILLING_SPREE_DMG_BUFF = 61851,
SPELL_ROGUE_MARKED_FOR_DEATH = 137619,
SPELL_ROGUE_MAIN_GAUCHE = 86392,
+ SPELL_ROGUE_NIGHT_TERRORS = 277953,
SPELL_ROGUE_NUMBING_POISON = 5761,
SPELL_ROGUE_NUMBING_POISON_DEBUFF = 5760,
SPELL_ROGUE_PREMEDITATION_PASSIVE = 343160,
@@ -85,6 +86,7 @@ enum RogueSpells
SPELL_ROGUE_SHADOW_DANCE = 185313,
SPELL_ROGUE_SHADOW_FOCUS = 108209,
SPELL_ROGUE_SHADOW_FOCUS_EFFECT = 112942,
+ SPELL_ROGUE_SHADOWS_GRASP = 206760,
SPELL_ROGUE_SHIV_NATURE_DAMAGE = 319504,
SPELL_ROGUE_SHOT_IN_THE_DARK_TALENT = 257505,
SPELL_ROGUE_SHOT_IN_THE_DARK_BUFF = 257506,
@@ -743,6 +745,33 @@ class spell_rog_mastery_main_gauche : public AuraScript
}
};
+// 277953 - Night Terrors (attached to 197835 - Shuriken Storm)
+class spell_rog_night_terrors : public SpellScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo ({ SPELL_ROGUE_NIGHT_TERRORS, SPELL_ROGUE_SHADOWS_GRASP });
+ }
+
+ bool Load() override
+ {
+ return GetCaster()->HasAura(SPELL_ROGUE_NIGHT_TERRORS);
+ }
+
+ void HandleEnergize(SpellEffIndex /*effIndex*/) const
+ {
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_ROGUE_SHADOWS_GRASP, CastSpellExtraArgsInit{
+ .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
+ .TriggeringSpell = GetSpell()
+ });
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_rog_night_terrors::HandleEnergize, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
+ }
+};
+
class spell_rog_pickpocket : public SpellScript
{
SpellCastResult CheckCast()
@@ -1497,6 +1526,7 @@ void AddSC_rogue_spell_scripts()
RegisterSpellAndAuraScriptPair(spell_rog_killing_spree, spell_rog_killing_spree_aura);
RegisterSpellScript(spell_rog_kingsbane);
RegisterSpellScript(spell_rog_mastery_main_gauche);
+ RegisterSpellScript(spell_rog_night_terrors);
RegisterSpellScript(spell_rog_pickpocket);
RegisterSpellScript(spell_rog_poisoned_knife);
RegisterSpellScript(spell_rog_premeditation);