diff options
-rw-r--r-- | sql/updates/world/master/2024_11_08_06_world.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_rogue.cpp | 30 |
2 files changed, 33 insertions, 0 deletions
diff --git a/sql/updates/world/master/2024_11_08_06_world.sql b/sql/updates/world/master/2024_11_08_06_world.sql new file mode 100644 index 00000000000..467e02f407c --- /dev/null +++ b/sql/updates/world/master/2024_11_08_06_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_rog_soothing_darkness'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(1856, 'spell_rog_soothing_darkness'); diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp index a01b0d5fb31..2bc0fb7323a 100644 --- a/src/server/scripts/Spells/spell_rogue.cpp +++ b/src/server/scripts/Spells/spell_rogue.cpp @@ -83,6 +83,8 @@ enum RogueSpells SPELL_ROGUE_SHIV_NATURE_DAMAGE = 319504, SPELL_ROGUE_SLICE_AND_DICE = 315496, SPELL_ROGUE_SPRINT = 2983, + SPELL_ROGUE_SOOTHING_DARKNESS_TALENT = 393970, + SPELL_ROGUE_SOOTHING_DARKNESS_HEAL = 393971, SPELL_ROGUE_STEALTH = 1784, SPELL_ROGUE_STEALTH_STEALTH_AURA = 158185, SPELL_ROGUE_STEALTH_SHAPESHIFT_AURA = 158188, @@ -868,6 +870,33 @@ class spell_rog_sinister_strike : public SpellScript } }; +// Called by 1856 - Vanish +class spell_rog_soothing_darkness : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_ROGUE_SOOTHING_DARKNESS_TALENT, SPELL_ROGUE_SOOTHING_DARKNESS_HEAL }); + } + + bool Load() override + { + return GetCaster()->HasAura(SPELL_ROGUE_SOOTHING_DARKNESS_TALENT); + } + + void Heal() const + { + GetCaster()->CastSpell(GetCaster(), SPELL_ROGUE_SOOTHING_DARKNESS_HEAL, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringSpell = GetSpell() + }); + } + + void Register() override + { + AfterCast += SpellCastFn(spell_rog_soothing_darkness::Heal); + } +}; + // 1784 - Stealth class spell_rog_stealth : public AuraScript { @@ -1153,6 +1182,7 @@ void AddSC_rogue_spell_scripts() RegisterSpellScript(spell_rog_ruthlessness); RegisterSpellScript(spell_rog_shadowstrike); RegisterSpellScript(spell_rog_sinister_strike); + RegisterSpellScript(spell_rog_soothing_darkness); RegisterSpellScript(spell_rog_stealth); RegisterSpellScript(spell_rog_symbols_of_death); RegisterSpellAndAuraScriptPair(spell_rog_tricks_of_the_trade, spell_rog_tricks_of_the_trade_aura); |