… | |
… | |
641 | char buf[MAX_BUF]; |
641 | char buf[MAX_BUF]; |
642 | |
642 | |
643 | /* Because there can be different golem spells, player may want to |
643 | /* Because there can be different golem spells, player may want to |
644 | * 'lose' their old golem. |
644 | * 'lose' their old golem. |
645 | */ |
645 | */ |
646 | if (op->type == PLAYER && op->contr->ranges[range_golem]) |
646 | if (op->type == PLAYER && op->contr->golem) |
647 | { |
647 | { |
648 | new_draw_info (NDI_UNIQUE, 0, op, "You dismiss your existing golem."); |
648 | new_draw_info (NDI_UNIQUE, 0, op, "You dismiss your existing golem."); |
649 | op->contr->ranges[range_golem]->remove (); |
649 | op->contr->golem->remove (); |
650 | op->contr->ranges[range_golem]->destroy (); |
650 | op->contr->golem->destroy (); |
651 | op->contr->ranges[range_golem] = 0; |
651 | op->contr->golem = 0; |
652 | } |
652 | } |
653 | |
653 | |
654 | if (spob->other_arch) |
654 | if (spob->other_arch) |
655 | at = spob->other_arch; |
655 | at = spob->other_arch; |
656 | else if (spob->race) |
656 | else if (spob->race) |
… | |
… | |
696 | |
696 | |
697 | if (op->type == PLAYER) |
697 | if (op->type == PLAYER) |
698 | { |
698 | { |
699 | tmp->type = GOLEM; |
699 | tmp->type = GOLEM; |
700 | tmp->set_owner (op); |
700 | tmp->set_owner (op); |
701 | op->contr->ranges[range_golem] = tmp; |
701 | op->contr->golem = tmp; |
702 | /* give the player control of the golem */ |
702 | /* give the player control of the golem */ |
703 | op->contr->shoottype = range_golem; |
|
|
704 | set_spell_skill (op, caster, spob, tmp); |
703 | set_spell_skill (op, caster, spob, tmp); |
705 | } |
704 | } |
706 | else |
705 | else |
707 | { |
706 | { |
708 | if (QUERY_FLAG (op, FLAG_FRIENDLY)) |
707 | if (QUERY_FLAG (op, FLAG_FRIENDLY)) |