----- Original Message -----
From: "Alex Mann"
<snip>
> while ((obj) && (IS_CARRYING_N(ch) < CAN_CARRY_N(ch)) && (bought < buynum)
> && (IS_CARRYING_W(ch) + GET_OBJ_WEIGHT(obj) <= CAN_CARRY_W(ch))) {
> bought++;
> /* Test if producing shop ! */
<snip>
The above only stops if there are no more objects, or if the recipient
cannot carry the object. Since shoplift (as I see it) should only take 1
of any item, you need to get rid of the while() loop and insert an if:
if (obj) {
bought++;
/* Test if producing shop ! */
(of course the rest of the code will need a rewrite, too :)
Also - you don't need the 'buynum' var - it's the counter for buying
multiple items.
Welcor of Cruelworld/Builder's Academy
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/11/01 PDT