1 | /* |
1 | /* |
2 | * static char *rcsid_c_object_c = |
2 | * static char *rcsid_c_object_c = |
3 | * "$Id: c_object.C,v 1.10 2006/08/29 08:01:37 root Exp $"; |
3 | * "$Id: c_object.C,v 1.11 2006/08/29 10:51:43 elmex Exp $"; |
4 | */ |
4 | */ |
5 | /* |
5 | /* |
6 | CrossFire, A Multiplayer game for X-windows |
6 | CrossFire, A Multiplayer game for X-windows |
7 | |
7 | |
8 | Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
8 | Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
… | |
… | |
674 | |
674 | |
675 | for (floor = get_map_ob (op->map, op->x, op->y); floor; floor = floor->above) |
675 | for (floor = get_map_ob (op->map, op->x, op->y); floor; floor = floor->above) |
676 | if (INVOKE_OBJECT (DROP_ON, floor, ARG_OBJECT (tmp), ARG_OBJECT (op))) |
676 | if (INVOKE_OBJECT (DROP_ON, floor, ARG_OBJECT (tmp), ARG_OBJECT (op))) |
677 | return; |
677 | return; |
678 | |
678 | |
679 | floor = get_map_ob (op->map, op->x, op->y); |
679 | if (is_in_shop (op) |
680 | |
|
|
681 | if (floor |
|
|
682 | && floor->type == SHOP_FLOOR |
|
|
683 | && !QUERY_FLAG (tmp, FLAG_UNPAID) |
680 | && !QUERY_FLAG (tmp, FLAG_UNPAID) |
684 | && tmp->type != MONEY) |
681 | && tmp->type != MONEY) |
685 | sell_item (tmp, op); |
682 | sell_item (tmp, op); |
686 | |
683 | |
687 | tmp->x = op->x; |
684 | tmp->x = op->x; |
… | |
… | |
1164 | tmp->weight*(tmp->nrof?tmp->nrof:1)/1000.0); |
1161 | tmp->weight*(tmp->nrof?tmp->nrof:1)/1000.0); |
1165 | new_draw_info(NDI_UNIQUE, 0,op,buf); |
1162 | new_draw_info(NDI_UNIQUE, 0,op,buf); |
1166 | } |
1163 | } |
1167 | |
1164 | |
1168 | if (tmp->value && !QUERY_FLAG(tmp, FLAG_STARTEQUIP) && !QUERY_FLAG(tmp, FLAG_NO_PICK)) { |
1165 | if (tmp->value && !QUERY_FLAG(tmp, FLAG_STARTEQUIP) && !QUERY_FLAG(tmp, FLAG_NO_PICK)) { |
1169 | object *floor; |
|
|
1170 | sprintf(buf,"You reckon %s worth %s.", |
1166 | sprintf(buf,"You reckon %s worth %s.", |
1171 | tmp->nrof>1?"they are":"it is",query_cost_string(tmp,op, F_TRUE | F_APPROX)); |
1167 | tmp->nrof>1?"they are":"it is",query_cost_string(tmp,op, F_TRUE | F_APPROX)); |
1172 | new_draw_info(NDI_UNIQUE, 0,op,buf); |
1168 | new_draw_info(NDI_UNIQUE, 0,op,buf); |
1173 | floor = get_map_ob (op->map, op->x, op->y); |
1169 | if (is_in_shop (op)) { |
1174 | if (floor && floor->type == SHOP_FLOOR) { |
|
|
1175 | if(QUERY_FLAG(tmp, FLAG_UNPAID)) |
1170 | if(QUERY_FLAG(tmp, FLAG_UNPAID)) |
1176 | sprintf(buf,"%s would cost you %s.", |
1171 | sprintf(buf,"%s would cost you %s.", |
1177 | tmp->nrof>1?"They":"It",query_cost_string(tmp,op,F_BUY | F_SHOP)); |
1172 | tmp->nrof>1?"They":"It",query_cost_string(tmp,op,F_BUY | F_SHOP)); |
1178 | else |
1173 | else |
1179 | sprintf(buf,"You are offered %s for %s.", |
1174 | sprintf(buf,"You are offered %s for %s.", |