Skip to content

Trait documentation example

Pavel Penev edited this page Sep 2, 2022 · 10 revisions

This documentation is aimed at modders and has been automatically generated for version dev-20220612 of OpenRA. Please do not edit it directly, but instead add new [Desc("String")] tags to the source code.

Listed below are all traits with their properties and their default values plus developer commentary.

OpenRA.Mods.Cnc.Traits

AttackLeap

Move onto the target then execute the attack.

Inherits from: AttackFrontal, AttackBase, PausableConditionalTrait, ConditionalTrait.
Requires trait(s): Mobile.
Property Default Value Type Attributes Description
Speed 0c426 1D World Distance Leap speed (in WDist units/tick).
LeapCondition attacking String GrantedConditionReference Conditions that last from start of the leap until the attack.
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackPopupTurreted

Actor's turret rises from the ground before attacking.

Inherits from: AttackTurreted, AttackFollow, AttackBase, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
CloseDelay 125 Integer How many game ticks should pass before closing the actor's turret.
DefaultFacing 0 1D World Angle
ClosedDamageMultiplier 50 Integer The percentage of damage that is received while this actor is closed.
OpeningSequence opening String SequenceReference Sequence to play when opening.
ClosingSequence closing String SequenceReference Sequence to play when closing.
ClosedIdleSequence closed-idle String SequenceReference Idle sequence to play when closed.
Body body String Which sprite body to play the animation on.
Turrets primary Collection of String Turret names
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargeting True Boolean Keep firing on targets even after attack order is cancelled
RangeMargin 1c0 1D World Distance Range to stay away from min and max ranges to give some leeway if the target starts moving.
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackTDGunboatTurreted

Actor has a visual turret used to attack.

Inherits from: AttackTurreted, AttackFollow, AttackBase, PausableConditionalTrait, ConditionalTrait.
Requires trait(s): TDGunboat, Turreted.
Property Default Value Type Attributes Description
Turrets primary Collection of String Turret names
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargeting True Boolean Keep firing on targets even after attack order is cancelled
RangeMargin 1c0 1D World Distance Range to stay away from min and max ranges to give some leeway if the target starts moving.
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackTesla

Implements the charge-then-burst attack logic specific to the RA tesla coil.

Inherits from: AttackBase, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
MaxCharges 1 Integer How many charges this actor has to attack with, once charged.
ReloadDelay 120 Integer Reload time for all charges (in ticks).
InitialChargeDelay 22 Integer Delay for initial charge attack (in ticks).
ChargeDelay 3 Integer Delay between charge attacks (in ticks).
ChargeAudio String Sound to play when actor charges.
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

ClonesProducedUnits

Creates a free duplicate of produced units.

Inherits from: ConditionalTrait.
Requires trait(s): Exit, Production.
Property Default Value Type Attributes Description
CloneableTypes Collection of CloneableType Require Uses the "Cloneable" trait to determine whether or not we should clone a produced unit.
ProductionType String Require e.g. Infantry, Vehicles, Aircraft, Buildings
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

TiberianSunRefinery

Inherits from: Refinery.
Requires trait(s): WithSpriteBody.
Property Default Value Type Attributes Description
DockAngle 0 1D World Angle Actual harvester facing when docking.
DockOffset 0,0 2D Cell Vector Docking cell relative to top-left cell.
IsDragRequired False Boolean Does the refinery require the harvester to be dragged in?
DragOffset 0,0,0 3D World Vector Vector by which the harvester will be dragged when docking.
DragLength 0 Integer In how many steps to perform the dragging?
UseStorage True Boolean Store resources in silos. Adds cash directly without storing if set to false.
DiscardExcessResources False Boolean Discard resources once silo capacity has been reached.
ShowTicks True Boolean
TickLifetime 30 Integer
TickVelocity 2 Integer
TickRate 10 Integer

Chronoshiftable

Can be teleported via Chronoshift power.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
ExplodeInstead False Boolean Should the actor die instead of being teleported?
DamageTypes Collection of DamageType Types of damage that this trait causes to self when 'ExplodeInstead' is true or the return-to-origin is blocked. Leave empty for no damage types.
ChronoshiftSound chrono2.aud String
ReturnToOrigin True Boolean Should the actor return to its previous location after the chronoshift wore out?
TimeBarColor FFFFFF Color (RRGGBB[AA] notation) The color the bar of the 'return-to-origin' logic has.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

ClassicFacingBodyOrientation

Fudge the coordinate system angles like the early games (for sprite sequences that use classic facing fudge).

Inherits from: BodyOrientation.
Property Default Value Type Attributes Description
QuantizedFacings -1 Integer Number of facings for gameplay calculations. -1 indicates auto-detection from another trait.
CameraPitch 113 1D World Angle Camera pitch for rotation calculations.
UseClassicPerspectiveFudge True Boolean Fudge the coordinate system angles to simulate non-top-down perspective in mods with square cells.

Cloneable

Actors with the "ClonesProducedUnits" trait will produce a free duplicate of me.

Property Default Value Type Attributes Description
Types Collection of CloneableType Require This unit's cloneable type is:

ConyardChronoReturn

Implements the special case handling for the Chronoshiftable return on a construction yard. If ReturnOriginalActorOnCondition evaluates true and the actor is not being sold then OriginalActor will be returned to the origin. Otherwise, a vortex animation is played and damage is dealt each tick, ignoring modifiers.

Requires trait(s): Health, WithSpriteBody.
Property Default Value Type Attributes Description
Sequence pdox String SequenceReference Sequence name with the baked-in vortex animation
Body body String Sprite body to play the vortex animation on.
Condition String GrantedConditionReference Condition to grant while the vortex animation plays.
Damage 1000 Integer Amount of damage to apply each tick while the vortex animation plays.
DamageTypes Collection of DamageType Apply the damage using these damagetypes.
ReturnOriginalActorOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition under which to teleport a replacement actor instead of triggering the vortex.
OriginalActor mcv String ActorReference Replacement actor to create when ReturnOriginalActorOnCondition evaluates true.
Facing 384 1D World Angle Facing of the returned actor.
ChronoshiftSound chrono2.aud String
TimeBarColor FFFFFF Color (RRGGBB[AA] notation) The color the bar of the 'return-to-origin' logic has.

DisguiseTooltip

Overrides the default Tooltip when this actor is disguised (aids in deceiving enemy players).

Inherits from: Tooltip, TooltipInfoBase, ConditionalTrait.
Requires trait(s): Disguise.
Property Default Value Type Attributes Description
GenericName String An optional generic name (i.e. "Soldier" or "Structure")to be shown to chosen players.
GenericStancePrefix True Boolean Prefix generic tooltip name with 'Ally/Neutral/EnemyPrefix'.
AllyPrefix Allied String Prefix to display in the tooltip for allied units.
NeutralPrefix String Prefix to display in the tooltip for neutral units.
EnemyPrefix Enemy String Prefix to display in the tooltip for enemy units.
GenericVisibility None PlayerRelationship Player stances that the generic name should be shown to.
ShowOwnerRow True Boolean Show the actor's owner and their faction flag
Name String
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

Disguise

Provides access to the disguise command, which makes the actor appear to be another player's actor.

Property Default Value Type Attributes Description
Voice Action String VoiceReference
DisguisedCondition String GrantedConditionReference The condition to grant to self while disguised.
ValidRelationships Enemy, Neutral, Ally PlayerRelationship Player relationships the owner of the disguise target needs.
TargetTypes Disguise Collection of TargetableType Target types of actors that this actor disguise as.
RevealDisguiseOn Attack RevealDisguiseType Triggers which cause the actor to drop it's disguise. Possible values: None, Attack, Damaged, Unload, Infiltrate, Demolish, Move.
DisguisedAsConditions Dictionary with Key: String, Value: String ActorReference Conditions to grant when disguised as specified actor. A dictionary of [actor id]: [condition].
Cursor ability String CursorReference Cursor to display when hovering over a valid actor to disguise as.

DrainPrerequisitePowerOnDamage

Converts damage to a charge level of a GrantPrerequisiteChargeDrainPower.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
OrderName GrantPrerequisiteChargeDrainPowerInfoOrder String The OrderName of the GrantPrerequisiteChargeDrainPower to drain.
DamageMultiplier 1 Integer Damage is multiplied by this number when converting damage to drain ticks.
DamageDivisor 600 Integer Damage is divided by this number when converting damage to drain ticks.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

EdibleByLeap

Allows this actor to be the target of an attack leap.

EnergyWall

Will open and be passable for actors that appear friendly when there are no enemies in range.

Inherits from: Building.
Property Default Value Type Attributes Description
Weapon String Require, WeaponReference The weapon to attack units on top of the wall with when activated.
ActiveCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to activate this trait.
TerrainTypes Set of String Where you are allowed to place the building (Water, Clear, ...)
Footprint Dictionary with Key: 2D Cell Vector, Value: FootprintCellType x means cell is blocked, capital X means blocked but not counting as targetable, = means part of the footprint but passable, _ means completely empty.
Dimensions 1,1 2D Cell Vector
LocalCenterOffset 0,0,0 3D World Vector Shift center of the actor by this offset.
RequiresBaseProvider False Boolean
AllowInvalidPlacement False Boolean
AllowPlacementOnResources False Boolean
RemoveSmudgesOnBuild True Boolean Clear smudges from underneath the building footprint.
RemoveSmudgesOnSell True Boolean Clear smudges from underneath the building footprint on sell.
RemoveSmudgesOnTransform True Boolean Clear smudges from underneath the building footprint on transform.
BuildSounds Collection of String
UndeploySounds Collection of String

FrozenUnderFogUpdatedByGps

Updates frozen actors of actors that change owners, are sold or die whilst having an active GPS power.

Requires trait(s): FrozenUnderFog.

GpsDot

Show an indicator revealing the actor underneath the fog when a GPSWatcher is activated.

Property Default Value Type Attributes Description
Image gpsdot String Sprite collection for symbols.
String Infantry String SequenceReference Sprite used for this actor.
IndicatorPalettePrefix player String PaletteReference

GpsWatcher

