… | |
… | |
2254 | int |
2254 | int |
2255 | move_player (object *op, int dir) |
2255 | move_player (object *op, int dir) |
2256 | { |
2256 | { |
2257 | int pick; |
2257 | int pick; |
2258 | |
2258 | |
2259 | if (op->map == NULL || op->map->in_memory != MAP_IN_MEMORY) |
2259 | if (!op->map || op->map->in_memory != MAP_IN_MEMORY) |
2260 | return 0; |
2260 | return 0; |
2261 | |
2261 | |
2262 | /* Sanity check: make sure dir is valid */ |
2262 | /* Sanity check: make sure dir is valid */ |
2263 | if ((dir < 0) || (dir >= 9)) |
2263 | if ((dir < 0) || (dir >= 9)) |
2264 | { |
2264 | { |
2265 | LOG (llevError, "move_player: invalid direction %d\n", dir); |
2265 | LOG (llevError, "move_player: invalid direction %d\n", dir); |
2266 | return 0; |
2266 | return 0; |
2267 | } |
2267 | } |
2268 | |
2268 | |
2269 | /* peterm: added following line */ |
2269 | /* peterm: added following line */ |
2270 | if (QUERY_FLAG (op, FLAG_CONFUSED) && dir) |
2270 | if (QUERY_FLAG (op, FLAG_CONFUSED) && dir) |
2271 | dir = absdir (dir + RANDOM () % 3 + RANDOM () % 3 - 2); |
2271 | dir = absdir (dir + RANDOM () % 3 + RANDOM () % 3 - 2); |
2272 | |
2272 | |
2273 | op->facing = dir; |
2273 | op->facing = dir; |
2274 | |
2274 | |