self-genocide's "you feel dead inside"
It seems to me that the reaction to "you feel dead inside" when you're polymorphed into an undead creature at the time would be "so what else is new?". Vary the "dead" when current form is something which gets reported as "destroyed" rather than "killed" when killed. That happens for things flagged as non-living. Now undead "feel condemned inside" and golems "feel empty inside". Neither of those are ideal but they're more interesting than "feel dead inside". After becoming dead inside, give a reminder about that during enlightenment and if you restore a saved game in that condition. It was the latter that set this in motion: I wanted to confirm that restoring with u.uhp == -1 didn't give "you aren't healthy enough to survive restoration" when polymorphed. (It doesn't; the game resumes and you'll die if/when you rehumanize.)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 extern.h $NHDT-Date: 1508549428 2017/10/21 01:30:28 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.619 $ */
|
||||
/* NetHack 3.6 extern.h $NHDT-Date: 1513130012 2017/12/13 01:53:32 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.621 $ */
|
||||
/* Copyright (c) Steve Creps, 1988. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -1881,6 +1881,8 @@ E const char *FDECL(mbodypart, (struct monst *, int));
|
||||
E const char *FDECL(body_part, (int));
|
||||
E int NDECL(poly_gender);
|
||||
E void FDECL(ugolemeffects, (int, int));
|
||||
E boolean NDECL(ugenocided);
|
||||
E const char *NDECL(udeadinside);
|
||||
|
||||
/* ### potion.c ### */
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mondata.h $NHDT-Date: 1432512776 2015/05/25 00:12:56 $ $NHDT-Branch: master $:$NHDT-Revision: 1.26 $ */
|
||||
/* NetHack 3.6 mondata.h $NHDT-Date: 1513130015 2017/12/13 01:53:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.32 $ */
|
||||
/* Copyright (c) 1989 Mike Threepoint */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -175,9 +175,10 @@
|
||||
|
||||
#define is_vampire(ptr) ((ptr)->mlet == S_VAMPIRE)
|
||||
|
||||
#define nonliving(ptr) \
|
||||
(is_golem(ptr) || is_undead(ptr) || (ptr)->mlet == S_VORTEX \
|
||||
|| (ptr) == &mons[PM_MANES])
|
||||
/* used to vary a few messages */
|
||||
#define weirdnonliving(ptr) (is_golem(ptr) || (ptr)->mlet == S_VORTEX)
|
||||
#define nonliving(ptr) \
|
||||
(is_undead(ptr) || (ptr) == &mons[PM_MANES] || weirdnonliving(ptr))
|
||||
|
||||
/* Used for conduct with corpses, tins, and digestion attacks */
|
||||
/* G_NOCORPSE monsters might still be swallowed as a purple worm */
|
||||
|
||||
Reference in New Issue
Block a user