Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7

This commit is contained in:
nhmall
2020-07-02 15:55:55 -04:00
2 changed files with 42 additions and 11 deletions
+2 -1
View File
@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.236 $ $NHDT-Date: 1593614134 2020/07/01 14:35:34 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.237 $ $NHDT-Date: 1593651682 2020/07/02 01:01:22 $
General Fixes and Modified Features General Fixes and Modified Features
----------------------------------- -----------------------------------
@@ -384,6 +384,7 @@ make camera flash which reveals previously unseen map features or objects or
boolean options can optionally have the form "name:value" with value taken boolean options can optionally have the form "name:value" with value taken
from among "true", "yes", "on", or "false", "no", "off" from among "true", "yes", "on", or "false", "no", "off"
record number of wishes and artifact wishes in xlogfile record number of wishes and artifact wishes in xlogfile
give feedback for '#chat' directed at walls
Platform- and/or Interface-Specific New Features Platform- and/or Interface-Specific New Features
+40 -10
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 sounds.c $NHDT-Date: 1590263455 2020/05/23 19:50:55 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.97 $ */ /* NetHack 3.6 sounds.c $NHDT-Date: 1593651682 2020/07/02 01:01:22 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.98 $ */
/* Copyright (c) 1989 Janet Walz, Mike Threepoint */ /* Copyright (c) 1989 Janet Walz, Mike Threepoint */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -1090,18 +1090,48 @@ dochat()
mtmp = m_at(tx, ty); mtmp = m_at(tx, ty);
if ((!mtmp || mtmp->mundetected) if (!mtmp || mtmp->mundetected) {
&& (otmp = vobj_at(tx, ty)) != 0 && otmp->otyp == STATUE) { if ((otmp = vobj_at(tx, ty)) != 0 && otmp->otyp == STATUE) {
/* Talking to a statue */ /* Talking to a statue */
if (!Blind) { if (!Blind)
pline_The("%s seems not to notice you.", pline_The("%s seems not to notice you.",
/* if hallucinating, you can't tell it's a statue */ /* if hallucinating, you can't tell it's a statue */
Hallucination ? rndmonnam((char *) 0) : "statue"); Hallucination ? rndmonnam((char *) 0) : "statue");
return 0;
}
if (IS_WALL(levl[tx][ty].typ) || levl[tx][ty].typ == SDOOR) {
/* Talking to a wall; secret door remains hidden by behaving
like a wall; IS_WALL() test excludes solid rock even when
that serves as a wall bordering a corridor */
if (Blind && !IS_WALL(g.lastseentyp[tx][ty])) {
/* when blind, you can only talk to a wall if it has
already been mapped as a wall */
;
} else if (!Hallucination) {
pline("It's like talking to a wall.");
} else {
static const char *const walltalk[] = {
"gripes about its job.",
"tells you a funny joke!",
"insults your heritage!",
"chuckles.",
"guffaws merrily!",
"deprecates your exploration efforts.",
"suggests a stint of rehab...",
"doesn't seem to be interested.",
};
int idx = rn2(10);
if (idx >= SIZE(walltalk))
idx = SIZE(walltalk) - 1;
pline_The("wall %s", walltalk[idx]);
}
return 0;
} }
return 0;
} }
if (!mtmp || mtmp->mundetected || M_AP_TYPE(mtmp) == M_AP_FURNITURE if (!mtmp || mtmp->mundetected
|| M_AP_TYPE(mtmp) == M_AP_FURNITURE
|| M_AP_TYPE(mtmp) == M_AP_OBJECT) || M_AP_TYPE(mtmp) == M_AP_OBJECT)
return 0; return 0;