Scripts/Spells: Implement rogue talent Deepening Shadows (#30980)
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_rog_deepening_shadows';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(185314, 'spell_rog_deepening_shadows');
|
||||
@@ -80,6 +80,7 @@ enum RogueSpells
|
||||
SPELL_ROGUE_RUTHLESS_PRECISION = 193357,
|
||||
SPELL_ROGUE_SANCTUARY = 98877,
|
||||
SPELL_ROGUE_SKULL_AND_CROSSBONES = 199603,
|
||||
SPELL_ROGUE_SHADOW_DANCE = 185313,
|
||||
SPELL_ROGUE_SHADOW_FOCUS = 108209,
|
||||
SPELL_ROGUE_SHADOW_FOCUS_EFFECT = 112942,
|
||||
SPELL_ROGUE_SHIV_NATURE_DAMAGE = 319504,
|
||||
@@ -342,6 +343,35 @@ class spell_rog_deadly_poison : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
// 185314 - Deepening Shadows
|
||||
class spell_rog_deepening_shadows : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_ROGUE_SHADOW_DANCE });
|
||||
}
|
||||
|
||||
static bool CheckProc(AuraEffect const* /*aurEff*/, ProcEventInfo const& procEvent)
|
||||
{
|
||||
if (Spell const* procSpell = procEvent.GetProcSpell())
|
||||
return procSpell->GetPowerTypeCostAmount(POWER_COMBO_POINTS) > 0;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void HandleProc(AuraEffect const* aurEff, ProcEventInfo const& procInfo) const
|
||||
{
|
||||
Milliseconds amount = -Seconds(aurEff->GetAmount()) * *procInfo.GetProcSpell()->GetPowerTypeCostAmount(POWER_COMBO_POINTS);
|
||||
GetTarget()->GetSpellHistory()->ModifyChargeRecoveryTime(sSpellMgr->AssertSpellInfo(SPELL_ROGUE_SHADOW_DANCE, GetCastDifficulty())->ChargeCategoryId, amount / 10);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoCheckEffectProc += AuraCheckEffectProcFn(spell_rog_deepening_shadows::CheckProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
OnEffectProc += AuraEffectProcFn(spell_rog_deepening_shadows::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 32645 - Envenom
|
||||
class spell_rog_envenom : public SpellScript
|
||||
{
|
||||
@@ -1320,6 +1350,7 @@ void AddSC_rogue_spell_scripts()
|
||||
RegisterSpellScript(spell_rog_blade_flurry);
|
||||
RegisterSpellScript(spell_rog_cheat_death);
|
||||
RegisterSpellScript(spell_rog_deadly_poison);
|
||||
RegisterSpellScript(spell_rog_deepening_shadows);
|
||||
RegisterSpellScript(spell_rog_envenom);
|
||||
RegisterSpellScript(spell_rog_eviscerate);
|
||||
RegisterSpellScript(spell_rog_grand_melee);
|
||||
|
||||
Reference in New Issue
Block a user