Scripts/Spells: Fixed priest talent Masochism (#27420)

This commit is contained in:
aquadeus
2021-12-19 11:41:33 +01:00
committed by GitHub
parent 12f9423efa
commit 5750466259

View File

@@ -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));
}
}