… | |
… | |
81 | /* don't copy things with multiple squares: must be dealt with |
81 | /* don't copy things with multiple squares: must be dealt with |
82 | specially. */ |
82 | specially. */ |
83 | if (!tmp->is_head ()) |
83 | if (!tmp->is_head ()) |
84 | continue; |
84 | continue; |
85 | |
85 | |
86 | object *new_ob = object_create_clone (tmp); |
86 | object *new_ob = tmp->deep_clone (); |
87 | |
87 | |
88 | if (QUERY_FLAG (tmp, FLAG_IS_LINKED)) |
88 | if (QUERY_FLAG (tmp, FLAG_IS_LINKED)) |
89 | add_button_link (new_ob, dest_map, tmp->path_attuned); |
89 | add_button_link (new_ob, dest_map, tmp->path_attuned); |
90 | |
90 | |
91 | new_ob->x = i + x; |
|
|
92 | new_ob->y = j + y; |
|
|
93 | insert_ob_in_map (new_ob, dest_map, 0, INS_NO_MERGE | INS_NO_WALK_ON); |
91 | dest_map->insert (new_ob, x + i, y + j, 0, INS_NO_MERGE | INS_NO_WALK_ON); |
94 | } |
92 | } |
95 | } |
93 | } |
96 | |
94 | |
97 | int |
95 | int |
98 | find_spot_for_submap (maptile *map, char **layout, int *ix, int *iy, int xsize, int ysize) |
96 | find_spot_for_submap (maptile *map, char **layout, int *ix, int *iy, int xsize, int ysize) |