diff --git a/src/lib/commands/improve.c b/src/lib/commands/improve.c index 9c35b0c8..25f69653 100644 --- a/src/lib/commands/improve.c +++ b/src/lib/commands/improve.c @@ -59,7 +59,6 @@ improve(void) s_char buf[1024]; s_char inbuf[128]; int type; - int vec[I_MAX + 1]; int value; int ovalue; int maxup; @@ -101,7 +100,6 @@ improve(void) continue; if (!check_sect_ok(§)) continue; - getvec(VT_ITEM, vec, (s_char *)§, EF_SECTOR); maxup = 100 - value; wanted = atoi(p); if (wanted < 0) @@ -113,8 +111,8 @@ improve(void) lneeded = intrchr[type].in_lcms * maxup; if (opt_NO_LCMS) lneeded = 0; - if (vec[I_LCM] < lneeded) { - lneeded = vec[I_LCM]; + if (sect.sct_item[I_LCM] < lneeded) { + lneeded = sect.sct_item[I_LCM]; maxup = lneeded / intrchr[type].in_lcms; if (maxup <= 0) { pr("Not enough lcms in %s\n", @@ -125,8 +123,8 @@ improve(void) hneeded = intrchr[type].in_hcms * maxup; if (opt_NO_HCMS) hneeded = 0; - if (vec[I_HCM] < hneeded) { - hneeded = vec[I_HCM]; + if (sect.sct_item[I_HCM] < hneeded) { + hneeded = sect.sct_item[I_HCM]; maxup = hneeded / intrchr[type].in_hcms; if (maxup <= 0) { pr("Not enough hcms in %s\n", @@ -168,11 +166,10 @@ improve(void) dneeded = intrchr[type].in_dcost * maxup; player->dolcost += dneeded; if (!opt_NO_LCMS) - vec[I_LCM] -= lneeded; + sect.sct_item[I_LCM] -= lneeded; if (!opt_NO_HCMS) - vec[I_HCM] -= hneeded; + sect.sct_item[I_HCM] -= hneeded; sect.sct_mobil -= mneeded; - putvec(VT_ITEM, vec, (s_char *)§, EF_SECTOR); ovalue = value; value += maxup; if (value > 100) diff --git a/src/lib/commands/shoo.c b/src/lib/commands/shoo.c index e44c534c..eec20ccf 100644 --- a/src/lib/commands/shoo.c +++ b/src/lib/commands/shoo.c @@ -59,7 +59,7 @@ shoo(void) struct lndstr land; int targets; s_char *p; - int vec[I_MAX + 1], mil, nsec; + int mil, nsec; s_char prompt[128]; s_char buf[128]; @@ -78,9 +78,7 @@ shoo(void) while (nxtsct(&nstr, §)) { if (!player->owner) continue; - if (getvec(VT_ITEM, vec, (s_char *)§, EF_SECTOR) <= 0) - continue; - mil = vec[I_MILIT]; + mil = sect.sct_item[I_MILIT]; nsec = 0; snxtitem_xy(&ni, EF_LAND, sect.sct_x, sect.sct_y); while (nxtitem(&ni, (s_char *)&land)) { @@ -92,9 +90,9 @@ shoo(void) } } - if (vec[item] == 0 || vec[I_CIVIL] > mil * 10) + if (sect.sct_item[item] == 0 || sect.sct_item[I_CIVIL] > mil * 10) continue; - nshot = vec[item] > targets ? targets : vec[item]; + nshot = sect.sct_item[item] > targets ? targets : sect.sct_item[item]; m = ((double)nshot + 4.0) / 5.0; if (m > sect.sct_mobil) { @@ -117,18 +115,17 @@ shoo(void) m = sect.sct_mobil; mob_cost = roundavg(m); sect.sct_mobil -= (u_char)mob_cost; - vec[item] -= nshot; + sect.sct_item[item] -= nshot; pr("BANG!! (thump) %d %s shot in %s!\n", nshot, ip->i_name, xyas(sect.sct_x, sect.sct_y, player->cnum)); if (chance(nshot / 100.0)) nreport(player->cnum, N_SHOOT_CIV, sect.sct_oldown, 1); - if (vec[item] <= 0 && item == V_CIVIL + if (sect.sct_item[item] <= 0 && item == I_CIVIL && (sect.sct_own != sect.sct_oldown)) { sect.sct_oldown = sect.sct_own; pr(" %s is now completely yours\n", xyas(sect.sct_x, sect.sct_y, player->cnum)); } - sect.sct_item[item] = vec[item]; putsect(§); } return RET_OK; diff --git a/src/lib/commands/spy.c b/src/lib/commands/spy.c index 55a62556..db9e4fea 100644 --- a/src/lib/commands/spy.c +++ b/src/lib/commands/spy.c @@ -111,7 +111,6 @@ spy(void) while (nxtsct(&nstr, &from)) { if (!player->owner && !player->god) continue; - getvec(VT_ITEM, vec, (s_char *)&from, EF_SECTOR); nrecon = 0; nunits = 0; snxtitem_xy(&ni, EF_LAND, from.sct_x, from.sct_y); @@ -120,7 +119,7 @@ spy(void) if (lchr[(int)land.lnd_type].l_flags & L_RECON) nrecon++; } - if ((military = vec[I_MILIT]) == 0 && (nunits == 0)) + if ((military = from.sct_item[I_MILIT]) == 0 && (nunits == 0)) continue; x = from.sct_x; y = from.sct_y; @@ -205,8 +204,7 @@ spy(void) if ((savemil != military) && (savemil > 0)) { if ((military < 0) || (military > savemil)) military = 0; - vec[I_MILIT] = military; - putvec(VT_ITEM, vec, (s_char *)&from, EF_SECTOR); + from.sct_item[I_MILIT] = military; putsect(&from); } } diff --git a/src/lib/commands/work.c b/src/lib/commands/work.c index abdc61c7..574e8c4f 100644 --- a/src/lib/commands/work.c +++ b/src/lib/commands/work.c @@ -130,8 +130,6 @@ buildeff(struct sctstr *sp, int work, double *money) int n, hcms, lcms; int effdone = 0; - getvec(VT_ITEM, vec, (s_char *)sp, EF_SECTOR); - work_cost = 0; if (sp->sct_type != sp->sct_newtype) { /* @@ -159,13 +157,13 @@ buildeff(struct sctstr *sp, int work, double *money) work_cost = work; if (dchr[sp->sct_type].d_lcms > 0) { - lcms = vec[I_LCM]; + lcms = sp->sct_item[I_LCM]; lcms /= dchr[sp->sct_type].d_lcms; if (work_cost > lcms) work_cost = lcms; } if (dchr[sp->sct_type].d_hcms > 0) { - hcms = vec[I_HCM]; + hcms = sp->sct_item[I_HCM]; hcms /= dchr[sp->sct_type].d_hcms; if (work_cost > hcms) work_cost = hcms; @@ -176,11 +174,10 @@ buildeff(struct sctstr *sp, int work, double *money) if ((dchr[sp->sct_type].d_lcms > 0) || (dchr[sp->sct_type].d_hcms > 0)) { - vec[I_LCM] -= work_cost * dchr[sp->sct_type].d_lcms; - vec[I_HCM] -= work_cost * dchr[sp->sct_type].d_hcms; + sp->sct_item[I_LCM] -= work_cost * dchr[sp->sct_type].d_lcms; + sp->sct_item[I_HCM] -= work_cost * dchr[sp->sct_type].d_hcms; } effdone += work_cost; } - putvec(VT_ITEM, vec, (s_char *)sp, EF_SECTOR); return effdone; }