diff options
author | Teleqraph <nyrdeveloper@gmail.com> | 2023-05-31 19:10:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-31 19:10:38 +0200 |
commit | 692c26a15eb52e44c33bd381b0bee4f1a1a34e71 (patch) | |
tree | d8c6e22a4fc52270c791ecef97f4ec45965a2d0a /src | |
parent | fd1d66269ad9585e14e624cfb272e6ade3b3d1c6 (diff) |
Scripts/Spells: Implement Say Your Prayers (#29028)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index a785a1b0eae..a5ebb647694 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -100,6 +100,7 @@ enum PriestSpells SPELL_PRIEST_RENEWED_HOPE = 197469, SPELL_PRIEST_RENEWED_HOPE_EFFECT = 197470, SPELL_PRIEST_REVEL_IN_PURITY = 373003, + SPELL_PRIEST_SAY_YOUR_PRAYERS = 391186, SPELL_PRIEST_SHADOW_MEND_DAMAGE = 186439, SPELL_PRIEST_SHADOW_MEND_PERIODIC_DUMMY = 187464, SPELL_PRIEST_SHADOW_WORD_PAIN = 589, @@ -1247,7 +1248,13 @@ class spell_pri_prayer_of_mending_aura : public AuraScript bool Validate(SpellInfo const* /*spellInfo*/) override { - return ValidateSpellInfo({ SPELL_PRIEST_PRAYER_OF_MENDING_HEAL, SPELL_PRIEST_PRAYER_OF_MENDING_JUMP }); + return ValidateSpellInfo + ({ + SPELL_PRIEST_PRAYER_OF_MENDING_HEAL, + SPELL_PRIEST_PRAYER_OF_MENDING_JUMP, + SPELL_PRIEST_SAY_YOUR_PRAYERS + }) + && ValidateSpellEffect({ { SPELL_PRIEST_SAY_YOUR_PRAYERS, EFFECT_0 } }); } void HandleHeal(AuraEffect* aurEff, ProcEventInfo& /*eventInfo*/) @@ -1266,7 +1273,14 @@ class spell_pri_prayer_of_mending_aura : public AuraScript { CastSpellExtraArgs args(aurEff); args.OriginalCaster = caster->GetGUID(); - args.AddSpellMod(SPELLVALUE_BASE_POINT0, stackAmount - 1); + + int32 newStackAmount = stackAmount - 1; + if (AuraEffect* sayYourPrayers = caster->GetAuraEffect(SPELL_PRIEST_SAY_YOUR_PRAYERS, EFFECT_0)) + if (roll_chance_i(sayYourPrayers->GetAmount())) + ++newStackAmount; + + args.AddSpellMod(SPELLVALUE_BASE_POINT0, newStackAmount); + target->CastSpell(target, SPELL_PRIEST_PRAYER_OF_MENDING_JUMP, args); } |