From b2789979e584df2772aa2433bf3c435069217f87 Mon Sep 17 00:00:00 2001 From: PatR Date: Wed, 1 Jul 2020 06:48:07 -0700 Subject: [PATCH] relent on silver bell usage... Allow a hero in silver-hating form to ring the Bell of Opening when on the vibrating square so be able to perform the invocation ritual. But only at that location and only if the stairs aren't there yet. This is about on par with being able to read the Book of the Dead while blind although that isn't limited to a specific location. --- doc/fixes37.0 | 4 +++- src/artifact.c | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/fixes37.0 b/doc/fixes37.0 index 674aac167..06bf12d34 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.234 $ $NHDT-Date: 1593309675 2020/06/28 02:01:15 $ +$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.235 $ $NHDT-Date: 1593611274 2020/07/01 13:47:54 $ General Fixes and Modified Features ----------------------------------- @@ -199,6 +199,8 @@ attempting to read a novel while blind reported "you can't read the mystic don't let life draining reduce a monster's max HP below its level + 1 report " expires" rather than " dies" if polymorphed hero kills a non-living monster (golem, vortex) with life drain (vampire bite) +allow hero in silver-hating form to ring the silver bell but only if on/over + the vibrating square Fixes to 3.7.0-x Problems that Were Exposed Via git Repository diff --git a/src/artifact.c b/src/artifact.c index 04f7a33f1..bb808e8c6 100644 --- a/src/artifact.c +++ b/src/artifact.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 artifact.c $NHDT-Date: 1593306896 2020/06/28 01:14:56 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.157 $ */ +/* NetHack 3.6 artifact.c $NHDT-Date: 1593611274 2020/07/01 13:47:54 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.158 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2013. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1948,6 +1948,12 @@ boolean loseit; /* whether to drop it if hero can longer touch it */ { struct obj *obj = *objp; + /* allow hero in silver-hating form to try to perform invocation ritual */ + if (obj->otyp == BELL_OF_OPENING + && invocation_pos(u.ux, u.uy) && !On_stairs(u.ux, u.uy)) { + return 1; + } + if (touch_artifact(obj, &g.youmonst)) { char buf[BUFSZ]; int dmg = 0, tmp;