Scripts/Spells: Implement rogue talent Soothing Darkness (#30405)

This commit is contained in:
Aqua Deus
2024-11-08 12:23:05 +01:00
committed by GitHub
parent 11f6576f04
commit c2c54250cd
2 changed files with 33 additions and 0 deletions
@@ -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');
+30
View File
@@ -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);