Fix: engulf/digest intrinsic granting

Engulfing pets were getting a double chance to get an intrinsic from a
digestion attack, because they got the mon_givit call in mhitm_ad_dgst
and then also the one in mdamagem.

There is a bit of inconsistency here, in that mhitm_ad_dgst requires
corpse creation to grant nutrition, but the non-nutrition effects of
eating a corpse like polymorph, extra health, etc, in mdamagem don't
have any such requirement.  As a result, one of the mon_givit calls
required a corpse to be "created" before granting an intrinsic, and the
other didn't.   In choosing which one to remove, I figured intrinsic
granting is probably closer to those special effects than providing
nutrition (and also putting it in mhitm_ad_dgst is not ideal w/r/t
message ordering: it causes the 'intrinsic granted' message to appear
before the monster kill message).
This commit is contained in:
Michael Meyer
2022-08-12 21:55:21 -04:00
committed by PatR
parent 422a06f01f
commit cee6c9a919

View File

@@ -3957,7 +3957,6 @@ mhitm_ad_dgst(struct monst *magr, struct attack *mattk UNUSED,
if (nutrit > 1)
nutrit /= 2;
EDOG(magr)->hungrytime += nutrit;
mon_givit(magr, pd);
}
}
}