Subject: [PATCH] Proposed YAFM

From: [email-masked] (Scott Bigham)
Date: Wed, 29 Nov 2000 04:28:35 GMT

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);