While wearing EotO, ";" and selecting a monster behind a wall would display
"normal vision" as well as "astral vision". This is because cansee() gets
set for things seen via astral vision. However, couldsee() is only set for
things that could be seen normally, so check both values.
limit how high accuracy, damage, or protection can become via eating rings
when blinded hero detects a trap by touch, make sure it shows up on the map
confused remove curse will cause loss of knowledge of items' curse/bless state
+With astral vision, the ";" command should only display "normal vision"
+ for things that could be seen without astral vision
Platform- and/or Interface-Specific Fixes
boolean useemon = (boolean) canseemon(mtmp);
xraydist = (u.xray_range<0) ? -1 : u.xray_range * u.xray_range;
- /* normal vision */
- if ((mtmp->wormno ? worm_known(mtmp) : cansee(mtmp->mx, mtmp->my)) &&
+ /* normal vision
+ * cansee is true for both normal and astral vision,
+ * but couldsee it not true for astral vision */
+ if ((mtmp->wormno ? worm_known(mtmp) :
+ (cansee(mtmp->mx, mtmp->my) && couldsee(mtmp->mx, mtmp->my))) &&
mon_visible(mtmp) && !mtmp->minvis) {
ways_seen++;
normal++;