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