short nuk_uid;
coord nuk_x, nuk_y; /* current loc of device */
signed char nuk_type; /* index in plchr[] */
+ signed char nuk_effic; /* unused, always 100% */
+ signed char nuk_mobil; /* unused, always 0 */
+ short nuk_tech; /* nuke's tech level */
+ char nuk_stockpile; /* group membership, unused, always ' ' */
+ coord nuk_opx, nuk_opy; /* Op sector coords, unused */
+ short nuk_mission; /* mission code, unused */
+ short nuk_radius; /* mission radius, unused */
/* end of part matching struct genitem */
short nuk_ship; /* currently aboard ship (unused) */
short nuk_plane; /* currently aboard plane */
#include "commands.h"
static int build_nuke(struct sctstr *sp,
- struct nchrstr *np, short *vec);
+ struct nchrstr *np, short *vec, int tlev);
static int build_ship(struct sctstr *sp,
- struct mchrstr *mp, short *vec,
- int tlev);
+ struct mchrstr *mp, short *vec, int tlev);
static int build_land(struct sctstr *sp,
- struct lchrstr *lp, short *vec,
- int tlev);
+ struct lchrstr *lp, short *vec, int tlev);
static int build_bridge(struct sctstr *sp, short *vec);
static int build_tower(struct sctstr *sp, short *vec);
static int build_plane(struct sctstr *sp,
- struct plchrstr *pp, short *vec,
- int tlev);
+ struct plchrstr *pp, short *vec, int tlev);
static int build_can_afford(double, char *);
/*
built = build_tower(§, sect.sct_item);
break;
case 'n':
- built = build_nuke(§, np, sect.sct_item);
+ built = build_nuke(§, np, sect.sct_item, tlev);
break;
case 'p':
built = build_plane(§, pp, sect.sct_item, tlev);
}
static int
-build_ship(struct sctstr *sp, struct mchrstr *mp,
- short *vec, int tlev)
+build_ship(struct sctstr *sp, struct mchrstr *mp, short *vec, int tlev)
{
struct shpstr ship;
struct nstr_item nstr;
}
static int
-build_land(struct sctstr *sp, struct lchrstr *lp,
- short *vec, int tlev)
+build_land(struct sctstr *sp, struct lchrstr *lp, short *vec, int tlev)
{
struct lndstr land;
struct nstr_item nstr;
}
static int
-build_nuke(struct sctstr *sp, struct nchrstr *np, short *vec)
+build_nuke(struct sctstr *sp, struct nchrstr *np, short *vec, int tlev)
{
struct nukstr nuke;
struct nstr_item nstr;
nuke.nuk_y = sp->sct_y;
nuke.nuk_own = sp->sct_own;
nuke.nuk_type = np - nchr;
+ nuke.nuk_effic = 100;
+ nuke.nuk_stockpile = ' ';
nuke.nuk_ship = nuke.nuk_plane = nuke.nuk_land = -1;
nuke.nuk_uid = nstr.cur;
+ nuke.nuk_tech = tlev;
vec[I_HCM] -= np->n_hcm;
vec[I_LCM] -= np->n_lcm;
}
static int
-build_plane(struct sctstr *sp, struct plchrstr *pp,
- short *vec, int tlev)
+build_plane(struct sctstr *sp, struct plchrstr *pp, short *vec, int tlev)
{
struct plnstr plane;
struct nstr_item nstr;
};
struct castr nuke_ca[] = {
- {NSC_SHORT, 0, 0, fldoff(nukstr, nuk_uid), "uid", EF_NUKE},
- {NSC_NATID, 0, 0, fldoff(nukstr, nuk_own), "owner", EF_NATION},
- {NSC_XCOORD, 0, 0, fldoff(nukstr, nuk_x), "xloc", EF_BAD},
- {NSC_YCOORD, 0, 0, fldoff(nukstr, nuk_y), "yloc", EF_BAD},
- {NSC_TYPEID, 0, 0, fldoff(nukstr, nuk_type), "type", EF_NUKE_CHR},
+ NSC_GENITEM(EF_NUKE, EF_NUKE_CHR),
{NSC_SHORT, 0, 0, fldoff(nukstr, nuk_plane), "plane", EF_BAD},
{NSC_TIME, NSC_EXTRA, 0, fldoff(nukstr, nuk_timestamp), "timestamp",
EF_BAD},