From c42c14e5a6dcfce729a64dc4d876f8509a960940 Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Fri, 20 Sep 2002 07:26:12 +0000 Subject: [PATCH] running across vibrating square Some newsgroup discussion has reminded me something I've meant to do for a long time. Stop running when you get the special message about the floor vibrating under your feet. Also vary it when you're not actually stepping on the ground. --- doc/fixes34.1 | 1 + src/hack.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 90b768ff7..8926d7796 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -249,6 +249,7 @@ skilled spell of detected treasure wasn't acting like blessed potion of object detection (from Roderick Schertler) fix end of game attribute disclosure for levitation negated by sink kicking a box embedded in a wall will knock it free rather than bust it open +stop running or travelling if the vibrating square message is triggered Platform- and/or Interface-Specific Fixes diff --git a/src/hack.c b/src/hack.c index 3e1aac1c1..739ef502c 100644 --- a/src/hack.c +++ b/src/hack.c @@ -1390,10 +1390,18 @@ invocation_message() { /* a special clue-msg when on the Invocation position */ if(invocation_pos(u.ux, u.uy) && !On_stairs(u.ux, u.uy)) { + char buf[BUFSZ]; struct obj *otmp = carrying(CANDELABRUM_OF_INVOCATION); - You_feel("a strange vibration under your %s.", - makeplural(body_part(FOOT))); + nomul(0); /* stop running or travelling */ +#ifdef STEED + if (u.usteed) Sprintf(buf, "beneath %s", y_monnam(u.usteed)); + else +#endif + if (Levitation || Flying) Strcpy(buf, "beneath you"); + else Sprintf(buf, "under your %s", makeplural(body_part(FOOT))); + + You_feel("a strange vibration %s.", buf); if (otmp && otmp->spe == 7 && otmp->lamplit) pline("%s %s!", The(xname(otmp)), Blind ? "throbs palpably" : "glows with a strange light"); -- 2.40.0