Required for GpsPower. Attach this to the player actor.

HarvesterHuskModifier

Requires trait(s): Harvester.
Property Default Value Type Attributes Description
FullHuskActor String ActorReference
FullnessThreshold 50 Integer

InfiltrateForCash

Funds are transferred from the owner to the infiltrator.

Property Default Value Type Attributes Description
Types Collection of TargetableType The TargetTypes from Targetable that are allowed to enter.
Percentage 100 Integer Percentage of the victim's resources that will be stolen.
Minimum -1 Integer Amount of guaranteed funds to claim when the victim does not have enough resources. When negative, the production price of the infiltrating actor will be used instead.
Maximum 2147483647 Integer Maximum amount of funds which will be stolen.
InfiltratedNotification String NotificationReference Sound the victim will hear when they get robbed.
InfiltratedTextNotification String Text notification the victim will see when they get robbed.
InfiltrationNotification String NotificationReference Sound the perpetrator will hear after successful infiltration.
InfiltrationTextNotification String Text notification the perpetrator will see after successful infiltration.
ShowTicks True Boolean Whether to show the cash tick indicators rising from the actor.

InfiltrateForDecoration

Reveals a decoration sprite to the indicated players when infiltrated.

Inherits from: WithDecoration, WithDecorationBase, ConditionalTrait.
Property Default Value Type Attributes Description
Types Collection of TargetableType The TargetTypes from Targetable that are allowed to enter.
Image String Image used for this decoration. Defaults to the actor's type.
Sequence String Require, SequenceReference Sequence used for this decoration (can be animated).
Palette chrome String PaletteReference Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.
IsPlayerPalette False Boolean Custom palette is a player palette BaseName
Position TopLeft String Position in the actor's selection box to draw the decoration.
ValidRelationships Ally PlayerRelationship Player relationships who can view the decoration.
RequiresSelection False Boolean Should this be visible only when selected?
Margin 0,0 2D Integer Offset sprite center position from the selection box edge.
Offsets Dictionary with Key: BooleanExpression, Value: 2D Integer Screen-space offsets to apply when defined conditions are enabled. A dictionary of [condition string]: [x, y offset].
BlinkInterval 5 Integer The number of ticks that each step in the blink pattern in active.
BlinkPattern Collection of BlinkState A pattern of ticks (BlinkInterval long) where the decoration is visible or hidden.
BlinkPatterns Dictionary with Key: BooleanExpression, Value: Collection of BlinkState Override blink conditions to use when defined conditions are enabled. A dictionary of [condition string]: [pattern].
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

InfiltrateForExploration

Steal and reset the owner's exploration.

Property Default Value Type Attributes Description
Types Collection of TargetableType The TargetTypes from Targetable that are allowed to enter.
InfiltratedNotification String NotificationReference Sound the victim will hear when they get sabotaged.
InfiltratedTextNotification String Text notification the victim will see when they get sabotaged.
InfiltrationNotification String NotificationReference Sound the perpetrator will hear after successful infiltration.
InfiltrationTextNotification String Text notification the perpetrator will see after successful infiltration.

InfiltrateForPowerOutage

Property Default Value Type Attributes Description
Types Collection of TargetableType The TargetTypes from Targetable that are allowed to enter.
Duration 500 Integer Measured in ticks.
InfiltratedNotification String NotificationReference Sound the victim will hear when they get sabotaged.
InfiltratedTextNotification String Text notification the victim will see when they get sabotaged.
InfiltrationNotification String NotificationReference Sound the perpetrator will hear after successful infiltration.
InfiltrationTextNotification String Text notification the perpetrator will see after successful infiltration.

InfiltrateForSupportPower

Property Default Value Type Attributes Description
Proxy String ActorReference, Require
Types Collection of TargetableType The TargetTypes from Targetable that are allowed to enter.
InfiltratedNotification String NotificationReference Sound the victim will hear when technology gets stolen.
InfiltratedTextNotification String Text notification the victim will see when technology gets stolen.
InfiltrationNotification String NotificationReference Sound the perpetrator will hear after successful infiltration.
InfiltrationTextNotification String Text notification the perpetrator will see after successful infiltration.

InfiltrateForSupportPowerReset

Property Default Value Type Attributes Description
Types Collection of TargetableType The TargetTypes from Targetable that are allowed to enter.
InfiltratedNotification String NotificationReference Sound the victim will hear when they get sabotaged.
InfiltratedTextNotification String Text notification the victim will see when they get sabotaged.
InfiltrationNotification String NotificationReference Sound the perpetrator will hear after successful infiltration.
InfiltrationTextNotification String Text notification the perpetrator will see after successful infiltration.

InfiltrateForTransform

Transform into a different actor type.

Property Default Value Type Attributes Description
IntoActor String ActorReference, Require
ForceHealthPercentage 0 Integer
SkipMakeAnims True Boolean
Types Collection of TargetableType The TargetTypes from Targetable that are allowed to enter.

Infiltrates

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
Types Collection of TargetableType The TargetTypes from Targetable that are allowed to enter.
Voice Action String VoiceReference
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
ValidRelationships Enemy, Neutral PlayerRelationship Player relationships the owner of the infiltration target needs.
EnterBehaviour Dispose EnterBehaviour Behaviour when entering the target. Possible values are Exit, Suicide, Dispose.
Notification String NotificationReference Notification to play when a target is infiltrated.
TextNotification String Text notification to display when a target is infiltrated.
PlayerExperience 0 Integer Experience to grant to the infiltrating player.
EnterCursor enter String CursorReference Cursor to display when able to infiltrate the target actor.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

MadTank

Requires trait(s): Explodes, WithFacingSpriteBody.
Property Default Value Type Attributes Description
ThumpSequence piston String SequenceReference
ThumpInterval 8 Integer
ThumpDamageWeapon MADTankThump String WeaponReference
ChargeDelay 96 Integer Measured in ticks.
ChargeSound madchrg2.aud String
DetonationDelay 42 Integer Measured in ticks.
DetonationSound madexplo.aud String
DetonationWeapon MADTankDetonate String WeaponReference
DriverActor e1 String ActorReference
Voice Action String VoiceReference
DeployedCondition String GrantedConditionReference The condition to grant to self while deployed.
DamageTypes Collection of DamageType Types of damage that this trait causes to self while self-destructing. Leave empty for no damage types.
AttackCursor attack String CursorReference Cursor to display when targeting.
DeployCursor deploy String CursorReference Cursor to display when able to set up the detonation sequence.

Mine

Property Default Value Type Attributes Description
CrushClasses Collection of CrushClass
AvoidFriendly True Boolean
BlockFriendly True Boolean
DetonateClasses Collection of CrushClass

MineImmune

Tag trait for stuff that should not trigger mines.

Minelayer

Requires trait(s): Rearmable.
Property Default Value Type Attributes Description
Mine minv String ActorReference
AmmoPoolName primary String
MinefieldDepth 1c512 1D World Distance
Voice Action String VoiceReference Voice to use when ordered to lay a minefield.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line when laying mines.
TileValidName build-valid String Sprite overlay to use for valid minefield cells.
TileInvalidName build-invalid String Sprite overlay to use for invalid minefield cells.
TileUnknownName build-unknown String Sprite overlay to use for minefield cells hidden behind fog or shroud.
TerrainTypes Set of String Only allow laying mines on listed terrain types. Leave empty to allow all terrain types.
DeployCursor deploy String CursorReference Cursor to display when able to lay a mine.
DeployBlockedCursor deploy-blocked String CursorReference Cursor to display when unable to lay a mine.
AbilityCursor ability String CursorReference Cursor to display when able to lay a mine.
AmmoUsage 1 Integer Ammo the minelayer consumes per mine.

ChronoshiftPaletteEffect

Apply palette full screen rotations during chronoshifts. Add this to the world actor.

Property Default Value Type Attributes Description
ChronoEffectLength 60 Integer Measured in ticks.

LightPaletteRotator

Palette effect used for blinking "animations" on actors.

Property Default Value Type Attributes Description
ExcludePalettes Set of String Palettes this effect should not apply to.
TimeStep 0.5 Real Number 'Speed' at which the effect cycles through palette indices.
ModifyIndex 103 Integer Palette index to map to rotating color indices.
RotationIndices 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 238, 237, 236, 235, 234, 233, 232, 231 Collection of Integer Palette indices to rotate through.

PortableChrono

Inherits from: PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
ChargeDelay 500 Integer Cooldown in ticks until the unit can teleport.
HasDistanceLimit True Boolean Can the unit teleport only a certain distance?
MaxDistance 12 Integer The maximum distance in cells this unit can teleport (only used if HasDistanceLimit = true).
ChronoshiftSound chrotnk1.aud String Sound to play when teleporting.
DeployCursor deploy String CursorReference Cursor to display when able to deploy the actor.
DeployBlockedCursor deploy-blocked String CursorReference Cursor to display when unable to deploy the actor.
TargetCursor chrono-target String CursorReference Cursor to display when targeting a teleport location.
TargetBlockedCursor move-blocked String CursorReference Cursor to display when the targeted location is blocked.
KillCargo True Boolean Kill cargo on teleporting.
FlashScreen False Boolean Flash the screen on teleporting.
Voice Action String VoiceReference
CircleColor 7CFC0080 Color (RRGGBB[AA] notation) Range circle color.
CircleWidth 1 Real Number Range circle line width.
CircleBorderColor 00000060 Color (RRGGBB[AA] notation) Range circle border color.
CircleBorderWidth 3 Real Number Range circle border width.
TargetLineColor 7CFC00 Color (RRGGBB[AA] notation) Color to use for the target line.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

WithBuildingBib

Requires trait(s): Building, RenderSprites.
Property Default Value Type Attributes Description
Sequence bib String SequenceReference
Palette terrain String PaletteReference
HasMinibib False Boolean

ResourcePurifier

Gives additional cash when resources are delivered to refineries.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
Modifier 0 Integer Require Percentage value of the resource to grant as cash.
ShowTicks True Boolean Whether to show the cash tick indicators rising from the actor.
TickLifetime 30 Integer How long the cash ticks stay on the screen.
TickRate 10 Integer How often the cash ticks can appear.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackOrderPower

