… | |
… | |
633 | } |
633 | } |
634 | |
634 | |
635 | void |
635 | void |
636 | give_initial_items (object *pl, treasurelist * items) |
636 | give_initial_items (object *pl, treasurelist * items) |
637 | { |
637 | { |
638 | object *op, *next = NULL; |
|
|
639 | |
|
|
640 | if (pl->randomitems != NULL) |
638 | if (pl->randomitems) |
641 | create_treasure (items, pl, GT_STARTEQUIP | GT_ONLY_GOOD, 1, 0); |
639 | create_treasure (items, pl, GT_STARTEQUIP | GT_ONLY_GOOD, 1, 0); |
642 | |
640 | |
643 | for (op = pl->inv; op; op = next) |
641 | for (object *next, *op = pl->inv; op; op = next) |
644 | { |
642 | { |
645 | next = op->below; |
643 | next = op->below; |
646 | |
644 | |
647 | /* Forces get applied per default, unless they have the |
645 | /* Forces get applied per default, unless they have the |
648 | * flag "neutral" set. Sorry but I can't think of a better way |
646 | * flag "neutral" set. Sorry but I can't think of a better way |
… | |
… | |
690 | if (op->nrof > 1) |
688 | if (op->nrof > 1) |
691 | op->nrof = 1; |
689 | op->nrof = 1; |
692 | } |
690 | } |
693 | |
691 | |
694 | if (op->type == SPELLBOOK && op->inv) |
692 | if (op->type == SPELLBOOK && op->inv) |
695 | { |
|
|
696 | CLEAR_FLAG (op->inv, FLAG_STARTEQUIP); |
693 | CLEAR_FLAG (op->inv, FLAG_STARTEQUIP); |
697 | } |
|
|
698 | |
694 | |
699 | /* Give starting characters identified, uncursed, and undamned |
695 | /* Give starting characters identified, uncursed, and undamned |
700 | * items. Just don't identify gold or silver, or it won't be |
696 | * items. Just don't identify gold or silver, or it won't be |
701 | * merged properly. |
697 | * merged properly. |
702 | */ |
698 | */ |