Knowledgebase Article 41

Specifying the transportation/storage abilities of buildings and units

The term 'container' refers to both buildings and units and will be used throughout this article, which both behave absolutely identical. The term 'unit' always refers to the unit that is going to be transfered into or out of a container.

This is an example of the Transportation Variables:

   Transportation { 
      MaxLoadableUnits = 32
      MaxLoadableUnitSize = 200
      MaxLoadableMass = 1000000
      CategoriesNOT = light_aircraft medium_aircraft 
      EntranceSystemNum = 2
      EntranceSystem0 {
        Mode = In Out Docking
        UnitHeightAbs = ground_level
        UnitHeightRel = -100
        ContainerHeight = ground_level
        CategoriesNOT = 
        DockingHeightAbs = ground_level
        DockingHeightRel = -100 
      } EntranceSystem0
      EntranceSystem1 {
        Mode = Out
        ContatinerHeight = low_level_flight
        UnitHeightAbs = ground_level
        RequireUnitFunction = paratrooper
        CategoriesNOT = 
        DisableAttack = true
        MoveCost = 12 
      } EntranceSystem1
   } Transportation

If there is no transportation group, the container can not carry any units.

The maximum number of units that can be carried. There is an exception to this rule: if a building is already full, it can still be conquered by an enemy unit. Default: 0

The maximum size (=empty weight) of a single unit. Default: 2^31 (which is very very much, about 2 billion)

The maximum weight of all units. Default: 2^31

These Categories can NOT be loaded. Default: none (that is, all can be loaded)

A Container may have any number of entrance systems. If it does have none, no units can enter or leave the container on their own. But it is still possible to load units if the container is inside another container. Default: 0

May be any combination of In, Out and Docking. Docking means transfering a unit from one container to another if both are standing next to each other. Example: A trooper loaded in a submerged submarine may conquer a submarine base, although the trooper can not leave the submarine to dive a bit on his own.

The entrance system can only be used if the unit/building is a level of height specified here

These Categories can NOT be loaded. Default: none (that is, all can be loaded)

The unit must be on one of these levels of height for the entrance system to work. If UnitHeightAbs is 0 , this variable will NOT restrict anything.

The unit must have a level of height that differs by UnitHeightRel to the height of the container. This is only necessary for containers that can operate at different altitudes. A good example is the space shuttle: if it is in orbit, it may (un)load orbiting satellites, but no satellites that are on the ground. If is the shuttle is on the ground, it may (un)load satellites that are on the ground, but not in orbit. So you would specify UnitHeightRel = 0 for the space shuttle. If the unit must be one level higher than the container, you would use UnitHeightRel = 1. Please note that ground_level and floating are treated as ONE level of height, so a floating aircraft carrier ahs a height difference of 0 to a walking trooper, and a height difference of 1 to a aircraft on low level flight.
If the container cannot change its level of height, specifying UnitHeightRel is absolutely unnecessary, because UnitHeightAbs does the same and is much easier to read and understand!
If UnitHeightRel = -100 this variable will NOT restrict anything. Default: -100

For a unit to move from one container to another the dockingHeight_abs of the container must match. Default: 0
Comparable to UnitHeightRel. Default: -100

The EntranceSystem is restricted to units having the given functions. If nothing is specified this variable will not restrict anything. Default: Nothing

If true, a unit can't attack any more after having used this entrance system. Default: false
This value overrides the movement cost for using the entrance system. It is currently only evaluated for moving OUT of a container. Values < 10 must not be used. A value of -1 indicates that no override is taking place. Default: -1

Last change: Thu, 2004-10-28 12:50

search knowledgebase
browse knowledgebase