mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Spells: Implemented Priest talent Train of Thought (#29676)
This commit is contained in:
7
sql/updates/world/master/2024_02_11_00_world.sql
Normal file
7
sql/updates/world/master/2024_02_11_00_world.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pri_train_of_thought';
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
(390693,'spell_pri_train_of_thought');
|
||||
|
||||
DELETE FROM `spell_proc` WHERE `SpellId` IN (390693);
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(390693,0x0,6,0x000008C0,0x00000000,0x00000000,0x00000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0,0,0); -- Train of Thought
|
||||
@@ -2990,6 +2990,50 @@ private:
|
||||
std::queue<ObjectGuid> _healQueue;
|
||||
};
|
||||
|
||||
// 390693 - Train of Thought
|
||||
// Called by Flash Heal, Renew, Smite
|
||||
class spell_pri_train_of_thought : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo
|
||||
({
|
||||
SPELL_PRIEST_POWER_WORD_SHIELD,
|
||||
SPELL_PRIEST_PENANCE
|
||||
});
|
||||
}
|
||||
|
||||
bool CheckEffect0(AuraEffect const* /*aurEff*/, ProcEventInfo const& eventInfo) const
|
||||
{
|
||||
// Renew & Flash Heal
|
||||
return eventInfo.GetSpellInfo()->IsAffected(SPELLFAMILY_PRIEST, { 0x840 });
|
||||
}
|
||||
|
||||
bool CheckEffect1(AuraEffect const* /*aurEff*/, ProcEventInfo const& eventInfo) const
|
||||
{
|
||||
// Smite
|
||||
return eventInfo.GetSpellInfo()->IsAffected(SPELLFAMILY_PRIEST, { 0x80 });
|
||||
}
|
||||
|
||||
void ReducePowerWordShieldCooldown(AuraEffect const* aurEff, ProcEventInfo const& /*eventInfo*/) const
|
||||
{
|
||||
GetTarget()->GetSpellHistory()->ModifyCooldown(SPELL_PRIEST_POWER_WORD_SHIELD, Milliseconds(aurEff->GetAmount()));
|
||||
}
|
||||
|
||||
void ReducePenanceCooldown(AuraEffect const* aurEff, ProcEventInfo const& /*eventInfo*/) const
|
||||
{
|
||||
GetTarget()->GetSpellHistory()->ModifyCooldown(SPELL_PRIEST_PENANCE, Milliseconds(aurEff->GetAmount()));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoCheckEffectProc += AuraCheckEffectProcFn(spell_pri_train_of_thought::CheckEffect0, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
OnEffectProc += AuraEffectProcFn(spell_pri_train_of_thought::ReducePowerWordShieldCooldown, EFFECT_0, SPELL_AURA_DUMMY);
|
||||
DoCheckEffectProc += AuraCheckEffectProcFn(spell_pri_train_of_thought::CheckEffect1, EFFECT_1, SPELL_AURA_DUMMY);
|
||||
OnEffectProc += AuraEffectProcFn(spell_pri_train_of_thought::ReducePenanceCooldown, EFFECT_1, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 109142 - Twist of Fate (Shadow)
|
||||
// 265259 - Twist of Fate (Discipline)
|
||||
class spell_pri_twist_of_fate : public AuraScript
|
||||
@@ -3177,6 +3221,7 @@ void AddSC_priest_spell_scripts()
|
||||
RegisterSpellScript(spell_pri_shadow_mend_periodic_damage);
|
||||
RegisterSpellScript(spell_pri_surge_of_light);
|
||||
RegisterSpellScript(spell_pri_trail_of_light);
|
||||
RegisterSpellScript(spell_pri_train_of_thought);
|
||||
RegisterSpellScript(spell_pri_t3_4p_bonus);
|
||||
RegisterSpellScript(spell_pri_t5_heal_2p_bonus);
|
||||
RegisterSpellScript(spell_pri_t10_heal_2p_bonus);
|
||||
|
||||
Reference in New Issue
Block a user