From f29cea4a35c6cda21c1272f3bf50dcafc278bd05 Mon Sep 17 00:00:00 2001 From: nhmall Date: Sat, 11 Apr 2026 07:17:20 -0400 Subject: [PATCH] another impossible() update for dog_eat() --- src/dogmove.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dogmove.c b/src/dogmove.c index f4c7b4bcb..0cfa6f23d 100644 --- a/src/dogmove.c +++ b/src/dogmove.c @@ -313,12 +313,15 @@ dog_eat(struct monst *mtmp, /* It's a reward if it's DOGFOOD and the player dropped/threw it. We know the player had it if invlet is set. -dlc */ if (dogfood(mtmp, obj) == DOGFOOD && obj->invlet) { + int prior_apport = edog->apport; + edog->apport += (int) (200L / ((long) edog->dropdist + svm.moves - edog->droptime)); if (edog->apport <= 0) { - impossible("dog_eat: pet apport <= 0 (%d, %d, %ld, %ld, %ud, %ud)", + impossible("dog_eat: pet apport <= 0 (%d, %d, %ld, %ld, %d, %ud, %ud)", edog->apport, edog->dropdist, edog->droptime, svm.moves, + prior_apport, /* check whether edog struct got clobbered; these two values should always match if edog content is still intact */