life-saved, while helpless
Implement the suggestion by entrez to avoid "while helpless" in the reason for the second death if hero gets killed, life-saved, and killed again at the same time. Life saving sets 'multi' to -1 which prevents the hero from moving again until next turn and is intended to make the sequencing of "you survived that attempt on your life" work if you're being interrupted during some multi-turn activity. It used to behave differently when the first death occurred while engaged in some voluntary multi-turn activity. I've removed that because I couldn't figure out why; it might need to be put back.
This commit is contained in:
13
src/end.c
13
src/end.c
@@ -924,10 +924,15 @@ savelife(int how)
|
||||
}
|
||||
g.nomovemsg = "You survived that attempt on your life.";
|
||||
g.context.move = 0;
|
||||
if (g.multi > 0)
|
||||
g.multi = 0;
|
||||
else
|
||||
g.multi = -1;
|
||||
|
||||
g.multi = -1; /* can't move again during the current turn */
|
||||
/* in case being life-saved is immediately followed by being killed
|
||||
again (perhaps due to zap rebound); this text will be appended to
|
||||
"killed by <something>, while "
|
||||
in high scores entry, if any, and in logfile (but not on tombstone) */
|
||||
g.multi_reason = Role_if(PM_TOURIST) ? "being toyed with by Fate"
|
||||
: "attempting to cheat Death";
|
||||
|
||||
if (u.utrap && u.utraptype == TT_LAVA)
|
||||
reset_utrap(FALSE);
|
||||
g.context.botl = TRUE;
|
||||
|
||||
Reference in New Issue
Block a user