fix github issue #196 - green slime feedback

Fixes #196

If you didn't die from turning into green slime but then died because
green slimes had been genocided, the message given assumed that you
had just seen "OK, you don't die" from answering No to "Really die?".
Its wording didn't make sense if the reason you didn't die was an
amulet of life-saving.  Give a different message for that case.

Also, if you survive turning into slime (via either method) and either
green slimes are still around or you answer No to "Really die?" when
they've been genocided, give a message after "You survived that attempt
on your life" pointing out that you have done so in green slime form.
Useful since prior to 3.6.2 you would have reverted to original form--
despite the Slimed countdown saying you had turned into green slime.
This commit is contained in:
PatR
2019-06-04 09:16:00 -07:00
parent 4519e21a21
commit ac79fedf60
7 changed files with 48 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 hack.c $NHDT-Date: 1559313320 2019/05/31 14:35:20 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.212 $ */
/* NetHack 3.6 hack.c $NHDT-Date: 1559664951 2019/06/04 16:15:51 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.213 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */
@@ -2901,8 +2901,16 @@ const char *msg_override;
nomovemsg = msg_override;
else if (!nomovemsg)
nomovemsg = You_can_move_again;
if (*nomovemsg)
if (*nomovemsg) {
pline("%s", nomovemsg);
/* follow "you survived that attempt on your life" with a message
about current form if it's not the default; primarily for
life-saving while turning into green slime but is also a reminder
if life-saved while poly'd and Unchanging (explore or wizard mode
declining to die since can't be both Unchanging and Lifesaved) */
if (Upolyd && !strncmpi(nomovemsg, "You survived that ", 18))
You("are %s", an(mons[u.umonnum].mname)); /* (ignore Hallu) */
}
nomovemsg = 0;
u.usleep = 0;
multi_reason = NULL;