]> granicus.if.org Git - nethack/commitdiff
breaking polyselfless conduct
authornethack.rankin <nethack.rankin>
Sun, 12 Jun 2005 04:46:59 +0000 (04:46 +0000)
committernethack.rankin <nethack.rankin>
Sun, 12 Jun 2005 04:46:59 +0000 (04:46 +0000)
      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.

doc/fixes34.4
src/eat.c
src/timeout.c

index 40641a77eccfd3ea3fc5088180110b2c5665d542..a72ea7e07714624c6e61d773b93e7e7b5fa20f04 100644 (file)
@@ -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
index 3d06f201b337514bd0f9f33811116e6b7335298b..28cad7fa594859004c19e0dddeae646ee904e20b 100644 (file)
--- a/src/eat.c
+++ b/src/eat.c
@@ -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);
index 373daa5b335b65ee2a772edfce4ecdc0425d5e3e..822a3bc94542ae1b5569e8df4d43f4189da4fede 100644 (file)
@@ -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: