// Mono-space font required
{
"economy": {
	// Plain list of energy UnitDef and its limit. AI sorts list by efficiency (inverse)
	// which is = cost * sizeX * sizeZ / make^2
	// With ZK v1.8.5.2:
	//   energysingu = 15.486420
	//   energygeo = 65.306122
	//   energyfusion = 80.000000
	//   energywind = 874.999939
	//   energysolar = 1750.000000
	// When e-stalling AI will build bottom-most energy that didn't reach its limit.
	// On normal AI will select top-most energy that it can build under 40 seconds.
	"energy": {
		// If land area >= 40% of the map then "land" config used, "water" otherwise
		"land": {
			// "<energy_def>": [<lower limit>, <upper limit>]
			// limit = random(<lower limit>..<upper limit>)
			"energysingu": [6],
			"energyfusion": [6, 10],
			"energysolar": [10, 20]
		},
		"water": {
			"energysingu": [1],
			"energyfusion": [4],
			"energywind": [20]
		},
		// income factor for energy, time is in seconds
		// [[<start_factor>, <start_time>], [<end_factor>, <end_time>]]
		"factor": [[0.15, 1], [7.0, 3600]],

		"link_inc": 16.0,  // minimum metal-income for energy linking
		"pylon": ["energypylon", "energysolar", "energywind"]
	},

	// Scales metal income
	// ecoFactor = teamSize*eps_step+(1-eps_step)
	"eps_step": 0.2,

	// Mobile buildpower to metal income ratio
	"buildpower": 1.25,

	// Metal excess to income ratio, -1 to disable
	"excess": -1.0,

	// Mobile constructor to static constructor metal pull ratio
	// [[<value>, <start_mex_percent>], [<value>, <end_mex_percent>]]
	"ms_pull": [[2.0, 0.0], [0.45, 0.20], [0.99, 0.90]],

	// Max percent of mexes circuit team allowed to take.
	// If its <1.0 then expansion obeys ms_pull rule, if >=1.0 then ms_pull doesn't affect expansion (mex, pylon, energy).
	// [<cap_percent>, <is_ally_cap>]
	"mex_max": [2.0, false],  // 200%

	// Construction order delay in seconds, -1 to disable
	// [[<start_delay>, <start_time>], [<end_delay>, <end_time>]]
	"build_delay": [[-1.0, 0], [-1.0, 0]],

	// New factory switch interval, in seconds (each new factory resets timer, switch event is also based on eco + caretakers)
	// switch = random(<min_interval>..<max_interval>)
	"switch": [800, 900],

	"terra": "terraunit",
	"airpad": "staticrearm",

	// Unknown UnitDef replacer
	"default": "turretmissile"
}
}