Inherits from: SupportPower, PausableConditionalTrait, ConditionalTrait.
Requires trait(s): AttackBase.
Property Default Value Type Attributes Description
CircleColor FF0000 Color (RRGGBB[AA] notation) Range circle color.
CircleWidth 1 Real Number Range circle line width.
CircleBorderColor 00000060 Color (RRGGBB[AA] notation) Range circle border color.
CircleBorderWidth 3 Real Number Range circle border width.
ChargeInterval 0 Integer Measured in ticks.
IconImage icon String
Icon String SequenceReference Icon sprite displayed in the support power palette.
IconPalette chrome String PaletteReference Palette used for the icon.
Name String
Description String
AllowMultiple False Boolean Allow multiple instances of the same support power.
OneShot False Boolean Allow this to be used only once.
Cursor ability String CursorReference Cursor to display for using this support power.
StartFullyCharged False Boolean If set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
Prerequisites Collection of String
DetectedSound String
DetectedSpeechNotification String NotificationReference
DetectedTextNotification String
BeginChargeSound String
BeginChargeSpeechNotification String NotificationReference
BeginChargeTextNotification String
EndChargeSound String
EndChargeSpeechNotification String NotificationReference
EndChargeTextNotification String
SelectTargetSound String
SelectTargetSpeechNotification String NotificationReference
SelectTargetTextNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String NotificationReference
InsufficientPowerTextNotification String
LaunchSound String
LaunchSpeechNotification String NotificationReference
LaunchTextNotification String
IncomingSound String
IncomingSpeechNotification String NotificationReference
IncomingTextNotification String
DisplayTimerRelationships None PlayerRelationship Defines to which players the timer is shown.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String PaletteReference
BeaconImage beacon String
BeaconPoster String SequenceReference
BeaconPosterPalette chrome String PaletteReference
ClockSequence String SequenceReference
BeaconSequence String SequenceReference
ArrowSequence String SequenceReference
CircleSequence String SequenceReference
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName AttackOrderPowerInfoOrder String
SupportPowerPaletteOrder 9999 Integer Sort order for the support power palette. Smaller numbers are presented earlier.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

ChronoshiftPower

Inherits from: SupportPower, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
Dimensions 0,0 2D Cell Vector Require Size of the footprint of the affected area.
Footprint String Require Actual footprint. Cells marked as x will be affected.
Duration 750 Integer Ticks until returning after teleportation.
TargetOverlayPalette terrain String PaletteReference
FootprintImage overlay String
ValidFootprintSequence target-valid String SequenceReference
InvalidFootprintSequence target-invalid String SequenceReference
SourceFootprintSequence target-select String SequenceReference
KillCargo True Boolean
SelectionCursor chrono-select String CursorReference Cursor to display when selecting targets for the chronoshift.
TargetCursor chrono-target String CursorReference Cursor to display when targeting an area for the chronoshift.
TargetBlockedCursor move-blocked String CursorReference Cursor to display when the targeted area is blocked.
ChargeInterval 0 Integer Measured in ticks.
IconImage icon String
Icon String SequenceReference Icon sprite displayed in the support power palette.
IconPalette chrome String PaletteReference Palette used for the icon.
Name String
Description String
AllowMultiple False Boolean Allow multiple instances of the same support power.
OneShot False Boolean Allow this to be used only once.
Cursor ability String CursorReference Cursor to display for using this support power.
StartFullyCharged False Boolean If set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
Prerequisites Collection of String
DetectedSound String
DetectedSpeechNotification String NotificationReference
DetectedTextNotification String
BeginChargeSound String
BeginChargeSpeechNotification String NotificationReference
BeginChargeTextNotification String
EndChargeSound String
EndChargeSpeechNotification String NotificationReference
EndChargeTextNotification String
SelectTargetSound String
SelectTargetSpeechNotification String NotificationReference
SelectTargetTextNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String NotificationReference
InsufficientPowerTextNotification String
LaunchSound String
LaunchSpeechNotification String NotificationReference
LaunchTextNotification String
IncomingSound String
IncomingSpeechNotification String NotificationReference
IncomingTextNotification String
DisplayTimerRelationships None PlayerRelationship Defines to which players the timer is shown.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String PaletteReference
BeaconImage beacon String
BeaconPoster String SequenceReference
BeaconPosterPalette chrome String PaletteReference
ClockSequence String SequenceReference
BeaconSequence String SequenceReference
ArrowSequence String SequenceReference
CircleSequence String SequenceReference
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName ChronoshiftPowerInfoOrder String
SupportPowerPaletteOrder 9999 Integer Sort order for the support power palette. Smaller numbers are presented earlier.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

DropPodsPower

Inherits from: SupportPower, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
UnitTypes Collection of String Require, ActorReference Drop pod unit
Drops 5,8 2D Integer Number of drop pods spawned.
PodFacing 128 1D World Angle Sets the approach direction.
PodScatter 3 Integer Maximum offset from targetLocation
EntryEffect podring String Effect sequence sprite image
EntryEffectSequence idle String SequenceReference Effect sequence to display in the air.
EntryEffectPalette effect String PaletteReference
CameraActor String ActorReference Actor to spawn when the attack starts
CameraRemoveDelay 25 Integer Number of ticks to keep the camera alive
Weapon Vulcan2 String WeaponReference Which weapon to fire
WeaponDelay 0 Integer Apply the weapon impact this many ticks into the effect
ChargeInterval 0 Integer Measured in ticks.
IconImage icon String
Icon String SequenceReference Icon sprite displayed in the support power palette.
IconPalette chrome String PaletteReference Palette used for the icon.
Name String
Description String
AllowMultiple False Boolean Allow multiple instances of the same support power.
OneShot False Boolean Allow this to be used only once.
Cursor ability String CursorReference Cursor to display for using this support power.
StartFullyCharged False Boolean If set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
Prerequisites Collection of String
DetectedSound String
DetectedSpeechNotification String NotificationReference
DetectedTextNotification String
BeginChargeSound String
BeginChargeSpeechNotification String NotificationReference
BeginChargeTextNotification String
EndChargeSound String
EndChargeSpeechNotification String NotificationReference
EndChargeTextNotification String
SelectTargetSound String
SelectTargetSpeechNotification String NotificationReference
SelectTargetTextNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String NotificationReference
InsufficientPowerTextNotification String
LaunchSound String
LaunchSpeechNotification String NotificationReference
LaunchTextNotification String
IncomingSound String
IncomingSpeechNotification String NotificationReference
IncomingTextNotification String
DisplayTimerRelationships None PlayerRelationship Defines to which players the timer is shown.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String PaletteReference
BeaconImage beacon String
BeaconPoster String SequenceReference
BeaconPosterPalette chrome String PaletteReference
ClockSequence String SequenceReference
BeaconSequence String SequenceReference
ArrowSequence String SequenceReference
CircleSequence String SequenceReference
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName DropPodsPowerInfoOrder String
SupportPowerPaletteOrder 9999 Integer Sort order for the support power palette. Smaller numbers are presented earlier.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

GpsPower

Requires GpsWatcher on the player actor.

Inherits from: SupportPower, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
RevealDelay 0 Integer Delay in ticks between launching and revealing the map.
DoorImage atek String
DoorSequence active String SequenceReference
DoorPalette player String PaletteReference Palette to use for rendering the launch animation
DoorPaletteIsPlayerPalette True Boolean Custom palette is a player palette BaseName
SatelliteImage sputnik String
SatelliteSequence idle String SequenceReference
SatellitePalette player String PaletteReference Palette to use for rendering the satellite projectile
SatellitePaletteIsPlayerPalette True Boolean Custom palette is a player palette BaseName
RequiresActiveRadar True Boolean Requires an actor with an online ProvidesRadar to show GPS dots.
ChargeInterval 0 Integer Measured in ticks.
IconImage icon String
Icon String SequenceReference Icon sprite displayed in the support power palette.
IconPalette chrome String PaletteReference Palette used for the icon.
Name String
Description String
AllowMultiple False Boolean Allow multiple instances of the same support power.
OneShot False Boolean Allow this to be used only once.
Cursor ability String CursorReference Cursor to display for using this support power.
StartFullyCharged False Boolean If set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
Prerequisites Collection of String
DetectedSound String
DetectedSpeechNotification String NotificationReference
DetectedTextNotification String
BeginChargeSound String
BeginChargeSpeechNotification String NotificationReference
BeginChargeTextNotification String
EndChargeSound String
EndChargeSpeechNotification String NotificationReference
EndChargeTextNotification String
SelectTargetSound String
SelectTargetSpeechNotification String NotificationReference
SelectTargetTextNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String NotificationReference
InsufficientPowerTextNotification String
LaunchSound String
LaunchSpeechNotification String NotificationReference
LaunchTextNotification String
IncomingSound String
IncomingSpeechNotification String NotificationReference
IncomingTextNotification String
DisplayTimerRelationships None PlayerRelationship Defines to which players the timer is shown.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String PaletteReference
BeaconImage beacon String
BeaconPoster String SequenceReference
BeaconPosterPalette chrome String PaletteReference
ClockSequence String SequenceReference
BeaconSequence String SequenceReference
ArrowSequence String SequenceReference
CircleSequence String SequenceReference
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName GpsPowerInfoOrder String
SupportPowerPaletteOrder 9999 Integer Sort order for the support power palette. Smaller numbers are presented earlier.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

GrantPrerequisiteChargeDrainPower

Grants a prerequisite while discharging at a configurable rate.

