… | |
… | |
255 | return; |
255 | return; |
256 | } |
256 | } |
257 | |
257 | |
258 | op->expand_tail (); |
258 | op->expand_tail (); |
259 | |
259 | |
|
|
260 | if (!creator->is_on_map () |
260 | if (!creator->is_on_map () || op->blocked (creator->map, creator->x, creator->y)) |
261 | || (op->weight && op->blocked (creator->map, creator->x, creator->y))) |
261 | op->destroy (); |
262 | op->destroy (); |
262 | else |
263 | else |
263 | { |
264 | { |
264 | SET_FLAG (op, FLAG_OBJ_ORIGINAL); |
265 | op->flag [FLAG_OBJ_ORIGINAL] = true; |
265 | op->insert_at (creator, creator, INS_NO_MERGE | INS_NO_WALK_ON); |
266 | op->insert_at (creator, creator, INS_NO_MERGE | INS_NO_WALK_ON); |
266 | } |
267 | } |
267 | } |
268 | } |
268 | else |
269 | else |
269 | { |
270 | { |