diff --git a/doc/fixes34.4 b/doc/fixes34.4 index 00a14057f..2e45e750e 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -126,6 +126,7 @@ chatting with quest leader who was brought back from the dead gave warnings becoming green slime or mimicking gold violates "never changed form" conduct when a monster grew into a higher form which had previously been genocided, the message explaining its fate was only given if it was sensed via ESP +hero could still see for brief period after being blinded by potion vapors Platform- and/or Interface-Specific Fixes diff --git a/src/potion.c b/src/potion.c index f376c1f7a..f36852c75 100644 --- a/src/potion.c +++ b/src/potion.c @@ -243,6 +243,13 @@ boolean talk; if (u_could_see ^ can_see_now) { /* one or the other but not both */ context.botl = 1; vision_full_recalc = 1; /* blindness just got toggled */ + /* this vision recalculation used to be deferred until + moveloop(), but that made it possible for vision + irregularities to occur (cited case was force bolt + hitting adjacent potion of blindness and then a + secret door; hero was blinded by vapors but then + got the message "a door appears in the wall") */ + vision_recalc(0); if (Blind_telepat || Infravision) see_monsters(); } } diff --git a/src/vision.c b/src/vision.c index 28f63c06f..0bc5fc06f 100644 --- a/src/vision.c +++ b/src/vision.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)vision.c 3.5 1999/02/18 */ +/* SCCS Id: @(#)vision.c 3.5 2005/06/15 */ /* Copyright (c) Dean Luick, with acknowledgements to Dave Cohrs, 1990. */ /* NetHack may be freely redistributed. See license for details. */ @@ -468,6 +468,8 @@ new_angle(lev, sv, row, col) * + Right before something is printed. [pline()] * + Right before we do a vision based operation. [do_clear_area()] * + screen redraw, so we can renew all positions in sight. [docrt()] + * + When toggling temporary blindness, in case additional events + * impacted by vision occur during the same move [make_blinded()] * * Control flag = 1. An adjacent vision recalculation. The hero has moved * one square. Knowing this, it might be possible to optimize the vision