Scripts/Spells: Implemented Priest talent Blaze of Light (#29649)

This commit is contained in:
Mematoru23
2024-02-05 18:00:48 +02:00
committed by GitHub
parent dabb4dd5f6
commit e42cd2ffcc
2 changed files with 41 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
DELETE FROM `spell_proc` WHERE `SpellId` IN (215768);
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
(215768,0x02,6,0x00000000,0x00800000,0x00000080,0x00000000,0x0,0x0,0x4,0x2,0x403,0x0,0x0,0,0,0,0); -- Blaze of Light
DELETE FROM `spell_script_names` WHERE `spell_id` IN (215768);
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(215768, 'spell_pri_blaze_of_light');

View File

@@ -52,6 +52,9 @@ enum PriestSpells
SPELL_PRIEST_ATONEMENT_HEAL = 81751,
SPELL_PRIEST_BENEDICTION = 193157,
SPELL_PRIEST_BENEVOLENCE = 415416,
SPELL_PRIEST_BLAZE_OF_LIGHT = 215768,
SPELL_PRIEST_BLAZE_OF_LIGHT_INCREASE = 355851,
SPELL_PRIEST_BLAZE_OF_LIGHT_DECREASE = 356084,
SPELL_PRIEST_BLESSED_HEALING = 70772,
SPELL_PRIEST_BLESSED_LIGHT = 196813,
SPELL_PRIEST_BODY_AND_SOUL = 64129,
@@ -619,6 +622,36 @@ class spell_pri_benediction : public SpellScript
}
};
// 215768 - Blaze of Light
class spell_pri_blaze_of_light : public AuraScript
{
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo(
{
SPELL_PRIEST_BLAZE_OF_LIGHT_DECREASE,
SPELL_PRIEST_BLAZE_OF_LIGHT_INCREASE
});
}
void HandleProc(ProcEventInfo& eventInfo)
{
Unit* procTarget = eventInfo.GetProcTarget();
if (!procTarget)
return;
if (GetTarget()->IsValidAttackTarget(procTarget))
GetTarget()->CastSpell(procTarget, SPELL_PRIEST_BLAZE_OF_LIGHT_DECREASE, TriggerCastFlags(TRIGGERED_CAST_DIRECTLY | TRIGGERED_IGNORE_CAST_IN_PROGRESS));
else
GetTarget()->CastSpell(procTarget, SPELL_PRIEST_BLAZE_OF_LIGHT_INCREASE, TriggerCastFlags(TRIGGERED_CAST_DIRECTLY | TRIGGERED_IGNORE_CAST_IN_PROGRESS));
}
void Register() override
{
OnProc += AuraProcFn(spell_pri_blaze_of_light::HandleProc);
}
};
// 204883 - Circle of Healing
class spell_pri_circle_of_healing : public SpellScript
{
@@ -2836,6 +2869,7 @@ void AddSC_priest_spell_scripts()
RegisterSpellScript(spell_pri_atonement_effect_aura);
RegisterSpellScript(spell_pri_atonement_passive);
RegisterSpellScript(spell_pri_benediction);
RegisterSpellScript(spell_pri_blaze_of_light);
RegisterSpellScript(spell_pri_circle_of_healing);
RegisterSpellScript(spell_pri_divine_image);
RegisterSpellScript(spell_pri_divine_image_spell_triggered);