… | |
… | |
675 | free_key_values (this); |
675 | free_key_values (this); |
676 | } |
676 | } |
677 | |
677 | |
678 | void object::link () |
678 | void object::link () |
679 | { |
679 | { |
|
|
680 | assert (!count);//D |
680 | uuid = gen_uuid (); |
681 | uuid = gen_uuid (); |
681 | |
682 | |
|
|
683 | refcnt_inc (); |
682 | objects.insert (this); |
684 | objects.insert (this); |
683 | } |
685 | } |
684 | |
686 | |
685 | void object::unlink () |
687 | void object::unlink () |
686 | { |
688 | { |
|
|
689 | assert (count);//D |
687 | objects.erase (this); |
690 | objects.erase (this); |
|
|
691 | refcnt_dec (); |
688 | } |
692 | } |
689 | |
693 | |
690 | void |
694 | void |
691 | object::activate () |
695 | object::activate () |
692 | { |
696 | { |
… | |
… | |
782 | |
786 | |
783 | if (op->flag [FLAG_STARTEQUIP] |
787 | if (op->flag [FLAG_STARTEQUIP] |
784 | || op->flag [FLAG_NO_DROP] |
788 | || op->flag [FLAG_NO_DROP] |
785 | || op->type == RUNE |
789 | || op->type == RUNE |
786 | || op->type == TRAP |
790 | || op->type == TRAP |
787 | || op->flag [FLAG_IS_A_TEMPLATE]) |
791 | || op->flag [FLAG_IS_A_TEMPLATE] |
|
|
792 | || op->flag [FLAG_DESTROY_ON_DEATH]) |
788 | op->destroy (); |
793 | op->destroy (); |
789 | else |
794 | else |
790 | map->insert (op, x, y); |
795 | map->insert (op, x, y); |
791 | } |
796 | } |
792 | } |
797 | } |