diff --git a/doc/fixes37.0 b/doc/fixes37.0 index f8bf80a07..4fc73a6cd 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.59 $ $NHDT-Date: 1578659784 2020/01/10 12:36:24 $ +$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.60 $ $NHDT-Date: 1578690701 2020/01/10 21:11:41 $ General Fixes and Modified Features ----------------------------------- @@ -32,9 +32,11 @@ drum of earthquake feedback reported various things (fountains, thrones, &c) falling into a chasm but they remained intact because trap creation had been changed to not clobber such things (so couldn't make pits) make earthquake which hits a secret door or a secret corridor reveal it -wizard mode wishing for "Amulet of Yendor" has 50:50 chance for true Amulet +wizard mode wishing for "Amulet of Yendor" had 50:50 chance for true Amulet or a cheap plastic imitation; recognize "real Amulet of Yendor" and - "fake Amulet of Yendor" to precisely specify either of them + "fake Amulet of Yendor" to precisely specify either of them but also + take away the 50% chance of yielding a fake one when neither real nor + fake is specified unpaid globs showed weight info unconditionally outside of wizmode walking out of tethered-to-buried-object trap condition was supposed to reinstate punishment but wasn't finding the buried iron ball because @@ -60,6 +62,10 @@ autounlock picked Rogue's artifact key over lock-pick or credit card (or would be blasted when touching it wielded aklys had its "(tethered weapon...)" description scrambled randomized trap name could pick trap #0 which isn't a trap and yielded "water" +if running and Blind or Stunned or Fumbling or Dex < 10, encountering a closed + door orthogonally would keep reporting "ouch! you bump into a door" + repeatedly until eventually interrupted by approaching monster or + hunger or ^C Platform- and/or Interface-Specific Fixes diff --git a/src/hack.c b/src/hack.c index b80a9d362..2cc61fb83 100644 --- a/src/hack.c +++ b/src/hack.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 hack.c $NHDT-Date: 1578448654 2020/01/08 01:57:34 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.239 $ */ +/* NetHack 3.6 hack.c $NHDT-Date: 1578690701 2020/01/10 21:11:41 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.240 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Derek S. Ray, 2015. */ /* NetHack may be freely redistributed. See license for details. */ @@ -749,8 +749,8 @@ int mode; /* Eat the rock. */ if (mode == DO_MOVE && still_chewing(x, y)) return FALSE; - } else if (flags.autodig && !g.context.run && !g.context.nopick && uwep - && is_pick(uwep)) { + } else if (flags.autodig && !g.context.run && !g.context.nopick + && uwep && is_pick(uwep)) { /* MRKR: Automatic digging when wielding the appropriate tool */ if (mode == DO_MOVE) (void) use_pick_axe2(uwep); @@ -815,6 +815,9 @@ int mode; set, 'move' would get reset by caller */ g.context.door_opened = g.context.move = TRUE; + /* since we've just lied about successfully + moving, we need to manually stop running */ + nomul(0); } else pline("That door is closed."); } @@ -2808,8 +2811,8 @@ lookaround() pline_The("corridor widens here."); goto stop; } - if ((g.context.run == 1 || g.context.run == 3 || g.context.run == 8) && !noturn - && !m0 && i0 && (corrct == 1 || (corrct == 2 && i0 == 1))) { + if ((g.context.run == 1 || g.context.run == 3 || g.context.run == 8) + && !noturn && !m0 && i0 && (corrct == 1 || (corrct == 2 && i0 == 1))) { /* make sure that we do not turn too far */ if (i0 == 2) { if (u.dx == y0 - u.uy && u.dy == u.ux - x0)