Fix for instant restore effects (Fixes #2392)

celladd
scrawl 10 years ago
parent 68f89318e7
commit 77bb77b367

@ -594,6 +594,7 @@ namespace MWMechanics
value.restore(magnitude);
target.getClass().getCreatureStats(target).setAttribute(attribute, value);
}
// TODO: refactor the effect tick functions in Actors so they can be reused here
else if (effectId == ESM::MagicEffect::DamageHealth)
{
applyDynamicStatsEffect(0, target, magnitude * -1);
@ -683,7 +684,7 @@ namespace MWMechanics
void CastSpell::applyDynamicStatsEffect(int attribute, const MWWorld::Ptr& target, float magnitude)
{
DynamicStat<float> value = target.getClass().getCreatureStats(target).getDynamic(attribute);
value.modify(magnitude);
value.setCurrent(value.getCurrent()+magnitude, attribute == 2);
target.getClass().getCreatureStats(target).setDynamic(attribute, value);
}

Loading…
Cancel
Save