#include <struct.h>
#include "edbproc.h"	/* this should be empty for the server */
#include "misc.h"
#include "var.h"
#include "xy.h"
#include "loan.h"
#include "nsc.h"
#include "edb.h"
#include "news.h"
#include "nuke.h"
#include "plane.h"
#include "ship.h"
#include "land.h"
#include "sect.h"
#include "trade.h"
#include "treaty.h"
#include "genitem.h"
#include "nat.h"
#include "map.h"

/* NSC table definition */
struct castr IdontKnow_ca[] = {
	NSC_UCHAR | fldoff(Object_type_336, fld_owner           ), "owner",0,0,
	NSC_SHORT | fldoff(Object_type_336, fld_uid             ), "uid",0,0,
	NSC_SHORT | fldoff(Object_type_336, fld_xloc            ), "xloc",0,0,
	NSC_SHORT | fldoff(Object_type_336, fld_yloc            ), "yloc",0,0,
	NSC_UCHAR | fldoff(Object_type_336, fld_type            ), "type",0,0,
	NSC_UCHAR | fldoff(Object_type_336, fld_effic           ), "effic",0,0,
	NSC_CHARP | fldoff(Object_type_336, fld_mobil           ), "mobil",0,0,
	NSC_SHORT | fldoff(Object_type_336, fld_sell            ), "sell",0,0,
	NSC_SHORT | fldoff(Object_type_336, fld_tech            ), "tech",0,0,
	NSC_CHARP | fldoff(Object_type_336, fld_group           ), "group",0,0,
	NSC_SHORT | fldoff(Object_type_336, fld_opx             ), "opx",0,0,
	NSC_SHORT | fldoff(Object_type_336, fld_opy             ), "opy",0,0,
	NSC_SHORT | fldoff(Object_type_336, fld_mission         ), "mission",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_civil           ), "civil",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_milit           ), "milit",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_shell           ), "shell",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_gun             ), "gun",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_petrol          ), "petrol",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_iron            ), "iron",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_dust            ), "dust",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_bar             ), "bar",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_food            ), "food",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_oil             ), "oil",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_lcm             ), "lcm",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_hcm             ), "hcm",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_uw              ), "uw",0,0,
	NSC_USHORT| fldoff(Object_type_336, fld_rad             ), "rad",0,0,
	0,0,0,0
};

/* NSC table definition */

