-/* SCCS Id: @(#)display.h 3.5 1999/11/30 */
+/* SCCS Id: @(#)display.h 3.5 2005/06/21 */
/* Copyright (c) Dean Luick, with acknowledgements to Kevin Darcy */
/* and Dave Cohrs, 1990. */
/* NetHack may be freely redistributed. See license for details. */
/*
* canseeself()
* senseself()
+ * canspotself()
*
* This returns true if the hero can see her/himself.
*
- * The u.uswallow check assumes that you can see yourself even if you are
- * invisible. If not, then we don't need the check.
+ * Sensing yourself by touch is treated as seeing yourself, even if
+ * unable to see. So when blind, being invisible won't affect your
+ * self-perception, and when swallowed, the enclosing monster touches.
*/
#define canseeself() (Blind || u.uswallow || (!Invisible && !u.uundetected))
-#define senseself() (canseeself() || Unblind_telepat || Detect_monsters)
+#define senseself() (Unblind_telepat || Detect_monsters)
+#define canspotself() (canseeself() || senseself())
/*
* random_monster()
-/* SCCS Id: @(#)display.c 3.5 2003/02/19 */
+/* SCCS Id: @(#)display.c 3.5 2005/06/21 */
/* Copyright (c) Dean Luick, with acknowledgements to Kevin Darcy */
/* and Dave Cohrs, 1990. */
/* NetHack may be freely redistributed. See license for details. */
return;
}
if (x == u.ux && y == u.uy) {
- if (senseself()) {
+ if (canspotself()) {
_map_location(x,y,0); /* map *under* self */
display_self();
} else
if (x == u.ux && y == u.uy) {
feel_location(u.ux, u.uy); /* forces an update */
- if (senseself()) display_self();
+ if (canspotself()) display_self();
}
else if ((mon = m_at(x,y))
&& ((see_it = (tp_sensemon(mon) || MATCH_WARN_OF_MON(mon)
-/* SCCS Id: @(#)pager.c 3.5 2003/08/13 */
+/* SCCS Id: @(#)pager.c 3.5 2005/06/21 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
buf[0] = monbuf[0] = 0;
glyph = glyph_at(x,y);
- if (u.ux == x && u.uy == y && senseself()) {
+ if (u.ux == x && u.uy == y && canspotself()) {
char race[QBUFSZ];
/* if not polymorphed, show both the role and the race */