E void FDECL(map_invisible, (XCHAR_P, XCHAR_P));
E void FDECL(unmap_object, (int, int));
E void FDECL(map_location, (int, int, int));
+E void FDECL(feel_newsym, (XCHAR_P, XCHAR_P));
E void FDECL(feel_location, (XCHAR_P, XCHAR_P));
E void FDECL(newsym, (int, int));
E void FDECL(shieldeff, (XCHAR_P, XCHAR_P));
case SDOOR:
You_hear(hollow_str, "door");
cvt_sdoor_to_door(lev); /* ->typ = DOOR */
- if (Blind)
- feel_location(rx, ry);
- else
- newsym(rx, ry);
+ feel_newsym(rx, ry);
return res;
case SCORR:
You_hear(hollow_str, "passage");
lev->typ = CORR;
unblock_point(rx, ry);
- if (Blind)
- feel_location(rx, ry);
- else
- newsym(rx, ry);
+ feel_newsym(rx, ry);
return res;
}
trap->tseen = 1;
exercise(A_WIS, TRUE);
- if (Blind)
- feel_location(trap->tx, trap->ty);
- else
- newsym(trap->tx, trap->ty);
+ feel_newsym(trap->tx, trap->ty);
if (levl[trap->tx][trap->ty].glyph != trap_to_glyph(trap)) {
/* There's too much clutter to see your find otherwise */
lev->typ = (rockit ? STONE : ROOM);
if (dist >= 3)
impossible("mkcavepos called with dist %d", dist);
- if (Blind)
- feel_location(x, y);
- else
- newsym(x, y);
+ feel_newsym(x, y);
}
STATIC_OVL void
if (!does_block(dpx, dpy, &levl[dpx][dpy]))
unblock_point(dpx, dpy); /* vision: can see through */
- if (Blind)
- feel_location(dpx, dpy);
- else
- newsym(dpx, dpy);
+ feel_newsym(dpx, dpy);
if (digtxt && !context.digging.quiet)
pline1(digtxt); /* after newsym */
if (dmgtxt)
show_glyph(x, y, glyph);
}
+
+/*
+ * feel_newsym()
+ *
+ * When hero knows what happened to location, even when blind.
+ */
+void
+feel_newsym(x, y)
+xchar x, y;
+{
+ if (Blind)
+ feel_location(x, y);
+ else
+ newsym(x, y);
+}
+
+
/*
* feel_location()
*
} else if (maploc->doormask != D_NODOOR
&& !(maploc->doormask & D_LOCKED))
maploc->doormask = D_ISOPEN;
- if (Blind)
- feel_location(x, y); /* we know it's gone */
- else
- newsym(x, y);
+ feel_newsym(x, y); /* we know it's gone */
if (maploc->doormask == D_ISOPEN
|| maploc->doormask == D_NODOOR)
unblock_point(x, y); /* vision */
pline("Crash! You kick open a secret passage!");
exercise(A_DEX, TRUE);
maploc->typ = CORR;
- if (Blind)
- feel_location(x, y); /* we know it's gone */
- else
- newsym(x, y);
+ feel_newsym(x, y); /* we know it's gone */
unblock_point(x, y); /* vision */
return 1;
} else
exercise(A_STR, TRUE);
maploc->doormask = D_BROKEN;
}
- if (Blind)
- feel_location(x, y); /* we know we broke it */
- else
- newsym(x, y);
+ feel_newsym(x, y); /* we know we broke it */
unblock_point(x, y); /* vision */
if (shopdoor) {
add_damage(x, y, 400L);
add_damage(cc.x, cc.y, 0L);
} else
door->doormask = D_ISOPEN;
- if (Blind)
- feel_location(cc.x, cc.y); /* the hero knows she opened it */
- else
- newsym(cc.x, cc.y);
+ feel_newsym(cc.x, cc.y); /* the hero knows she opened it */
unblock_point(cc.x, cc.y); /* vision: new see through there */
} else {
exercise(A_STR, TRUE);
|| rn2(25) < (ACURRSTR + ACURR(A_DEX) + ACURR(A_CON)) / 3) {
pline_The("door closes.");
door->doormask = D_CLOSED;
- if (Blind)
- feel_location(x, y); /* the hero knows she closed it */
- else
- newsym(x, y);
+ feel_newsym(x, y); /* the hero knows she closed it */
block_point(x, y); /* vision: no longer see there */
} else {
exercise(A_STR, TRUE);
otmp = nxtobj(otmp, STATUE, TRUE);
}
- if (Blind)
- feel_location(x, y);
- else
- newsym(x, y);
+ feel_newsym(x, y);
return mtmp;
}