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.
Defaults to 0
.
Table: 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
.
Table: 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.
Defaults to 0
.
Table: occupant-max
u1 u2 -> n
This table is the upper limit on the number of occupants of this type
(not counting unit-capacity-x
).
Defaults to 0
.
UnitTypeProperty: occupant-total-max
n
This property is the upper limit on occupants of all types together.
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.
Table: occupant-vision
u1 u2 -> t/f
Table: 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
.
Table: 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 false
.
Table: 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 false
.