breaking polyselfless conduct
Because the description seen by the player is "you have never changed form" rather than "you have never polymorphed yourself", make death by fully turning into green slime (even if that death is avoided via lifesaving) violate the conduct. Suggested by <Someone> 9-Dec-2004. Likewise, eating a mimic corpse and temporarily turning yourself into a pile of gold also violates that conduct. Mentioned by someone--probably <Someone>, or possibly in the newsgroup--a long time ago.
This commit is contained in:
@@ -123,6 +123,7 @@ fatal wish granted by monster left that monster in bones data
|
||||
clear prompt from screen after ESC is used to abort "In what direction?"
|
||||
minor interface changes for interactively manipulating autopickup exceptions
|
||||
chatting with quest leader who was brought back from the dead gave warnings
|
||||
becoming green slime or mimicking gold violates "never changed form" conduct
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -845,10 +845,12 @@ register int pm;
|
||||
tmp += 20;
|
||||
if (youmonst.data->mlet != S_MIMIC && !Unchanging) {
|
||||
char buf[BUFSZ];
|
||||
|
||||
u.uconduct.polyselfs++; /* you're changing form */
|
||||
You_cant("resist the temptation to mimic %s.",
|
||||
Hallucination ? "an orange" : "a pile of gold");
|
||||
#ifdef STEED
|
||||
/* A pile of gold can't ride. */
|
||||
/* A pile of gold can't ride. */
|
||||
if (u.usteed) dismount_steed(DISMOUNT_FELL);
|
||||
#endif
|
||||
nomul(-tmp);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)timeout.c 3.5 2005/01/31 */
|
||||
/* SCCS Id: @(#)timeout.c 3.5 2005/06/11 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -238,6 +238,7 @@ nh_timeout()
|
||||
Strcpy(killer.name, "killed by petrification");
|
||||
}
|
||||
dealloc_killer(kptr);
|
||||
/* (unlike sliming, you aren't changing form here) */
|
||||
done(STONING);
|
||||
break;
|
||||
case SLIMED:
|
||||
@@ -249,6 +250,8 @@ nh_timeout()
|
||||
Strcpy(killer.name, "turned into green slime");
|
||||
}
|
||||
dealloc_killer(kptr);
|
||||
/* involuntarily break "never changed form" conduct */
|
||||
u.uconduct.polyselfs++;
|
||||
done(TURNED_SLIME);
|
||||
break;
|
||||
case VOMITING:
|
||||
|
||||
Reference in New Issue
Block a user