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:
@@ -360,6 +360,8 @@ Elbereth now erodes based on attacks by the player, not monsters scared
|
||||
novels are made of paper, not gold
|
||||
movement speeds are made less predictable by using random rounding, rather
|
||||
than via adding a random offset
|
||||
some death by the-poison-was-deadly situations left stale non-zero HP shown
|
||||
on the status line during final disclosure
|
||||
|
||||
|
||||
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository
|
||||
|
||||
@@ -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 */
|
||||
|
||||
12
src/end.c
12
src/end.c
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user