supply missing changes on Guidebook.tex (pr #591 by argrath)
fix out-of-bounds access of xdir and ydir in farlook (pr #592 by copperwater)
variation of imp's period-speak (pr #602 by Vivit-R)
-
+fix m-prefix movement into warning symbol (pr #573 by entrez)
+
Code Cleanup and Reorganization
-------------------------------
register struct rm *tmpr;
register xchar x, y;
struct trap *trap = NULL;
- int wtcap;
+ int wtcap, glyph;
boolean on_ice;
xchar chainx = 0, chainy = 0,
ballx = 0, bally = 0; /* ball&chain new positions */
g.bhitpos.x = x;
g.bhitpos.y = y;
tmpr = &levl[x][y];
+ glyph = glyph_at(x, y);
/* attack monster */
if (mtmp) {
* different message and makes the player remember the monster.
*/
if (g.context.nopick && !g.context.travel
- && (canspotmon(mtmp) || glyph_is_invisible(levl[x][y].glyph))) {
+ && (canspotmon(mtmp) || glyph_is_invisible(glyph)
+ || glyph_is_warning(glyph))) {
if (M_AP_TYPE(mtmp) && !Protection_from_shape_changers
&& !sensemon(mtmp))
stumble_onto_mimic(mtmp);
/* specifying 'F' with no monster wastes a turn */
if (g.context.forcefight
/* remembered an 'I' && didn't use a move command */
- || (glyph_is_invisible(levl[x][y].glyph) && !g.context.nopick)) {
+ || (glyph_is_invisible(glyph) && !g.context.nopick)) {
struct obj *boulder = 0;
boolean explo = (Upolyd && attacktype(g.youmonst.data, AT_EXPL)),
solid = !accessible(x, y);
- int glyph = glyph_at(x, y); /* might be monster */
char buf[BUFSZ];
if (!Underwater) {