| 936 | } |
| 937 | |
| 938 | boolean |
| 939 | bad_rock(struct permonst *mdat, coordxy x, coordxy y) |
| 940 | { |
| 941 | return (boolean) ((Sokoban && sobj_at(BOULDER, x, y)) |
| 942 | || (IS_OBSTRUCTED(levl[x][y].typ) |
| 943 | && (!tunnels(mdat) || needspick(mdat) |
| 944 | || !may_dig(x, y)) |
| 945 | && !(passes_walls(mdat) && may_passwall(x, y)))); |
| 946 | } |
| 947 | |
| 948 | /* caller has already decided that it's a tight diagonal; check whether a |
| 949 | monster--who might be the hero--can fit through, and if not then return |