change to move() was incomplete.
ip = whichitem(comm.com_type);
n = sect.sct_item[ip->i_vtype];
qty = comm.com_amount;
- if (qty + n > 9990) {
+ if (qty + n > ITEM_MAX) {
pr("That sector cannot hold %d more %s. It currently holds %d.\n",
qty, ip->i_name, n);
return RET_FAIL;
left = mob;
} else if (!istest) {
/*
- * decrement mobility appropriately.
+ * decrement mobility appropriately.
*/
getsect(x, y, &start);
mob = start.sct_mobil;
}
amt_dst = sect.sct_item[vtype];
- if (32767 - amt_dst < amount) {
+ if (amount > ITEM_MAX - amt_dst) {
pr("Only enough room for %d in %s. The goods will be returned.\n",
- 32767 - amt_dst, xyas(sect.sct_x, sect.sct_y, player->cnum));
+ ITEM_MAX - amt_dst, xyas(sect.sct_x, sect.sct_y, player->cnum));
+ /* FIXME Not nice. Move what we can and return the rest. */
getsect(x, y, §);
}
if (tsct.sct_own != player->cnum)
continue;
amt_dst = tsct.sct_item[vtype];
- if (32767 - amt_dst < amount)
+ if (amount > ITEM_MAX - amt_dst)
continue;
n = -1;
break;
if (real < 0.0)
real = 0.0;
/* production backlog? */
- if ((there = sect.sct_item[vtype]) >= 9999) {
- there = 9999;
- }
- act = min(act, (9999 - there));
- max = min(max, (9999 - there));
+ there = min(ITEM_MAX, sect.sct_item[vtype]);
+ act = min(act, ITEM_MAX - there);
+ max = min(max, ITEM_MAX - there);
}
if (prodeff != 0) {
amt = amt_sect;
if (sp->sct_mobil < excost * amt)
amt = sp->sct_mobil / excost;
- if (amt + amt_dist > 9999)
- amt = 9999 - amt_dist;
+ if (amt > ITEM_MAX - amt_dist)
+ amt = ITEM_MAX - amt_dist;
if (amt == 0)
continue;
/* XXX replace with vector assign and putvec() */
actual = 999;
material_consume = (int)(actual / (product->p_effic * 0.01));
}
- vec[item] += actual;
- if (vec[item] > 9999) {
+ if (vec[item] + actual > ITEM_MAX) {
material_consume =
- roundavg((9999.0 - vec[item] + actual) *
- material_consume / actual);
+ roundavg((ITEM_MAX - vec[item]) * material_consume / actual);
if (material_consume < 0)
material_consume = 0;
- vec[item] = 9999;
+ vec[item] = ITEM_MAX;
if (( /* vtype != V_FOOD && */ sp->sct_own) &&
(!player->simulation))
wu(0, sp->sct_own,
"%s production backlog in %s\n",
product->p_name, ownxy(sp));
- }
+ } else
+ vec[item] += actual;
}
/*
* Reset produced amount by commodity production ratio