diff --git a/include/sect.h b/include/sect.h index 6cfcef69..5750796d 100644 --- a/include/sect.h +++ b/include/sect.h @@ -184,10 +184,12 @@ extern struct dchrstr bigcity_dchr; /* Sector flags */ #define MOVE_IN_PROGRESS bit(0) /* move in progress */ -/* maximum number of che, must fit into struct sctstr member sct_che */ -#define CHE_MAX 255 +/* maximum amount of an item, must fit into sct_item[], sct_del[], sct_dist */ +#define ITEM_MAX 9999 /* maximum number of mines, must fit into struct sctstr member sct_mines */ #define MINES_MAX 65535 +/* maximum number of che, must fit into struct sctstr member sct_che */ +#define CHE_MAX 255 /* maximum fallout, must fit into struct sctstr member sct_fallout */ #define FALLOUT_MAX 9999 diff --git a/src/lib/commands/buy.c b/src/lib/commands/buy.c index 8feb50aa..ff9593ab 100644 --- a/src/lib/commands/buy.c +++ b/src/lib/commands/buy.c @@ -333,7 +333,7 @@ check_market(void) wu(0, comm.com_owner, "Sale #%d fell through. Goods remain on the market.\n", n); comm.com_maxbidder = comm.com_owner; - } else if (m + comm.com_amount > 32767) { + } else if (m + comm.com_amount > ITEM_MAX) { wu(0, comm.com_maxbidder, "Warehouse full, sale #%d fell though.\n", n); wu(0, comm.com_owner, diff --git a/src/lib/commands/expl.c b/src/lib/commands/expl.c index 809db976..a4dc589c 100644 --- a/src/lib/commands/expl.c +++ b/src/lib/commands/expl.c @@ -236,8 +236,8 @@ explore(void) start.sct_flags &= ~MOVE_IN_PROGRESS; putsect(&start); amt_dst = sect.sct_item[vtype]; - if (32767 - amt_dst < amount) { - amount = 32767 - amt_dst; + if (amount > ITEM_MAX - amt_dst) { + amount = ITEM_MAX - amt_dst; pr("Only %d can be left there.\n", amount); if (amount <= 0) getsect(start.sct_x, start.sct_y, §); diff --git a/src/lib/commands/give.c b/src/lib/commands/give.c index b0841a8a..066f73e8 100644 --- a/src/lib/commands/give.c +++ b/src/lib/commands/give.c @@ -72,8 +72,8 @@ give(void) n = sect.sct_item[ip->i_vtype]; if (amt < 0 && -amt > n) { m = 0; - } else if (amt > 0 && amt + n > 9990) { - m = 9990; + } else if (amt > 0 && amt + n > ITEM_MAX) { + m = ITEM_MAX; } else m = n + amt; sect.sct_item[ip->i_vtype] = m; diff --git a/src/lib/commands/load.c b/src/lib/commands/load.c index 792b908d..1668e1a3 100644 --- a/src/lib/commands/load.c +++ b/src/lib/commands/load.c @@ -767,8 +767,8 @@ load_comm_ship(struct sctstr *sectp, struct shpstr *sp, move_amt = -ship_amt; if (move_amt > sect_amt) move_amt = sect_amt; - if (move_amt < sect_amt - 9999) - move_amt = sect_amt - 9999; + if (move_amt < sect_amt - ITEM_MAX) + move_amt = sect_amt - ITEM_MAX; if (!move_amt) return RET_OK; if (sectp->sct_oldown != player->cnum && item == V_CIVIL) { @@ -970,8 +970,8 @@ load_comm_land(struct sctstr *sectp, struct lndstr *lp, move_amt = -land_amt; if (move_amt > sect_amt) move_amt = sect_amt; - if (move_amt < sect_amt - 9999) - move_amt = sect_amt - 9999; + if (move_amt < sect_amt - ITEM_MAX) + move_amt = sect_amt - ITEM_MAX; if (!move_amt) return RET_OK; if (sectp->sct_own != player->cnum && move_amt > 0) { diff --git a/src/lib/commands/move.c b/src/lib/commands/move.c index 47f349b1..60c44c11 100644 --- a/src/lib/commands/move.c +++ b/src/lib/commands/move.c @@ -308,8 +308,8 @@ move(void) } amt_dst = sect.sct_item[vtype]; - if (32767 - amt_dst < amount) { - amount = 32767 - amt_dst; + if (amount > ITEM_MAX - amt_dst) { + amount = ITEM_MAX - amt_dst; pr("Only room for %d, the rest were lost.\n", amount); } if (istest) diff --git a/src/lib/commands/rese.c b/src/lib/commands/rese.c index 5207f6c4..b76ae7b7 100644 --- a/src/lib/commands/rese.c +++ b/src/lib/commands/rese.c @@ -122,8 +122,8 @@ rese(void) sect.sct_y = comm.sell_y; m = sect.sct_item[ix->i_vtype]; m = m + comm.com_amount; - if (m > 9999) - m = 9999; + if (m > ITEM_MAX) + m = ITEM_MAX; sect.sct_item[ix->i_vtype] = m; putsect(§); comm.com_owner = 0; diff --git a/src/lib/commands/thre.c b/src/lib/commands/thre.c index 429fb25e..5def538f 100644 --- a/src/lib/commands/thre.c +++ b/src/lib/commands/thre.c @@ -88,8 +88,8 @@ thre(void) if (*p == '\0' || *p == '-') continue; thresh = atoi(p); - if (thresh > 10000) - thresh = 10000; + if (thresh > ITEM_MAX) + thresh = ITEM_MAX; if ((val > 0) && (val == thresh)) { pr("%s threshold unchanged (left at %d)\n", xyas(nstr.x, nstr.y, player->cnum), val); diff --git a/src/lib/subs/plnsub.c b/src/lib/subs/plnsub.c index 38b6f56d..a6fc77e6 100644 --- a/src/lib/subs/plnsub.c +++ b/src/lib/subs/plnsub.c @@ -240,7 +240,7 @@ pln_dropoff(struct emp_qelem *list, struct ichrstr *ip, coord tx, coord ty, return; } there = sectp->sct_item[ip->i_vtype]; - max = 32767; + max = ITEM_MAX; } else { sp = ptr; there = sp->shp_item[ip->i_vtype]; diff --git a/src/lib/update/deliver.c b/src/lib/update/deliver.c index efb22b31..6c57a0c8 100644 --- a/src/lib/update/deliver.c +++ b/src/lib/update/deliver.c @@ -101,10 +101,9 @@ deliver(register struct sctstr *from, struct ichrstr *ip, int dir, return 0; } amt_dst = to->sct_item[vtype]; - if (amt_moved + amt_dst > 9990) { + if (amt_moved > ITEM_MAX - amt_dst) { /* delivery backlog */ - if ((amt_moved = 9990 - amt_dst) <= 0) - return 0; + amt_moved = ITEM_MAX - amt_dst; } to->sct_item[vtype] = amt_moved + amt_dst; /* deliver the plague too! */ diff --git a/src/lib/update/nav_util.c b/src/lib/update/nav_util.c index d3379a07..dfcbc730 100644 --- a/src/lib/update/nav_util.c +++ b/src/lib/update/nav_util.c @@ -84,8 +84,8 @@ check_nav(struct sctstr *sect) int load_it(register struct shpstr *sp, register struct sctstr *psect, int i) { - int comm, shipown, amount, ship_amt, sect_amt, - abs_max, max_amt, transfer; + int comm, shipown, amount, ship_amt, sect_amt; + int abs_max, max_amt, transfer; s_char item; struct mchrstr *vship; @@ -107,8 +107,8 @@ load_it(register struct shpstr *sp, register struct sctstr *psect, int i) if (comm == V_CIVIL || comm == V_MILIT) sect_amt--; /* leave 1 civ or mil to hold the sector. */ vship = &mchr[(int)sp->shp_type]; - abs_max = max_amt = (vl_find(comm, vship->m_vtype, - vship->m_vamt, (int)vship->m_nv)); + abs_max = max_amt = vl_find(comm, vship->m_vtype, + vship->m_vamt, (int)vship->m_nv); if (!abs_max) return 0; /* can't load the ship, skip to the end. */ @@ -168,7 +168,6 @@ unload_it(register struct shpstr *sp) int comm; int sect_amt; int ship_amt; - int abs_max = 99999; /* max amount a sector can hold. */ int max_amt; int level; @@ -204,11 +203,7 @@ unload_it(register struct shpstr *sp) if (comm == V_CIVIL) ship_amt--; /* This leaves 1 civs on board the ship */ - if (sect_amt >= abs_max) - continue; /* The sector is full. */ - - max_amt = min(ship_amt, abs_max - sect_amt); - + max_amt = min(ship_amt, ITEM_MAX - sect_amt); if (max_amt <= 0) continue;