From dsb@killerbunnies.org Wed Nov 29 11:47:11 2000
Path: ulcc.ac.uk!server3.netnews.ja.net!qmw!ciril.fr!isdnet!209.249.123.233.MISMATCH!xfer10.netnews.com!netnews.com!newsfeed.stanford.edu!paloalto-snf1.gtei.net!paloalto-snh1.gtei.net!news.gtei.net!paloalto-snr1.gtei.net.POSTED!not-for-mail
From: dsb@killerbunnies.org (Scott Bigham)
Newsgroups: rec.games.roguelike.nethack
Subject: [PATCH] Proposed YAFM
Organization: n. Arrangement in an orderly or logical fashion. See "miracle".
User-Agent: slrn/0.9.6.2 (Linux)
Lines: 37
Message-ID: <TB%U5.3035$YG.415094@paloalto-snr1.gtei.net>
X-Trace: /bGnt/I4RNIjmdyDvec4/wZgpu171dEVoF7ePmS68xTbh+2SRquEUnczeMAl0/xLsO+Edqm5SZ5u!AHAhuqellVavRwlCX4Odt6jXuObCuLAR/p/Iwef0Jd4pkvgpNBq+Nq686odHBJsa3K5NbbiTM0X+!XwWC73k=
X-Complaints-To: abuse@gte.net
X-Abuse-Info: Please be sure to forward a copy of ALL headers
X-Abuse-Info: Otherwise we will be unable to process your complaint properly
NNTP-Posting-Date: Wed, 29 Nov 2000 04:28:35 GMT
Distribution: world
Date: Wed, 29 Nov 2000 04:28:35 GMT
Xref: ulcc.ac.uk rec.games.roguelike.nethack:118924


This is one I've had kicking around in the back of my head for a while.
I'm gearing up to add some little things that have always vaguely
annoyed me by their absence, and I figured I'd get the easy one out of
the way first.  There should be enough code in the patch to figure out
the context of the new YAFM.  [Why, yes, I *am* slightly demented, why
do you ask? ;) ]

						-sbigham

--- src/mhitu.c.orig	Fri Aug  4 19:37:50 2000
+++ src/mhitu.c	Tue Nov 28 21:26:30 2000
@@ -1975,6 +1975,11 @@
 	register struct obj *ring, *nring;
 	boolean fem = (mon->data == &mons[PM_SUCCUBUS]); /* otherwise incubus */
 	char qbuf[QBUFSZ];
+	boolean stairs_up =
+		((u.ux == xupstair && u.uy == yupstair) ||
+		 (u.ux == sstairs.sx && u.uy == sstairs.sy && sstairs.up) ||
+		 (xupladder && u.ux == xupladder && u.uy == yupladder));
+	int joke = 0;
 
 	if (mon->mcan || mon->mspec_used) {
 		pline("%s acts as though %s has got a %sheadache.",
@@ -2077,7 +2082,11 @@
 		mayberem(uarmu, "shirt");
 #endif
 
-	if (uarm || uarmc) {
+	if (stairs_up && fem && !uarm && !uarmc) {
+		You_cant("go down here.");
+		joke = 1;
+	}
+	if (uarm || uarmc || joke) {
 		verbalize("You're such a %s; I wish...",
 				flags.female ? "sweet lady" : "nice guy");
 		if (!tele_restrict(mon)) rloc(mon);