Inherits from: SupportPower, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
DischargeModifier 300 Integer Rate at which the power discharges compared to charging
Prerequisite String Require The prerequisite type that this provides.
ActiveText ACTIVE String Label to display over the support power icon and in its tooltip while the power is active.
AvailableText READY String Label to display over the support power icon and in its tooltip while the power is available but not active.
ChargeInterval 0 Integer Measured in ticks.
IconImage icon String
Icon String SequenceReference Icon sprite displayed in the support power palette.
IconPalette chrome String PaletteReference Palette used for the icon.
Name String
Description String
AllowMultiple False Boolean Allow multiple instances of the same support power.
OneShot False Boolean Allow this to be used only once.
Cursor ability String CursorReference Cursor to display for using this support power.
StartFullyCharged False Boolean If set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
Prerequisites Collection of String
DetectedSound String
DetectedSpeechNotification String NotificationReference
DetectedTextNotification String
BeginChargeSound String
BeginChargeSpeechNotification String NotificationReference
BeginChargeTextNotification String
EndChargeSound String
EndChargeSpeechNotification String NotificationReference
EndChargeTextNotification String
SelectTargetSound String
SelectTargetSpeechNotification String NotificationReference
SelectTargetTextNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String NotificationReference
InsufficientPowerTextNotification String
LaunchSound String
LaunchSpeechNotification String NotificationReference
LaunchTextNotification String
IncomingSound String
IncomingSpeechNotification String NotificationReference
IncomingTextNotification String
DisplayTimerRelationships None PlayerRelationship Defines to which players the timer is shown.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String PaletteReference
BeaconImage beacon String
BeaconPoster String SequenceReference
BeaconPosterPalette chrome String PaletteReference
ClockSequence String SequenceReference
BeaconSequence String SequenceReference
ArrowSequence String SequenceReference
CircleSequence String SequenceReference
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName GrantPrerequisiteChargeDrainPowerInfoOrder String
SupportPowerPaletteOrder 9999 Integer Sort order for the support power palette. Smaller numbers are presented earlier.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

IonCannonPower

Inherits from: SupportPower, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
CameraActor String ActorReference Actor to spawn when the attack starts
CameraRemoveDelay 25 Integer Number of ticks to keep the camera alive
Effect ionsfx String Effect sequence sprite image
EffectSequence idle String SequenceReference Effect sequence to display
EffectPalette effect String PaletteReference
Weapon IonCannon String WeaponReference Which weapon to fire
WeaponDelay 7 Integer Apply the weapon impact this many ticks into the effect
OnFireSound String Sound to instantly play at the targeted area.
ChargeInterval 0 Integer Measured in ticks.
IconImage icon String
Icon String SequenceReference Icon sprite displayed in the support power palette.
IconPalette chrome String PaletteReference Palette used for the icon.
Name String
Description String
AllowMultiple False Boolean Allow multiple instances of the same support power.
OneShot False Boolean Allow this to be used only once.
Cursor ability String CursorReference Cursor to display for using this support power.
StartFullyCharged False Boolean If set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
Prerequisites Collection of String
DetectedSound String
DetectedSpeechNotification String NotificationReference
DetectedTextNotification String
BeginChargeSound String
BeginChargeSpeechNotification String NotificationReference
BeginChargeTextNotification String
EndChargeSound String
EndChargeSpeechNotification String NotificationReference
EndChargeTextNotification String
SelectTargetSound String
SelectTargetSpeechNotification String NotificationReference
SelectTargetTextNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String NotificationReference
InsufficientPowerTextNotification String
LaunchSound String
LaunchSpeechNotification String NotificationReference
LaunchTextNotification String
IncomingSound String
IncomingSpeechNotification String NotificationReference
IncomingTextNotification String
DisplayTimerRelationships None PlayerRelationship Defines to which players the timer is shown.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String PaletteReference
BeaconImage beacon String
BeaconPoster String SequenceReference
BeaconPosterPalette chrome String PaletteReference
ClockSequence String SequenceReference
BeaconSequence String SequenceReference
ArrowSequence String SequenceReference
CircleSequence String SequenceReference
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName IonCannonPowerInfoOrder String
SupportPowerPaletteOrder 9999 Integer Sort order for the support power palette. Smaller numbers are presented earlier.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

TDGunboat

Property Default Value Type Attributes Description
Speed 28 Integer
InitialFacing 256 1D World Angle Facing to use when actor spawns. Only 256 and 768 supported.
PreviewFacing 256 1D World Angle Facing to use for actor previews (map editor, color picker, etc). Only 256 and 768 supported.

TransferTimedExternalConditionOnTransform

A special case trait that re-grants a timed external condition when this actor transforms. This trait does not work with permanently granted external conditions. This trait changes the external condition source, so cannot be used for conditions that may later be revoked

Requires trait(s): Transforms.
Property Default Value Type Attributes Description
Condition String Require External condition to transfer

TransformsNearResources

Replace with another actor when a resource spawns adjacent.

Property Default Value Type Attributes Description
IntoActor String Require, ActorReference
Offset 0,0 2D Cell Vector
SkipMakeAnims False Boolean Don't render the make animation.
Type String Require Resource type which triggers the transformation.
Density 1 Integer Resource density threshold which is required.
Adjacency 1 Integer This many adjacent resource tiles are required.
Delay 1000, 3000 Collection of Integer The range of time (in ticks) until the transformation starts.

ShroudPalette

Adds the hard-coded shroud palette to the game

Property Default Value Type Attributes Description
Name shroud String PaletteDefinition, Require Internal palette name
Fog False Boolean Palette type

TSEditorResourceLayer

Inherits from: EditorResourceLayer.
Requires trait(s): EditorActorLayer.
Property Default Value Type Attributes Description
VeinType Veins String
VeinholeActors Set of String ActorReference Actor types that should be treated as veins for adjacency.
ResourceTypes Dictionary with Key: String, Value: ResourceTypeInfo
RecalculateResourceDensity False Boolean Override the density saved in maps with values calculated based on the number of neighbouring resource cells.

TSResourceLayer

Inherits from: ResourceLayer.
Requires trait(s): BuildingInfluence.
Property Default Value Type Attributes Description
VeinType Veins String
VeinholeActors Set of String ActorReference Actor types that should be treated as veins for adjacency.
ResourceTypes Dictionary with Key: String, Value: ResourceTypeInfo
RecalculateResourceDensity False Boolean Override the density saved in maps with values calculated based on the number of neighbouring resource cells.

TSShroudPalette

Adds the hard-coded shroud palette to the game

Property Default Value Type Attributes Description
Name shroud String PaletteDefinition, Require Internal palette name

TSTiberiumRenderer

Renders the Tiberian Sun Tiberium resources. Attach this to the world actor

Inherits from: ResourceRenderer.
Property Default Value Type Attributes Description
Ramp1Sequences Dictionary with Key: String, Value: Collection of String Sequences to use for ramp type 1. Dictionary of [resource type]: [list of sequences].
Ramp2Sequences Dictionary with Key: String, Value: Collection of String Sequences to use for ramp type 2. Dictionary of [resource type]: [list of sequences].
Ramp3Sequences Dictionary with Key: String, Value: Collection of String Sequences to use for ramp type 3. Dictionary of [resource type]: [list of sequences].
Ramp4Sequences Dictionary with Key: String, Value: Collection of String Sequences to use for ramp type 4. Dictionary of [resource type]: [list of sequences].
ResourceTypes Dictionary with Key: String, Value: ResourceTypeInfo

TSVeinsRenderer

Renders the Tiberian Sun Vein resources. Attach this to the world actor

Property Default Value Type Attributes Description
ResourceType String Require Resource type used for veins.
Image resources String Sequence image that holds the different variants.
Sequence veins String SequenceReference Vein sequence name.
Palette terrain String PaletteReference Palette used for rendering the resource sprites.
Name String Require Resource name used by tooltips.
VeinholeActors Set of String ActorReference Actor types that should be treated as veins for adjacency.

VoxelNormalsPalette

Property Default Value Type Attributes Description
Name normals String PaletteDefinition
Type TiberianSun NormalType Can be TiberianSun or RedAlert2

WithResourceAnimation

Allows to play animations on resources. Attach this to the world actor.

Property Default Value Type Attributes Description
Types Set of String Require Resource types to animate.
Ratio 1, 10 Collection of Integer The percentage of resource cells to play the animation on. Use two values to randomize between them.
Interval 200, 500 Collection of Integer Tick interval between two animation spawning. Use two values to randomize between them.
Image String Require Animation image.
Sequences idle Collection of String SequenceReference Randomly select one of these sequences to render.
Palette String PaletteReference Animation palette.

OpenRA.Mods.Cnc.Traits.Render

WithCargo

Renders the cargo loaded into the unit.

Requires trait(s): BodyOrientation, Cargo.
Property Default Value Type Attributes Description
LocalOffset 0,0,0 Collection of 3D World Vector Cargo position relative to turret or body in (forward, right, up) triples. The default offset should be in the middle of the list.
DisplayTypes Set of String Passenger CargoType to display.

WithDisguisingInfantryBody

Inherits from: WithInfantryBody, ConditionalTrait.
Requires trait(s): Disguise, RenderSprites.
Property Default Value Type Attributes Description
MinIdleDelay 30 Integer
MaxIdleDelay 110 Integer
MoveSequence run String SequenceReference
DefaultAttackSequence String SequenceReference
AttackSequences Dictionary with Key: String, Value: Collection of String SequenceReference Attack sequence to use for each armament. A dictionary of [armament name]: [sequence name(s)]. Multiple sequence names can be defined to specify per-burst animations.
IdleSequences Collection of String SequenceReference
StandSequences stand Collection of String SequenceReference
Palette String PaletteReference Custom palette name
IsPlayerPalette False Boolean Palette is a player palette BaseName
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

WithDockingOverlay

Rendered on the refinery when a voxel harvester is docking and undocking.

Inherits from: PausableConditionalTrait, ConditionalTrait.
Requires trait(s): BodyOrientation, RenderSprites.
Property Default Value Type Attributes Description
Sequence unload-overlay String SequenceReference Sequence name to use
Offset 0,0,0 3D World Vector Position relative to body
Palette String PaletteReference Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

WithEmbeddedTurretSpriteBody

This actor has turret art with facings baked into the sprite.

