… | |
… | |
2634 | |
2634 | |
2635 | object *tmp2; |
2635 | object *tmp2; |
2636 | |
2636 | |
2637 | CLEAR_FLAG (op, FLAG_APPLIED); |
2637 | CLEAR_FLAG (op, FLAG_APPLIED); |
2638 | |
2638 | |
|
|
2639 | if (player *pl = who->contr) |
|
|
2640 | { |
|
|
2641 | if (op == pl->ranged_ob) pl->ranged_ob = 0; |
|
|
2642 | if (op == pl->combat_ob) pl->combat_ob = 0; |
|
|
2643 | } |
|
|
2644 | |
2639 | switch (op->type) |
2645 | switch (op->type) |
2640 | { |
2646 | { |
2641 | case WEAPON: |
2647 | case WEAPON: |
2642 | new_draw_info_format (NDI_UNIQUE, 0, who, "You unwield %s.", query_name (op)); |
2648 | new_draw_info_format (NDI_UNIQUE, 0, who, "You unwield %s.", query_name (op)); |
2643 | |
2649 | |
2644 | change_abil (who, op); |
2650 | change_abil (who, op); |
2645 | CLEAR_FLAG (who, FLAG_READY_WEAPON); |
2651 | CLEAR_FLAG (who, FLAG_READY_WEAPON); |
2646 | |
|
|
2647 | if (who->contr) |
|
|
2648 | { |
|
|
2649 | if (who->contr->combat_ob == op) |
|
|
2650 | who->contr->combat_ob = 0; |
|
|
2651 | |
|
|
2652 | if (who->current_weapon == op) |
|
|
2653 | who->current_weapon = 0; |
|
|
2654 | } |
|
|
2655 | |
|
|
2656 | clear_skill (who); |
2652 | clear_skill (who); |
2657 | break; |
2653 | break; |
2658 | |
2654 | |
2659 | case SKILL: /* allows objects to impart skills */ |
2655 | case SKILL: /* allows objects to impart skills */ |
2660 | case SKILL_TOOL: |
2656 | case SKILL_TOOL: |