bx += dx, by += dy;
if (!isok(bx, by))
return FALSE;
- if (IS_ROCK(levl[bx][by].typ) || closed_door(bx, by))
+ if (IS_ROCK(levl[bx][by].typ) || closed_door(bx, by)
+ || levl[bx][by].typ == WATER)
return FALSE;
if ((*fnc)(bx, by))
return TRUE;
do {
/* <bx,by> is guaranteed to eventually converge with <ax,ay> */
bx += dx, by += dy;
- if (IS_ROCK(levl[bx][by].typ) || closed_door(bx, by))
+ if (IS_ROCK(levl[bx][by].typ) || closed_door(bx, by)
+ || levl[bx][by].typ == WATER)
return FALSE;
if (sobj_at(BOULDER, bx, by))
++boulderspots;