This property is the amount of totally random variation in the
temperature in each cell.

GlobalVariable:temperature-year-cycle((x y) interpolation-list)...

This global is a list of interpolation lists used to set basic
temperatures at given points in the area. The input value for each list
is the current year part, while the result is the temperature at
x,y. Then for each point in the area, its temperature is
the interpolation of the temperature at the two nearest given points.
Defaults to ().

TerrainTypeProperty:temperature-moderation-rangedistance

This property is the radius of the area whose raw temperatures will be
averaged to get the actual temperature. This can be very time-consuming
to calculate, so only values of 0 (no averaging) and 1 (average with
adjacent cells) are recommended.

This property is the effect of temperature on acp. The input value is
temperature, and the result value is multiplied with acp, after it has
been modified for night effect, but before modification for season. The
result is divided by 100, so an effect < 100 reduces acp, an effect of
100 has no effect, and an effect > 100 increases acp. Defaults to
().

UnitTypeProperty:consumption-temperature-effectinterpolation-list

This property is the effect of temperature on material consumption.
Defaults to ().

UnitTypeProperty:temperature-attritioninterpolation-list

This property is the effect of temperature on a unit's hp. The input
value is temperature, and the result value is the number of hp that the
unit will lose each turn at that temperature. Defaults to ().

Transports can protect their occupants from temperature extremes.

TableUU:temperature-protectionu1 u2 -> t/f

This is true if transports of type u1 protect occupants of type
u2 from the effects of the cell's temperature.

Units can be set to always produce some amount of material without
taking explicit action.

TableUM:base-productionu m -> n

This table is the basic amount of each material m produced by a
unit of type u in each turn.

TableUM:occupant-base-productionu m -> n

This table is the base production of each material m when a unit
of type u is an occupant.

TableUT:productivityu t -> n%

This table is the percentage productivity of a unit of type u when
on terrain of type t. This is multiplied with the basic
production rate to get actual material production, so productivity of
0 completely disables production on that terrain type, and
productivity of 100 yields the rate specified by
base-production. Defaults to 100.

TableUT:productivity-adjacentu t -> n%

This table is the percentage productivity of a unit of type u
when adjacent to terrain of type t. The actual productivity
of a unit is a max of its productivity on its own cell and the adjacent
cells.

TableUM:productivity-minu m -> n

TableUM:productivity-maxu m -> n

These tables are the lower and upper bounds on actual production after
multiplying by productivity. Default to 0 and 9999,
respectively.

TableUM:base-consumptionu m -> n

This table sets the amount of materials consumed by the unit in a turn,
even if it doesn't move or do anything else.

TableUM:hp-per-starveu m -> .01hp

If the unit runs out of a material that it must consume, this table
specifies how many 1/100 hp it will lose each turn that it is starving.
If starving for several reasons, loss is max of starvation losses, not
the sum. This value is stochastic.

TableUM:consumption-as-occupantu m -> n%

This table is the consumption by a unit of type u1 when it is an
occupant, expressed as a percentage of its base-consumption.
This is useful for units such as planes which always consume fuel in the
air but not on the ground. Defaults to 100.

TableUM:gives-to-treasuryu m -> t/f

This table is true if units of type u always immediately transfer
any accumulated material of type m to the side's treasury.

Materials may be produced by cells, redistributed, and also taken up by
units. Some amount of material may need to stay in the cell's storage,
or the type of terrain might change. Exhaustion is tested after all
consumption has been accounted for.

TableTM:terrain-productiont m -> n

This table is the amount of each material m produced by a cell of
the given type t in each turn.

TableTM:terrain-consumptiont m -> n

This table is the amount of material m consumed by a cell of type
t each turn. If insufficient material is available, then the
terrain may change type.

TableTM:change-on-exhaustion-chancet m -> n%

This table is the chance that a cell of type t, with no supply of
material of type m, will become exhausted and change to its
exhausted type.

TableTM:terrain-exhaustion-typet1 m -> t2

If t2 is not non-terrain, then this table says that any
cell with terrain t1 that is exhausted will change to t2.
If several materials are exhausted in the same turn, then the
lowest-numbered material type will determine the new terrain type.
Defaults to non-terrain.

TableMM:people-consumptionm1 m2 -> n

This table is the base consumption per turn by people of type m1
of each other material type m2.

TableMM:people-productionm1 m2 -> n

This table is the people of type m1 base production per turn of
each other material type m2.

In real life, material production and consumption rarely occur in the
same place at the same time. For some games, the player must transfer
materials manually, by loading and unloading from units. However, this
can be time-consuming and difficult, and is best reserved for scarce
and/or valuable materials. For more common materials, Xconq
provides supply lines.

TableUM:in-lengthu1 m -> dist

TableUM:out-lengthu2 m -> dist

These two tables together determine the length of supply lines between
units. The given type of material can only be transferred from unit
type u1 to unit type u2 if the distance is less than the
minimum of the in-length of u1 and the out-length of
u2.

For instance, the in-length for a fighter's fuel might be 3
cells, while the out-length of fuel from a city is 4 cells. Then
the fighter will be constantly supplied with fuel when within 3 cells of
a city. If the fighter's out-length is -1, it will never transfer any
fuel to the city.

An in- or out-length of 0 means that the two units must be in the
same cell, while a negative length disables the automatic transfer
completely. Long out-length lines should be used sparingly,
since the algorithm uses the out-length to define a radius of
search for units to be resupplied. Both default to 0.

The following tables control an advanced supply line algorithm that
is implemented, but does not seem to work correctly. They are listed
here for completeness.