Combine the definitions of include/optlist.h and the use thereof in
src/lib/gen/emp_config.c into a single file: include/econfig-spec.h.
This commit is contained in:
parent
19f567bccf
commit
739a695241
3 changed files with 311 additions and 366 deletions
305
include/econfig-spec.h
Normal file
305
include/econfig-spec.h
Normal file
|
@ -0,0 +1,305 @@
|
||||||
|
/*
|
||||||
|
* Empire - A multi-player, client/server Internet based war game.
|
||||||
|
* Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
|
||||||
|
* Ken Stevens, Steve McClure
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
* ---
|
||||||
|
*
|
||||||
|
* See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
|
||||||
|
* related information and legal notices. It is expected that any future
|
||||||
|
* projects/authors will amend these files as needed.
|
||||||
|
*
|
||||||
|
* ---
|
||||||
|
*
|
||||||
|
* econfig-spec.h: Combined include for optlist.h and emp_config.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(EMP_CONFIG_C_OUTPUT)
|
||||||
|
|
||||||
|
#define EMPCFONLYC(fvname, vname, vtype, ctype, num, descr) \
|
||||||
|
{ (fvname), (ctype), ((caddr_t)&(vname)), (num), (descr) },
|
||||||
|
#define EMPCFBOTH(fvname, vname, vtype, ctype, num, descr) \
|
||||||
|
{ (fvname), (ctype), ((caddr_t)&(vname)), (num), (descr) },
|
||||||
|
|
||||||
|
#elif defined(EMP_CONFIG_H_OUTPUT)
|
||||||
|
|
||||||
|
#define EMPCFONLYC(fvname, vname, vtype, ctype, num, descr)
|
||||||
|
#define EMPCFBOTH(fvname, vname, vtype, ctype, num, descr) \
|
||||||
|
extern vtype vname;
|
||||||
|
|
||||||
|
#endif /* EMP_CONFIG_C_OUTPUT || EMP_CONFIG_H_OUTPUT */
|
||||||
|
|
||||||
|
/* things that can be changed */
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0,
|
||||||
|
"\n### Server configuration and information")
|
||||||
|
EMPCFBOTH("data", datadir, s_char *, optstrset, 0,
|
||||||
|
"Directory the data is stored in")
|
||||||
|
EMPCFBOTH("info", infodir, s_char *, optstrset, 0,
|
||||||
|
"Directory the info pages are stored in")
|
||||||
|
EMPCFBOTH("port", loginport, s_char *, optstrset, 0,
|
||||||
|
"TCP/IP port the server will start up on")
|
||||||
|
EMPCFBOTH("privname", privname, s_char *, optstrset, 0,
|
||||||
|
"Name of the deity")
|
||||||
|
EMPCFBOTH("privlog", privlog, s_char *, optstrset, 0,
|
||||||
|
"E-mail of the deity")
|
||||||
|
EMPCFBOTH("WORLD_X", WORLD_X, int, worldxset, 0,
|
||||||
|
"World size X dimension (enforced to be even by subtracting 1 if necessary)")
|
||||||
|
EMPCFBOTH("WORLD_Y", WORLD_Y, int, intset, 0,
|
||||||
|
"World size Y dimension")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Update policy")
|
||||||
|
EMPCFBOTH("update_policy", update_policy, int, intset, 0,
|
||||||
|
"0 - normal, 1 - update_times, 2 - blitz, 3 - demand only")
|
||||||
|
EMPCFBOTH("etu_per_update", etu_per_update, int, intset, 0,
|
||||||
|
"Number of ETUs per update")
|
||||||
|
EMPCFBOTH("s_p_etu", s_p_etu, int, intset, 0,
|
||||||
|
"Seconds per etu, updates will occur every s_p_etu * etu_per_update seconds")
|
||||||
|
EMPCFBOTH("adj_update", adj_update, int, intset, 0,
|
||||||
|
"Move the update forward or backward (in seconds)")
|
||||||
|
EMPCFBOTH("update_window", update_window, int, intset, 0,
|
||||||
|
"Window the update will occur in (in seconds) before and after the update time")
|
||||||
|
EMPCFBOTH("update_times", update_times, s_char *, optstrset, 0,
|
||||||
|
"Times when updates occur under policy #1. Must coincide with schedule.")
|
||||||
|
EMPCFBOTH("hourslop", hourslop, int, intset, 0,
|
||||||
|
"Number of minutes update check can slip to match update_times")
|
||||||
|
EMPCFBOTH("blitz_time", blitz_time, int, intset, 0,
|
||||||
|
"Number of minutes between updates under policy #2.")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0,
|
||||||
|
"\n\n### Demand update policy")
|
||||||
|
EMPCFBOTH("update_demandpolicy", update_demandpolicy, int, intset, 0,
|
||||||
|
"0 - emp_tm checks, 1 - after setting, 2 - demand updates disabled")
|
||||||
|
EMPCFBOTH("update_wantmin", update_wantmin, int, intset, 0,
|
||||||
|
"number of requests needed for demand update")
|
||||||
|
EMPCFBOTH("update_missed", update_missed, int, intset, 0,
|
||||||
|
"number of demand updates country can miss before veto update")
|
||||||
|
EMPCFBOTH("update_demandtimes", update_demandtimes, s_char *, optstrset, 0,
|
||||||
|
"Times when demand updates can occur. Ranges CANNOT cross midnight.")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0,
|
||||||
|
"\n\n### Game hours restrictions")
|
||||||
|
EMPCFBOTH("game_days", game_days, s_char *, optstrset, 0,
|
||||||
|
"Days game is up and running (Su Mo Tu We Th Fr Sa)")
|
||||||
|
EMPCFBOTH("game_hours", game_hours, s_char *, optstrset, 0,
|
||||||
|
"Hours game is up and running (6:00-18:00)")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Options\n")
|
||||||
|
EMPCFONLYC("option", emp_config_dummy, option, optionset, 0, NULL)
|
||||||
|
EMPCFONLYC("nooption", emp_config_dummy, nooption, optiondel, 0, NULL)
|
||||||
|
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Countries")
|
||||||
|
EMPCFBOTH("btu_build_rate", btu_build_rate, float, floatset, 0,
|
||||||
|
"Rate at which BTUs accumulate (etu * civ * eff * btu_build_rate)")
|
||||||
|
EMPCFBOTH("m_m_p_d", m_m_p_d, int, intset, 0,
|
||||||
|
"Maximum minutes per day a country is allowed to be logged in")
|
||||||
|
EMPCFBOTH("max_btus", max_btus, int, intset, 0,
|
||||||
|
"Maximum number of BTUs a country can have")
|
||||||
|
EMPCFBOTH("max_idle", max_idle, int, intset, 0,
|
||||||
|
"Maximum number of minutes a player can sit idle while logged in")
|
||||||
|
EMPCFBOTH("players_at_00", players_at_00, int, intset, 0,
|
||||||
|
"Players have their coordinate system at deity 0,0 (0 - no, 1 - yes)")
|
||||||
|
EMPCFBOTH("at_least_one_100", at_least_one_100, int, intset, 0,
|
||||||
|
"Initialize new countries with at least one sector with 100 of all resource")
|
||||||
|
EMPCFBOTH("powe_cost", powe_cost, double, doubleset, 0,
|
||||||
|
"Number of BTUs needed to generate a new power report")
|
||||||
|
EMPCFBOTH("war_cost", War_Cost, int, intset, 0,
|
||||||
|
"Cost to declare war (if SLOW_WAR is on)")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0,
|
||||||
|
"\n\n### Technology/Research/Education/Happiness")
|
||||||
|
EMPCFBOTH("easy_tech", easy_tech, float, floatset, 0,
|
||||||
|
"Amount of tech built with no penalty")
|
||||||
|
EMPCFBOTH("hard_tech", hard_tech, float, floatset, 0,
|
||||||
|
"Amount of in-efficiently built tech")
|
||||||
|
EMPCFBOTH("start_tech", start_technology, float, floatset, 0,
|
||||||
|
"Starting technology for new countries")
|
||||||
|
EMPCFBOTH("start_happy", start_happiness, float, floatset, 0,
|
||||||
|
"Starting happiness for new countries")
|
||||||
|
EMPCFBOTH("start_research", start_research, float, floatset, 0,
|
||||||
|
"Starting research for new countries")
|
||||||
|
EMPCFBOTH("start_edu", start_education, float, floatset, 0,
|
||||||
|
"Starting education for new countries")
|
||||||
|
EMPCFBOTH("level_age_rate", level_age_rate, float, floatset, 0,
|
||||||
|
"ETU rate at which tech decays (0 -> no decline)")
|
||||||
|
EMPCFBOTH("tech_log_base", tech_log_base, float, floatset, 0,
|
||||||
|
"Log base to apply to tech breakthroughs above the easy tech level")
|
||||||
|
EMPCFBOTH("ally_factor", ally_factor, float, floatset, 0,
|
||||||
|
"Shared tech with allies (1 / ally_factor)")
|
||||||
|
EMPCFBOTH("edu_avg", edu_avg, float, floatset, 0,
|
||||||
|
"Number of ETUs education is averaged over")
|
||||||
|
EMPCFBOTH("hap_avg", hap_avg, float, floatset, 0,
|
||||||
|
"Number of ETUs happiness is averaged over")
|
||||||
|
EMPCFBOTH("edu_cons", edu_cons, double, doubleset, 0,
|
||||||
|
"Education consumption (1 breakthrough per edu_cons)")
|
||||||
|
EMPCFBOTH("hap_cons", hap_cons, double, doubleset, 0,
|
||||||
|
"Happiness consumption (1 breakthrough per hap_cons)")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Sectors")
|
||||||
|
EMPCFBOTH("startmob", startmob, int, intset, 0,
|
||||||
|
"Starting mobility for sanctuaries")
|
||||||
|
EMPCFBOTH("sect_mob_scale", sect_mob_scale, float, floatset, 0,
|
||||||
|
"Sector mobility accumulation (sect_mob_scale * ETUs per update)")
|
||||||
|
EMPCFBOTH("sect_mob_max", sect_mob_max, int, intset, 0,
|
||||||
|
"Maximum mobility for sectors")
|
||||||
|
EMPCFBOTH("buil_bh", buil_bh, int, intset, 0,
|
||||||
|
"Number of hcms required to build a bridge span")
|
||||||
|
EMPCFBOTH("buil_bc", buil_bc, double, doubleset, 0,
|
||||||
|
"Cash required to build a bridge span")
|
||||||
|
EMPCFBOTH("buil_bt", buil_bt, double, doubleset, 0,
|
||||||
|
"Technology required to build a bridge span")
|
||||||
|
EMPCFBOTH("buil_tower_bh", buil_tower_bh, int, intset, 0,
|
||||||
|
"Number of hcms required to build a bridge tower")
|
||||||
|
EMPCFBOTH("buil_tower_bc", buil_tower_bc, double, doubleset, 0,
|
||||||
|
"Cash required to build a bridge tower")
|
||||||
|
EMPCFBOTH("buil_tower_bt", buil_tower_bt, double, doubleset, 0,
|
||||||
|
"Technology required to build a bridge tower")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Land Units")
|
||||||
|
EMPCFBOTH("land_mob_scale", land_mob_scale, float, floatset, 0,
|
||||||
|
"Land unit mobility accumulation (land_mob_scale * ETUs per update)")
|
||||||
|
EMPCFBOTH("land_grow_scale", land_grow_scale, int, intset, 0,
|
||||||
|
"How fast efficiency grows for land units each update (* ETUs)")
|
||||||
|
EMPCFBOTH("land_mob_max", land_mob_max, int, intset, 0,
|
||||||
|
"Maximum mobility for land units")
|
||||||
|
EMPCFBOTH("money_land", money_land, double, doubleset, 0,
|
||||||
|
"Cost per ETU to maintain land units (percentage of unit price)")
|
||||||
|
EMPCFBOTH("morale_base", morale_base, int, intset, 0,
|
||||||
|
"Base level for setting morale of land units")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Planes")
|
||||||
|
EMPCFBOTH("plane_mob_scale", plane_mob_scale, float, floatset, 0,
|
||||||
|
"Plane mobility accumulation (plane_mob_scale * ETUs per update)")
|
||||||
|
EMPCFBOTH("plane_grow_scale", plane_grow_scale, int, intset, 0,
|
||||||
|
"How fast efficiency grows for planes each update (* ETUs)")
|
||||||
|
EMPCFBOTH("plane_mob_max", plane_mob_max, int, intset, 0,
|
||||||
|
"Maximum mobility for planes")
|
||||||
|
EMPCFBOTH("money_plane", money_plane, double, doubleset, 0,
|
||||||
|
"Cost per ETU to maintain planes (percentage of plane price)")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Ships")
|
||||||
|
EMPCFBOTH("ship_mob_scale", ship_mob_scale, float, floatset, 0,
|
||||||
|
"Ship mobility accumulation (ship_mob_scale * ETUs per update)")
|
||||||
|
EMPCFBOTH("ship_grow_scale", ship_grow_scale, int, intset, 0,
|
||||||
|
"How fast efficiency grows for ships each update (* ETUs)")
|
||||||
|
EMPCFBOTH("ship_mob_max", ship_mob_max, int, intset, 0,
|
||||||
|
"Maximum mobility for ships")
|
||||||
|
EMPCFBOTH("money_ship", money_ship, double, doubleset, 0,
|
||||||
|
"Cost per ETU to maintain ships (percentage of ship price)")
|
||||||
|
EMPCFBOTH("torpedo_damage", torpedo_damage, int, intset, 0,
|
||||||
|
"Torpedo damage (damage is X + 1dX + 1dX)")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Combat/Damage")
|
||||||
|
EMPCFBOTH("fort_max_interdiction_range", fort_max_interdiction_range, int, intset, 0,
|
||||||
|
"Maximum range (in sectors) a fort will try to interdict another country")
|
||||||
|
EMPCFBOTH("land_max_interdiction_range", land_max_interdiction_range, int, intset, 0,
|
||||||
|
"Maximum range (in sectors) a land unit will try to interdict another country")
|
||||||
|
EMPCFBOTH("ship_max_interdiction_range", ship_max_interdiction_range, int, intset, 0,
|
||||||
|
"Maximum range (in sectors) a ship will try to interdict another country")
|
||||||
|
EMPCFBOTH("flakscale", flakscale, double, doubleset, 0,
|
||||||
|
"Scale factor for flak damage")
|
||||||
|
EMPCFBOTH("combat_mob", combat_mob, double, doubleset, 0,
|
||||||
|
"How much mobility do units spend for combat (* casualties/bodies)")
|
||||||
|
EMPCFBOTH("people_damage", people_damage, double, doubleset, 0,
|
||||||
|
"People take this amount of normal damage")
|
||||||
|
EMPCFBOTH("unit_damage", unit_damage, double, doubleset, 0,
|
||||||
|
"Land units take this amount of normal damage")
|
||||||
|
EMPCFBOTH("collateral_dam", collateral_dam, double, doubleset, 0,
|
||||||
|
"Side effect damage amount done to sector")
|
||||||
|
EMPCFBOTH("assault_penalty", assault_penalty, double, doubleset, 0,
|
||||||
|
"Amount of normal attacking efficiency for paratroopers and assaulting")
|
||||||
|
EMPCFBOTH("fire_range_factor", fire_range_factor, float, floatset, 0,
|
||||||
|
"Scale normal firing ranges by this amount")
|
||||||
|
EMPCFBOTH("sect_mob_neg_factor", sect_mob_neg_factor, int, intset, 0,
|
||||||
|
"Amount of negative mobility a sector has after takeover (ETU / x) (MOB_ACCESS)")
|
||||||
|
EMPCFBOTH("mission_mob_cost", mission_mob_cost, double, doubleset, 0,
|
||||||
|
"Cost to put something on a mission (percentage of max mob)")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Populace")
|
||||||
|
EMPCFBOTH("uwbrate", uwbrate, double, doubleset, 0,
|
||||||
|
"Birth rate for uw's")
|
||||||
|
EMPCFBOTH("money_civ", money_civ, double, doubleset, 0,
|
||||||
|
"Money gained from taxes on a civilian in one ETU")
|
||||||
|
EMPCFBOTH("money_mil", money_mil, double, doubleset, 0,
|
||||||
|
"Money gained from taxes on an active soldier in one ETU")
|
||||||
|
EMPCFBOTH("money_res", money_res, double, doubleset, 0,
|
||||||
|
"Money gained from taxes on a soldier on active reserve in one ETU")
|
||||||
|
EMPCFBOTH("money_uw", money_uw, double, doubleset, 0,
|
||||||
|
"Money gained from taxes on an uncompensated worker in one ETU")
|
||||||
|
EMPCFBOTH("babyeat", babyeat, double, doubleset, 0,
|
||||||
|
"Amount of food to mature 1 baby into a civilian")
|
||||||
|
EMPCFBOTH("bankint", bankint, double, doubleset, 0,
|
||||||
|
"Bank dollar gain (per bar per etu)")
|
||||||
|
EMPCFBOTH("eatrate", eatrate, double, doubleset, 0,
|
||||||
|
"Food eating rate for mature people")
|
||||||
|
EMPCFBOTH("fcrate", fcrate, double, doubleset, 0,
|
||||||
|
"Food cultivation rate (* workforce in sector)")
|
||||||
|
EMPCFBOTH("fgrate", fgrate, double, doubleset, 0,
|
||||||
|
"Food growth rate (* fertility of sector)")
|
||||||
|
EMPCFBOTH("obrate", obrate, double, doubleset, 0,
|
||||||
|
"Civilian birth rate")
|
||||||
|
EMPCFBOTH("rollover_avail_max", rollover_avail_max, int, intset, 0,
|
||||||
|
"Maximum avail that can roll over an update")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Nukes")
|
||||||
|
EMPCFBOTH("decay_per_etu", decay_per_etu, double, doubleset, 0,
|
||||||
|
"Decay of fallout per ETU")
|
||||||
|
EMPCFBOTH("fallout_spread", fallout_spread, double, doubleset, 0,
|
||||||
|
"Amount of fallout that leaks into surrounding sectors")
|
||||||
|
EMPCFBOTH("drnuke_const", drnuke_const, float, floatset, 0,
|
||||||
|
"Amount of research to tech needed to build a nuke (if DR_NUKE is on)")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Market/Trade")
|
||||||
|
EMPCFBOTH("MARK_DELAY", MARK_DELAY, int, intset, 0,
|
||||||
|
"Number of seconds commodities stay on the market for bidding")
|
||||||
|
EMPCFBOTH("TRADE_DELAY", TRADE_DELAY, int, intset, 0,
|
||||||
|
"Number of seconds ships, planes, and units stay on the market for bidding")
|
||||||
|
EMPCFBOTH("buytax", buytax, double, doubleset, 0,
|
||||||
|
"Tax (in percentage points) charged to the buyer on market purchases")
|
||||||
|
EMPCFBOTH("tradetax", tradetax, double, doubleset, 0,
|
||||||
|
"Amount of a trade transaction the seller makes (the rest is tax)")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Trade ships")
|
||||||
|
EMPCFBOTH("trade_1_dist", trade_1_dist, int, intset, 0,
|
||||||
|
"Less than this distance no money for cashing in")
|
||||||
|
EMPCFBOTH("trade_2_dist", trade_2_dist, int, intset, 0,
|
||||||
|
"Less than this distance gets trade_1 money for cashing in")
|
||||||
|
EMPCFBOTH("trade_3_dist", trade_3_dist, int, intset, 0,
|
||||||
|
"Less than this distance gets trade_2 money for cashing in (>= gets trade_3")
|
||||||
|
EMPCFBOTH("trade_1", trade_1, float, floatset, 0,
|
||||||
|
"Return per sector on trade_1 distance amount")
|
||||||
|
EMPCFBOTH("trade_2", trade_2, float, floatset, 0,
|
||||||
|
"Return per sector on trade_2 distance amount")
|
||||||
|
EMPCFBOTH("trade_3", trade_3, float, floatset, 0,
|
||||||
|
"Return per sector on trade_3 distance amount")
|
||||||
|
EMPCFBOTH("trade_ally_bonus", trade_ally_bonus, float, floatset, 0,
|
||||||
|
"Bonus you get for cashing in with an ally")
|
||||||
|
EMPCFBOTH("trade_ally_cut", trade_ally_cut, float, floatset, 0,
|
||||||
|
"Bonus your ally gets for you cashing in with them")
|
||||||
|
|
||||||
|
EMPCFONLYC("", emp_config_dummy, int, intset, 0, "\n\n### Misc.")
|
||||||
|
EMPCFBOTH("fuel_mult", fuel_mult, int, intset, 0,
|
||||||
|
"Multiplier for fuel to mobility calculation")
|
||||||
|
EMPCFBOTH("lost_items_timeout", lost_items_timeout, int, intset, 0,
|
||||||
|
"Seconds before a lost item is timed out of the database")
|
||||||
|
EMPCFBOTH("last_demand_update", last_demand_update, long, longset, 0,
|
||||||
|
"When was the last demand update occured")
|
||||||
|
|
||||||
|
EMPCFONLYC(NULL, emp_config_dummy, NULL, NULL, 0, NULL)
|
||||||
|
|
||||||
|
#undef EMPCFONLYC
|
||||||
|
#undef EMPCFBOTH
|
|
@ -89,113 +89,9 @@ extern int opt_TREATIES;
|
||||||
extern int opt_UPDATESCHED;
|
extern int opt_UPDATESCHED;
|
||||||
|
|
||||||
/* Game parameters, can be set in econfig */
|
/* Game parameters, can be set in econfig */
|
||||||
extern s_char *datadir;
|
#define EMP_CONFIG_H_OUTPUT
|
||||||
extern s_char *infodir;
|
#include "econfig-spec.h"
|
||||||
extern s_char *loginport;
|
#undef EMP_CONFIG_H_OUTPUT
|
||||||
extern s_char *privname;
|
|
||||||
extern s_char *privlog;
|
|
||||||
extern int WORLD_X;
|
|
||||||
extern int WORLD_Y;
|
|
||||||
extern int update_policy;
|
|
||||||
extern int etu_per_update;
|
|
||||||
extern int s_p_etu;
|
|
||||||
extern int adj_update;
|
|
||||||
extern int update_window;
|
|
||||||
extern s_char *update_times;
|
|
||||||
extern int hourslop;
|
|
||||||
extern int blitz_time;
|
|
||||||
extern int update_demandpolicy;
|
|
||||||
extern int update_wantmin;
|
|
||||||
extern int update_missed;
|
|
||||||
extern s_char *update_demandtimes;
|
|
||||||
extern s_char *game_days;
|
|
||||||
extern s_char *game_hours;
|
|
||||||
extern float btu_build_rate;
|
|
||||||
extern int m_m_p_d;
|
|
||||||
extern int max_btus;
|
|
||||||
extern int max_idle;
|
|
||||||
extern int players_at_00;
|
|
||||||
extern int at_least_one_100;
|
|
||||||
extern double powe_cost;
|
|
||||||
extern int War_Cost;
|
|
||||||
extern float easy_tech;
|
|
||||||
extern float hard_tech;
|
|
||||||
extern float start_technology;
|
|
||||||
extern float start_happiness;
|
|
||||||
extern float start_research;
|
|
||||||
extern float start_education;
|
|
||||||
extern float level_age_rate;
|
|
||||||
extern float tech_log_base;
|
|
||||||
extern float ally_factor;
|
|
||||||
extern float edu_avg;
|
|
||||||
extern float hap_avg;
|
|
||||||
extern double edu_cons;
|
|
||||||
extern double hap_cons;
|
|
||||||
extern int startmob;
|
|
||||||
extern float sect_mob_scale;
|
|
||||||
extern int sect_mob_max;
|
|
||||||
extern int buil_bh;
|
|
||||||
extern double buil_bc;
|
|
||||||
extern double buil_bt;
|
|
||||||
extern int buil_tower_bh;
|
|
||||||
extern double buil_tower_bc;
|
|
||||||
extern double buil_tower_bt;
|
|
||||||
extern float land_mob_scale;
|
|
||||||
extern int land_grow_scale;
|
|
||||||
extern int land_mob_max;
|
|
||||||
extern double money_land;
|
|
||||||
extern int morale_base;
|
|
||||||
extern float plane_mob_scale;
|
|
||||||
extern int plane_grow_scale;
|
|
||||||
extern int plane_mob_max;
|
|
||||||
extern double money_plane;
|
|
||||||
extern float ship_mob_scale;
|
|
||||||
extern int ship_grow_scale;
|
|
||||||
extern int ship_mob_max;
|
|
||||||
extern double money_ship;
|
|
||||||
extern int torpedo_damage;
|
|
||||||
extern int fort_max_interdiction_range;
|
|
||||||
extern int land_max_interdiction_range;
|
|
||||||
extern int ship_max_interdiction_range;
|
|
||||||
extern double flakscale;
|
|
||||||
extern double combat_mob;
|
|
||||||
extern double people_damage;
|
|
||||||
extern double unit_damage;
|
|
||||||
extern double collateral_dam;
|
|
||||||
extern double assault_penalty;
|
|
||||||
extern float fire_range_factor;
|
|
||||||
extern int sect_mob_neg_factor;
|
|
||||||
extern double mission_mob_cost;
|
|
||||||
extern double uwbrate;
|
|
||||||
extern double money_civ;
|
|
||||||
extern double money_mil;
|
|
||||||
extern double money_res;
|
|
||||||
extern double money_uw;
|
|
||||||
extern double babyeat;
|
|
||||||
extern double bankint;
|
|
||||||
extern double eatrate;
|
|
||||||
extern double fcrate;
|
|
||||||
extern double fgrate;
|
|
||||||
extern double obrate;
|
|
||||||
extern int rollover_avail_max;
|
|
||||||
extern double decay_per_etu;
|
|
||||||
extern double fallout_spread;
|
|
||||||
extern float drnuke_const;
|
|
||||||
extern int MARK_DELAY;
|
|
||||||
extern int TRADE_DELAY;
|
|
||||||
extern double buytax;
|
|
||||||
extern double tradetax;
|
|
||||||
extern int trade_1_dist;
|
|
||||||
extern int trade_2_dist;
|
|
||||||
extern int trade_3_dist;
|
|
||||||
extern float trade_1;
|
|
||||||
extern float trade_2;
|
|
||||||
extern float trade_3;
|
|
||||||
extern float trade_ally_bonus;
|
|
||||||
extern float trade_ally_cut;
|
|
||||||
extern int fuel_mult;
|
|
||||||
extern int lost_items_timeout;
|
|
||||||
extern long last_demand_update;
|
|
||||||
|
|
||||||
/* Game parameters that cannot be set in econfig (yet) */
|
/* Game parameters that cannot be set in econfig (yet) */
|
||||||
extern int melt_item_denom[];
|
extern int melt_item_denom[];
|
||||||
|
|
|
@ -74,265 +74,9 @@ static void worldxset(struct keymatch *kp, s_char **av);
|
||||||
|
|
||||||
/* things that can be changed */
|
/* things that can be changed */
|
||||||
struct keymatch configkeys[] = {
|
struct keymatch configkeys[] = {
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0,
|
#define EMP_CONFIG_C_OUTPUT
|
||||||
"\n### Server configuration and information"},
|
#include "econfig-spec.h"
|
||||||
{"data", optstrset, (caddr_t)&datadir, 0,
|
#undef EMP_CONFIG_C_OUTPUT
|
||||||
"Directory the data is stored in"},
|
|
||||||
{"info", optstrset, (caddr_t)&infodir, 0,
|
|
||||||
"Directory the info pages are stored in"},
|
|
||||||
{"port", optstrset, (caddr_t)&loginport, 0,
|
|
||||||
"TCP/IP port the server will start up on"},
|
|
||||||
{"privname", optstrset, (caddr_t)&privname, 0,
|
|
||||||
"Name of the deity"},
|
|
||||||
{"privlog", optstrset, (caddr_t)&privlog, 0,
|
|
||||||
"E-mail of the deity"},
|
|
||||||
{"WORLD_X", worldxset, (caddr_t)&WORLD_X, 0,
|
|
||||||
"World size X dimension (enforced to be even by subtracting 1 if necessary)"},
|
|
||||||
{"WORLD_Y", intset, (caddr_t)&WORLD_Y, 0,
|
|
||||||
"World size Y dimension"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Update policy"},
|
|
||||||
{"update_policy", intset, (caddr_t)&update_policy, 0,
|
|
||||||
"0 - normal, 1 - update_times, 2 - blitz, 3 - demand only"},
|
|
||||||
{"etu_per_update", intset, (caddr_t)&etu_per_update, 0,
|
|
||||||
"Number of ETUs per update"},
|
|
||||||
{"s_p_etu", intset, (caddr_t)&s_p_etu, 0,
|
|
||||||
"Seconds per etu, updates will occur every s_p_etu * etu_per_update seconds"},
|
|
||||||
{"adj_update", intset, (caddr_t)&adj_update, 0,
|
|
||||||
"Move the update forward or backward (in seconds)"},
|
|
||||||
{"update_window", intset, (caddr_t)&update_window, 0,
|
|
||||||
"Window the update will occur in (in seconds) before and after the update time"},
|
|
||||||
{"update_times", optstrset, (caddr_t)&update_times, 0,
|
|
||||||
"Times when updates occur under policy #1. Must coincide with schedule."},
|
|
||||||
{"hourslop", intset, (caddr_t)&hourslop, 0,
|
|
||||||
"Number of minutes update check can slip to match update_times"},
|
|
||||||
{"blitz_time", intset, (caddr_t)&blitz_time, 0,
|
|
||||||
"Number of minutes between updates under policy #2."},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0,
|
|
||||||
"\n\n### Demand update policy"},
|
|
||||||
{"update_demandpolicy", intset, (caddr_t)&update_demandpolicy, 0,
|
|
||||||
"0 - emp_tm checks, 1 - after setting, 2 - demand updates disabled"},
|
|
||||||
{"update_wantmin", intset, (caddr_t)&update_wantmin, 0,
|
|
||||||
"number of requests needed for demand update"},
|
|
||||||
{"update_missed", intset, (caddr_t)&update_missed, 0,
|
|
||||||
"number of demand updates country can miss before veto update"},
|
|
||||||
{"update_demandtimes", optstrset, (caddr_t)&update_demandtimes, 0,
|
|
||||||
"Times when demand updates can occur. Ranges CANNOT cross midnight."},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0,
|
|
||||||
"\n\n### Game hours restrictions"},
|
|
||||||
{"game_days", optstrset, (caddr_t)&game_days, 0,
|
|
||||||
"Days game is up and running (Su Mo Tu We Th Fr Sa)"},
|
|
||||||
{"game_hours", optstrset, (caddr_t)&game_hours, 0,
|
|
||||||
"Hours game is up and running (6:00-18:00)"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Options\n"},
|
|
||||||
{"option", optionset, (caddr_t)NULL, 0, NULL},
|
|
||||||
{"nooption", optiondel, (caddr_t)NULL, 0, NULL},
|
|
||||||
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Countries"},
|
|
||||||
{"btu_build_rate", floatset, (caddr_t)&btu_build_rate, 0,
|
|
||||||
"Rate at which BTUs accumulate (etu * civ * eff * btu_build_rate)"},
|
|
||||||
{"m_m_p_d", intset, (caddr_t)&m_m_p_d, 0,
|
|
||||||
"Maximum minutes per day a country is allowed to be logged in"},
|
|
||||||
{"max_btus", intset, (caddr_t)&max_btus, 0,
|
|
||||||
"Maximum number of BTUs a country can have"},
|
|
||||||
{"max_idle", intset, (caddr_t)&max_idle, 0,
|
|
||||||
"Maximum number of minutes a player can sit idle while logged in"},
|
|
||||||
{"players_at_00", intset, (caddr_t)&players_at_00, 0,
|
|
||||||
"Players have their coordinate system at deity 0,0 (0 - no, 1 - yes)"},
|
|
||||||
{"at_least_one_100", intset, (caddr_t)&at_least_one_100, 0,
|
|
||||||
"Initialize new countries with at least one sector with 100 of all resource"},
|
|
||||||
{"powe_cost", doubleset, (caddr_t)&powe_cost, 0,
|
|
||||||
"Number of BTUs needed to generate a new power report"},
|
|
||||||
{"war_cost", intset, (caddr_t)&War_Cost, 0,
|
|
||||||
"Cost to declare war (if SLOW_WAR is on)"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0,
|
|
||||||
"\n\n### Technology/Research/Education/Happiness"},
|
|
||||||
{"easy_tech", floatset, (caddr_t)&easy_tech, 0,
|
|
||||||
"Amount of tech built with no penalty"},
|
|
||||||
{"hard_tech", floatset, (caddr_t)&hard_tech, 0,
|
|
||||||
"Amount of in-efficiently built tech"},
|
|
||||||
{"start_tech", floatset, (caddr_t)&start_technology, 0,
|
|
||||||
"Starting technology for new countries"},
|
|
||||||
{"start_happy", floatset, (caddr_t)&start_happiness, 0,
|
|
||||||
"Starting happiness for new countries"},
|
|
||||||
{"start_research", floatset, (caddr_t)&start_research, 0,
|
|
||||||
"Starting research for new countries"},
|
|
||||||
{"start_edu", floatset, (caddr_t)&start_education, 0,
|
|
||||||
"Starting education for new countries"},
|
|
||||||
{"level_age_rate", floatset, (caddr_t)&level_age_rate, 0,
|
|
||||||
"ETU rate at which tech decays (0 -> no decline)"},
|
|
||||||
{"tech_log_base", floatset, (caddr_t)&tech_log_base, 0,
|
|
||||||
"Log base to apply to tech breakthroughs above the easy tech level"},
|
|
||||||
{"ally_factor", floatset, (caddr_t)&ally_factor, 0,
|
|
||||||
"Shared tech with allies (1 / ally_factor)"},
|
|
||||||
{"edu_avg", floatset, (caddr_t)&edu_avg, 0,
|
|
||||||
"Number of ETUs education is averaged over"},
|
|
||||||
{"hap_avg", floatset, (caddr_t)&hap_avg, 0,
|
|
||||||
"Number of ETUs happiness is averaged over"},
|
|
||||||
{"edu_cons", doubleset, (caddr_t)&edu_cons, 0,
|
|
||||||
"Education consumption (1 breakthrough per edu_cons)"},
|
|
||||||
{"hap_cons", doubleset, (caddr_t)&hap_cons, 0,
|
|
||||||
"Happiness consumption (1 breakthrough per hap_cons)"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Sectors"},
|
|
||||||
{"startmob", intset, (caddr_t)&startmob, 0,
|
|
||||||
"Starting mobility for sanctuaries"},
|
|
||||||
{"sect_mob_scale", floatset, (caddr_t)§_mob_scale, 0,
|
|
||||||
"Sector mobility accumulation (sect_mob_scale * ETUs per update)"},
|
|
||||||
{"sect_mob_max", intset, (caddr_t)§_mob_max, 0,
|
|
||||||
"Maximum mobility for sectors"},
|
|
||||||
{"buil_bh", intset, (caddr_t)&buil_bh, 0,
|
|
||||||
"Number of hcms required to build a bridge span"},
|
|
||||||
{"buil_bc", doubleset, (caddr_t)&buil_bc, 0,
|
|
||||||
"Cash required to build a bridge span"},
|
|
||||||
{"buil_bt", doubleset, (caddr_t)&buil_bt, 0,
|
|
||||||
"Technology required to build a bridge span"},
|
|
||||||
{"buil_tower_bh", intset, (caddr_t)&buil_tower_bh, 0,
|
|
||||||
"Number of hcms required to build a bridge tower"},
|
|
||||||
{"buil_tower_bc", doubleset, (caddr_t)&buil_tower_bc, 0,
|
|
||||||
"Cash required to build a bridge tower"},
|
|
||||||
{"buil_tower_bt", doubleset, (caddr_t)&buil_tower_bt, 0,
|
|
||||||
"Technology required to build a bridge tower"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Land Units"},
|
|
||||||
{"land_mob_scale", floatset, (caddr_t)&land_mob_scale, 0,
|
|
||||||
"Land unit mobility accumulation (land_mob_scale * ETUs per update)"},
|
|
||||||
{"land_grow_scale", intset, (caddr_t)&land_grow_scale, 0,
|
|
||||||
"How fast efficiency grows for land units each update (* ETUs)"},
|
|
||||||
{"land_mob_max", intset, (caddr_t)&land_mob_max, 0,
|
|
||||||
"Maximum mobility for land units"},
|
|
||||||
{"money_land", doubleset, (caddr_t)&money_land, 0,
|
|
||||||
"Cost per ETU to maintain land units (percentage of unit price)"},
|
|
||||||
{"morale_base", intset, (caddr_t)&morale_base, 0,
|
|
||||||
"Base level for setting morale of land units"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Planes"},
|
|
||||||
{"plane_mob_scale", floatset, (caddr_t)&plane_mob_scale, 0,
|
|
||||||
"Plane mobility accumulation (plane_mob_scale * ETUs per update)"},
|
|
||||||
{"plane_grow_scale", intset, (caddr_t)&plane_grow_scale, 0,
|
|
||||||
"How fast efficiency grows for planes each update (* ETUs)"},
|
|
||||||
{"plane_mob_max", intset, (caddr_t)&plane_mob_max, 0,
|
|
||||||
"Maximum mobility for planes"},
|
|
||||||
{"money_plane", doubleset, (caddr_t)&money_plane, 0,
|
|
||||||
"Cost per ETU to maintain planes (percentage of plane price)"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Ships"},
|
|
||||||
{"ship_mob_scale", floatset, (caddr_t)&ship_mob_scale, 0,
|
|
||||||
"Ship mobility accumulation (ship_mob_scale * ETUs per update)"},
|
|
||||||
{"ship_grow_scale", intset, (caddr_t)&ship_grow_scale, 0,
|
|
||||||
"How fast efficiency grows for ships each update (* ETUs)"},
|
|
||||||
{"ship_mob_max", intset, (caddr_t)&ship_mob_max, 0,
|
|
||||||
"Maximum mobility for ships"},
|
|
||||||
{"money_ship", doubleset, (caddr_t)&money_ship, 0,
|
|
||||||
"Cost per ETU to maintain ships (percentage of ship price)"},
|
|
||||||
{"torpedo_damage", intset, (caddr_t)&torpedo_damage, 0,
|
|
||||||
"Torpedo damage (damage is X + 1dX + 1dX)"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Combat/Damage"},
|
|
||||||
{"fort_max_interdiction_range", intset,
|
|
||||||
(caddr_t)&fort_max_interdiction_range, 0,
|
|
||||||
"Maximum range (in sectors) a fort will try to interdict another country"},
|
|
||||||
{"land_max_interdiction_range", intset,
|
|
||||||
(caddr_t)&land_max_interdiction_range, 0,
|
|
||||||
"Maximum range (in sectors) a land unit will try to interdict another country"},
|
|
||||||
{"ship_max_interdiction_range", intset,
|
|
||||||
(caddr_t)&ship_max_interdiction_range, 0,
|
|
||||||
"Maximum range (in sectors) a ship will try to interdict another country"},
|
|
||||||
{"flakscale", doubleset, (caddr_t)&flakscale, 0,
|
|
||||||
"Scale factor for flak damage"},
|
|
||||||
{"combat_mob", doubleset, (caddr_t)&combat_mob, 0,
|
|
||||||
"How much mobility do units spend for combat (* casualties/bodies)"},
|
|
||||||
{"people_damage", doubleset, (caddr_t)&people_damage, 0,
|
|
||||||
"People take this amount of normal damage"},
|
|
||||||
{"unit_damage", doubleset, (caddr_t)&unit_damage, 0,
|
|
||||||
"Land units take this amount of normal damage"},
|
|
||||||
{"collateral_dam", doubleset, (caddr_t)&collateral_dam, 0,
|
|
||||||
"Side effect damage amount done to sector"},
|
|
||||||
{"assault_penalty", doubleset, (caddr_t)&assault_penalty, 0,
|
|
||||||
"Amount of normal attacking efficiency for paratroopers and assaulting"},
|
|
||||||
{"fire_range_factor", floatset, (caddr_t)&fire_range_factor, 0,
|
|
||||||
"Scale normal firing ranges by this amount"},
|
|
||||||
{"sect_mob_neg_factor", intset, (caddr_t)§_mob_neg_factor, 0,
|
|
||||||
"Amount of negative mobility a sector has after takeover (ETU / x) (MOB_ACCESS)"},
|
|
||||||
{"mission_mob_cost", doubleset, (caddr_t)&mission_mob_cost, 0,
|
|
||||||
"Cost to put something on a mission (percentage of max mob)"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Populace"},
|
|
||||||
{"uwbrate", doubleset, (caddr_t)&uwbrate, 0,
|
|
||||||
"Birth rate for uw's"},
|
|
||||||
{"money_civ", doubleset, (caddr_t)&money_civ, 0,
|
|
||||||
"Money gained from taxes on a civilian in one ETU"},
|
|
||||||
{"money_mil", doubleset, (caddr_t)&money_mil, 0,
|
|
||||||
"Money gained from taxes on an active soldier in one ETU"},
|
|
||||||
{"money_res", doubleset, (caddr_t)&money_res, 0,
|
|
||||||
"Money gained from taxes on a soldier on active reserve in one ETU"},
|
|
||||||
{"money_uw", doubleset, (caddr_t)&money_uw, 0,
|
|
||||||
"Money gained from taxes on an uncompensated worker in one ETU"},
|
|
||||||
{"babyeat", doubleset, (caddr_t)&babyeat, 0,
|
|
||||||
"Amount of food to mature 1 baby into a civilian"},
|
|
||||||
{"bankint", doubleset, (caddr_t)&bankint, 0,
|
|
||||||
"Bank dollar gain (per bar per etu)"},
|
|
||||||
{"eatrate", doubleset, (caddr_t)&eatrate, 0,
|
|
||||||
"Food eating rate for mature people"},
|
|
||||||
{"fcrate", doubleset, (caddr_t)&fcrate, 0,
|
|
||||||
"Food cultivation rate (* workforce in sector)"},
|
|
||||||
{"fgrate", doubleset, (caddr_t)&fgrate, 0,
|
|
||||||
"Food growth rate (* fertility of sector)"},
|
|
||||||
{"obrate", doubleset, (caddr_t)&obrate, 0,
|
|
||||||
"Civilian birth rate"},
|
|
||||||
{"rollover_avail_max", intset, (caddr_t)&rollover_avail_max, 0,
|
|
||||||
"Maximum avail that can roll over an update"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Nukes"},
|
|
||||||
{"decay_per_etu", doubleset, (caddr_t)&decay_per_etu, 0,
|
|
||||||
"Decay of fallout per ETU"},
|
|
||||||
{"fallout_spread", doubleset, (caddr_t)&fallout_spread, 0,
|
|
||||||
"Amount of fallout that leaks into surrounding sectors"},
|
|
||||||
{"drnuke_const", floatset, (caddr_t)&drnuke_const, 0,
|
|
||||||
"Amount of research to tech needed to build a nuke (if DR_NUKE is on)"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Market/Trade"},
|
|
||||||
{"MARK_DELAY", intset, (caddr_t)&MARK_DELAY, 0,
|
|
||||||
"Number of seconds commodities stay on the market for bidding"},
|
|
||||||
{"TRADE_DELAY", intset, (caddr_t)&TRADE_DELAY, 0,
|
|
||||||
"Number of seconds ships, planes, and units stay on the market for bidding"},
|
|
||||||
{"buytax", doubleset, (caddr_t)&buytax, 0,
|
|
||||||
"Tax (in percentage points) charged to the buyer on market purchases"},
|
|
||||||
{"tradetax", doubleset, (caddr_t)&tradetax, 0,
|
|
||||||
"Amount of a trade transaction the seller makes (the rest is tax)"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Trade ships"},
|
|
||||||
{"trade_1_dist", intset, (caddr_t)&trade_1_dist, 0,
|
|
||||||
"Less than this distance no money for cashing in"},
|
|
||||||
{"trade_2_dist", intset, (caddr_t)&trade_2_dist, 0,
|
|
||||||
"Less than this distance gets trade_1 money for cashing in"},
|
|
||||||
{"trade_3_dist", intset, (caddr_t)&trade_3_dist, 0,
|
|
||||||
"Less than this distance gets trade_2 money for cashing in (>= gets trade_3"},
|
|
||||||
{"trade_1", floatset, (caddr_t)&trade_1, 0,
|
|
||||||
"Return per sector on trade_1 distance amount"},
|
|
||||||
{"trade_2", floatset, (caddr_t)&trade_2, 0,
|
|
||||||
"Return per sector on trade_2 distance amount"},
|
|
||||||
{"trade_3", floatset, (caddr_t)&trade_3, 0,
|
|
||||||
"Return per sector on trade_3 distance amount"},
|
|
||||||
{"trade_ally_bonus", floatset, (caddr_t)&trade_ally_bonus, 0,
|
|
||||||
"Bonus you get for cashing in with an ally"},
|
|
||||||
{"trade_ally_cut", floatset, (caddr_t)&trade_ally_cut, 0,
|
|
||||||
"Bonus your ally gets for you cashing in with them"},
|
|
||||||
|
|
||||||
{"", intset, (caddr_t)&emp_config_dummy, 0, "\n\n### Misc."},
|
|
||||||
{"fuel_mult", intset, (caddr_t)&fuel_mult, 0,
|
|
||||||
"Multiplier for fuel to mobility calculation"},
|
|
||||||
{"lost_items_timeout", intset, (caddr_t)&lost_items_timeout, 0,
|
|
||||||
"Seconds before a lost item is timed out of the database"},
|
|
||||||
{"last_demand_update", longset, (caddr_t)&last_demand_update, 0,
|
|
||||||
"When was the last demand update occured"},
|
|
||||||
|
|
||||||
{NULL, NULL, (caddr_t)0, 0, NULL}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void fixup_files(void);
|
static void fixup_files(void);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue