… | |
… | |
607 | { |
607 | { |
608 | tmp = present_arch_in_ob (at, this); |
608 | tmp = present_arch_in_ob (at, this); |
609 | |
609 | |
610 | if (!tmp) |
610 | if (!tmp) |
611 | { |
611 | { |
612 | tmp = arch_to_object (at); |
612 | tmp = at->instance (); |
613 | tmp = insert_ob_in_ob (tmp, this); |
613 | tmp = insert_ob_in_ob (tmp, this); |
614 | SET_FLAG (tmp, FLAG_APPLIED); |
614 | SET_FLAG (tmp, FLAG_APPLIED); |
615 | } |
615 | } |
616 | } |
616 | } |
617 | |
617 | |
… | |
… | |
637 | if (!tmp) |
637 | if (!tmp) |
638 | { |
638 | { |
639 | if (!value) |
639 | if (!value) |
640 | return; |
640 | return; |
641 | |
641 | |
642 | tmp = arch_to_object (at); |
642 | tmp = at->instance (); |
643 | tmp = insert_ob_in_ob (tmp, this); |
643 | tmp = insert_ob_in_ob (tmp, this); |
644 | SET_FLAG (tmp, FLAG_APPLIED); |
644 | SET_FLAG (tmp, FLAG_APPLIED); |
645 | } |
645 | } |
646 | |
646 | |
647 | if (value) |
647 | if (value) |
… | |
… | |
1605 | { |
1605 | { |
1606 | changed = true; |
1606 | changed = true; |
1607 | |
1607 | |
1608 | op->level++; |
1608 | op->level++; |
1609 | |
1609 | |
1610 | if (op && op == who && op->stats.exp > 1 && is_dragon_pl (who)) |
1610 | if (op && op == who && op->stats.exp > 1 && who->is_dragon ()) |
1611 | dragon_level_gain (who); |
1611 | dragon_level_gain (who); |
1612 | |
1612 | |
1613 | /* Only roll these if it is the player (who) that gained the level */ |
1613 | /* Only roll these if it is the player (who) that gained the level */ |
1614 | if (op == who && (who->level < 11) && who->type == PLAYER) |
1614 | if (op == who && (who->level < 11) && who->type == PLAYER) |
1615 | { |
1615 | { |