diff --git a/include/display.h b/include/display.h index 8a184ce00..08a0eef79 100644 --- a/include/display.h +++ b/include/display.h @@ -1,4 +1,4 @@ -/* 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. */ @@ -126,14 +126,17 @@ /* * 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() diff --git a/src/display.c b/src/display.c index e165b31c6..85ac929d8 100644 --- a/src/display.c +++ b/src/display.c @@ -1,4 +1,4 @@ -/* 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. */ @@ -672,7 +672,7 @@ newsym(x,y) return; } if (x == u.ux && y == u.uy) { - if (senseself()) { + if (canspotself()) { _map_location(x,y,0); /* map *under* self */ display_self(); } else @@ -714,7 +714,7 @@ newsym(x,y) 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) diff --git a/src/pager.c b/src/pager.c index 8f9a49555..fa9a2043a 100644 --- a/src/pager.c +++ b/src/pager.c @@ -1,4 +1,4 @@ -/* 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. */ @@ -64,7 +64,7 @@ lookat(x, y, buf, monbuf) 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 */