-$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.168 $ $NHDT-Date: 1586285681 2020/04/07 18:54:41 $
+$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.169 $ $NHDT-Date: 1586303701 2020/04/07 23:55:01 $
General Fixes and Modified Features
-----------------------------------
or not give such when in view, depending on stale value of 'bhitpos'
[cited case assumed message came from drowned monster's dropped
inventory when out-of-view ice melted]
+it's possible to wish for tins of the Riders in wizard mode; eating one is
+ fatal but if you're life-saved or decline to die, the game crashed
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
-/* NetHack 3.6 eat.c $NHDT-Date: 1584405116 2020/03/17 00:31:56 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.223 $ */
+/* NetHack 3.6 eat.c $NHDT-Date: 1586303701 2020/04/07 23:55:01 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.225 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
done(DIED);
/* life-saving needed to reach here */
exercise(A_WIS, FALSE);
- /* It so happens that since we know these monsters */
- /* cannot appear in tins, g.context.victual.piece will always */
- /* be what we want, which is not generally true. */
- if (revive_corpse(g.context.victual.piece)) {
+ /* revive an actual corpse; can't do that if it was a tin;
+ 3.7: this used to assume that such tins were impossible but
+ they can be wished for in wizard mode; they can't make it
+ to normal play though because bones creation empties them */
+ if (g.context.victual.piece /* Null for tins */
+ && g.context.victual.piece->otyp == CORPSE /* paranoia */
+ && revive_corpse(g.context.victual.piece)) {
g.context.victual.piece = (struct obj *) 0;
g.context.victual.o_id = 0;
}
debugpline0("using attrcurse to strip an intrinsic");
attrcurse();
break;
+ case PM_DEATH:
+ case PM_PESTILENCE:
+ case PM_FAMINE:
+ /* life-saved; don't attempt to confer any intrinsics */
+ break;
case PM_MIND_FLAYER:
case PM_MASTER_MIND_FLAYER:
if (ABASE(A_INT) < ATTRMAX(A_INT)) {