Obstruction¶
Examples¶
Example¶
XML Elements¶
The following elements can be used within this component:
Obstruction¶
Static¶
Path: Obstruction/Static
Unit¶
Path: Obstruction/Unit
Obstructions¶
Path: Obstruction/Obstructions
Active¶
If false, this entity will be ignored in collision tests by other units but can still perform its own collision tests
Type: boolean (true or false)
Path: Obstruction/Active
BlockMovement¶
Whether units should be allowed to walk through this entity
Type: boolean (true or false)
Path: Obstruction/BlockMovement
BlockPathfinding¶
Whether the long-distance pathfinder should avoid paths through this entity. This should only be set for large stationary obstructions
Type: boolean (true or false)
Path: Obstruction/BlockPathfinding
BlockFoundation¶
Whether players should be unable to place building foundations on top of this entity. If true, BlockConstruction should be true too
Type: boolean (true or false)
Path: Obstruction/BlockFoundation
BlockConstruction¶
Whether players should be unable to begin constructing buildings placed on top of this entity
Type: boolean (true or false)
Path: Obstruction/BlockConstruction
DeleteUponConstruction¶
Whether this entity should be deleted when construction on a buildings placed on top of this entity is started.
Type: boolean (true or false)
Path: Obstruction/DeleteUponConstruction
DisableBlockMovement¶
If true, BlockMovement will be overridden and treated as false. (This is a special case to handle foundations)
Type: boolean (true or false)
Path: Obstruction/DisableBlockMovement
DisableBlockPathfinding¶
If true, BlockPathfinding will be overridden and treated as false. (This is a special case to handle foundations)
Type: boolean (true or false)
Path: Obstruction/DisableBlockPathfinding
ControlPersist¶
If present, the control group of this entity will be given to entities that are colliding with it.
Path: Obstruction/ControlPersist
RELAX NG Grammar¶
<define name="component.Obstruction">
<element name="Obstruction">
<interleave>
<choice>
<element name="Static">
<attribute name="width">
<data type="decimal">
<param name="minInclusive">
</param>
</data>
</attribute>
<attribute name="depth">
<data type="decimal">
<param name="minInclusive">
</param>
</data>
</attribute>
</element>
<element name="Unit">
<empty/>
</element>
<element name="Obstructions">
<zeroOrMore>
<element>
<anyName/>
<optional>
<attribute name="x">
<data type="decimal"/>
</attribute>
</optional>
<optional>
<attribute name="z">
<data type="decimal"/>
</attribute>
</optional>
<attribute name="width">
<data type="decimal">
<param name="minInclusive">
</param>
</data>
</attribute>
<attribute name="depth">
<data type="decimal">
<param name="minInclusive">
</param>
</data>
</attribute>
</element>
</zeroOrMore>
</element>
</choice>
<element name="Active">
<data type="boolean"/>
</element>
<element name="BlockMovement">
<data type="boolean"/>
</element>
<element name="BlockPathfinding">
<data type="boolean"/>
</element>
<element name="BlockFoundation">
<data type="boolean"/>
</element>
<element name="BlockConstruction">
<data type="boolean"/>
</element>
<element name="DeleteUponConstruction">
<data type="boolean"/>
</element>
<element name="DisableBlockMovement">
<data type="boolean"/>
</element>
<element name="DisableBlockPathfinding">
<data type="boolean"/>
</element>
<optional>
<element name="ControlPersist">
<empty/>
</element>
</optional>
</interleave>
</element>
</define>