… | |
… | |
789 | if (ms->bot = op->above) |
789 | if (ms->bot = op->above) |
790 | ms->bot->below = 0; |
790 | ms->bot->below = 0; |
791 | |
791 | |
792 | op->flag [FLAG_REMOVED] = true; |
792 | op->flag [FLAG_REMOVED] = true; |
793 | |
793 | |
|
|
794 | object *head = op->head_ (); |
794 | if (op == op->head_ ()) |
795 | if (op == head) |
795 | { |
796 | { |
796 | op->destroy_inv (false); |
797 | op->destroy_inv (false); |
797 | op->destroy (); |
798 | op->destroy (); |
|
|
799 | } |
|
|
800 | else if (head->map != op->map) |
|
|
801 | { |
|
|
802 | LOG (llevDebug, "bad luck for object crossing map borders: %s", head->debug_desc ()); |
|
|
803 | head->destroy (); |
798 | } |
804 | } |
799 | } |
805 | } |
800 | |
806 | |
801 | sfree (spaces, size ()), spaces = 0; |
807 | sfree (spaces, size ()), spaces = 0; |
802 | } |
808 | } |