disclosure fix

Back in December, a change was made to suppress status when u.uhp == -1.
But if the hero died with exactly that amount, the status display would
be blanked out during end of game disclosure.  Force u.uhp to be 0 when
dying.  That was already happening if death occurred while hero still
had positive HP, but not when damage took him/her to negative.
This commit is contained in:
PatR
2019-03-26 19:16:01 -07:00
parent e12d2d326b
commit 42cb4ac3e8
2 changed files with 9 additions and 6 deletions
+3 -1
View File
@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.283 $ $NHDT-Date: 1553644725 2019/03/26 23:58:45 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.284 $ $NHDT-Date: 1553652951 2019/03/27 02:15:51 $
This fixes36.2 file is here to capture information about updates in the 3.6.x This fixes36.2 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.1 in April 2018. Please note, however, lineage following the release of 3.6.1 in April 2018. Please note, however,
@@ -467,6 +467,8 @@ having an artifact wish be refused ("for a moment you feel <artifact> in
using 'O' to set status hilites for any status condition (Blind, &c) and using 'O' to set status hilites for any status condition (Blind, &c) and
specifying more than one attribute (Bold, Inverse, &c) it would only specifying more than one attribute (Bold, Inverse, &c) it would only
retain one of the chosen attributes retain one of the chosen attributes
when u.uhp==-1 became a flag to suppress status updating, if game ended when
hero died with exactly -1 HP, status would be blank during disclosure
tty: turn off an optimization that is the suspected cause of Windows reported tty: turn off an optimization that is the suspected cause of Windows reported
partial status lines following level changes partial status lines following level changes
tty: ensure that current status fields are always copied to prior status tty: ensure that current status fields are always copied to prior status
+6 -5
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 end.c $NHDT-Date: 1549921169 2019/02/11 21:39:29 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.163 $ */ /* NetHack 3.6 end.c $NHDT-Date: 1553652951 2019/03/27 02:15:51 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.166 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */ /*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -1086,10 +1086,11 @@ int how;
if (how < PANICKED) { if (how < PANICKED) {
u.umortality++; u.umortality++;
/* in case caller hasn't already done this */ /* in case caller hasn't already done this */
if (u.uhp > 0 || (Upolyd && u.mh > 0)) { if (u.uhp != 0 || (Upolyd && u.mh != 0)) {
/* for deaths not triggered by loss of hit points, force /* force HP to zero in case it is still positive (some
current HP to zero (0 HP when turning into green slime deaths aren't triggered by loss of hit points), or
is iffy but we don't have much choice--that is fatal) */ negative (-1 is used as a flag in some circumstances
which don't apply when actually dying due to HP loss) */
u.uhp = u.mh = 0; u.uhp = u.mh = 0;
context.botl = 1; context.botl = 1;
} }