From 5457f3065943e7ab3b594bece86f481e2447bfbe Mon Sep 17 00:00:00 2001 From: mmcgarvey Date: Thu, 23 Dec 2021 15:43:02 -0500 Subject: [PATCH] [Spells] Instant Heals honor IgnoreSpellDmgLvlRestriction (#1888) Why: Heal Over Time spells honor the Spells:IgnoreSpellDmgLvlRestriction rule, shouldn't instant heals honor this rule too? The fix: Added a check for Spells:IgnoreSpellDmgLvlRestriction in the GetActSpellHealing method. --- zone/effects.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/zone/effects.cpp b/zone/effects.cpp index 0712ec6c5..73d2bf434 100644 --- a/zone/effects.cpp +++ b/zone/effects.cpp @@ -362,8 +362,12 @@ int32 Mob::GetActSpellHealing(uint16 spell_id, int32 value, Mob* target) { value += GetFocusEffect(focusFcHealAmtCrit, spell_id); //SPA 396 Add before critical - if (!spells[spell_id].no_heal_damage_item_mod && itembonuses.HealAmt && spells[spell_id].classes[(GetClass() % 17) - 1] >= GetLevel() - 5) { - value += GetExtraSpellAmt(spell_id, itembonuses.HealAmt, base_value); //Item Heal Amt Add before critical + //Using IgnoreSpellDmgLvlRestriction to also allow healing to scale + if (RuleB(Spells, IgnoreSpellDmgLvlRestriction) && !spells[spell_id].no_heal_damage_item_mod && itembonuses.HealAmt) { + value += GetExtraSpellAmt(spell_id, itembonuses.HealAmt, base_value);//Item Heal Amt Add before critical + } + else if (!spells[spell_id].no_heal_damage_item_mod && itembonuses.HealAmt && spells[spell_id].classes[(GetClass() % 17) - 1] >= GetLevel() - 5) { + value += GetExtraSpellAmt(spell_id, itembonuses.HealAmt, base_value);//Item Heal Amt Add before critical } if (target) {