Inherits from: WithSpriteBody, PausableConditionalTrait, ConditionalTrait.
Requires trait(s): BodyOrientation, RenderSprites, Turreted.
Property Default Value Type Attributes Description
QuantizedFacings -1 Integer Number of facings for gameplay calculations. -1 indicates auto-detection from the sequence.
StartSequence String SequenceReference Animation to play when the actor is created.
Sequence idle String SequenceReference Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
ForceToGround False Boolean Forces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
Palette String PaletteReference Custom palette name.
IsPlayerPalette False Boolean Palette is a player palette BaseName.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

WithGunboatBody

Inherits from: WithSpriteBody, PausableConditionalTrait, ConditionalTrait.
Requires trait(s): BodyOrientation, RenderSprites, Turreted.
Property Default Value Type Attributes Description
Turret primary String Turreted 'Turret' key to display
LeftSequence left String SequenceReference
RightSequence right String SequenceReference
WakeLeftSequence wake-left String SequenceReference
WakeRightSequence wake-right String SequenceReference
StartSequence String SequenceReference Animation to play when the actor is created.
Sequence idle String SequenceReference Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
ForceToGround False Boolean Forces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
Palette String PaletteReference Custom palette name.
IsPlayerPalette False Boolean Palette is a player palette BaseName.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

WithHarvesterSpriteBody

Inherits from: WithFacingSpriteBody, WithSpriteBody, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
ImageByFullness Collection of String Images switched between depending on fullness of harvester. Overrides RenderSprites.Image.
StartSequence String SequenceReference Animation to play when the actor is created.
Sequence idle String SequenceReference Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
ForceToGround False Boolean Forces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
Palette String PaletteReference Custom palette name.
IsPlayerPalette False Boolean Palette is a player palette BaseName.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

WithLandingCraftAnimation

Requires trait(s): Cargo, WithSpriteBody.
Property Default Value Type Attributes Description
OpenTerrainTypes Clear Set of String
OpenSequence open String SequenceReference
CloseSequence close String SequenceReference
UnloadSequence unload String SequenceReference
Body body String Which sprite body to play the animation on.

WithSplitAttackPaletteInfantryBody

Inherits from: WithInfantryBody, ConditionalTrait.
Requires trait(s): RenderSprites.
Property Default Value Type Attributes Description
SplitAttackPalette String PaletteReference Palette to use for the split attack rendering.
SplitAttackSuffix muzzle String Sequence suffix to use.
MinIdleDelay 30 Integer
MaxIdleDelay 110 Integer
MoveSequence run String SequenceReference
DefaultAttackSequence String SequenceReference
AttackSequences Dictionary with Key: String, Value: Collection of String SequenceReference Attack sequence to use for each armament. A dictionary of [armament name]: [sequence name(s)]. Multiple sequence names can be defined to specify per-burst animations.
IdleSequences Collection of String SequenceReference
StandSequences stand Collection of String SequenceReference
Palette String PaletteReference Custom palette name
IsPlayerPalette False Boolean Palette is a player palette BaseName
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

WithTeslaChargeAnimation

This actor displays a charge-up animation before firing.

Requires trait(s): RenderSprites, WithSpriteBody.
Property Default Value Type Attributes Description
ChargeSequence active String SequenceReference Sequence to use for charge animation.
Body body String Which sprite body to play the animation on.

WithTeslaChargeOverlay

Rendered together with AttackCharge.

Requires trait(s): RenderSprites.
Property Default Value Type Attributes Description
Sequence active String SequenceReference Sequence name to use
Palette String PaletteReference Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName

WithVoxelUnloadBody

Requires trait(s): RenderVoxels.
Property Default Value Type Attributes Description
UnloadSequence unload String Voxel sequence name to use when docked to a refinery.
IdleSequence idle String Voxel sequence name to use when undocked from a refinery.
ShowShadow True Boolean Defines if the Voxel should have a shadow.

WithVoxelWalkerBody

Inherits from: PausableConditionalTrait, ConditionalTrait.
Requires trait(s): RenderVoxels.
Property Default Value Type Attributes Description
Sequence idle String
TickRate 5 Integer The speed of the walker's legs.
ShowShadow True Boolean Defines if the Voxel should have a shadow.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

OpenRA.Mods.Common.Commands

ChatCommands

Enables commands triggered by typing them into the chatbox. Attach this to the world actor.

DebugVisualizationCommands

Enables visualization commands via the chatbox. Attach this to the world actor.

DevCommands

Enables developer cheats via the chatbox. Attach this to the world actor.

HelpCommand

Shows a list of available commands in the chatbox. Attach this to the world actor.

PlayerCommands

Allows the player to pause or surrender the game via the chatbox. Attach this to the world actor.

OpenRA.Mods.Common.Scripting

LuaScript

Part of the new Lua API.

Requires trait(s): SpawnMapActors.
Property Default Value Type Attributes Description
Scripts Set of String

ScriptTriggers

Allows map scripts to attach triggers to this actor via the Triggers global.

OpenRA.Mods.Common.Traits

AcceptsDeliveredCash

Tag trait for actors with DeliversCash.

Property Default Value Type Attributes Description
ValidTypes Set of String Accepted DeliversCash types. Leave empty to accept all types.
ValidRelationships Ally PlayerRelationship Player relationships the owner of the delivering actor needs.
Sounds Collection of String Play a randomly selected sound from this list when accepting cash.

AcceptsDeliveredExperience

Tag trait for actors with DeliversExperience.

Requires trait(s): GainsExperience.
Property Default Value Type Attributes Description
ValidTypes Set of String Accepted DeliversExperience types. Leave empty to accept all types.
ValidRelationships Ally PlayerRelationship Player relationships the owner of the delivering actor needs.

ActorSpawner

An actor with this trait indicates a valid spawn point for actors of ActorSpawnManager.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
Types Set of String Type of ActorSpawner with which it connects.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

Aircraft

