don't reveal surface when Blind and levitating

<email deleted> wrote the following on April 10, 2006:
> When blind and levitating, you can produce a message - "You try to feel what
> is lying here on the ice. But you can't reach it!" - which reveals too much
> about the terrain below you.
This commit is contained in:
nethack.allison
2006-04-11 02:00:38 +00:00
parent 51d60d9721
commit cc31b25634
3 changed files with 11 additions and 4 deletions

View File

@@ -204,6 +204,7 @@ cancelled nurses shouldn't say "Relax, this won't hurt a bit"
check for hero location in digactualhole() before clearing u.utrap
clear any pits that the hero digs in the vault guard's temporary corridor
shattering a monster's weapon didn't work as intended for stack of N>1
don't reveal surface information that you can neither feel or see
Platform- and/or Interface-Specific Fixes

View File

@@ -1,4 +1,4 @@
/* SCCS Id: @(#)hack.c 3.5 2006/02/22 */
/* SCCS Id: @(#)hack.c 3.5 2006/04/10 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1967,6 +1967,8 @@ dopickup()
else if (u.usteed && P_SKILL(P_RIDING) < P_BASIC)
rider_cant_reach();
#endif
else if (Blind && !can_reach_floor(TRUE))
You("cannot reach anything here.");
else
You("cannot reach the %s.", surface(u.ux,u.uy));
return 0;

View File

@@ -1,4 +1,4 @@
/* SCCS Id: @(#)invent.c 3.5 2006/02/15 */
/* SCCS Id: @(#)invent.c 3.5 2006/04/10 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
@@ -2269,9 +2269,13 @@ boolean picked_some;
/* don't say "altar" twice, dfeature has more info */
You("try to feel what is here.");
} else {
const char *where = (Blind && !can_reach_floor(TRUE)) ?
"lying beneath you" : "lying here on the ",
*onwhat = (Blind && !can_reach_floor(TRUE)) ?
"" : surface(u.ux,u.uy);
You("try to feel what is %s%s.",
drift ? "floating here" : "lying here on the ",
drift ? "" : surface(u.ux, u.uy));
drift ? "floating here" : where,
drift ? "" : onwhat);
}
if (dfeature && !drift && !strcmp(dfeature, surface(u.ux,u.uy)))
dfeature = 0; /* ice already identifed */