boulder breaking feedback

Noticed when checking the sokoban conduct's counter.  Breaking
a line of boulders in one zap reported seeing the first but only
hearing the others, despite the first one being gone by the time
the second one was hit and so on down the line for the rest.
This commit is contained in:
PatR
2020-07-03 03:27:39 -07:00
parent 9c97bc44df
commit cdcc43a689
2 changed files with 10 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.239 $ $NHDT-Date: 1593768043 2020/07/03 09:20:43 $
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.240 $ $NHDT-Date: 1593772051 2020/07/03 10:27:31 $
General Fixes and Modified Features
-----------------------------------
@@ -208,6 +208,9 @@ reading the Book of the Dead while blind is allowed; doing so gives
reading cursed Book of the Dead while blind gave feedback for sighted hero
reading non-cursed Book of the Dead without having prepped the other tools
referred to those as "artifacts" even though they aren't; use "relics"
zapping a line of boulders with striking or force bolt was updating 'couldsee'
but deferring 'cansee', resulting in seeing the first boulder fracture
and only hearing that happen for the others despite coming into view
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 zap.c $NHDT-Date: 1593306912 2020/06/28 01:15:12 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.343 $ */
/* NetHack 3.6 zap.c $NHDT-Date: 1593772051 2020/07/03 10:27:31 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.344 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2013. */
/* NetHack may be freely redistributed. See license for details. */
@@ -4824,8 +4824,12 @@ register struct obj *obj; /* no texts here! */
if (obj->where == OBJ_FLOOR) {
obj_extract_self(obj); /* move rocks back on top */
place_object(obj, obj->ox, obj->oy);
if (!does_block(obj->ox, obj->oy, &levl[obj->ox][obj->oy]))
if (!does_block(obj->ox, obj->oy, &levl[obj->ox][obj->oy])) {
unblock_point(obj->ox, obj->oy);
/* need immediate update in case this is a striking/force bolt
zap that is about hit more things */
vision_recalc(0);
}
if (cansee(obj->ox, obj->oy))
newsym(obj->ox, obj->oy);
}