static char *RCSid = "$Header: nsc.c,v 1.3 89/11/15 11:28:21 mr-frog Exp $";

/*
 * nscglb.c
 *
 * empire selection global structures.
 *
 */

#include <struct.h>
#include "misc.h"
#include "var.h"
#include "xy.h"
#include "loan.h"
#include "nsc.h"
#include "news.h"
#include "nuke.h"
#include "plane.h"
#include "ship.h"
#include "sect.h"
#include "trade.h"
#include "treaty.h"

struct  castr   var_ca[]    = {
/*	NSC_VAR | V_PSTAGE,	"pstage",
	NSC_VAR | V_PTIME,	"ptime",
	NSC_VAR | V_CHE,	"che",*/
#ifdef	FALLOUT
	NSC_VAR | V_FALLOUT,	"fallout",
#endif	FALLOUT
	NSC_VAR | V_CIVIL,	"civilians",
	NSC_VAR | V_MILIT,	"military",
	NSC_VAR | V_SHELL,	"shells",
	NSC_VAR | V_GUN,	"guns",
	NSC_VAR | V_PETROL,	"petrol",
	NSC_VAR | V_IRON,	"iron ore",
	NSC_VAR | V_DUST,	"dust (gold)",
	NSC_VAR | V_BAR,	"bars of gold",
	NSC_VAR | V_FOOD,	"food",
	NSC_VAR | V_OIL,	"oil",
	NSC_VAR | V_LCM,	"lcm light const matls",
	NSC_VAR | V_HCM,	"hcm heavy const matls",
	NSC_VAR | V_UW,		"uncompensated workers",
	NSC_VAR | V_UW,		"uw",
	NSC_VAR | V_RAD,	"radioactive materials",
	NSC_VAR | V_CDEL,	"c_del",
	NSC_VAR | V_MDEL,	"m_del",
	NSC_VAR | V_UDEL,	"u_del",
	NSC_VAR | V_SDEL,	"s_del",
	NSC_VAR | V_GDEL,	"g_del",
	NSC_VAR | V_PDEL,	"p_del",
	NSC_VAR | V_IDEL,	"i_del",
	NSC_VAR | V_DDEL,	"d_del",
	NSC_VAR | V_BDEL,	"b_del",
	NSC_VAR | V_FDEL,	"f_del",
	NSC_VAR | V_ODEL,	"o_del",
	NSC_VAR | V_LDEL,	"l_del",
	NSC_VAR | V_HDEL,	"h_del",
	NSC_VAR | V_RDEL,	"r_del",
	NSC_VAR | V_CDIST,	"c_dist",
	NSC_VAR | V_MDIST,	"m_dist",
	NSC_VAR | V_UDIST,	"u_dist",
	NSC_VAR | V_SDIST,	"s_dist",
	NSC_VAR | V_GDIST,	"g_dist",
	NSC_VAR | V_PDIST,	"p_dist",
	NSC_VAR | V_IDIST,	"i_dist",
	NSC_VAR | V_DDIST,	"d_dist",
	NSC_VAR | V_BDIST,	"b_dist",
	NSC_VAR | V_FDIST,	"f_dist",
	NSC_VAR | V_ODIST,	"o_dist",
	NSC_VAR | V_LDIST,	"l_dist",
	NSC_VAR | V_HDIST,	"h_dist",
	NSC_VAR | V_RDIST,	"r_dist",
	0,                      0,
};

struct	castr   sect_ca[]    = {
#ifndef apollo
/*	NSC_COORD | NSC_OFF | fldoff(sctstr, sct_x), "xloc",
	NSC_COORD | NSC_OFF | fldoff(sctstr, sct_y), "yloc", */
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_own), "owner",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_type), "type",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_type), "des",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_effic), "efficiency",
	NSC_CHAR  | NSC_OFF | fldoff(sctstr, sct_mobil), "mobility",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_terr), "territory",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_work), "work",
/*	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_flags), "flags",*/
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_newtype), "newtype",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_newtype), "newdes",
/*	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_min), "iron ore",*/
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_min), "mineral content",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_gmin), "gold ore",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_fertil), "fertility",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_oil), "pcontent",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_oil), "ocontent",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_uran), "uranium ore",
	NSC_UCHAR | NSC_OFF | fldoff(sctstr, sct_oldown), "old owner",
	NSC_LONG  | NSC_OFF | fldoff(sctstr, sct_distpath), "distpath",
	NSC_SHORT | NSC_OFF | fldoff(sctstr, sct_avail), "avail",
#endif
	0,	0,
};

struct	castr   ship_ca[]    = {
#ifndef apollo
/*	NSC_COORD | NSC_OFF | fldoff(shpstr, shp_x), "xloc",
	NSC_COORD | NSC_OFF | fldoff(shpstr, shp_y), "yloc",*/
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_own), "owner",
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_type), "type",
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_effic), "efficiency",
	NSC_CHAR  | NSC_OFF | fldoff(shpstr, shp_mobil), "mobility",
	NSC_SHORT | NSC_OFF | fldoff(shpstr, shp_sell), "sell",
	NSC_SHORT | NSC_OFF | fldoff(shpstr, shp_tech), "tech",
	NSC_CHAR | NSC_OFF | fldoff(shpstr, shp_fleet), "fleet",
	NSC_CHAR | NSC_OFF | fldoff(shpstr, shp_nplane), "nplane",
#ifdef FUEL
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_fuel), "fuel",
#endif /* FUEL */
#ifdef XLIGHT
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_nxlight), "nxlight",
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_nxlight), "xlight",
#endif /* XLIGHT */
#ifdef SHIPCHOPPERS
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_nchoppers), "nchoppers",
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_nchoppers), "choppers",
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_nchoppers), "helos",
#endif /* SHIPCHOPPERS */
#ifdef	AUTONAV
	NSC_UCHAR | NSC_OFF | fldoff(shpstr, shp_autonav), "autonav",
#endif	AUTONAV
#endif
	0,	0,
};

struct	castr   plane_ca[]    = {
#ifndef apollo
/*	NSC_COORD | NSC_OFF | fldoff(plnstr, pln_x), "xloc",
	NSC_COORD | NSC_OFF | fldoff(plnstr, pln_y), "yloc",*/
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_own), "owner",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_type), "type",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_effic), "efficiency",
	NSC_CHAR  | NSC_OFF | fldoff(plnstr, pln_mobil), "mobility",
	NSC_SHORT| NSC_OFF | fldoff(plnstr, pln_sell), "sell",
	NSC_SHORT| NSC_OFF | fldoff(plnstr, pln_tech), "tech",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_wing), "wing",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_range), "range",
	NSC_SHORT| NSC_OFF | fldoff(plnstr, pln_ship), "ship",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_att), "attack",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_def), "defend",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_harden), "harden",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_nuketype), "nuketype",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_nukeamt), "nukeamt",
	NSC_UCHAR | NSC_OFF | fldoff(plnstr, pln_flags), "flags",
	NSC_SHORT| NSC_OFF | fldoff(plnstr, pln_ship), "ship",
	NSC_SHORT| NSC_OFF | fldoff(plnstr, pln_ship), "carrier",
	NSC_SHORT| NSC_OFF | fldoff(plnstr, pln_ship), "submarine",
#endif
	0,	0,
};

struct	castr   nuke_ca[]    = {
#ifndef apollo
/*	NSC_COORD | NSC_OFF | fldoff(nukstr, nuk_x), "xloc",
	NSC_COORD | NSC_OFF | fldoff(nukstr, nuk_y), "yloc",*/
	NSC_UCHAR | NSC_OFF | fldoff(nukstr, nuk_n), "number",
	NSC_SHORT | NSC_OFF | fldoff(nukstr, nuk_ship), "ship",
	NSC_SHORT | NSC_OFF | fldoff(nukstr, nuk_trade), "trade",
#endif
	0,	0,
};

struct	castr   treaty_ca[]    = {
#ifndef apollo
	NSC_UCHAR | NSC_OFF | fldoff(trtstr, trt_cna), "cna",
	NSC_UCHAR | NSC_OFF | fldoff(trtstr, trt_cnb), "cnb",
	NSC_UCHAR | NSC_OFF | fldoff(trtstr, trt_status), "status",
	NSC_SHORT | NSC_OFF | fldoff(trtstr, trt_acond), "acond",
	NSC_SHORT | NSC_OFF | fldoff(trtstr, trt_bcond), "bcond",
	NSC_LONG | NSC_OFF | fldoff(trtstr, trt_exp), "expiration",
#endif
	0,	0,
};

struct	castr   loan_ca[]    = {
#ifndef apollo
	NSC_UCHAR | NSC_OFF | fldoff(lonstr, l_loner), "loaner",
	NSC_UCHAR | NSC_OFF | fldoff(lonstr, l_lonee), "loanee",
	NSC_SHORT | NSC_OFF | fldoff(lonstr, l_sell), "sell",
	NSC_LONG | NSC_OFF | fldoff(lonstr, l_irate), "irate",
	NSC_LONG | NSC_OFF | fldoff(lonstr, l_ldur), "ldur",
	NSC_LONG | NSC_OFF | fldoff(lonstr, l_amtpaid), "amtpaid",
	NSC_LONG | NSC_OFF | fldoff(lonstr, l_amtdue), "amtdue",
	NSC_LONG | NSC_OFF | fldoff(lonstr, l_lastpay), "lastpay",
	NSC_LONG | NSC_OFF | fldoff(lonstr, l_duedate), "duedate",
#endif
	0,	0,
};

struct	castr   news_ca[]    = {
#ifndef apollo
	NSC_CHAR | NSC_OFF | fldoff(nwsstr, nws_ano), "actor",
	NSC_CHAR | NSC_OFF | fldoff(nwsstr, nws_vrb), "action",
	NSC_CHAR | NSC_OFF | fldoff(nwsstr, nws_vno), "victim",
	NSC_CHAR | NSC_OFF | fldoff(nwsstr, nws_ntm), "times",
	NSC_LONG | NSC_OFF | fldoff(nwsstr, nws_when), "time",
#endif
	0,	0,
};

struct	castr   trade_ca[]    = {
#ifndef apollo
	NSC_UCHAR | NSC_OFF | fldoff(trdstr, trd_type), "type",
	NSC_UCHAR | NSC_OFF | fldoff(trdstr, trd_owner), "owner",
	NSC_SHORT | NSC_OFF | fldoff(trdstr, trd_unitid), "unitid",
	NSC_LONG | NSC_OFF | fldoff(trdstr, trd_price), "price",
#endif
	0,	0,
};
