… | |
… | |
57 | tmp->map = op->map; |
57 | tmp->map = op->map; |
58 | tmp->level = op->level; |
58 | tmp->level = op->level; |
59 | insert_ob_in_map (tmp, op->map, op, 0); |
59 | insert_ob_in_map (tmp, op->map, op, 0); |
60 | } |
60 | } |
61 | |
61 | |
62 | op->destroy_inv (true); // be explicit about dropping |
62 | op->drop_and_destroy (); |
63 | op->destroy (true); |
|
|
64 | } |
63 | } |
65 | |
64 | |
66 | void |
65 | void |
67 | remove_door2 (object *op) |
66 | remove_door2 (object *op) |
68 | { |
67 | { |
… | |
… | |
87 | tmp->map = op->map; |
86 | tmp->map = op->map; |
88 | tmp->level = op->level; |
87 | tmp->level = op->level; |
89 | insert_ob_in_map (tmp, op->map, op, 0); |
88 | insert_ob_in_map (tmp, op->map, op, 0); |
90 | } |
89 | } |
91 | |
90 | |
92 | op->destroy_inv (true); // be explicit about dropping |
91 | op->drop_and_destroy (); |
93 | op->destroy (true); |
|
|
94 | } |
92 | } |
95 | |
93 | |
96 | void |
94 | void |
97 | generate_monster (object *gen) |
95 | generate_monster (object *gen) |
98 | { |
96 | { |
… | |
… | |
1167 | { |
1165 | { |
1168 | creator->stats.hp = -1; |
1166 | creator->stats.hp = -1; |
1169 | return; |
1167 | return; |
1170 | } |
1168 | } |
1171 | |
1169 | |
1172 | if (creator->inv != NULL) |
1170 | if (creator->inv) |
1173 | { |
1171 | { |
1174 | object *ob; |
1172 | object *ob; |
1175 | int i; |
1173 | int i; |
1176 | object *ob_to_copy; |
1174 | object *ob_to_copy; |
1177 | |
1175 | |
… | |
… | |
1202 | } |
1200 | } |
1203 | |
1201 | |
1204 | /* Make sure this multipart object fits */ |
1202 | /* Make sure this multipart object fits */ |
1205 | if (new_ob->arch->more && new_ob->blocked (creator->map, creator->x, creator->y)) |
1203 | if (new_ob->arch->more && new_ob->blocked (creator->map, creator->x, creator->y)) |
1206 | { |
1204 | { |
1207 | op->destroy_inv (false); // remove when desttroy does this |
|
|
1208 | new_ob->destroy (true); |
1205 | new_ob->destroy (); |
1209 | return; |
1206 | return; |
1210 | } |
1207 | } |
1211 | |
1208 | |
1212 | // for now lets try to identify everything generated here, it mostly |
1209 | // for now lets try to identify everything generated here, it mostly |
1213 | // happens automated, so this will at least fix many identify-experience holes |
1210 | // happens automated, so this will at least fix many identify-experience holes |
… | |
… | |
1305 | op->remove (); // TODO: really necessary? |
1302 | op->remove (); // TODO: really necessary? |
1306 | |
1303 | |
1307 | if (QUERY_FLAG (op, FLAG_SEE_ANYWHERE)) |
1304 | if (QUERY_FLAG (op, FLAG_SEE_ANYWHERE)) |
1308 | make_sure_not_seen (op); |
1305 | make_sure_not_seen (op); |
1309 | |
1306 | |
1310 | op->destroy_inv (false); // be explicit about dropping |
|
|
1311 | op->destroy (true); |
1307 | op->drop_and_destroy (); |
1312 | } |
1308 | } |
1313 | |
1309 | |
1314 | return; |
1310 | return; |
1315 | } |
1311 | } |
1316 | } |
1312 | } |