Fix mention_walls distinguishing unseen walls from solid stone
Bumping into an unseen wall reported "a wall" instead of "solid stone", even though you could not know it was a wall when looking at it. Use the same method when looking at glyphs on the map instead of the map location type. Fixes #318
This commit is contained in:
@@ -765,6 +765,7 @@ falling down a hole or trapdoor will cause damage proportional to fall height
|
|||||||
stinking gas clouds block line-of-sight
|
stinking gas clouds block line-of-sight
|
||||||
covetous monsters will teleport to downstairs or upstairs to heal
|
covetous monsters will teleport to downstairs or upstairs to heal
|
||||||
have fake player monsters use verbalize instead of pline when reacting to chat
|
have fake player monsters use verbalize instead of pline when reacting to chat
|
||||||
|
fix mention_walls distinguishing unseen walls from solid stone
|
||||||
|
|
||||||
|
|
||||||
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
+14
-5
@@ -876,11 +876,20 @@ test_move(int ux, int uy, int dx, int dy, int mode)
|
|||||||
else if (Passes_walls && !may_passwall(x, y)
|
else if (Passes_walls && !may_passwall(x, y)
|
||||||
&& In_sokoban(&u.uz))
|
&& In_sokoban(&u.uz))
|
||||||
pline_The("Sokoban walls resist your ability.");
|
pline_The("Sokoban walls resist your ability.");
|
||||||
else if (flags.mention_walls)
|
else if (flags.mention_walls) {
|
||||||
pline("It's %s.",
|
char buf[BUFSZ];
|
||||||
(IS_WALL(tmpr->typ) || tmpr->typ == SDOOR) ? "a wall"
|
coord cc;
|
||||||
: IS_TREE(tmpr->typ) ? "a tree"
|
int sym = 0;
|
||||||
: "solid stone");
|
const char *firstmatch = 0;
|
||||||
|
|
||||||
|
cc.x = x, cc.y = y;
|
||||||
|
do_screen_description(cc, TRUE, sym, buf, &firstmatch, NULL);
|
||||||
|
if (!strcmp(firstmatch, "stone"))
|
||||||
|
Sprintf(buf, "solid stone");
|
||||||
|
else
|
||||||
|
Sprintf(buf, "%s", an(firstmatch));
|
||||||
|
pline("It's %s.", buf);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user