Units can be inside other units, and have units inside them, in a tree-like fashion. There is no limit on the depth of the tree, but most occupant-transport relationships have other limits.
ActionType: enter
unit
This is the action to enter the given unit.
UnitTypeProperty: acp-to-enter-unit
acp
This property is the number of acp a unit uses to do one entry action.
Defaults to 1
.
Table: can-enter-independent
u1 u2 -> t/f
This table is true if a unit u1 can enter an independent unit u2.
Defaults to false
.
Entering and leaving incur mp costs as does movment, but units with a speed of 0 may enter and leave transports.
Table: mp-to-enter-unit
u1 u2 -> n
This table is the extra movement points required for u1
to enter the transport u2,
and vice versa (i.e. how much of transport's time is consumed by the process).
Defaults to 0
.
Table: mp-to-leave-unit
u1 u2 -> n
Similar to entry cost.
Defaults to 0
.
Note that these mp consumptions need not be symmetrical between occupant and transport, so for instance a passenger can use 2 of its mp to get on a transport, while costing the transport only one of its mp.
Table: ferry-on-entry
u1 u2 -> ferry-type
Table: ferry-on-departure
u1 u2 -> ferry-type
This table specifies how much intervening terrain the unit u2
entering or leaving transport u1
will have to cross on its own (and thus incur the terrain's mp costs and
limitations).
Defaults to over-border
.
GlobalConstant: over-nothing
This constant indicates no ferrying, occupant must pay all costs to go to destination cell.
GlobalConstant: over-own
This constant indicates that the transport ferries over terrain of its own cell.
GlobalConstant: over-border
This constant indicates that the transport ferries over any border terrain also.
GlobalConstant: over-all
This constant indicates that the transport ferries to destination cell, effectively putting occupant on middle of cell, on connection terrain if necessary.