From 054914a83b4faa4e9cc3ae7c5914bacf03a1e7ef Mon Sep 17 00:00:00 2001 From: DanVS <33371360+DanVS@users.noreply.github.com> Date: Sat, 23 Feb 2019 19:22:37 +0000 Subject: Glyph of Holy Light (#22198) --- src/server/scripts/Spells/spell_paladin.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/server/scripts/Spells') diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 6c209de73c1..046704e2057 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -792,6 +792,7 @@ class spell_pal_glyph_of_holy_light : public SpellScriptLoader { uint32 const maxTargets = GetSpellInfo()->MaxAffectedTargets; + targets.remove(GetCaster()); if (targets.size() > maxTargets) { targets.sort(Trinity::HealthPctOrderPred()); @@ -833,8 +834,15 @@ class spell_pal_glyph_of_holy_light_dummy : public SpellScriptLoader if (!healInfo || !healInfo->GetHeal()) return; + uint32 basePoints = healInfo->GetSpellInfo()->Effects[EFFECT_0].BasePoints + healInfo->GetSpellInfo()->Effects[EFFECT_0].DieSides; + uint32 healAmount; + if (healInfo->GetEffectiveHeal() >= basePoints) + healAmount = healInfo->GetEffectiveHeal(); + else + healAmount = healInfo->GetHeal(); + CastSpellExtraArgs args(aurEff); - args.AddSpellBP0(CalculatePct(healInfo->GetHeal(), aurEff->GetAmount())); + args.AddSpellBP0(CalculatePct(healAmount, aurEff->GetAmount())); eventInfo.GetActor()->CastSpell(eventInfo.GetProcTarget(), SPELL_PALADIN_GLYPH_OF_HOLY_LIGHT_HEAL, args); } -- cgit v1.2.3