The following parameters control the automatic production, distribution, and consumption of materials by units and by cells.
Units can be set to always produce some amount of material without taking explicit action.
Table: base-production
u m -> n
This table is the basic amount of each material m
produced by a unit of type u in each turn.
Defaults to 0
.
Table: occupant-base-production
u m -> n
This table is the base production of each material m
when a unit of type u is an occupant.
Defaults to 0
.
Table: productivity
u t -> n%
This base 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
.
Table: productivity-min
u m -> n
Table: productivity-max
u m -> n
These tables are the
lower and upper bounds on actual production after multiplying by
productivity.
Default to 0
and 9999
, respectively.
Table: base-consumption
u 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.
Defaults to 0
.
Table: hp-per-starve
u m -> hp
If the unit runs out of a material that it must consume,
this table specifies how many hp it will lose each turn that it is starving.
If starving for several reasons, loss is max of starvation losses,
not the sum.
Defaults to 0
.
Table: consumption-as-occupant
u 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
.
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.
Table: terrain-production
t m -> n
This table is the amount of each material m produced by a cell of the given
type t in each turn.
Defaults to 0
.
Table: terrain-consumption
t 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.
Defaults to 0
.
Table: change-on-exhaustion-chance
t 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.
Table: terrain-exhaustion-type
t1 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
.
Table: people-consumption
m1 m2 -> n
This table is the base consumption per turn
by people of type m1 of each other material type m2.
Defaults to 0
.
Table: people-production
m1 m2 -> n
This table is the people of type m1 base production per turn
of each other material type m2.
Defaults to 0
.
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.
Table: in-length
u1 m -> dist
Table: out-length
u2 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
.