version 1.73 | | version 1.74 |
---|
| | |
/* | | /* |
* static char *rcsid_spell_util_c = | | * static char *rcsid_spell_util_c = |
* "$Id: spell_util.c,v 1.73 2003/01/08 08:39:21 mwedel Exp $"; | | * "$Id: spell_util.c,v 1.74 2003/01/17 06:23:55 mwedel Exp $"; |
*/ | | */ |
| | |
| | |
| | |
x = op->x+DIRX(op); | | x = op->x+DIRX(op); |
y = op->y+DIRY(op); | | y = op->y+DIRY(op); |
m = op->map; | | m = op->map; |
mflags = get_map_flags(op->map, &m, x, y, &x, &y); | | mflags = get_map_flags(m, &m, x, y, &x, &y); |
| | |
| | if (mflags & P_OUT_OF_MAP) return; |
| | |
r=reflwall(m, x, y, op); | | r=reflwall(m, x, y, op); |
/* We are about to run into something - we may bounce */ | | /* We are about to run into something - we may bounce */ |
| | |
| | |
nx = op->x + freearr_x[tmpdir]; | | nx = op->x + freearr_x[tmpdir]; |
ny = op->y + freearr_y[tmpdir]; | | ny = op->y + freearr_y[tmpdir]; |
if ( ! (get_map_flags(op->map, NULL, nx, ny, NULL, NULL) & P_WALL)) { | | if ( ! (get_map_flags(op->map, NULL, nx, ny, NULL, NULL) & (P_WALL | P_OUT_OF_MAP))) { |
dir = tmpdir; | | dir = tmpdir; |
break; | | break; |
} | | } |