diff options
author | aquadeus <95978183+aquadeus@users.noreply.github.com> | 2021-12-19 11:41:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-19 11:41:33 +0100 |
commit | 57504662593559fd7673b3c49ff9f95f2e28fc37 (patch) | |
tree | af30a6c4560268e5404693f6f6c408f2650c54a8 | |
parent | 12f9423efa4a8304b99562013f706e4f1d894522 (diff) |
Scripts/Spells: Fixed priest talent Masochism (#27420)
-rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index dcdb7346c41..903db5c42b8 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -55,6 +55,8 @@ enum PriestSpells SPELL_PRIEST_ITEM_EFFICIENCY = 37595, SPELL_PRIEST_LEAP_OF_FAITH_EFFECT = 92832, SPELL_PRIEST_LEVITATE_EFFECT = 111759, + SPELL_PRIEST_MASOCHISM_TALENT = 193063, + SPELL_PRIEST_MASOCHISM_PERIODIC_HEAL = 193065, SPELL_PRIEST_MIND_BOMB_STUN = 226943, SPELL_PRIEST_ORACULAR_HEAL = 26170, SPELL_PRIEST_PENANCE_R1 = 47540, @@ -971,7 +973,7 @@ class spell_pri_shadow_mend : public SpellScript bool Validate(SpellInfo const* /*spellInfo*/) override { - return ValidateSpellInfo({ SPELL_PRIEST_ATONEMENT, SPELL_PRIEST_ATONEMENT_TRIGGERED, SPELL_PRIEST_TRINITY }); + return ValidateSpellInfo({ SPELL_PRIEST_ATONEMENT, SPELL_PRIEST_ATONEMENT_TRIGGERED, SPELL_PRIEST_TRINITY, SPELL_PRIEST_MASOCHISM_TALENT, SPELL_PRIEST_MASOCHISM_PERIODIC_HEAL }); } void HandleEffectHit(SpellEffIndex /*effIndex*/) @@ -979,8 +981,14 @@ class spell_pri_shadow_mend : public SpellScript if (Unit* target = GetHitUnit()) { Unit* caster = GetCaster(); + if (caster->HasAura(SPELL_PRIEST_ATONEMENT) && !caster->HasAura(SPELL_PRIEST_TRINITY)) caster->CastSpell(target, SPELL_PRIEST_ATONEMENT_TRIGGERED, true); + + // Handle Masochism talent + int32 periodicAmount = GetHitHeal() / 20; + if (caster->HasAura(SPELL_PRIEST_MASOCHISM_TALENT) && caster->GetGUID() == target->GetGUID()) + caster->CastSpell(caster, SPELL_PRIEST_MASOCHISM_PERIODIC_HEAL, CastSpellExtraArgs(TRIGGERED_FULL_MASK).AddSpellMod(SPELLVALUE_BASE_POINT0, periodicAmount)); } } |