fix #H4706 - non-zero hit points for poison death

For "the poison was deadly" against hero, hit points were set to -1
(which gets displayed as 0 when shown) but the status lines weren't
being updated, so stale positive HP value was visible during final
disclosure.
This commit is contained in:
PatR
2016-12-08 16:39:55 -08:00
parent 66a0c98954
commit 9b725218bb
3 changed files with 15 additions and 0 deletions

View File

@@ -272,6 +272,7 @@ boolean thrown_weapon; /* thrown weapons are less deadly */
if (i == 0 && typ != A_CHA) {
/* instant kill */
u.uhp = -1;
context.botl = TRUE;
pline_The("poison was deadly...");
} else if (i > 5) {
/* HP damage; more likely--but less severe--with missiles */

View File

@@ -922,6 +922,18 @@ int how;
return;
}
}
if (program_state.panicking
#ifdef HANGUPHANDLING
|| program_state.done_hup
#endif
) {
/* skip status update if panicking or disconnected */
context.botl = context.botlx = FALSE;
} else {
/* otherwise force full status update */
context.botlx = TRUE;
bot();
}
if (how == ASCENDED || (!killer.name[0] && how == GENOCIDED))
killer.format = NO_KILLER_PREFIX;