1 | /* |
1 | /* |
2 | * CrossFire, A Multiplayer game for X-windows |
2 | * CrossFire, A Multiplayer game |
3 | * |
3 | * |
4 | * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team |
4 | * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team |
5 | * Copyright (C) 2001 Mark Wedel & Crossfire Development Team |
5 | * Copyright (C) 2001 Mark Wedel & Crossfire Development Team |
6 | * Copyright (C) 1992 Frank Tore Johansen |
6 | * Copyright (C) 1992 Frank Tore Johansen |
7 | * |
7 | * |
… | |
… | |
835 | |
835 | |
836 | if (flag [FLAG_IS_LINKED]) |
836 | if (flag [FLAG_IS_LINKED]) |
837 | remove_button_link (this); |
837 | remove_button_link (this); |
838 | |
838 | |
839 | if (flag [FLAG_FRIENDLY]) |
839 | if (flag [FLAG_FRIENDLY]) |
840 | { |
|
|
841 | remove_friendly_object (this); |
840 | remove_friendly_object (this); |
842 | |
|
|
843 | if (type == GOLEM |
|
|
844 | && owner |
|
|
845 | && owner->type == PLAYER |
|
|
846 | && owner->contr->ranges[range_golem] == this) |
|
|
847 | owner->contr->ranges[range_golem] = 0; |
|
|
848 | } |
|
|
849 | |
841 | |
850 | if (!flag [FLAG_REMOVED]) |
842 | if (!flag [FLAG_REMOVED]) |
851 | remove (); |
843 | remove (); |
852 | |
844 | |
853 | destroy_inv (true); |
845 | destroy_inv (true); |
… | |
… | |
1180 | |
1172 | |
1181 | object *tmp, *top, *floor = NULL; |
1173 | object *tmp, *top, *floor = NULL; |
1182 | |
1174 | |
1183 | op->remove (); |
1175 | op->remove (); |
1184 | |
1176 | |
|
|
1177 | #if 0 |
1185 | if (!m->active != !op->active) |
1178 | if (!m->active != !op->active) |
1186 | if (m->active) |
1179 | if (m->active) |
1187 | op->activate_recursive (); |
1180 | op->activate_recursive (); |
1188 | else |
1181 | else |
1189 | op->deactivate_recursive (); |
1182 | op->deactivate_recursive (); |
|
|
1183 | #endif |
1190 | |
1184 | |
1191 | if (out_of_map (m, op->x, op->y)) |
1185 | if (out_of_map (m, op->x, op->y)) |
1192 | { |
1186 | { |
1193 | LOG (llevError, "Trying to insert object outside the map.\n%s\n", op->debug_desc ()); |
1187 | LOG (llevError, "Trying to insert object outside the map.\n%s\n", op->debug_desc ()); |
1194 | #ifdef MANY_CORES |
1188 | #ifdef MANY_CORES |