aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraquadeus <95978183+aquadeus@users.noreply.github.com>2021-12-19 11:41:33 +0100
committerGitHub <noreply@github.com>2021-12-19 11:41:33 +0100
commit57504662593559fd7673b3c49ff9f95f2e28fc37 (patch)
treeaf30a6c4560268e5404693f6f6c408f2650c54a8
parent12f9423efa4a8304b99562013f706e4f1d894522 (diff)
Scripts/Spells: Fixed priest talent Masochism (#27420)
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp10
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));
}
}