From d694940b80d060f79701f3d27bbba77eebfb0ddb Mon Sep 17 00:00:00 2001 From: KayenEQ Date: Wed, 14 Jan 2015 23:47:33 -0500 Subject: [PATCH] Fix for beneficial spells that do decrease hit point over time to start working again. --- zone/spell_effects.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/zone/spell_effects.cpp b/zone/spell_effects.cpp index 1f7083118..cb21073ca 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -3471,14 +3471,16 @@ void Mob::DoBuffTic(uint16 spell_id, int slot, uint32 ticsremaining, uint8 caste { effect_value = CalcSpellEffectValue(spell_id, i, caster_level, caster, ticsremaining); //Handle client cast DOTs here. - if (caster && effect_value < 0 && IsDetrimentalSpell(spell_id)){ + if (caster && effect_value < 0){ - if (caster->IsClient()){ - if (!caster->CastToClient()->GetFeigned()) + if (IsDetrimentalSpell(spell_id)){ + if (caster->IsClient()){ + if (!caster->CastToClient()->GetFeigned()) + AddToHateList(caster, -effect_value); + } + else if (!IsClient()) //Allow NPC's to generate hate if casted on other NPC's. AddToHateList(caster, -effect_value); } - else if (!IsClient()) //Allow NPC's to generate hate if casted on other NPC's. - AddToHateList(caster, -effect_value); effect_value = caster->GetActDoTDamage(spell_id, effect_value, this);