/* check for early exit condition */
if (!(keep_going = (*check_proc)(arg, x, y)))
break;
+ flush_screen(1);
+ delay_output();
}
} else {
while (i++ < dx) {
/* check for early exit condition */
if (!(keep_going = (*check_proc)(arg, x, y)))
break;
+ flush_screen(1);
+ delay_output();
}
}
struct monst *mon = (struct monst *) arg;
struct monst *mtmp;
+ if (is_pool(x, y) || is_lava(x, y)) {
+ remove_monster(mon->mx, mon->my);
+ newsym(mon->mx, mon->my);
+ place_monster(mon, x, y);
+ newsym(mon->mx, mon->my);
+ set_apparxy(mon);
+ if (minliquid(mon))
+ return FALSE;
+ return TRUE;
+ }
+
/* TODO: Treat walls, doors, iron bars, pools, lava, etc. specially
* rather than just stopping before.
*/