… | |
… | |
284 | } |
284 | } |
285 | |
285 | |
286 | user->remove (); |
286 | user->remove (); |
287 | |
287 | |
288 | /* Update location for the object */ |
288 | /* Update location for the object */ |
289 | for (tmp = user; tmp != NULL; tmp = tmp->more) |
289 | for (tmp = user; tmp; tmp = tmp->more) |
290 | { |
290 | { |
291 | tmp->x = other_teleporter->x + freearr_x[k] + (tmp->arch == NULL ? 0 : tmp->arch->x); |
291 | tmp->x = other_teleporter->x + freearr_x[k] + (tmp->arch ? tmp->arch->x : 0); |
292 | tmp->y = other_teleporter->y + freearr_y[k] + (tmp->arch == NULL ? 0 : tmp->arch->y); |
292 | tmp->y = other_teleporter->y + freearr_y[k] + (tmp->arch ? tmp->arch->y : 0); |
293 | } |
293 | } |
|
|
294 | |
294 | tmp = insert_ob_in_map (user, other_teleporter->map, NULL, 0); |
295 | tmp = insert_ob_in_map (user, other_teleporter->map, NULL, 0); |
295 | return (tmp == NULL); |
296 | return !tmp; |
296 | } |
297 | } |
297 | |
298 | |
298 | void |
299 | void |
299 | recursive_roll (object *op, int dir, object *pusher) |
300 | recursive_roll (object *op, int dir, object *pusher) |
300 | { |
301 | { |