… | |
… | |
204 | if (object *golem = contr->golem) |
204 | if (object *golem = contr->golem) |
205 | { |
205 | { |
206 | int i = find_free_spot (golem, newmap, x, y, 1, SIZEOFFREE); |
206 | int i = find_free_spot (golem, newmap, x, y, 1, SIZEOFFREE); |
207 | |
207 | |
208 | if (i < 0) |
208 | if (i < 0) |
|
|
209 | { |
|
|
210 | golem->destroy_inv (true); // be explicit about dropping |
209 | golem->destroy (); |
211 | golem->destroy (true); |
|
|
212 | } |
210 | else |
213 | else |
211 | { |
214 | { |
212 | newmap->insert (golem, x + freearr_x[i], y + freearr_y[i]); |
215 | newmap->insert (golem, x + freearr_x[i], y + freearr_y[i]); |
213 | golem->direction = find_dir_2 (x - golem->x, y - golem->y); |
216 | golem->direction = find_dir_2 (x - golem->x, y - golem->y); |
214 | } |
217 | } |