mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Scripts/Spells: Implemented Priest talent Heaven's Wrath (#29671)
This commit is contained in:
7
sql/updates/world/master/2024_02_07_00_world.sql
Normal file
7
sql/updates/world/master/2024_02_07_00_world.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pri_heavens_wrath';
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
(421558,'spell_pri_heavens_wrath');
|
||||
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (421558);
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(421558,0x00,6,0x00000000,0x00018000,0x00000000,0x00000000,0x0,0x0,0x3,0x2,0x403,0x0,0x0,0,0,0,0); -- Heaven's Wrath
|
||||
@@ -99,6 +99,7 @@ enum PriestSpells
|
||||
SPELL_PRIEST_HALO_SHADOW_HEAL = 390971,
|
||||
SPELL_PRIEST_HEAL = 2060,
|
||||
SPELL_PRIEST_HEALING_LIGHT = 196809,
|
||||
SPELL_PRIEST_HEAVENS_WRATH = 421558,
|
||||
SPELL_PRIEST_HOLY_FIRE = 14914,
|
||||
SPELL_PRIEST_HOLY_MENDING_HEAL = 391156,
|
||||
SPELL_PRIEST_HOLY_NOVA = 132157,
|
||||
@@ -174,6 +175,9 @@ enum PriestSpells
|
||||
SPELL_PRIEST_TRAIL_OF_LIGHT_HEAL = 234946,
|
||||
SPELL_PRIEST_TRINITY = 214205,
|
||||
SPELL_PRIEST_TRINITY_EFFECT = 214206,
|
||||
SPELL_PRIEST_ULTIMATE_PENITENCE = 421453,
|
||||
SPELL_PRIEST_ULTIMATE_PENITENCE_DAMAGE = 421543,
|
||||
SPELL_PRIEST_ULTIMATE_PENITENCE_HEAL = 421544,
|
||||
SPELL_PRIEST_VAMPIRIC_EMBRACE_HEAL = 15290,
|
||||
SPELL_PRIEST_VAMPIRIC_TOUCH_DISPEL = 64085,
|
||||
SPELL_PRIEST_VOID_SHIELD = 199144,
|
||||
@@ -1255,6 +1259,35 @@ class spell_pri_guardian_spirit : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 421558 - Heaven's Wrath
|
||||
class spell_pri_heavens_wrath : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_PRIEST_ULTIMATE_PENITENCE });
|
||||
}
|
||||
|
||||
bool CheckProc(ProcEventInfo const& eventInfo) const
|
||||
{
|
||||
return !(eventInfo.GetSpellInfo()->Id == SPELL_PRIEST_ULTIMATE_PENITENCE_DAMAGE || eventInfo.GetSpellInfo()->Id == SPELL_PRIEST_ULTIMATE_PENITENCE_HEAL);
|
||||
}
|
||||
|
||||
void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo const& eventInfo) const
|
||||
{
|
||||
Unit* caster = eventInfo.GetActor();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
int32 cdReduction = aurEff->GetAmount();
|
||||
caster->GetSpellHistory()->ModifyCooldown(SPELL_PRIEST_ULTIMATE_PENITENCE, Seconds(-cdReduction), true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_pri_heavens_wrath::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 120644 - Halo (Shadow)
|
||||
class spell_pri_halo_shadow : public SpellScript
|
||||
{
|
||||
@@ -2990,6 +3023,7 @@ void AddSC_priest_spell_scripts()
|
||||
RegisterSpellScript(spell_pri_guardian_spirit);
|
||||
RegisterSpellScript(spell_pri_halo_shadow);
|
||||
RegisterAreaTriggerAI(areatrigger_pri_halo);
|
||||
RegisterSpellScript(spell_pri_heavens_wrath);
|
||||
RegisterSpellScript(spell_pri_holy_mending);
|
||||
RegisterSpellScript(spell_pri_holy_words);
|
||||
RegisterSpellScript(spell_pri_holy_word_salvation);
|
||||
|
||||
Reference in New Issue
Block a user