diff --git a/src/artifact.c b/src/artifact.c index 18d981b21..7e3ca12a2 100644 --- a/src/artifact.c +++ b/src/artifact.c @@ -1589,7 +1589,7 @@ artifact_hit(struct monst *magr, struct monst *mdef, struct obj *otmp, } losexp("life drainage"); if (magr && magr->mhp < magr->mhpmax) { - magr->mhp += (oldhpmax - u.uhpmax + 1) / 2; + magr->mhp += (abs(oldhpmax - u.uhpmax) + 1) / 2; if (magr->mhp > magr->mhpmax) magr->mhp = magr->mhpmax; }