|
|
|
@ -420,9 +420,9 @@ namespace MWMechanics
|
|
|
|
|
if (!checkEffectTarget(effectIt->mEffectID, target, caster, castByPlayer))
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
// caster needs to be an actor for linked effects (e.g. Absorb)
|
|
|
|
|
// caster needs to be an actor that's not the target for linked effects (e.g. Absorb)
|
|
|
|
|
if (magicEffect->mData.mFlags & ESM::MagicEffect::CasterLinked
|
|
|
|
|
&& (caster.isEmpty() || !caster.getClass().isActor()))
|
|
|
|
|
&& (caster.isEmpty() || !caster.getClass().isActor() || caster == target))
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
// If player is healing someone, show the target's HP bar
|
|
|
|
@ -554,7 +554,7 @@ namespace MWMechanics
|
|
|
|
|
|
|
|
|
|
// For absorb effects, also apply the effect to the caster - but with a negative
|
|
|
|
|
// magnitude, since we're transferring stats from the target to the caster
|
|
|
|
|
if (!caster.isEmpty() && caster.getClass().isActor())
|
|
|
|
|
if (!caster.isEmpty() && caster != target && caster.getClass().isActor())
|
|
|
|
|
{
|
|
|
|
|
for (int i=0; i<5; ++i)
|
|
|
|
|
{
|
|
|
|
|