aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp10
1 files changed, 9 insertions, 1 deletions
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);
}