… | |
… | |
712 | |
712 | |
713 | if (QUERY_FLAG (op, FLAG_IS_FLOOR) && QUERY_FLAG (op, FLAG_UNIQUE)) |
713 | if (QUERY_FLAG (op, FLAG_IS_FLOOR) && QUERY_FLAG (op, FLAG_UNIQUE)) |
714 | unique = 1; |
714 | unique = 1; |
715 | |
715 | |
716 | if (op->head_ () == op && (QUERY_FLAG (op, FLAG_UNIQUE) || unique)) |
716 | if (op->head_ () == op && (QUERY_FLAG (op, FLAG_UNIQUE) || unique)) |
717 | { |
|
|
718 | op->destroy_inv (false); |
|
|
719 | op->destroy (); |
717 | op->destroy (); |
720 | } |
|
|
721 | |
718 | |
722 | op = above; |
719 | op = above; |
723 | } |
720 | } |
724 | } |
721 | } |
725 | } |
722 | } |
… | |
… | |
813 | |
810 | |
814 | op->flag [FLAG_REMOVED] = true; |
811 | op->flag [FLAG_REMOVED] = true; |
815 | |
812 | |
816 | object *head = op->head_ (); |
813 | object *head = op->head_ (); |
817 | if (op == head) |
814 | if (op == head) |
818 | { |
|
|
819 | op->destroy_inv (false); |
|
|
820 | op->destroy (); |
815 | op->destroy (); |
821 | } |
|
|
822 | else if (head->map != op->map) |
816 | else if (head->map != op->map) |
823 | { |
817 | { |
824 | LOG (llevDebug, "bad luck for object crossing map borders: %s", head->debug_desc ()); |
818 | LOG (llevDebug, "bad luck for object crossing map borders: %s", head->debug_desc ()); |
825 | head->destroy (); |
819 | head->destroy (); |
826 | } |
820 | } |