post-3.6 bug: scrambled dip message
Reported directly to devteam: constructing a verb by applying "ing" to "dip <item> into" (when attempting to dip into '-') didn't work too well. It yielded |You mime dip <item> intoing something. instead of |You mime dipping <item> into something.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.475 $ $NHDT-Date: 1615760296 2021/03/14 22:18:16 $
|
||||
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.476 $ $NHDT-Date: 1615794750 2021/03/15 07:52:30 $
|
||||
|
||||
General Fixes and Modified Features
|
||||
-----------------------------------
|
||||
@@ -538,6 +538,8 @@ change wizard mode command #wizmgender to wizard mode option 'wizmgender'
|
||||
engraving with non-blade dulled the weapon anyway (pr #464)
|
||||
'sortdiscoveries:s' had a spurious generic header shown at the start of the
|
||||
last class if there were any artifacts or unique items discovered
|
||||
after getobj refactor: "#dip <item> into -" produced a scrambled message:
|
||||
You mime dip <item> intoing something.
|
||||
|
||||
curses: 'msg_window' option wasn't functional for curses unless the binary
|
||||
also included tty support
|
||||
|
||||
21
src/invent.c
21
src/invent.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 invent.c $NHDT-Date: 1614474790 2021/02/28 01:13:10 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.320 $ */
|
||||
/* NetHack 3.7 invent.c $NHDT-Date: 1615794750 2021/03/15 07:52:30 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.324 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -1413,22 +1413,29 @@ static void
|
||||
mime_action(const char *word)
|
||||
{
|
||||
char buf[BUFSZ];
|
||||
char *bp = buf;
|
||||
char *suf = (char *) 0;
|
||||
char *bp, *pfx, *sfx;
|
||||
|
||||
Strcpy(buf, word);
|
||||
bp = pfx = sfx = (char *) 0;
|
||||
|
||||
strcpy(buf, word);
|
||||
if ((bp = strstr(buf, " on the ")) != 0) {
|
||||
/* rub on the stone[s] */
|
||||
*bp = '\0';
|
||||
suf = (bp + 1);
|
||||
sfx = (bp + 1); /* "something <sfx>" */
|
||||
}
|
||||
if (!strncmp(buf, "dip ", 4) && strstr(buf + 4, " into")) {
|
||||
/* "dip <foo> into" => "dipping <foo> into" */
|
||||
buf[3] = '\0';
|
||||
pfx = &buf[4]; /* "<pfx> something" */
|
||||
}
|
||||
if ((bp = strstr(buf, " or ")) != 0) {
|
||||
*bp = '\0';
|
||||
bp = (rn2(2) ? buf : (bp + 4));
|
||||
} else
|
||||
bp = buf;
|
||||
You("mime %s something%s%s.", ing_suffix(bp), suf ? " " : "",
|
||||
suf ? suf : "");
|
||||
|
||||
You("mime %s%s%s something%s%s.", ing_suffix(bp),
|
||||
pfx ? " " : "", pfx ? pfx : "", sfx ? " " : "", sfx ? sfx : "");
|
||||
}
|
||||
|
||||
/* getobj callback that allows any object - but not hands. */
|
||||
|
||||
Reference in New Issue
Block a user