#include "commands.h"
static int build_nuke(register struct sctstr *sp,
- register struct nchrstr *np, register int *vec);
+ register struct nchrstr *np, short *vec);
static int build_ship(register struct sctstr *sp,
- register struct mchrstr *mp, register int *vec,
+ register struct mchrstr *mp, short *vec,
int tlev);
static int build_land(register struct sctstr *sp,
- register struct lchrstr *lp, register int *vec,
+ register struct lchrstr *lp, short *vec,
int tlev);
-static int build_bridge(register struct sctstr *sp, register int *vec);
-static int build_tower(register struct sctstr *sp, register int *vec);
+static int build_bridge(register struct sctstr *sp, short *vec);
+static int build_tower(register struct sctstr *sp, short *vec);
static int build_plane(register struct sctstr *sp,
- register struct plchrstr *pp, register int *vec,
+ register struct plchrstr *pp, short *vec,
int tlev);
static int cash; /* static ok */
struct plchrstr *pp;
struct nchrstr *np;
s_char *p;
- int vec[I_MAX + 1];
int gotsect = 0;
int built;
int hold, found, number = 1, x;
gotsect++;
if (!player->owner)
continue;
- getvec(VT_ITEM, vec, (s_char *)§, EF_SECTOR);
switch (what) {
case 'l':
- built = build_land(§, lp, vec, tlev);
+ built = build_land(§, lp, sect.sct_item, tlev);
break;
case 's':
- built = build_ship(§, mp, vec, tlev);
+ built = build_ship(§, mp, sect.sct_item, tlev);
break;
case 'b':
- built = build_bridge(§, vec);
+ built = build_bridge(§, sect.sct_item);
break;
case 't':
- built = build_tower(§, vec);
+ built = build_tower(§, sect.sct_item);
break;
case 'n':
- built = build_nuke(§, np, vec);
+ built = build_nuke(§, np, sect.sct_item);
break;
case 'p':
- built = build_plane(§, pp, vec, tlev);
+ built = build_plane(§, pp, sect.sct_item, tlev);
break;
default:
pr("internal error in build (%d)\n", what);
return RET_FAIL;
}
if (built) {
- putvec(VT_ITEM, vec, (s_char *)§, EF_SECTOR);
putsect(§);
}
}
static int
build_ship(register struct sctstr *sp, register struct mchrstr *mp,
- register int *vec, int tlev)
+ short *vec, int tlev)
{
struct shpstr ship;
struct nstr_item nstr;
static int
build_land(register struct sctstr *sp, register struct lchrstr *lp,
- register int *vec, int tlev)
+ short *vec, int tlev)
{
struct lndstr land;
struct nstr_item nstr;
vec[I_GUN] -= gun;
vec[I_SHELL] -= shell;
-/* Disabled autoloading of food onto units
- max_amt = vl_find(V_FOOD, lp->l_vtype, lp->l_vamt, (int) lp->l_nv);
- food_needed = (etu_per_update * eatrate) *
- (vec[I_CIVIL] + vec[I_MILIT] + vec[I_UW])+1;
- if ((vec[I_FOOD]-max_amt) < food_needed)
- max_amt = (vec[I_FOOD]-food_needed);
-
- if (max_amt < 0)
- max_amt = 0;
-
- vec[I_FOOD] -= max_amt;
-
- memset(lvec, 0, sizeof(lvec));
- getvec(VT_ITEM, lvec, (s_char *)&land, EF_LAND);
- lvec[I_FOOD] += max_amt;
- putvec(VT_ITEM, lvec, (s_char *)&land, EF_LAND);
-*/
-
if (sp->sct_pstage == PLG_INFECT)
land.lnd_pstage = PLG_EXPOSED;
putland(nstr.cur, &land);
}
static int
-build_bridge(register struct sctstr *sp, register int *vec)
+build_bridge(register struct sctstr *sp, short *vec)
{
struct sctstr sect;
int val;
static int
build_nuke(register struct sctstr *sp, register struct nchrstr *np,
- register int *vec)
+ short *vec)
{
int w_p_eff;
int points;
static int
build_plane(register struct sctstr *sp, register struct plchrstr *pp,
- register int *vec, int tlev)
+ short *vec, int tlev)
{
struct plnstr plane;
int cost;
}
static int
-build_tower(register struct sctstr *sp, register int *vec)
+build_tower(register struct sctstr *sp, short *vec)
{
struct sctstr sect;
int val;