1 | /* |
1 | /* |
2 | * static char *rcsid_object_c = |
2 | * static char *rcsid_object_c = |
3 | * "$Id: object.C,v 1.16 2006/09/04 16:46:32 root Exp $"; |
3 | * "$Id: object.C,v 1.18 2006/09/08 16:51:42 root Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
635 | { |
635 | { |
636 | object *op = new object; |
636 | object *op = new object; |
637 | |
637 | |
638 | op->count = ++ob_count; |
638 | op->count = ++ob_count; |
639 | |
639 | |
640 | op->active_next = 0; |
|
|
641 | op->active_prev = 0; |
|
|
642 | |
|
|
643 | op->next = objects; |
640 | op->next = objects; |
644 | op->prev = 0; |
|
|
645 | |
641 | |
646 | if (objects) |
642 | if (objects) |
647 | objects->prev = op; |
643 | objects->prev = op; |
648 | |
644 | |
649 | objects = op; |
645 | objects = op; |
… | |
… | |
911 | } |
907 | } |
912 | |
908 | |
913 | if (ob->inv) |
909 | if (ob->inv) |
914 | { |
910 | { |
915 | /* Only if the space blocks everything do we not process - |
911 | /* Only if the space blocks everything do we not process - |
916 | * if some form of movemnt is allowed, let objects |
912 | * if some form of movement is allowed, let objects |
917 | * drop on that space. |
913 | * drop on that space. |
918 | */ |
914 | */ |
919 | if (free_inventory || ob->map == NULL |
915 | if (free_inventory || ob->map == NULL |
920 | || ob->map->in_memory != MAP_IN_MEMORY |
916 | || ob->map->in_memory != MAP_IN_MEMORY |
921 | || (GET_MAP_MOVE_BLOCK (ob->map, ob->x, ob->y) == MOVE_ALL)) |
917 | || (GET_MAP_MOVE_BLOCK (ob->map, ob->x, ob->y) == MOVE_ALL)) |