Go to the first, previous, next, last section, table of contents.

Static Relationships Between Types

In general, static relationships are those that must always hold during a turn. Xconq will usually only test these when necessary, but this is up to the implementation. From the players' and designers' point of view, these relationships can never be violated, even temporarily.

Occupants and Transports

A unit inside another unit is an "occupant" in a "transport", even if the "transport" can never move. There are two kinds of capacity. Generic capacity is shared by all different types, while guaranteed capacity is for a particular type only.

UnitTypeProperty: capacity n

This property is the limit on the sum of sizes of units that may occupy this type of unit, not counting the exclusive capacities.

TableUU: unit-size-as-occupant u1 u2 -> n

This table is the "size" of a (full-sized) unit u1 when it is in a transport u2. Defaults to 1.

TableUU: unit-capacity-x u1 u2 -> n

This table is the number of units of type u2 that are guaranteed a place in a unit of type u1.

TableUU: occupant-max u1 u2 -> n

This table is the upper limit on the number of occupants of this type (not counting unit-capacity-x).

UnitTypeProperty: occupant-total-max n

This property is the upper limit on occupants of all types together. Defaults to -1, which allows unlimited occupancy.

UnitTypeProperty: mobile-total-max n

This property is the upper limit on the number of mobile units (speed > 0) allowed as occupants. Defaults to -1, which allows unlimited occupancy.

UnitTypeProperty: facility-total-max n

This property is the upper limit on the number of facility units (facility is true) allowed as occupants. Defaults to -1, which allows unlimited occupancy.

A unit that is an occupant may not always have the same capabilities as when it is out in the open. Its vision, combat, construction, and capacity may be affected.

TableUU: occupant-vision u1 u2 -> n%

This is the effect on u1's vision of being an occupant in a unit of type u2. If the value is 0, then u1 is completely blind while an occupant. Defaults to 100.

TableUU: occupant-combat u1 u2 -> n%

This table defines the effect on the combat abilities of a unit of type u1 when an occupant in a unit of type u2. If 0, then the occupant cannot attack or fire. Defaults to 100.

TableUU: occupant-can-construct u1 u2 -> t/f

This table is true if u1 can create or complete units while an occupant of u2. Defaults to true.

TableUU: occupant-can-have-occupants u1 u2 -> t/f

This table is true if u1 can have occupants of its own while an occupant of u2. Defaults to true.
This table is no longer available.

TableUU: can-recursively-wake u1 u2 -> t/f

Determine whether a transport of type u1 should wake an occupant of type u2 when the transport is awakened for some reason. Defaults to true.

Units and Terrain

This section describes relationships between units and terrain. Units can be set to disappear or be wrecked on particular types of terrain. If the terrain can be occupied safely, there may be a limit on the numbers of units that can be in the same cell.

TableUT: vanishes-on u t -> t/f

This table is true if a unit u will disappear instantly if it somehow ends up on terrain of type t. Defaults to false.

TableUT: wrecks-on u t -> t/f

This table is true if a unit u will wreck instantly if it somehow ends up on terrain of type t. Defaults to false.

TerrainTypeProperty: capacity n

This property is the limit on the sum of unit sizes that may share this cell. Defaults to 1.

TableUT: unit-size-in-terrain u t -> n

This table is the "size" of a (full-sized) unit u when it is in/on the terrain t. Defaults to 1.
NOTE: This is not the same as the size property of an advanced unit.
NOTE: As of Xconq 7.5, this property is ignored for connection terrain types. Connectors (roads, for example) now refer to u's size in the terrain that contains the connector rather than u's size in connector t.
NOTE: If you wish to prevent a unit's entry into t, then use the mp-to-enter-terrain table, and not this one. The implication of using unit-size-in-terrain to prevent entry is that the unit will not be able to enter any connectors in t if n is set too large.

TableUT: terrain-capacity-x u t -> n

This table is the number of (full-sized) units of type u that are guaranteed to have a place in the cell.

Note that the units' sides are irrelevant; the sizes of units of all sides are added together. Limits are calculated separately for the connection and open terrain in a cell; however, it is possible for a unit in a cell to override any capacity due to connections in that cell.

TableUT: capacity-negation u t -> t/f

Defaults to false.
This table is no longer available.

UnitTypeProperty: stack-order n

This property is the relative position of this type of unit within a stack of different units. Larger values put units higher in the stack. The exact values are unimportant, they are just used as sort keys. The use of this value is to ensure that particular types are "seen first" when looking at a cell, so for instance if a truck and a city are stacked on the same cell, everybody will see the city and not the truck. The owner of these units can still see them. If the stack-order of two units is the same, then the higher-numbered type will be higher in the stack.

There is a possible bizarrity with stacking limits and units that can't see each other when in the same hex, namely that a player could be prevented from moving a unit into a cell that looks like it has enough room.

Units and Materials

Units can carry materials.

TableUM: unit-storage-x u m -> n

This table is the space reserved specifically for each type of material.

Materials that represent people may surrender to a unit in their cell.

TableUT: people-surrender-chance u t -> n%

This table is the base chance that people in terrain of type t will change sides if a unit of type u is in their cell.

TableUM: people-surrender-effect u m -> n

This is a multiplier that takes the people type into account. Defaults to 100.

Terrain and Materials

TableTM: terrain-storage-x t m -> n

This table is the maximum amount of a material m that may be present in a cell with terrain t.

Units and Advances

TableUA: advance-needed-to-build u a -> t/f

This table is true whenever the side must have achieved advance a before it can being to construct units of type u.

UnitTypeProperty: obsolete a

This property is the type of advance that makes a unit obsolete, meaning that units of that type may longer be constructed (existing units are unaffected though). Defaults to non-advance, meaning that the unit type is never obsolete.


Go to the first, previous, next, last section, table of contents.