mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-13 03:32:28 -04:00
Scripts/Spells: Implement priest talent Searing Light (#31713)
This commit is contained in:
7
sql/updates/world/master/2026_03_06_04_world.sql
Normal file
7
sql/updates/world/master/2026_03_06_04_world.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_pri_searing_light');
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(1280131, 'spell_pri_searing_light');
|
||||
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (1280131);
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(1280131,0x00,6,0x00000000,0x00008000,0x00000000,0x00000000,0x0,0x0,0x1,0x2,0x0,0x0,0x0,0,0,0,0); -- Searing Light
|
||||
@@ -221,7 +221,9 @@ enum PriestSpells
|
||||
SPELL_PRIEST_SAY_YOUR_PRAYERS = 391186,
|
||||
SPELL_PRIEST_SCHISM = 424509,
|
||||
SPELL_PRIEST_SCHISM_AURA = 214621,
|
||||
SPELL_PRIEST_SEARING_LIGHT = 196811,
|
||||
SPELL_PRIEST_SEARING_LIGHT = 1280131,
|
||||
SPELL_PRIEST_SEARING_LIGHT_DAMAGE = 1280134,
|
||||
SPELL_PRIEST_SEARING_LIGHT_DIVINE_IMAGE = 196811,
|
||||
SPELL_PRIEST_SHADOW_MEND_DAMAGE = 186439,
|
||||
SPELL_PRIEST_SHADOW_WORD_DEATH = 32379,
|
||||
SPELL_PRIEST_SHADOW_WORD_DEATH_DAMAGE = 32409,
|
||||
@@ -1185,7 +1187,7 @@ Optional<uint32> GetSpellToCast(uint32 spellId)
|
||||
case SPELL_PRIEST_HOLY_WORD_CHASTISE:
|
||||
case SPELL_PRIEST_MINDGAMES:
|
||||
case SPELL_PRIEST_MINDGAMES_VENTHYR:
|
||||
return SPELL_PRIEST_SEARING_LIGHT;
|
||||
return SPELL_PRIEST_SEARING_LIGHT_DIVINE_IMAGE;
|
||||
case SPELL_PRIEST_HOLY_NOVA:
|
||||
return SPELL_PRIEST_LIGHT_ERUPTION;
|
||||
default:
|
||||
@@ -4210,6 +4212,31 @@ class spell_pri_sanctuary_absorb : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 1280131 - Searing Light
|
||||
class spell_pri_searing_light : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellEffect({ { SPELL_PRIEST_SEARING_LIGHT_DAMAGE, EFFECT_0 } });
|
||||
}
|
||||
|
||||
void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo const& eventInfo) const
|
||||
{
|
||||
int32 dotDmg = CalculatePct(eventInfo.GetDamageInfo()->GetDamage(), aurEff->GetAmount());
|
||||
dotDmg /= sSpellMgr->AssertSpellInfo(SPELL_PRIEST_SEARING_LIGHT_DAMAGE, GetCastDifficulty())->GetEffect(EFFECT_0).GetPeriodicTickCount();
|
||||
|
||||
eventInfo.GetActor()->CastSpell(eventInfo.GetActionTarget(), SPELL_PRIEST_SEARING_LIGHT_DAMAGE, CastSpellExtraArgsInit{
|
||||
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS,
|
||||
.SpellValueOverrides = { { SPELLVALUE_BASE_POINT0, dotDmg } }
|
||||
});
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_pri_searing_light::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// Smite - 585
|
||||
class spell_pri_sanctuary_trigger : public SpellScript
|
||||
{
|
||||
@@ -5487,6 +5514,7 @@ void AddSC_priest_spell_scripts()
|
||||
RegisterSpellScript(spell_pri_rhapsody);
|
||||
RegisterSpellScript(spell_pri_rhapsody_proc);
|
||||
RegisterSpellScript(spell_pri_schism);
|
||||
RegisterSpellScript(spell_pri_searing_light);
|
||||
RegisterSpellScript(spell_pri_sins_of_the_many);
|
||||
RegisterSpellScript(spell_pri_spirit_of_redemption);
|
||||
RegisterSpellScript(spell_pri_shadow_covenant);
|
||||
|
||||
Reference in New Issue
Block a user