Import of Empire 4.2.12
This commit is contained in:
commit
d8b7fdfae1
817 changed files with 126589 additions and 0 deletions
251
src/lib/global/constants.c
Normal file
251
src/lib/global/constants.c
Normal file
|
@ -0,0 +1,251 @@
|
|||
/*
|
||||
* 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.
|
||||
*
|
||||
* ---
|
||||
*
|
||||
* constants.c: Global constants file. Note that the "hours" file can
|
||||
* override these, as does the global "econfig" file.
|
||||
*
|
||||
* Known contributors to this file:
|
||||
* Ken Stevens, 1995
|
||||
* Steve McClure, 1996
|
||||
*
|
||||
*/
|
||||
|
||||
#include "gamesdef.h"
|
||||
#include "misc.h"
|
||||
#include "xy.h"
|
||||
|
||||
s_char *privname = PRVNAM; /* name of priv user */
|
||||
s_char *privlog = PRVLOG; /* logname of priv user */
|
||||
|
||||
int WORLD_X = DEF_WORLD_X; /* World size - x */
|
||||
int WORLD_Y = DEF_WORLD_Y; /* World size - y */
|
||||
|
||||
int MARK_DELAY = 7200; /* Seconds to bid on commodities */
|
||||
int TRADE_DELAY = 7200; /* Seconds to bid on units */
|
||||
|
||||
int m_m_p_d = 1440; /* max mins of play per day (per country) */
|
||||
long s_p_etu = DEF_S_P_ETU; /* seconds per Empire time unit */
|
||||
int etu_per_update = ETUS; /* # of etu's per update, from misc.h */
|
||||
long adj_update = 0; /* update time adjustment */
|
||||
int update_window = 0; /* update window adjustment */
|
||||
int hourslop = 5; /* amount of slop to match update times */
|
||||
s_char *update_times = ""; /* times regular update is allowed */
|
||||
int update_policy = 0; /* update policy for regular updates */
|
||||
int update_demandpolicy = 2;/* update policy for demand updates */
|
||||
int update_missed = 999; /* demand updates missed before veto */
|
||||
int update_wantmin = 0; /* number of votes required for demand update */
|
||||
int blitz_time = 10; /* number of minutes between blitz updates */
|
||||
s_char *update_demandtimes = "";/* times demand update is allowed */
|
||||
s_char *game_days = ""; /* days game is running */
|
||||
s_char *game_hours = ""; /* hours game is running */
|
||||
int max_idle = 15; /* session dies after max_idle minutes idle */
|
||||
|
||||
int sect_mob_max = 127; /* sector mobility limits */
|
||||
float sect_mob_scale = 1.0; /* accumulation multiplier */
|
||||
int land_mob_max = 127; /* land mobility limits */
|
||||
float land_mob_scale = 1.0; /* accumulation multiplier */
|
||||
int ship_mob_max = 127; /* ship mobility limits */
|
||||
float ship_mob_scale = 1.5; /* accumulation multiplier */
|
||||
int plane_mob_max = 127; /* plane mobility limits */
|
||||
float plane_mob_scale = 1.0; /* accumulation multiplier */
|
||||
|
||||
float fire_range_factor = 1.0;/* Increase/reduce firing ranges */
|
||||
|
||||
int morale_base = 42; /* base for morale */
|
||||
|
||||
/* opt_MOB_ACCESS */
|
||||
int sect_mob_neg_factor = 2;/* ETU/neg_factor = negative amount of mobility
|
||||
a sector has after being taken */
|
||||
int updating_mob = 1; /* If we are currently updating mob */
|
||||
int timestamp_fixing = 0; /* If we are currently fixing timestamps */
|
||||
|
||||
int lost_items_timeout = 172800; /* How long before removing from database */
|
||||
|
||||
double combat_mob=5.0; /* how much mob do units spend for combat? */
|
||||
|
||||
/* if you find that naving is taking too long, try reducing these */
|
||||
int fort_max_interdiction_range = 8;
|
||||
int ship_max_interdiction_range = 8;
|
||||
int land_max_interdiction_range = 8;
|
||||
|
||||
double mission_mob_cost = 0.0; /* Cost is percentage of max mob */
|
||||
|
||||
double unit_damage = 0.30; /* Units take this % of normal damage */
|
||||
double people_damage = 1.00; /* Civs/Mil/Uw take this % of normal damage */
|
||||
double collateral_dam = 0.10; /* Side effect damage to sector */
|
||||
double assault_penalty = 0.50; /* attack factor for para & assault troops */
|
||||
|
||||
/* START_UNITS */
|
||||
#ifdef START_UNITS
|
||||
int start_unit_type[START_UNITS] = {0, 1}; /* type of unit */
|
||||
#endif /* START_UNITS */
|
||||
|
||||
/* opt_FUEL */
|
||||
int fuel_mult = 10; /* 1 fuel = 10 mob */
|
||||
|
||||
int land_grow_scale = 2; /* how fast eff grows for land units (xETUS) */
|
||||
int ship_grow_scale = 3; /* how fast eff grows for ships (xETUS) */
|
||||
int plane_grow_scale = 2; /* how fast eff grows for planes (xETUS) */
|
||||
|
||||
double fgrate = 0.0012; /* food growth rate (dt * fert) */
|
||||
double fcrate = 0.0013; /* food cultivate rate (dt * workforce) */
|
||||
double eatrate = 0.0005; /* food eating rate (dt * people) */
|
||||
/*double eatrate = 0.0001;*/ /* food eating rate (dt * people) */
|
||||
double babyeat = 0.0060; /* food to mature 1 baby into a civilian */
|
||||
/*double babyeat = 0.0000;*/ /* food to mature 1 baby into a civilian */
|
||||
|
||||
double obrate = 0.005; /* other sectors birth rate */
|
||||
double uwbrate = 0.0025; /* uncompensated worker birth rate */
|
||||
/* values > 0.25 for either will overflow */
|
||||
|
||||
/* opt_FALLOUT */
|
||||
/* these are the radioactive decay constants */
|
||||
/* fraction of commodity destroyed is
|
||||
etus*fallout/(1000*melt_item_denom[item])
|
||||
higher denominators for tougher commodities */
|
||||
int melt_item_denom[] =
|
||||
/* civ mil shell gun pet iron dust bar*/
|
||||
{ 0, 4, 20, 80, 100,50, 100, 100, 200,
|
||||
2, 50, 100,100,2, 1000 };
|
||||
/*food oil lcm hcm UW rads */
|
||||
double decay_per_etu = 0.006; /* This gives a half life of ? etus,
|
||||
about ? days.
|
||||
half life in Jt
|
||||
log(.5) / log(1-decay_per_etu)
|
||||
Calculate your own if you don't like it.
|
||||
If you want a specific half life you can
|
||||
calc it with this formula:
|
||||
decay_per_etu = 1 - (.5)^(1/etus)
|
||||
due to the discrete nature of empire
|
||||
you can not get a precise number
|
||||
without intensive simulation
|
||||
(more than 3 digits). */
|
||||
double fallout_spread = 0.005; /* fraction of fallout that leaks into
|
||||
each surrounding sector */
|
||||
/* end opt_FALLOUT */
|
||||
|
||||
double bankint = 0.25; /* bank interest rate (dt * bars) */
|
||||
|
||||
/* Note in the taxes below:
|
||||
tradetax - this is charged to the seller, so it is < 1 (because the seller
|
||||
gets the (price paid * tradetax)
|
||||
buytax - this is charged to the buyer, so it is > 1 (because the buyer is
|
||||
charged (price paid * buytax).
|
||||
Not perfect, but it works. :) */
|
||||
|
||||
double minmult = 0.5; /* minimum trade mulitple */
|
||||
double maxmult = 10.0; /* maximum trade multiple */
|
||||
double tradetax = 0.99; /* Tax charged on trade */
|
||||
double buytax = 1.0; /* Tax charged on market purchases */
|
||||
int startmob = 127; /* Sanctuary starting mobility */
|
||||
double flakscale = 1.75; /* Scale factor for flak damage */
|
||||
|
||||
/* money gained from taxes, paid to military, and reservists */
|
||||
double money_civ = 0.0083333;
|
||||
double money_uw = 0.0017777;
|
||||
double money_mil = -0.0833333;
|
||||
double money_res = -0.0083333;
|
||||
|
||||
/* pct cost per ETU for maintaining a ship or plane or land unit */
|
||||
double money_plane = -0.001;
|
||||
double money_ship = -0.001;
|
||||
double money_land = -0.001;
|
||||
|
||||
/* edu and hap consumption factors -- hap_cons civs need 1 hap --> hlev++ */
|
||||
double hap_cons = 600000.0;
|
||||
double edu_cons = 600000.0;
|
||||
|
||||
/* hap and edu avg mean that the weight on current happiness is
|
||||
* (cur_hap * hap_avg + hap_prod * etu) / (hap_avg + etu); */
|
||||
float hap_avg = 16.0 * 3.0;
|
||||
float edu_avg = 16.0 * 12.0;
|
||||
|
||||
|
||||
/* tech build limitations. Tech limits only apply after easy_tech.
|
||||
* Two ways of limiting tech: asymptotic or logrithmic:
|
||||
* tech_hard is asymptopic limitation, tech_log_base is the logrithmic
|
||||
* limitation. set tech_log_base > 1.0 to have it take effect,
|
||||
* set hard_tech > 0 to have it take effect
|
||||
* for log based, only tech values where the slop is < 1 are used */
|
||||
|
||||
float easy_tech = 1.00; /* amount of tech built with no penality */
|
||||
float hard_tech = 10.0; /* amount of in-efficiently built tech */
|
||||
float tech_log_base = 2.0; /* base of log to take of in-efficient tech */
|
||||
|
||||
float ally_factor = 2.0; /* shared tech with allies = 1/factor */
|
||||
float level_age_rate = 96.0; /* 1% per 96 etu's; 0 -> no decline */
|
||||
|
||||
|
||||
int players_at_00 = 0; /* players coord system on deity 0,0? */
|
||||
int at_least_one_100 = 1; /* init player with 100/100/100/100 sector? */
|
||||
|
||||
|
||||
|
||||
float btu_build_rate = 0.0012;/* etu * civ * eff * btu_build_rate */
|
||||
/* 8 * 999 * 100 * 0.0004 = 319 */
|
||||
int max_btus = 640; /* maximum # of btu's */
|
||||
double powe_cost = 10.0; /* btu cost to gen a power report */
|
||||
|
||||
double buil_bt = 10.0; /* tech level required to build a bridge */
|
||||
int buil_bh = 100; /* hcm required to build a bridge */
|
||||
double buil_bc = 2000.0; /* cash required to build a bridge */
|
||||
|
||||
double buil_tower_bt = 100.0; /* tech level required to build a tower */
|
||||
int buil_tower_bh = 400; /* hcm required to build a bridge tower */
|
||||
double buil_tower_bc = 7500.0; /* cash required to build a bridge tower */
|
||||
|
||||
/* opt_SLOW_WAR */
|
||||
int War_Cost = 1000; /* Cost to declare war */
|
||||
|
||||
/* opt_DEMANDUPDATE */
|
||||
long last_demand_update=0; /* When was last demand update? */
|
||||
|
||||
|
||||
/* opt_DRNUKE */
|
||||
float drnuke_const = .33; /* research must be at least drnuke_const*tech*/
|
||||
/* in order to build a nuke. For example, if
|
||||
* drnuke_const is .25, you need a 75 res to
|
||||
* build a nuke that takes 300 tech
|
||||
*/
|
||||
/* opt_TRADESHIPS */
|
||||
int trade_1_dist = 8; /* less than this gets no money */
|
||||
int trade_2_dist = 14; /* less than this gets trade_1 money */
|
||||
int trade_3_dist = 25; /* less than this gets trade_2 money */
|
||||
float trade_1 = 0.025; /* return on trade_1 distance */
|
||||
float trade_2 = 0.035; /* return on trade_2 distance */
|
||||
float trade_3 = 0.050; /* return on trade_3 distance */
|
||||
float trade_ally_bonus = 0.20; /* 20% bonus for trading with allies */
|
||||
float trade_ally_cut = 0.10; /* 10% bonus for ally you trade with */
|
||||
/* end opt_TRADESHIPS */
|
||||
|
||||
int torpedo_damage = 40; /* damage is X + 1dX + 1dX, so 40+1d40+1d40 */
|
||||
|
||||
/* initial levels */
|
||||
float start_education = 0.0;
|
||||
float start_happiness = 0.0;
|
||||
float start_technology = 0.0;
|
||||
float start_research = 0.0;
|
Loading…
Add table
Add a link
Reference in a new issue