2 * Empire - A multi-player, client/server Internet based war game.
3 * Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
4 * Ken Stevens, Steve McClure
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 * See files README, COPYING and CREDITS in the root of the source
23 * tree for related information and legal notices. It is expected
24 * that future projects/authors will amend these files as needed.
28 * constants.c: Global constants
30 * Known contributors to this file:
39 /* Name of the deity */
40 char *privname = "Deity forgot to edit econfig";
41 /* E-mail of the deity */
42 char *privlog = "careless@invalid";
43 /* Divine hosts and networks */
44 char *privip = "127.0.0.1 ::1 ::ffff:127.0.0.1";
46 int WORLD_X = 64; /* World size - x */
47 int WORLD_Y = 32; /* World size - y */
49 int MARK_DELAY = 7200; /* Seconds to bid on commodities */
50 int TRADE_DELAY = 7200; /* Seconds to bid on units */
52 int m_m_p_d = 1440; /* max mins of play per day (per country) */
53 int s_p_etu = 10; /* seconds per Empire Time Unit */
54 int etu_per_update = 60; /* # of etu's per update */
55 int adj_update = 0; /* update time adjustment, in seconds */
56 int update_window = 0; /* update window adjustment, in seconds */
57 int hourslop = 5; /* update_times matching fuzz, in minutes */
58 char *update_times = ""; /* update times for policy UDP_TIMES */
59 int update_policy = UDP_DEFAULT; /* update policy for regular updates */
60 int update_demandpolicy = UDDEM_DEFAULT; /* update policy for demand updates */
61 int update_missed = 999; /* demand updates missed before veto */
62 int update_wantmin = 1; /* votes required for demand update */
63 int blitz_time = 10; /* number of minutes between blitz updates */
64 char *update_demandtimes = ""; /* demand update time ranges */
65 char *game_days = ""; /* days game is running */
66 char *game_hours = ""; /* hours game is running */
67 char *pre_update_hook = "";
68 int max_idle = 15; /* session dies after max_idle minutes idle */
70 int sect_mob_max = 127; /* sector mobility limits */
71 float sect_mob_scale = 1.0; /* accumulation multiplier */
72 int land_mob_max = 127; /* land mobility limits */
73 float land_mob_scale = 1.0; /* accumulation multiplier */
74 int ship_mob_max = 127; /* ship mobility limits */
75 float ship_mob_scale = 1.5; /* accumulation multiplier */
76 int plane_mob_max = 127; /* plane mobility limits */
77 float plane_mob_scale = 1.0; /* accumulation multiplier */
79 float fire_range_factor = 1.0; /* Increase/reduce firing ranges */
81 int morale_base = 42; /* base for morale */
84 int sect_mob_neg_factor = 2; /* ETU/neg_factor = negative amount of mobility
85 a sector has after being taken */
87 int anno_keep_days = 7; /* How long until annos expire (<0 never) */
88 int news_keep_days = 10; /* How long until news expire (<0 never) */
89 int lost_items_timeout = 172800; /* How long before removing from database */
91 double combat_mob = 5.0; /* how much mob do units spend for combat? */
93 /* if you find that naving is taking too long, try reducing these */
94 int fort_max_interdiction_range = 8;
95 int ship_max_interdiction_range = 8;
96 int land_max_interdiction_range = 8;
98 double mission_mob_cost = 0.0; /* Cost is percentage of max mob */
100 double unit_damage = 0.30; /* Units take this fraction of normal damage */
101 double people_damage = 1.00; /* Civs/mil/uw take this fraction of damage */
102 double collateral_dam = 0.10; /* Side effect damage to sector */
103 double assault_penalty = 0.50; /* attack factor for para & assault troops */
106 int fuel_mult = 10; /* 1 fuel = 10 mob */
108 float land_grow_scale = 2.0; /* how fast eff grows for land units (xETUS) */
109 float ship_grow_scale = 3.0; /* how fast eff grows for ships (xETUS) */
110 float plane_grow_scale = 2.0; /* how fast eff grows for planes (xETUS) */
112 double fgrate = 0.0012; /* food growth rate (dt * fert) */
113 double fcrate = 0.0013; /* food cultivate rate (dt * workforce) */
114 double eatrate = 0.0005; /* food eating rate (dt * people) */
115 double babyeat = 0.0060; /* food to mature 1 baby into a civilian */
117 double obrate = 0.005; /* other sectors birth rate */
118 double uwbrate = 0.0025; /* uncompensated worker birth rate */
119 /* values > 0.25 for either will overflow */
120 int rollover_avail_max = 0; /* max. avail that can roll over an update */
123 double decay_per_etu = 0.006; /* This gives a half life of ? etus,
126 log(.5) / log(1-decay_per_etu)
127 Calculate your own if you don't like it.
128 If you want a specific half life you can
129 calc it with this formula:
130 decay_per_etu = 1 - (.5)^(1/etus)
131 due to the discrete nature of empire
132 you can not get a precise number
133 without intensive simulation
134 (more than 3 digits). */
135 double fallout_spread = 0.005; /* fraction of fallout that leaks into
136 each surrounding sector */
137 /* end opt_FALLOUT */
139 double bankint = 0.25; /* bank interest rate (dt * bars) */
141 /* Note in the taxes below:
142 tradetax - this is charged to the seller, so it is < 1 (because the seller
143 gets the (price paid * tradetax)
144 buytax - this is charged to the buyer, so it is > 1 (because the buyer is
145 charged (price paid * buytax).
146 Not perfect, but it works. :) */
148 double tradetax = 0.99; /* Tax charged on trade */
149 double buytax = 1.0; /* Tax charged on market purchases */
150 int startmob = 127; /* Sanctuary starting mobility */
151 float flakscale = 1.75f; /* Scale factor for flak damage */
153 /* money gained from taxes, paid to military, and reservists */
154 double money_civ = 0.0083333;
155 double money_uw = 0.0017777;
156 double money_mil = -0.0833333;
157 double money_res = -0.0083333;
159 /* pct cost per ETU for maintaining a ship or plane or land unit */
160 double money_plane = -0.001;
161 double money_ship = -0.001;
162 double money_land = -0.001;
164 /* edu and hap consumption factors -- hap_cons civs need 1 hap --> hlev++ */
165 double hap_cons = 600000.0;
166 double edu_cons = 600000.0;
168 /* hap and edu avg mean that the weight on current happiness is
169 * (cur_hap * hap_avg + hap_prod * etu) / (hap_avg + etu); */
170 float hap_avg = 16.0 * 3.0;
171 float edu_avg = 16.0 * 12.0;
174 /* tech build limitations. */
175 float easy_tech = 1.00; /* amount of tech built with no penality */
176 float tech_log_base = 2.0; /* base of log to take of in-efficient tech */
178 float ally_factor = 2.0; /* shared tech with allies = 1/factor */
179 float level_age_rate = 96.0; /* 1% per 96 etu's; 0 -> no decline */
182 int players_at_00 = 0; /* players coord system on deity 0,0? */
183 int at_least_one_100 = 1; /* init player with 100/100/100/100 sector? */
187 float btu_build_rate = 0.0012; /* etu * civ * eff * btu_build_rate */
188 /* 8 * 999 * 100 * 0.0004 = 319 */
189 int max_btus = 640; /* maximum # of btu's */
191 double buil_bt = 10.0; /* tech level required to build a bridge */
192 int buil_bh = 100; /* hcm required to build a bridge */
193 double buil_bc = 2000.0; /* cash required to build a bridge */
195 double buil_tower_bt = 100.0; /* tech level required to build a tower */
196 int buil_tower_bh = 400; /* hcm required to build a bridge tower */
197 double buil_tower_bc = 7500.0; /* cash required to build a bridge tower */
200 int War_Cost = 1000; /* Cost to declare war */
202 float drnuke_const = 0.0; /* research must be at least drnuke_const*tech */
203 /* in order to build a nuke. For example, if
204 * drnuke_const is .25, you need a 75 res to
205 * build a nuke that takes 300 tech
208 int trade_1_dist = 8; /* less than this gets no money */
209 int trade_2_dist = 14; /* less than this gets trade_1 money */
210 int trade_3_dist = 25; /* less than this gets trade_2 money */
211 float trade_1 = 0.025; /* return on trade_1 distance */
212 float trade_2 = 0.035; /* return on trade_2 distance */
213 float trade_3 = 0.050; /* return on trade_3 distance */
214 float trade_ally_bonus = 0.20; /* 20% bonus for trading with allies */
215 float trade_ally_cut = 0.10; /* 10% bonus for ally you trade with */
216 /* end opt_TRADESHIPS */
218 int torpedo_damage = 40; /* damage is X + 1dX + 1dX, so 40+1d40+1d40 */
220 long start_cash = 25000;
223 float start_education = 0.0;
224 float start_happiness = 0.0;
225 float start_technology = 0.0;
226 float start_research = 0.0;