struct castr gameinfo_ca[] = {
	NSC_INT   | fldoff(Object_type_207, fld_MAXNOC          ), "MAXNOC",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_WORLD_X         ), "WORLD_X",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_WORLD_Y         ), "WORLD_Y",0,0,
	NSC_CHARP | fldoff(Object_type_207, fld_data            ), "data",0,0,
	NSC_CHARP | fldoff(Object_type_207, fld_info            ), "info",0,0,
	NSC_CHARP | fldoff(Object_type_207, fld_port            ), "port",0,0,
	NSC_CHARP | fldoff(Object_type_207, fld_privname        ), "privname",0,0,
	NSC_CHARP | fldoff(Object_type_207, fld_privlog         ), "privlog",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_btu_build_rate  ), "btu_build_rate",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_easy_tech       ), "easy_tech",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_hard_tech       ), "hard_tech",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_start_tech      ), "start_tech",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_start_happy     ), "start_happy",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_start_research  ), "start_research",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_start_edu       ), "start_edu",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_land_mob_scale  ), "land_mob_scale",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_level_age_rate  ), "level_age_rate",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_plane_mob_scale ), "plane_mob_scale",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_sect_mob_scale  ), "sect_mob_scale",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_ship_mob_scale  ), "ship_mob_scale",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_tech_log_base   ), "tech_log_base",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_ally_factor     ), "ally_factor",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_edu_avg         ), "edu_avg",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_hap_avg         ), "hap_avg",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_startmob        ), "startmob",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_at_least_one_100), "at_least_one_100",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_buil_bh         ), "buil_bh",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_etu_per_update  ), "etu_per_update",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_land_grow_scale ), "land_grow_scale",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_land_mob_max    ), "land_mob_max",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_m_m_p_d         ), "m_m_p_d",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_max_btus        ), "max_btus",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_max_idle        ), "max_idle",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_plane_grow_scale), "plane_grow_scale",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_plane_mob_max   ), "plane_mob_max",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_players_at_00   ), "players_at_00",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_sect_mob_max    ), "sect_mob_max",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_ship_grow_scale ), "ship_grow_scale",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_ship_mob_max    ), "ship_mob_max",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_torpedo_damage  ), "torpedo_damage",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_fort_max_interdiction_range), "fort_max_interdiction_range",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_land_max_interdiction_range), "land_max_interdiction_range",0,0,
	NSC_INT   | fldoff(Object_type_207, fld_ship_max_interdiction_range), "ship_max_interdiction_range",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_buytax          ), "buytax",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_flakscale       ), "flakscale",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_maxmult         ), "maxmult",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_minmult         ), "minmult",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_tradetax        ), "tradetax",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_uwbrate         ), "uwbrate",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_buil_bc         ), "buil_bc",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_buil_bt         ), "buil_bt",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_combat_mob      ), "combat_mob",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_edu_cons        ), "edu_cons",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_hap_cons        ), "hap_cons",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_money_civ       ), "money_civ",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_money_land      ), "money_land",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_money_mil       ), "money_mil",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_money_plane     ), "money_plane",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_money_res       ), "money_res",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_money_ship      ), "money_ship",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_money_uw        ), "money_uw",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_people_damage   ), "people_damage",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_powe_cost       ), "powe_cost",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_unit_damage     ), "unit_damage",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_collateral_dam  ), "collateral_dam",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_assault_penalty ), "assault_penalty",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_babyeat         ), "babyeat",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_bankint         ), "bankint",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_eatrate         ), "eatrate",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_fcrate          ), "fcrate",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_fgrate          ), "fgrate",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_obrate          ), "obrate",0,0,
	NSC_FLOAT | fldoff(Object_type_207, fld_mission_mob_cost), "mission_mob_cost",0,0,
	0,0,0,0
};

/* NSC table definition */
struct castr bmapstr_ca[] = {
	NSC_SHORT | fldoff(Object_type_332, fld_leftx           ), "leftx",0,0,
	NSC_SHORT | fldoff(Object_type_332, fld_rightx          ), "rightx",0,0,
	NSC_SHORT | fldoff(Object_type_332, fld_y               ), "y",0,0,
	NSC_CHARP | fldoff(Object_type_332, fld_row             ), "row",0,0,
	0,0,0,0
};

/* NSC table definition */
struct castr cmapstr_ca[] = {
	NSC_SHORT | fldoff(Object_type_331, fld_x               ), "x",0,0,
	NSC_SHORT | fldoff(Object_type_331, fld_y               ), "y",0,0,
	NSC_CHARP | fldoff(Object_type_331, fld_des             ), "des",0,0,
	0,0,0,0
};

/* NSC table definition */
struct castr country_ca[] = {
	NSC_UCHAR | fldoff(Object_type_329, fld_cnum            ), "cnum",0,0,
	NSC_CHARP | fldoff(Object_type_329, fld_cnam            ), "cnam",0,0,
	NSC_SHORT | fldoff(Object_type_329, fld_xstart          ), "xstart",0,0,
	NSC_SHORT | fldoff(Object_type_329, fld_ystart          ), "ystart",0,0,
	NSC_SHORT | fldoff(Object_type_329, fld_xcap            ), "xcap",0,0,
	NSC_SHORT | fldoff(Object_type_329, fld_ycap            ), "ycap",0,0,
	NSC_USHORT| fldoff(Object_type_329, fld_tgms            ), "tgms",0,0,
	NSC_USHORT| fldoff(Object_type_329, fld_ann             ), "ann",0,0,
	NSC_USHORT| fldoff(Object_type_329, fld_minused         ), "minused",0,0,
	NSC_SHORT | fldoff(Object_type_329, fld_btu             ), "btu",0,0,
	NSC_LONG  | fldoff(Object_type_329, fld_reserve         ), "reserve",0,0,
	NSC_LONG  | fldoff(Object_type_329, fld_money           ), "money",0,0,
	NSC_FLOAT | fldoff(Object_type_329, fld_level           ), "level",0,0,
	0,0,0,0
};