Inherits from: PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
IdleBehavior None IdleBehaviorType Behavior when aircraft becomes idle. Options are Land, ReturnToBase, LeaveMap, and None. 'Land' will behave like 'None' (hover or circle) if a suitable landing site is not available.
CruiseAltitude 1c256 1D World Distance
Repulsable True Boolean Whether the aircraft can be repulsed.
IdealSeparation 1c682 1D World Distance The distance it tries to maintain from other aircraft if repulsable.
RepulsionSpeed -1 Integer The speed at which the aircraft is repulsed from other aircraft. Specify -1 for normal movement speed.
InitialFacing 0 1D World Angle
TurnSpeed 512 1D World Angle Speed at which the actor turns.
IdleTurnSpeed 1D World Angle (optional) Turn speed to apply when aircraft flies in circles while idle. Defaults to TurnSpeed if undefined.
Speed 1 Integer Maximum flight speed when cruising.
IdleSpeed -1 Integer If non-negative, force the aircraft to move in circles at this speed when idle (a speed of 0 means don't move), ignoring CanHover.
Pitch 0 1D World Angle Body pitch when flying forwards. Only relevant for voxel aircraft.
PitchSpeed 0 1D World Angle Pitch steps to apply each tick when starting/stopping.
Roll 0 1D World Angle Body roll when turning. Only relevant for voxel aircraft.
IdleRoll 1D World Angle (optional) Body roll to apply when aircraft flies in circles while idle. Defaults to Roll if undefined. Only relevant for voxel aircraft.
RollSpeed 0 1D World Angle Roll steps to apply each tick when turning.
MinAirborneAltitude 1 Integer Minimum altitude where this aircraft is considered airborne.
LandableTerrainTypes Set of String
MoveIntoShroud True Boolean Can the actor be ordered to move in to shroud?
Crushes Collection of CrushClass e.g. crate, wall, infantry
CrushDamageTypes Collection of DamageType Types of damage that are caused while crushing. Leave empty for no damage types.
Voice Action String VoiceReference
TargetLineColor 008000 Color (RRGGBB[AA] notation) Color to use for the target line for regular move orders.
AirborneCondition String GrantedConditionReference The condition to grant to self while airborne.
CruisingCondition String GrantedConditionReference The condition to grant to self while at cruise altitude.
CanHover False Boolean Can the actor hover in place mid-air? If not, then the actor will have to remain in motion (circle around).
CanSlide False Boolean Can the actor immediately change direction without turning first (doesn't need to fly in a curve)?
VTOL False Boolean Does the actor land and take off vertically?
TurnToLand False Boolean Does this VTOL actor need to turn before landing (on terrain)?
TakeOffOnResupply False Boolean Does this actor automatically take off after resupplying?
TakeOffOnCreation True Boolean Does this actor automatically take off after creation?
CanForceLand True Boolean Can this actor be given an explicit land order using the force-move modifier?
LandAltitude 0c0 1D World Distance Altitude at which the aircraft considers itself landed.
LandRange 5c0 1D World Distance Range to search for an alternative landing location if the ordered cell is blocked.
MaximumPitch 28 1D World Angle How fast this actor ascends or descends during horizontal movement.
AltitudeVelocity 0c43 1D World Distance How fast this actor ascends or descends when moving vertically only (vertical take off/landing or hovering towards CruiseAltitude).
TakeoffSounds Collection of String Sounds to play when the actor is taking off.
LandingSounds Collection of String Sounds to play when the actor is landing.
WaitDistanceFromResupplyBase 3c0 1D World Distance The distance of the resupply base that the aircraft will wait for its turn.
NumberOfTicksToVerifyAvailableAirport 150 Integer The number of ticks that a airplane will wait to make a new search for an available airport.
PreviewFacing 384 1D World Angle Facing to use for actor previews (map editor, color picker, etc)
EditorFacingDisplayOrder 3 Integer Display order for the facing slider in the map editor
RequireForceMoveCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition under which the regular (non-force) move cursor is disabled.
Cursor move String CursorReference Cursor to display when a move order can be issued at target location.
BlockedCursor move-blocked String CursorReference Cursor to display when a move order cannot be issued at target location.
EnterCursor enter String CursorReference Cursor to display when able to land at target building.
EnterBlockedCursor enter-blocked String CursorReference Cursor to display when unable to land at target building.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackAircraft

Inherits from: AttackFollow, AttackBase, PausableConditionalTrait, ConditionalTrait.
Requires trait(s): Aircraft.
Property Default Value Type Attributes Description
AttackType Default AirAttackType Attack behavior. Currently supported types are: Default: Attack while following the default movement rules. Hover: Hover, even if the Aircraft can't hover while idle. Strafe: Perform a fixed-length attack run on the target.
StrafeRunLength 0c0 1D World Distance Distance the strafing aircraft makes to a target before turning for another pass. When set to WDist.Zero this defaults to the maximum armament range.
AbortOnResupply True Boolean Does this actor cancel its attack activity when it needs to resupply? Setting this to 'false' will make the actor resume attack after reloading.
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargeting True Boolean Keep firing on targets even after attack order is cancelled
RangeMargin 1c0 1D World Distance Range to stay away from min and max ranges to give some leeway if the target starts moving.
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackBomber

Inherits from: AttackBase, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

FallsToEarth

Causes aircraft husks that are spawned in the air to crash to the ground.

Requires trait(s): Aircraft.
Property Default Value Type Attributes Description
Explosion UnitExplode String WeaponReference Explosion weapon that triggers when hitting ground.
MaximumSpinSpeed 1D World Angle (optional) Limit the maximum spin (in angle units per tick) that can be achieved while crashing. 0 disables spinning. Leave undefined for no limit.
Moves False Boolean Does the aircraft (husk) move forward at aircraft speed?
Velocity 0c43 1D World Distance Velocity (per tick) at which aircraft falls to ground.

AmmoPool

Actor has a limited amount of ammo, after using it all the actor must reload in some way.

Property Default Value Type Attributes Description
Name primary String Name of this ammo pool, used to link reload traits to this pool.
Armaments primary, secondary Collection of String Name(s) of armament(s) that use this pool.
Ammo 1 Integer How much ammo does this pool contain when fully loaded.
InitialAmmo -1 Integer Initial ammo the actor is created with. Defaults to Ammo.
ReloadCount 1 Integer How much ammo is reloaded after a certain period.
RearmSound String Sound to play for each reloaded ammo magazine.
ReloadDelay 50 Integer Time to reload per ReloadCount on airfield etc.
AmmoCondition String GrantedConditionReference The condition to grant to self for each ammo point in this pool.

AppearsOnMapPreview

Render this actor when creating the minimap while saving the map.

Property Default Value Type Attributes Description
Color 00000000 Color (RRGGBB[AA] notation) Use this color to render the actor, instead of owner player color.
Terrain String Use this terrain color to render the actor, instead of owner player color. Overrides Color if both set.

Armament

Allows you to attach weapons to the unit (use @IdentifierSuffix for > 1)

Inherits from: PausableConditionalTrait, ConditionalTrait.
Requires trait(s): AttackBase.
Property Default Value Type Attributes Description
Name primary String
Weapon String WeaponReference, Require Has to be defined in weapons.yaml as well.
Turret primary String Which turret (if present) should this armament be assigned to.
FireDelay 0 Integer Time (in frames) until the weapon can fire again.
LocalOffset Collection of 3D World Vector Muzzle position relative to turret or body, (forward, right, up) triples. If weapon Burst = 1, it cycles through all listed offsets, otherwise the offset corresponding to current burst is used.
LocalYaw Collection of 1D World Angle Muzzle yaw relative to turret or body.
Recoil 0c0 1D World Distance Move the turret backwards when firing.
RecoilRecovery 0c9 1D World Distance Recoil recovery per-frame
MuzzleSequence String SequenceReference Muzzle flash sequence to render
MuzzlePalette effect String PaletteReference Palette to render Muzzle flash sequence in
ReloadingCondition String GrantedConditionReference Condition to grant while reloading.
TargetRelationships Enemy PlayerRelationship
ForceTargetRelationships Enemy, Neutral, Ally PlayerRelationship
Cursor attack String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor attackoutsiderange String CursorReference Cursor to display when hovering over a valid target that is outside of range.
AmmoUsage 1 Integer Ammo the weapon consumes per shot.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

Armor

Used to define weapon efficiency modifiers with different percentages per Type.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
Type String
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackMove

Provides access to the attack-move command, which will make the actor automatically engage viable targets while moving to the destination.

Property Default Value Type Attributes Description
Voice Action String VoiceReference
TargetLineColor FF4500 Color (RRGGBB[AA] notation) Color to use for the target line.
AttackMoveCondition String GrantedConditionReference The condition to grant to self while an attack-move is active.
AssaultMoveCondition String GrantedConditionReference The condition to grant to self while an assault-move is active.
MoveIntoShroud True Boolean Can the actor be ordered to move in to shroud?
AttackMoveCursor attackmove String CursorReference
AttackMoveBlockedCursor attackmove-blocked String CursorReference
AssaultMoveCursor assaultmove String CursorReference
AssaultMoveBlockedCursor assaultmove-blocked String CursorReference

AttackWander

Will AttackMove to a random location within MoveRadius when idle. This conflicts with player orders and should only be added to animal creeps.

Inherits from: Wanders, ConditionalTrait.
Requires trait(s): AttackMove.
Property Default Value Type Attributes Description
WanderMoveRadius 1 Integer
ReduceMoveRadiusDelay 5 Integer Number of ticks to wait before decreasing the effective move radius.
MinMoveDelay 0 Integer Minimum amount of ticks the actor will sit idly before starting to wander.
MaxMoveDelay 0 Integer Maximum amount of ticks the actor will sit idly before starting to wander.
AvoidTerrainTypes Set of String The terrain types that this actor should avoid wandering on to.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackCharges

Actor must charge up its armaments before firing.

Inherits from: AttackOmni, AttackBase, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
ChargeLevel 25 Integer Amount of charge required to attack.
ChargeRate 1 Integer Amount to increase the charge level each tick with a valid target.
DischargeRate 1 Integer Amount to decrease the charge level each tick without a valid target.
ChargingCondition String GrantedConditionReference The condition to grant to self while the charge level is greater than zero.
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackFollow

Actor will follow units until in range to attack them.

Inherits from: AttackBase, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargeting True Boolean Keep firing on targets even after attack order is cancelled
RangeMargin 1c0 1D World Distance Range to stay away from min and max ranges to give some leeway if the target starts moving.
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackFrontal

Unit got to face the target

Inherits from: AttackBase, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackGarrisoned

Cargo can fire their weapons out of fire ports.

Inherits from: AttackFollow, AttackBase, PausableConditionalTrait, ConditionalTrait.
Requires trait(s): Cargo.
Property Default Value Type Attributes Description
PortOffsets Collection of 3D World Vector Require Fire port offsets in local coordinates.
PortYaws Collection of 1D World Angle Require Fire port yaw angles.
PortCones Collection of 1D World Angle Require Fire port yaw cone angle.
MuzzlePalette effect String PaletteReference
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargeting True Boolean Keep firing on targets even after attack order is cancelled
RangeMargin 1c0 1D World Distance Range to stay away from min and max ranges to give some leeway if the target starts moving.
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackOmni

Inherits from: AttackBase, PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AttackTurreted

Actor has a visual turret used to attack.

Inherits from: AttackFollow, AttackBase, PausableConditionalTrait, ConditionalTrait.
Requires trait(s): Turreted.
Property Default Value Type Attributes Description
Turrets primary Collection of String Turret names
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargeting True Boolean Keep firing on targets even after attack order is cancelled
RangeMargin 1c0 1D World Distance Range to stay away from min and max ranges to give some leeway if the target starts moving.
Armaments primary, secondary Collection of String Armament names
Cursor String CursorReference Cursor to display when hovering over a valid target.
OutsideRangeCursor String CursorReference Cursor to display when hovering over a valid target that is outside of range.
TargetLineColor DC143C Color (RRGGBB[AA] notation) Color to use for the target line.
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFire False Boolean Force-fire mode is required to enable targeting against targets outside of range.
Voice Action String VoiceReference
FacingTolerance 512 1D World Angle Tolerance for attack angle. Range [0, 512], 512 covers 360 degrees.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AutoCarryable

Can be carried by units with the trait Carryall.

Inherits from: Carryable, ConditionalTrait.
Property Default Value Type Attributes Description
MinDistance 6c0 1D World Distance Required distance away from destination before requesting a pickup. Default is 6 cells.
ReservedCondition String GrantedConditionReference The condition to grant to self while a carryall has been reserved.
CarriedCondition String GrantedConditionReference The condition to grant to self while being carried.
LockedCondition String GrantedConditionReference The condition to grant to self while being locked for carry.
LocalOffset 0,0,0 3D World Vector Carryall attachment point relative to body.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AutoCarryall

Automatically transports harvesters with the Carryable trait between resource fields and refineries.

Inherits from: Carryall.
Requires trait(s): Aircraft, BodyOrientation.
Property Default Value Type Attributes Description
InitialActor String ActorReference Actor type that is initially spawned into this actor.
BeforeLoadDelay 0 Integer Delay (in ticks) on the ground while attaching an actor to the carryall.
BeforeUnloadDelay 0 Integer Delay (in ticks) on the ground while detaching an actor from the carryall.
LocalOffset 0,0,0 3D World Vector Carryable attachment point relative to body.
DropRange 5c0 1D World Distance Radius around the target drop location that are considered if the target tile is blocked.
UnloadCursor deploy String CursorReference Cursor to display when able to unload the passengers.
UnloadBlockedCursor deploy-blocked String CursorReference Cursor to display when unable to unload the passengers.
AllowDropOff False Boolean Allow moving and unloading with one order using force-move
DropOffCursor ability String CursorReference Cursor to display when able to drop off the passengers at location.
DropOffBlockedCursor move-blocked String CursorReference Cursor to display when unable to drop off the passengers at location.
PickUpCursor ability String CursorReference Cursor to display when picking up the passengers.
CarryCondition String GrantedConditionReference Condition to grant to the Carryall while it is carrying something.
CarryableConditions Dictionary with Key: String, Value: String ActorReference Conditions to grant when a specified actor is being carried. A dictionary of [actor name]: [condition].
Voice Action String VoiceReference
TargetLineColor FFFF00 Color (RRGGBB[AA] notation) Color to use for the target line.

AutoTarget

The actor will automatically engage the enemy when it is in range.

Inherits from: ConditionalTrait.
Requires trait(s): AttackBase.
Property Default Value Type Attributes Description
AllowMovement True Boolean It will try to hunt down the enemy if it is set to AttackAnything.
AllowTurning True Boolean It will try to pivot to face the enemy if stance is not HoldFire.
ScanOnIdle True Boolean Scan for new targets when idle.
ScanRadius -1 Integer Set to a value >1 to override weapons maximum range for this.
InitialStanceAI AttackAnything UnitStance Possible values are HoldFire, ReturnFire, Defend and AttackAnything. Used for computer-controlled players, both Lua-scripted and regular Skirmish AI alike.
InitialStance Defend UnitStance Possible values are HoldFire, ReturnFire, Defend and AttackAnything. Used for human players.
HoldFireCondition String GrantedConditionReference The condition to grant to self while in the HoldFire stance.
ReturnFireCondition String GrantedConditionReference The condition to grant to self while in the ReturnFire stance.
DefendCondition String GrantedConditionReference The condition to grant to self while in the Defend stance.
AttackAnythingCondition String GrantedConditionReference The condition to grant to self while in the AttackAnything stance.
EnableStances True Boolean Allow the player to change the unit stance.
MinimumScanTimeInterval 3 Integer Ticks to wait until next AutoTarget: attempt.
MaximumScanTimeInterval 8 Integer Ticks to wait until next AutoTarget: attempt.
EditorStanceDisplayOrder 1 Integer Display order for the stance dropdown in the map editor
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

AutoTargetPriority

Specifies the target types and relative priority used by AutoTarget to decide what to target.

Inherits from: ConditionalTrait.
Requires trait(s): AutoTarget.
Property Default Value Type Attributes Description
ValidTargets Ground, Water, Air Collection of TargetableType Target types that can be AutoTargeted.
InvalidTargets Collection of TargetableType Target types that can't be AutoTargeted. Overrules ValidTargets.
ValidRelationships Enemy, Neutral, Ally PlayerRelationship Relationships between actor's and target's owner needed for AutoTargeting.
Priority 1 Integer ValidTargets with larger priorities will be AutoTargeted before lower priorities.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

BlocksProjectiles

This actor blocks bullets and missiles with 'Blockable' property.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
Height 1c0 1D World Distance
ValidRelationships Enemy, Neutral, Ally PlayerRelationship Determines what projectiles to block based on their allegiance to the wall owner.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

BodyOrientation

Property Default Value Type Attributes Description
QuantizedFacings -1 Integer Number of facings for gameplay calculations. -1 indicates auto-detection from another trait.
CameraPitch 113 1D World Angle Camera pitch for rotation calculations.
UseClassicPerspectiveFudge True Boolean Fudge the coordinate system angles to simulate non-top-down perspective in mods with square cells.

BaseBuilderBotModule

Manages AI base construction.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
ConstructionYardTypes Set of String Tells the AI what building types are considered construction yards.
VehiclesFactoryTypes Set of String Tells the AI what building types are considered vehicle production facilities.
RefineryTypes Set of String Tells the AI what building types are considered refineries.
PowerTypes Set of String Tells the AI what building types are considered power plants.
BarracksTypes Set of String Tells the AI what building types are considered infantry production facilities.
ProductionTypes Set of String Tells the AI what building types are considered production facilities.
NavalProductionTypes Set of String Tells the AI what building types are considered naval production facilities.
SiloTypes Set of String Tells the AI what building types are considered silos (resource storage).
DefenseTypes Set of String Tells the AI what building types are considered defenses.
BuildingQueues Building Set of String Production queues AI uses for buildings.
DefenseQueues Defense Set of String Production queues AI uses for defenses.
MinBaseRadius 2 Integer Minimum distance in cells from center of the base when checking for building placement.
MaxBaseRadius 20 Integer Radius in cells around the center of the base to expand.
MinimumExcessPower 0 Integer Minimum excess power the AI should try to maintain.
MaximumExcessPower 0 Integer The targeted excess power the AI tries to maintain cannot rise above this.
ExcessPowerIncrement 0 Integer Increase maintained excess power by this amount for every ExcessPowerIncreaseThreshold of base buildings.
ExcessPowerIncreaseThreshold 1 Integer Increase maintained excess power by ExcessPowerIncrement for every N base buildings.
InititalMinimumRefineryCount 1 Integer Number of refineries to build before building a barracks.
AdditionalMinimumRefineryCount 1 Integer Number of refineries to build additionally after building a barracks.
StructureProductionInactiveDelay 125 Integer Additional delay (in ticks) between structure production checks when there is no active production. StructureProductionRandomBonusDelay is added to this.
StructureProductionActiveDelay 25 Integer Additional delay (in ticks) added between structure production checks when actively building things. Note: this should be at least as large as the typical order latency to avoid duplicated build choices.
StructureProductionRandomBonusDelay 10 Integer A random delay (in ticks) of up to this is added to active/inactive production delays.
StructureProductionResumeDelay 1500 Integer Delay (in ticks) until retrying to build structure after the last 3 consecutive attempts failed.
MaximumFailedPlacementAttempts 3 Integer After how many failed attempts to place a structure should AI give up and wait for StructureProductionResumeDelay before retrying.
MaxResourceCellsToCheck 3 Integer How many randomly chosen cells with resources to check when deciding refinery placement.
CheckForNewBasesDelay 1500 Integer Delay (in ticks) until rechecking for new BaseProviders.
PlaceDefenseTowardsEnemyChance 100 Integer Chance that the AI will place the defenses in the direction of the closest enemy building.
MinimumDefenseRadius 5 Integer Minimum range at which to build defensive structures near a combat hotspot.
MaximumDefenseRadius 20 Integer Maximum range at which to build defensive structures near a combat hotspot.
NewProductionCashThreshold 5000 Integer Try to build another production building if there is too much cash.
RallyPointScanRadius 8 Integer Radius in cells around a factory scanned for rally points by the AI.
CheckForWaterRadius 8 Integer Radius in cells around each building with ProvideBuildableArea to check for a 3x3 area of water where naval structures can be built. Should match maximum adjacency of naval structures.
WaterTerrainTypes Water Set of String Terrain types which are considered water for base building purposes.
BuildingFractions Dictionary with Key: String, Value: Integer What buildings to the AI should build. What integer percentage of the total base must be this type of building.
BuildingLimits Dictionary with Key: String, Value: Integer What buildings should the AI have a maximum limit to build.
BuildingDelays Dictionary with Key: String, Value: Integer When should the AI start building specific buildings.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

BuildingRepairBotModule

Manages AI repairing base buildings.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

CaptureManagerBotModule

Manages AI capturing logic.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
CapturingActorTypes Set of String Actor types that can capture other actors (via Captures). Leave this empty to disable capturing.
CapturableActorTypes Set of String Actor types that can be targeted for capturing. Leave this empty to include all actors.
MinimumCaptureDelay 375 Integer Minimum delay (in ticks) between trying to capture with CapturingActorTypes.
MaximumCaptureTargetOptions 10 Integer Maximum number of options to consider for capturing. If a value less than 1 is given 1 will be used instead.
CheckCaptureTargetsForVisibility True Boolean Should visibility (Shroud, Fog, Cloak, etc) be considered when searching for capturable targets?
CapturableRelationships Enemy, Neutral PlayerRelationship Player relationships that capturers should attempt to target.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

HarvesterBotModule

Put this on the Player actor. Manages bot harvesters to ensure they always continue harvesting as long as there are resources on the map.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
HarvesterTypes Set of String Actor types that are considered harvesters. If harvester count drops below RefineryTypes count, a new harvester is built. Leave empty to disable harvester replacement. Currently only needed by harvester replacement system.
RefineryTypes Set of String Actor types that are counted as refineries. Currently only needed by harvester replacement system.
ScanForIdleHarvestersInterval 50 Integer Interval (in ticks) between giving out orders to idle harvesters.
HarvesterEnemyAvoidanceRadius 8c0 1D World Distance Avoid enemy actors nearby when searching for a new resource patch. Should be somewhere near the max weapon range.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

McvManagerBotModule

Manages AI MCVs.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
McvTypes Set of String Actor types that are considered MCVs (deploy into base builders).
ConstructionYardTypes Set of String Actor types that are considered construction yards (base builders).
McvFactoryTypes Set of String Actor types that are able to produce MCVs.
MinimumConstructionYardCount 1 Integer Try to maintain at least this many ConstructionYardTypes, build an MCV if number is below this.
ScanForNewMcvInterval 20 Integer Delay (in ticks) between looking for and giving out orders to new MCVs.
MinBaseRadius 2 Integer Minimum distance in cells from center of the base when checking for MCV deployment location.
MaxBaseRadius 20 Integer Maximum distance in cells from center of the base when checking for MCV deployment location. Only applies if RestrictMCVDeploymentFallbackToBase is enabled and there's at least one construction yard.
RestrictMCVDeploymentFallbackToBase True Boolean Should deployment of additional MCVs be restricted to MaxBaseRadius if explicit deploy locations are missing or occupied?
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

SquadManagerBotModule

Manages AI squads.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
NavalUnitsTypes Set of String Actor types that are valid for naval squads.
AirUnitsTypes Set of String Actor types that are excluded from ground attacks.
ExcludeFromSquadsTypes Set of String Actor types that should generally be excluded from attack squads.
ConstructionYardTypes Set of String Actor types that are considered construction yards (base builders).
NavalProductionTypes Set of String Enemy building types around which to scan for targets for naval squads.
ProtectionTypes Set of String Own actor types that are prioritized when defending.
SquadSize 8 Integer Minimum number of units AI must have before attacking.
SquadSizeRandomBonus 30 Integer Random number of up to this many units is added to squad size when creating an attack squad.
AssignRolesInterval 50 Integer Delay (in ticks) between giving out orders to units.
RushInterval 600 Integer Delay (in ticks) between attempting rush attacks.
AttackForceInterval 75 Integer Delay (in ticks) between updating squads.
MinimumAttackForceDelay 0 Integer Minimum delay (in ticks) between creating squads.
RushAttackScanRadius 15 Integer Radius in cells around enemy BaseBuilder (Construction Yard) where AI scans for targets to rush.
ProtectUnitScanRadius 15 Integer Radius in cells around the base that should be scanned for units to be protected.
MaxBaseRadius 20 Integer Maximum distance in cells from center of the base when checking for MCV deployment location. Only applies if RestrictMCVDeploymentFallbackToBase is enabled and there's at least one construction yard.
IdleScanRadius 10 Integer Radius in cells that squads should scan for enemies around their position while idle.
DangerScanRadius 10 Integer Radius in cells that squads should scan for danger around their position to make flee decisions.
AttackScanRadius 12 Integer Radius in cells that attack squads should scan for enemies around their position when trying to attack.
ProtectionScanRadius 8 Integer Radius in cells that protecting squads should scan for enemies around their position.
IgnoredEnemyTargetTypes Collection of TargetableType Enemy target types to never target.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

SupportPowerBotModule

Manages bot support power handling.

Inherits from: ConditionalTrait.
Requires trait(s): SupportPowerManager.
Property Default Value Type Attributes Description
Decisions Collection of SupportPowerDecision Tells the AI how to use its support powers.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

UnitBuilderBotModule

Controls AI unit production.

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
IdleBaseUnitsMaximum 12 Integer Only produce units as long as there are less than this amount of units idling inside the base.
UnitQueues Vehicle, Infantry, Plane, Ship, Aircraft Set of String Production queues AI uses for producing units.
UnitsToBuild Dictionary with Key: String, Value: Integer What units to the AI should build. What relative share of the total army must be this type of unit.
UnitLimits Dictionary with Key: String, Value: Integer What units should the AI have a maximum limit to train.
UnitDelays Dictionary with Key: String, Value: Integer When should the AI start train specific units.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

Buildable

Property Default Value Type Attributes Description
Prerequisites Collection of String The prerequisite names that must be available before this can be built. This can be prefixed with ! to invert the prerequisite (disabling production if the prerequisite is available) and/or ~ to hide the actor from the production palette if the prerequisite is not available. Prerequisites are granted by actors with the ProvidesPrerequisite trait.
Queue Set of String Production queue(s) that can produce this.
BuildAtProductionType String Override the production structure type (from the Production Produces list) that this unit should be built at.
BuildLimit 0 Integer Disable production when there are more than this many of this actor on the battlefield. Set to 0 to disable.
ForceFaction String Force a specific faction variant, overriding the faction of the producing actor.
Icon icon String SequenceReference Sequence of the actor that contains the icon.
IconPalette chrome String PaletteReference Palette used for the production icon.
IconPaletteIsPlayerPalette False Boolean Custom palette is a player palette BaseName
BuildDuration -1 Integer Base build time in frames (-1 indicates to use the unit's Value).
BuildDurationModifier 60 Integer Percentage modifier to apply to the build duration.
BuildPaletteOrder 9999 Integer Sort order for the production palette. Smaller numbers are presented earlier.
Description String Text shown in the production tooltip.

ActorPreviewPlaceBuildingPreview

Creates a building placement preview based on the map editor actor preview.

Property Default Value Type Attributes Description
Animated True Boolean Enable the building's idle animation.
PreviewAlpha 1 Real Number Custom opacity to apply to the actor preview.
FootprintUnderPreview Valid, LineBuild PlaceBuildingCellType Footprint types to draw underneath the actor preview.
FootprintOverPreview Invalid PlaceBuildingCellType Footprint types to draw above the actor preview.
Palette terrain String PaletteReference Palette to use for rendering the placement sprite.
FootprintAlpha 1 Real Number Custom opacity to apply to the placement sprite.
LineBuildFootprintAlpha 1 Real Number Custom opacity to apply to the line-build placement sprite.

BaseBuilding

Tag trait for construction yard and MCVs. Used by the cycle bases hotkey to identify actors.

BaseProvider

Limits the zone where buildings can be constructed to a radius around this actor.

Inherits from: PausableConditionalTrait, ConditionalTrait.
Property Default Value Type Attributes Description
Range 10c0 1D World Distance
Cooldown 0 Integer
InitialDelay 0 Integer
CircleReadyColor FFFFFF80 Color (RRGGBB[AA] notation) Range circle color when operational.
CircleBlockedColor FF000080 Color (RRGGBB[AA] notation) Range circle color when inactive.
CircleWidth 1 Real Number Range circle line width.
CircleBorderColor 00000060 Color (RRGGBB[AA] notation) Range circle border color.
CircleBorderWidth 3 Real Number Range circle border width.
PauseOnCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

Bridge

Requires trait(s): Building, Health.
Property Default Value Type Attributes Description
Long False Boolean
RepairPropagationDelay 20 Integer Delay (in ticks) between repairing adjacent spans in long bridges
Template 0 UInt16
DamagedTemplate 0 UInt16
DestroyedTemplate 0 UInt16
DestroyedPlusNorthTemplate 0 UInt16
DestroyedPlusSouthTemplate 0 UInt16
DestroyedPlusBothTemplate 0 UInt16
ShorePieces br1, br2 Collection of String
NorthOffset Collection of Integer
SouthOffset Collection of Integer
DemolishWeapon Demolish String WeaponReference The name of the weapon to use when demolishing the bridge
DamageTypes Collection of DamageType Types of damage that this bridge causes to units over/in path of it while being destroyed/repaired. Leave empty for no damage types.

BridgeHut

Allows bridges to be targeted for demolition and repair.

Property Default Value Type Attributes Description
Types GroundLevelBridge Collection of String Bridge types to act on
NeighbourOffsets Collection of 2D Cell Vector Offsets to look for adjacent bridges to act on
RepairPropagationDelay 20 Integer Delay between each segment repair step
DemolishPropagationDelay 5 Integer Delay between each segment demolish step
RequireForceAttackForHeal False Boolean Hide the repair cursor if the bridge is only damaged (not destroyed)

BridgePlaceholder

Placeholder actor used for dead segments and bridge end ramps.

Property Default Value Type Attributes Description
Type GroundLevelBridge String
DamageState Undamaged DamageState
ReplaceWithActor String ActorReference Actor type to replace with on repair.
NeighbourOffsets Collection of 2D Cell Vector

Building

Property Default Value Type Attributes Description
TerrainTypes Set of String Where you are allowed to place the building (Water, Clear, ...)
Footprint Dictionary with Key: 2D Cell Vector, Value: FootprintCellType x means cell is blocked, capital X means blocked but not counting as targetable, = means part of the footprint but passable, _ means completely empty.
Dimensions 1,1 2D Cell Vector
LocalCenterOffset 0,0,0 3D World Vector Shift center of the actor by this offset.
RequiresBaseProvider False Boolean
AllowInvalidPlacement False Boolean
AllowPlacementOnResources False Boolean
RemoveSmudgesOnBuild True Boolean Clear smudges from underneath the building footprint.
RemoveSmudgesOnSell True Boolean Clear smudges from underneath the building footprint on sell.
RemoveSmudgesOnTransform True Boolean Clear smudges from underneath the building footprint on transform.
BuildSounds Collection of String
UndeploySounds Collection of String

BuildingInfluence

A dictionary of buildings placed on the map. Attach this to the world actor.

Exit

Where the unit should leave the building. Multiples are allowed if IDs are added: Exit@2, ...

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
SpawnOffset 0,0,0 3D World Vector Offset at which that the exiting actor is spawned relative to the center of the producing actor.
ExitCell 0,0 2D Cell Vector Cell offset where the exiting actor enters the ActorMap relative to the topleft cell of the producing actor.
Facing 1D World Angle (optional)
ProductionTypes Set of String Type tags on this exit.
ExitDelay 0 Integer Number of ticks to wait before moving into the world.
Priority 1 Integer Exits with larger priorities will be used before lower priorities.
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

FootprintPlaceBuildingPreview

Creates a building placement preview showing only the building footprint.

Property Default Value Type Attributes Description
Palette terrain String PaletteReference Palette to use for rendering the placement sprite.
FootprintAlpha 1 Real Number Custom opacity to apply to the placement sprite.
LineBuildFootprintAlpha 1 Real Number Custom opacity to apply to the line-build placement sprite.

FreeActor

Player receives a unit for free once the building is placed. This also works for structures. If you want more than one unit to appear copy this section and assign IDs like FreeActor@2, ...

Inherits from: ConditionalTrait.
Property Default Value Type Attributes Description
Actor String ActorReference, Require Name of the actor.
SpawnOffset 0,0 2D Cell Vector Offset relative to the top-left cell of the building.
Facing 0 1D World Angle Which direction the unit should face.
AllowRespawn False Boolean Whether another actor should spawn upon re-enabling the trait.
EditorFreeActorDisplayOrder 4 Integer Display order for the free actor checkbox in the map editor
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.

FreeActorWithDelivery

Player receives a unit for free once the building is placed. If you want more than one unit to be delivered, copy this section and assign IDs like FreeActorWithDelivery@2, ...

Inherits from: FreeActor, ConditionalTrait.
Property Default Value Type Attributes Description
DeliveringActor String ActorReference, Require Name of the delivering actor. This actor must have the Carryall trait
SpawnLocation 0,0 2D Cell Position Cell coordinates for spawning the delivering actor. If left blank, the closest edge cell will be chosen.
DeliveryOffset 0,0 2D Cell Vector Offset relative to the top-left cell of the building.
DeliveryRange 0c0 1D World Distance Range to search for an alternative delivery location if the DeliveryOffset cell is blocked.
Actor String ActorReference, Require Name of the actor.
SpawnOffset 0,0 2D Cell Vector Offset relative to the top-left cell of the building.
Facing 0 1D World Angle Which direction the unit should face.
AllowRespawn False Boolean Whether another actor should spawn upon re-enabling the trait.
EditorFreeActorDisplayOrder 4 Integer Display order for the free actor checkbox in the map editor
RequiresCondition BooleanExpression ConsumedConditionReference Boolean expression defining the condition to enable this trait.
Clone this wiki locally