Traits (playtest)

orabot edited this page Aug 25, 2018 · 33 revisions

This documentation is aimed at modders. It displays all traits with default values and developer commentary. Please do not edit it directly, but add new [Desc("String")] tags to the source code. This file has been automatically generated for version {DEV_VERSION} of OpenRA.

OpenRA.Mods.Cnc.Traits

PlaceSimpleBeacon

A beacon that consists of a single sprite that can be animated.

Property Default Value Type Description
Duration 750 Integer
NotificationType Sounds String
Notification Beacon String
IsPlayerPalette False Boolean
Palette effect String
BeaconImage beacon String
BeaconSequence idle String

AttackLeap

Dogs use this attack model.

Property Default Value Type Description
Speed 0c426 1D World Distance Leap speed (in units/tick).
Angle 56 1D World Angle
DamageTypes Collection of DamageType Types of damage that this trait causes. Leave empty for no damage types.
FacingTolerance 0 Integer
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackPopupTurreted

Actor's turret rises from the ground before attacking.

Requires traits: Building, Turreted, WithEmbeddedTurretSpriteBody.

Property Default Value Type Description
CloseDelay 125 Integer How many game ticks should pass before closing the actor's turret.
DefaultFacing 0 Integer
ClosedDamageMultiplier 50 Integer The percentage of damage that is received while this actor is closed.
OpeningSequence opening String Sequence to play when opening.
ClosingSequence closing String Sequence to play when closing.
ClosedIdleSequence closed-idle String Idle sequence to play when closed.
Body body String Which sprite body to play the animation on.
Turrets primary Collection of String Turret names
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackTDGunboatTurreted

Actor has a visual turret used to attack.

Requires traits: TDGunboat, Turreted.

Property Default Value Type Description
Turrets primary Collection of String Turret names
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackTesla

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

Property Default Value Type 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
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ClonesProducedUnits

Creates a free duplicate of produced units.

Requires traits: Exit, Production.

Property Default Value Type Description
CloneableTypes (required) Set of String Uses the "Cloneable" trait to determine whether or not we should clone a produced unit.

ProductionAirdrop

Deliver the unit in production via skylift.

Property Default Value Type Description
ReadyAudio Reinforce String
ActorType c17 String Cargo aircraft used for delivery. Must have the `Aircraft` trait.
Produces (required) Collection of String e.g. Infantry, Vehicles, Aircraft, Buildings
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

TiberianSunRefinery

Requires trait: WithSpriteBody.

Property Default Value Type Description
DockAngle 0 Integer Actual harvester facing when docking, 0-255 counter-clock-wise.
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.

Property Default Value Type 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 Boolean expression defining the condition to enable this trait.

Cloneable

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

Property Default Value Type Description
Types (required) Set of String This unit's cloneable type is:

ConyardChronoReturn

Implements the special case handling for the Chronoshiftable return on a construction yard. Actors that are actively (un)deploying will be returned to the origin as the original actor. Otherwise, a vortex animation is played and damage is dealt each tick, ignoring modifiers.

Requires traits: Health, WithSpriteBody.

Property Default Value Type Description
Sequence pdox String Sequence name with the baked-in vortex animation
Body body String Sprite body to play the vortex animation on.
Condition String 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.
OriginalActor mcv String Actor to transform into when the timer expires during (un)deploy.
Facing 96 Integer 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).

Requires trait: Disguise.

Property Default Value Type 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 Stance 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 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 Description
Voice Action String
DisguisedCondition String The condition to grant to self while disguised.
ValidStances Enemy, Neutral, Ally Stance What diplomatic stances can this actor disguise as.
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 Mapping of String to String Conditions to grant when disguised as specified actor. A dictionary of [actor id]: [condition].

EnergyWall

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

Property Default Value Type Description
Weapon (required) String The weapon to attack units on top of the wall with when activated.
ActiveCondition BooleanExpression Boolean expression defining the condition to activate this trait.
TerrainTypes Set of String Where you are allowed to place the building (Water, Clear, ...)
Footprint Mapping of 2D Cell Vector to 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
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: FrozenUnderFog.

GpsDot

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

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

GpsWatcher

Required for GpsPower. Attach this to the player actor.

HarvesterHuskModifier

Requires trait: Harvester.

Property Default Value Type Description
FullHuskActor String
FullnessThreshold 50 Integer

InfiltrateForCash

This structure can be infiltrated causing funds to be stolen.

Property Default Value Type Description
Types Collection of TargetableType
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.
Notification String Sound the victim will hear when they get robbed.
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.

Property Default Value Type Description
Types Collection of TargetableType
Image String Image used for this decoration. Defaults to the actor's type.
Sequence String Sequence used for this decoration (can be animated).
Palette chrome String Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.
IsPlayerPalette False Boolean Custom palette is a player palette BaseName
ReferencePoint Top, Left ReferencePoints Point in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ZOffset 1 Integer The Z offset to apply when rendering this decoration.
ValidStances Ally Stance Player stances who can view the decoration.
RequiresSelection False Boolean Should this be visible only when selected?
Offsets Mapping of BooleanExpression to 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 Mapping of BooleanExpression to Collection of BlinkState Override blink conditions to use when defined conditions are enabled. A dictionary of [condition string]: [pattern].
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

InfiltrateForExploration

Steal and reset the owner's exploration.

Property Default Value Type Description
Types Collection of TargetableType

InfiltrateForPowerOutage

Property Default Value Type Description
Types Collection of TargetableType
Duration 500 Integer

InfiltrateForSupportPower

Property Default Value Type Description
Proxy (required) String
Types Collection of TargetableType

Infiltrates

Property Default Value Type Description
Types Collection of TargetableType
Voice Action String
ValidStances Enemy, Neutral Stance What diplomatic stances can be infiltrated by this actor.
EnterBehaviour Dispose EnterBehaviour Behaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
Notification BuildingInfiltrated String Notification to play when a building is infiltrated.
PlayerExperience 0 Integer Experience to grant to the infiltrating player.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

MadTank

Requires traits: Explodes, WithFacingSpriteBody.

Property Default Value Type Description
ThumpSequence piston String
ThumpInterval 8 Integer
ThumpDamageWeapon MADTankThump String
ThumpShakeIntensity 3 Integer
ThumpShakeMultiplier 1,0 2D Real Number
ThumpShakeTime 10 Integer
ChargeDelay 96 Integer Measured in ticks.
ChargeSound madchrg2.aud String
DetonationDelay 42 Integer Measured in ticks.
DetonationSound madexplo.aud String
DetonationWeapon MADTankDetonate String
DriverActor e1 String
Voice Action String
DeployedCondition String 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.

Mine

Property Default Value Type 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

Property Default Value Type Description
Mine minv String
RearmBuildings fix Set of String
AmmoPoolName primary String
MinefieldDepth 1c512 1D World Distance
Voice Action String Voice to use when ordered to lay a minefield.

ChronoshiftPaletteEffect

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

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

LightPaletteRotator

Palette effect used for blinking "animations" on actors.

Property Default Value Type 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

Property Default Value Type 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 Cursor to display when able to deploy the actor.
DeployBlockedCursor deploy-blocked String Cursor to display when unable to deploy the actor.
TargetCursor chrono-target String Cursor to display when targeting a teleport location.
TargetBlockedCursor move-blocked String 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

RenderJammerCircle

RenderShroudCircle

WithBuildingBib

Requires traits: Building, RenderSprites.

Property Default Value Type Description
Sequence bib String
Palette terrain String
HasMinibib False Boolean

AttackOrderPower

Requires trait: AttackBase.

Property Default Value Type Description
ChargeInterval 0 Integer Measured in ticks.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName AttackOrderPowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ChronoshiftPower

Property Default Value Type Description
Range 1 Integer Target actor selection radius in cells.
Duration 750 Integer Ticks until returning after teleportation.
TargetOverlayPalette terrain String
OverlaySpriteGroup overlay String
ValidTileSequencePrefix target-valid- String
InvalidTileSequence target-invalid String
SourceTileSequence target-select String
KillCargo True Boolean
SelectionCursor chrono-select String Cursor sequence to use when selecting targets for the chronoshift.
TargetCursor chrono-target String Cursor sequence to use when targeting an area for the chronoshift.
TargetBlockedCursor move-blocked String Cursor sequence to use when the targeted area is blocked.
ChargeInterval 0 Integer Measured in ticks.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName ChronoshiftPowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GpsPower

Requires GpsWatcher on the player actor.

Property Default Value Type Description
RevealDelay 0 Integer Delay in ticks between launching and revealing the map.
DoorImage atek String
DoorSequence active String
DoorPalette player String Palette to use for rendering the launch animation
DoorPaletteIsPlayerPalette True Boolean Custom palette is a player palette BaseName
SatelliteImage sputnik String
SatelliteSequence idle String
SatellitePalette player String 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.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName GpsPowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

IonCannonPower

Property Default Value Type Description
CameraActor String 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 Effect sequence to display
EffectPalette effect String
Weapon IonCannon String 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.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName IonCannonPowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

TDGunboat

Property Default Value Type Description
Speed 28 Integer
InitialFacing 64 Integer Facing to use when actor spawns. Only 64 and 192 supported.
PreviewFacing 64 Integer Facing to use for actor previews (map editor, color picker, etc). Only 64 and 192 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: Transforms.

Property Default Value Type Description
Condition (required) String External condition to transfer

TSShroudPalette

Adds the hard-coded shroud palette to the game

Property Default Value Type Description
Name (required) String Internal palette name

VoxelNormalsPalette

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

OpenRA.Mods.Cnc.Traits.Render

WithCargo

Renders the cargo loaded into the unit.

Requires traits: BodyOrientation, Cargo.

Property Default Value Type 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.

WithDeliveryAnimation

Building animation to play when ProductionAirdrop is used to deliver units.

Requires trait: WithSpriteBody.

Property Default Value Type Description
ActiveSequence active String
IdleSequence idle String
Body body String Which sprite body to play the animation on.

WithDisguisingInfantryBody

Requires traits: Disguise, RenderSprites.

Property Default Value Type Description
MinIdleDelay 30 Integer
MaxIdleDelay 110 Integer
MoveSequence run String
DefaultAttackSequence String
AttackSequences Mapping of String to String Attack sequence to use for each armament.
IdleSequences Collection of String
StandSequences stand Collection of String
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithDockingOverlay

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

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
Sequence unload-overlay String Sequence name to use
Offset 0,0,0 3D World Vector Position relative to body
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName

WithEmbeddedTurretSpriteBody

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

Requires traits: BodyOrientation, RenderSprites, Turreted.

Property Default Value Type Description
StartSequence String Animation to play when the actor is created.
Sequence idle String Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithGunboatBody

Requires traits: BodyOrientation, RenderSprites, Turreted.

Property Default Value Type Description
Turret primary String Turreted 'Turret' key to display
LeftSequence left String
RightSequence right String
WakeLeftSequence wake-left String
WakeRightSequence wake-right String
StartSequence String Animation to play when the actor is created.
Sequence idle String Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithLandingCraftAnimation

Requires traits: Cargo, WithSpriteBody.

Property Default Value Type Description
OpenTerrainTypes Clear Set of String
OpenSequence open String
CloseSequence close String
UnloadSequence unload String
Body body String Which sprite body to play the animation on.

WithPermanentInjury

Change the sprite after a certain amount of damage is taken, even when the hitpoints are regenerated.

Property Default Value Type Description
TriggeringDamageStage Critical DamageState
InjuredSequencePrefix crippled- String

WithRoof

Provides an overlay for the Tiberian Dawn hover craft.

Requires trait: RenderSprites.

Property Default Value Type Description
Sequence roof String

WithTeslaChargeAnimation

This actor displays a charge-up animation before firing.

Requires traits: RenderSprites, WithSpriteBody.

Property Default Value Type Description
ChargeSequence active String Sequence to use for charge animation.
Body body String Which sprite body to play the animation on.

WithTeslaChargeOverlay

Rendered together with AttackCharge.

Requires trait: RenderSprites.

Property Default Value Type Description
Sequence active String Sequence name to use
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName

WithVoxelUnloadBody

Requires trait: RenderVoxels.

Property Default Value Type 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

Requires trait: RenderVoxels.

Property Default Value Type 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.

OpenRA.Mods.Common.AI

DummyAI

Property Default Value Type Description
Name Unnamed Bot String Human-readable name this bot uses.
Type (required) String Internal id for this bot.

HackyAI

Property Default Value Type Description
Type (required) String Internal id for this bot.
Name Unnamed Bot String Human-readable name this bot uses.
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.
BuildingQueues Building Set of String Production queues AI uses for buildings.
DefenseQueues Defense Set of String Production queues AI uses for defenses.
AssignRolesInterval 20 Integer Delay (in ticks) between giving out orders to units.
RushInterval 600 Integer Delay (in ticks) between attempting rush attacks.
AttackForceInterval 30 Integer Delay (in ticks) between updating squads.
MinimumAttackForceDelay 0 Integer Minimum delay (in ticks) between creating squads.
MinOrderQuotientPerTick 5 Integer Minimum portion of pending orders to issue each tick (e.g. 5 issues at least 1/5th of all pending orders). Excess orders remain queued for subsequent ticks.
MinimumExcessPower 0 Integer Minimum excess power the AI should try to maintain.
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.
MaximumExcessPower 0 Integer The targeted excess power the AI tries to maintain cannot rise above this.
StructureProductionInactiveDelay 125 Integer Additional delay (in ticks) between structure production checks when there is no active production. StructureProductionRandomBonusDelay is added to this.
StructureProductionActiveDelay 0 Integer Additional delay (in ticks) added between structure production checks when actively building things. Note: The total delay is gamespeed OrderLatency x 4 + this + StructureProductionRandomBonusDelay.
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.
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.
IdleBaseUnitsMaximum 12 Integer Only produce units as long as there are less than this amount of units idling inside the base.
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.
RallyPointScanRadius 8 Integer Radius in cells around a factory scanned for rally points by the AI.
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.
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.
RestrictMCVDeploymentFallbackToBase True Boolean Should deployment of additional MCVs be restricted to MaxBaseRadius if explicit deploy locations are missing or occupied?
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.
HarvesterEnemyAvoidanceRadius 8c0 1D World Distance Avoid enemy actors nearby when searching for a new resource patch. Should be somewhere near the max weapon range.
UnitQueues Vehicle, Infantry, Plane, Ship, Aircraft Set of String Production queues AI uses for producing units.
ShouldRepairBuildings True Boolean Should the AI repair its buildings if damaged?
UnitsToBuild Mapping of String to Real Number What units to the AI should build. What % of the total army must be this type of unit.
UnitLimits Mapping of String to Integer What units should the AI have a maximum limit to train.
BuildingFractions Mapping of String to Real Number What buildings to the AI should build. What % of the total base must be this type of building.
UnitsCommonNames (required) UnitCategories Tells the AI what unit types fall under the same common name. Supported entries are Mcv and ExcludeFromSquads.
BuildingCommonNames (required) BuildingCategories Tells the AI what building types fall under the same common name. Possible keys are ConstructionYard, Power, Refinery, Silo, Barracks, Production, VehiclesFactory, NavalProduction.
BuildingLimits Mapping of String to Integer What buildings should the AI have a maximum limit to build.
SupportPowerDecisions (Collection) Collection of SupportPowerDecision Tells the AI how to use its support powers.
CapturingActorTypes Set of String Actor types that can capture other actors (via `Captures` or `ExternalCaptures`). 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?
CapturableStances Enemy, Neutral Stance Player stances that capturers should attempt to target.

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: SpawnMapActors.

Property Default Value Type 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 Description
ValidTypes Set of String Accepted `DeliversCash` types. Leave empty to accept all types.
ValidStances Ally Stance Stance the delivering actor needs to enter.
Sounds Collection of String Play a randomly selected sound from this list when accepting cash.

AcceptsDeliveredExperience

Tag trait for actors with DeliversExperience.

Requires trait: GainsExperience.

Property Default Value Type Description
ValidTypes Set of String Accepted `DeliversExperience` types. Leave empty to accept all types.
ValidStances Ally Stance Stance the delivering actor needs to enter.

ActorSpawner

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

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

Aircraft

Property Default Value Type Description
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.
RepairBuildings Set of String
RearmBuildings Set of String
InitialFacing 0 Integer
TurnSpeed 255 Integer
Speed 1 Integer
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?
Voice Action String
AirborneCondition String The condition to grant to self while airborne.
CruisingCondition String 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).
VTOL False Boolean Does the actor land and take off vertically?
LandWhenIdle True Boolean Will this actor try to land after it has no more commands?
TurnToLand False Boolean Does this actor need to turn before landing?
AbortOnResupply True Boolean Does this actor cancel its previous activity after resupplying?
TakeOffOnResupply False Boolean Does this actor automatically take off after resupplying?
TakeOffOnCreation True Boolean Does this actor automatically take off after creation?
LandAltitude 0c0 1D World Distance Altitude at which the aircraft considers itself landed.
MaximumPitch 28 1D World Angle How fast this actor ascends or descends when using horizontal take off/landing.
AltitudeVelocity 0c43 1D World Distance How fast this actor ascends or descends when using vertical take off/landing.
TakeoffSound String Sound to play when the actor is taking off.
LandingSound String Sound 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 92 Integer Facing to use for actor previews (map editor, color picker, etc)
LandOnCondition BooleanExpression Condition when this aircraft should land as soon as possible and refuse to take off. This only applies while the aircraft is above terrain which is listed in LandableTerrainTypes.

AttackBomber

Property Default Value Type Description
FacingTolerance 2 Integer
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackHeli

Property Default Value Type Description
FacingTolerance 0 Integer
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackPlane

Requires trait: Aircraft.

Property Default Value Type Description
AttackTurnDelay 50 Integer Delay, in game ticks, before turning to attack.
FacingTolerance 0 Integer
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression 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: Aircraft.

Property Default Value Type Description
Explosion UnitExplode String
Spins True Boolean
Moves False Boolean
Velocity 0c43 1D World Distance

FlyAwayOnIdle

Leave the map when idle.

ReturnOnIdle

Return to a player owned RearmBuildings. If none available, head back to base and circle over it.

Requires trait: Aircraft.

AmmoPool

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

Property Default Value Type 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.
PipCount -1 Integer Defaults to value in Ammo. 0 means no visible pips.
PipType Green PipType PipType to use for loaded ammo.
PipTypeEmpty Transparent PipType PipType to use for empty 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 The condition to grant to self for each ammo point in this pool.

Armament

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

Requires trait: AttackBase.

Property Default Value Type Description
Name primary String
Weapon (required) String 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 Muzzle flash sequence to render
MuzzlePalette effect String Palette to render Muzzle flash sequence in
MuzzleSplitFacings 0 Integer Use multiple muzzle images if non-zero
ReloadingCondition String Condition to grant while reloading.
TargetStances Enemy Stance
ForceTargetStances Enemy, Neutral, Ally Stance
Cursor attack String
OutsideRangeCursor attackoutsiderange String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Armor

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

Property Default Value Type Description
Type String
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackCharges

Actor must charge up its armaments before firing.

Property Default Value Type 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 The condition to grant to self while the charge level is greater than zero.
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackFollow

Actor will follow units until in range to attack them.

Property Default Value Type Description
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackFrontal

Unit got to face the target

Property Default Value Type Description
FacingTolerance 0 Integer
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackGarrisoned

Cargo can fire their weapons out of fire ports.

Requires trait: Cargo.

Property Default Value Type Description
PortOffsets (required) Collection of 3D World Vector Fire port offsets in local coordinates.
PortYaws (required) Collection of 1D World Angle Fire port yaw angles.
PortCones (required) Collection of 1D World Angle Fire port yaw cone angle.
MuzzlePalette effect String
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackOmni

Property Default Value Type Description
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackSuicides

Does a suicide attack where it moves next to the target when used in combination with Explodes.

Property Default Value Type Description
DamageTypes Collection of DamageType Types of damage that this trait causes to self while suiciding. Leave empty for no damage types.
Voice Action String
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttackTurreted

Actor has a visual turret used to attack.

Requires trait: Turreted.

Property Default Value Type Description
Turrets primary Collection of String Turret names
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression 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 Description
Voice Action String
AttackMoveScanCondition String The condition to grant to self while scanning for targets during an attack-move.
AssaultMoveScanCondition String The condition to grant to self while scanning for targets during an assault-move.
MoveIntoShroud True Boolean Can the actor be ordered to move in to shroud?

AttackWander

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

Requires trait: AttackMove.

Property Default Value Type 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AutoCarryable

Can be carried by units with the trait Carryall.

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

AutoCarryall

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

Requires traits: Aircraft, BodyOrientation.

Property Default Value Type Description
LoadingDelay 0 Integer Delay on the ground while attaching an actor to the carryall.
UnloadingDelay 0 Integer Delay on the ground while detacting an actor to 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.
Voice Action String

AutoTarget

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

Requires trait: AttackBase.

Property Default Value Type Description
AllowMovement True Boolean It will try to hunt down the enemy if it is not set to defend.
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 The condition to grant to self while in the HoldFire stance.
ReturnFireCondition String The condition to grant to self while in the ReturnFire stance.
DefendCondition String The condition to grant to self while in the Defend stance.
AttackAnythingCondition String 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.
RequiresCondition BooleanExpression 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.

Requires trait: AutoTarget.

Property Default Value Type 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.
Priority 1 Integer ValidTargets with larger priorities will be AutoTargeted before lower priorities.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

BlocksProjectiles

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

Property Default Value Type Description
Height 1c0 1D World Distance
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

BodyOrientation

Property Default Value Type 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 like the early games.
UseClassicFacingFudge False Boolean Fudge the coordinate system angles like the early games.

Buildable

Property Default Value Type 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 Sequence of the actor that contains the icon.
IconPalette chrome String Palette used for the production icon.
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
Description String Text shown in the production tooltip.

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.

Property Default Value Type Description
Range 10c0 1D World Distance
Cooldown 0 Integer
InitialDelay 0 Integer
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Bridge

Requires traits: Building, Health.

Property Default Value Type 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 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 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 Description
Type GroundLevelBridge String
DamageState Undamaged DamageState
ReplaceWithActor String Actor type to replace with on repair.
NeighbourOffsets Collection of 2D Cell Vector

Building

Property Default Value Type Description
TerrainTypes Set of String Where you are allowed to place the building (Water, Clear, ...)
Footprint Mapping of 2D Cell Vector to 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
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, ...

Property Default Value Type 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 -1 Integer
ProductionTypes Set of String Type tags on this exit.
MoveIntoWorld True Boolean AttackMove to a RallyPoint or stay where you are spawned.
ExitDelay 0 Integer Number of ticks to wait before moving into the world.

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, ...

Property Default Value Type Description
Actor (required) String Name of the actor.
SpawnOffset 0,0 2D Cell Vector Offset relative to the top-left cell of the building.
Facing 0 Integer Which direction the unit should face.
AllowRespawn False Boolean Whether another actor should spawn upon re-enabling the trait.
RequiresCondition BooleanExpression 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, ...

Property Default Value Type Description
DeliveringActor (required) String 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.
Actor (required) String Name of the actor.
SpawnOffset 0,0 2D Cell Vector Offset relative to the top-left cell of the building.
Facing 0 Integer Which direction the unit should face.
AllowRespawn False Boolean Whether another actor should spawn upon re-enabling the trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Gate

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

Requires trait: Building.

Property Default Value Type Description
OpeningSound String
ClosingSound String
CloseDelay 150 Integer Ticks until the gate closes.
TransitionDelay 33 Integer Ticks until the gate is considered open.
BlocksProjectilesHeight 0c640 1D World Distance Blocks bullets scaled to open value.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GivesBuildableArea

This actor allows placement of other actors with 'RequiresBuildableArea' trait around it.

Property Default Value Type Description
AreaTypes (required) Set of String Types of buildable area this actor gives.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GroundLevelBridge

Bridge actor that can't be passed underneath.

Requires traits: Building, Health.

Property Default Value Type Description
TerrainType Bridge String
Type GroundLevelBridge String
NeighbourOffsets Collection of 2D Cell Vector
DemolishWeapon Demolish String 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.

LegacyBridgeHut

Allows bridges to be targeted for demolition and repair.

LineBuild

Place the second actor in line to build more of the same at once (used for walls).

Property Default Value Type Description
Range 5 Integer The maximum allowed length of the line.
NodeTypes wall Set of String LineBuildNode 'Types' to attach to.
SegmentType String Actor type for line-built segments (defaults to same actor).
SegmentsRequireNode False Boolean Delete generated segments when destroyed or sold.

LineBuildNode

LineBuild actors attach to LineBuildNodes.

Property Default Value Type Description
Types wall Set of String This actor is of LineBuild 'NodeType'...
Connections 1,0, 0,1, -1,0, 0,-1 Collection of 2D Cell Vector Cells (outside the footprint) that contain cells that can connect to this actor.

PrimaryBuilding

Used together with ClassicProductionQueue.

Property Default Value Type Description
PrimaryCondition String The condition to grant to self while this is the primary building.
SelectionNotification PrimaryBuildingSelected String The speech notification to play when selecting a primary building.
ProductionQueues Collection of String List of production queues for which the primary flag should be set. If empty, the list given in the `Produces` property of the `Production` trait will be used.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

RallyPoint

Used to waypoint units after production or repair is finished.

Property Default Value Type Description
Image rallypoint String
FlagSequence flag String
CirclesSequence circles String
Cursor ability String
Palette player String Custom indicator palette name
IsPlayerPalette True Boolean Custom palette is a player palette BaseName
Offset 1,3 2D Cell Vector

Refinery

Requires trait: WithSpriteBody.

Property Default Value Type Description
DockAngle 0 Integer Actual harvester facing when docking, 0-255 counter-clock-wise.
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

RepairableBuilding

Building can be repaired by the repair button.

Requires trait: Health.

Property Default Value Type Description
RepairPercent 20 Integer Cost to fully repair the actor as a percent of its value.
RepairInterval 24 Integer Number of ticks between each repair step.
RepairStep 7 Integer The maximum amount of HP to repair each step.
RepairBonuses 100, 150, 175, 200, 220, 240, 260, 280, 300 Collection of Integer The percentage repair bonus applied with increasing numbers of repairers.
CancelWhenDisabled False Boolean Cancel the repair state when the trait is disabled.
PlayerExperience 0 Integer Experience gained by a player for repairing structures of allied players.
RepairCondition String The condition to grant to self while being repaired.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

RepairsUnits

Property Default Value Type Description
ValuePercentage 20 Integer Cost in % of the unit value to fully repair the unit.
HpPerStep 10 Integer
Interval 24 Integer Time (in ticks) between two repair steps.
StartRepairingNotification Repairing String The sound played when starting to repair a unit.
FinishRepairingNotification String The sound played when repairing a unit is done.
PlayerExperience 0 Integer Experience gained by the player owning this actor for repairing an allied unit.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

RequiresBuildableArea

This actor requires another actor with 'GivesBuildableArea' trait around to be placed.

Requires trait: Building.

Property Default Value Type Description
AreaTypes (required) Set of String Types of buildable are this actor requires.
Adjacent 2 Integer Maximum range from the actor with 'GivesBuildableArea' this can be placed at.

Reservable

Reserve landing places for aircraft.

Burns

This actor will play a fire animation over its body and take damage over time.

Requires trait: RenderSprites.

Property Default Value Type Description
Anim 1 String
Damage 1 Integer
Interval 8 Integer

Capturable

This actor can be captured by a unit with Captures: trait.

Property Default Value Type Description
Types building Set of String CaptureTypes (from the Captures trait) that are able to capture this.
ValidStances Enemy, Neutral Stance What diplomatic stances can be captured by this actor.
CaptureThreshold 50 Integer Health percentage the target must be at (or below) before it can be captured.
CancelActivity False Boolean
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Captures

This actor can capture other actors which have the Capturable: trait.

Property Default Value Type Description
CaptureTypes building Set of String Types of actors that it can capture, as long as the type also exists in the Capturable Type: trait.
Sabotage True Boolean Unit will do damage to the actor instead of capturing it. Unit is destroyed when sabotaging.
SabotageHPRemoval 50 Integer Only used if Sabotage=true. Sabotage damage expressed as a percentage of enemy health removed.
PlayerExperience 0 Integer Experience granted to the capturing player.
PlayerExperienceStances Enemy Stance Stance that the structure's previous owner needs to have for the capturing player to receive Experience.
SabotageCursor capture String
EnterCursor enter String
EnterBlockedCursor enter-blocked String
Voice Action String
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Cargo

This actor can transport Passenger actors.

Property Default Value Type Description
MaxWeight 0 Integer The maximum sum of Passenger.Weight that this actor can support.
PipCount 0 Integer Number of pips to display when this actor is selected.
Types Set of String `Passenger.CargoType`s that can be loaded into this actor.
InitialUnits Collection of String A list of actor types that are initially spawned into this actor.
EjectOnSell True Boolean When this actor is sold should all of its passengers be unloaded?
EjectOnDeath False Boolean When this actor dies should all of its passengers be unloaded?
UnloadTerrainTypes Set of String Terrain types that this actor is allowed to eject actors onto. Leave empty for all terrain types.
UnloadVoice Action String Voice to play when ordered to unload the passengers.
PassengerFacing 128 Integer Which direction the passenger will face (relative to the transport) when unloading.
UnloadCursor deploy String Cursor to display when able to unload the passengers.
UnloadBlockedCursor deploy-blocked String Cursor to display when unable to unload the passengers.
LoadingCondition String The condition to grant to self while waiting for cargo to load.
LoadedCondition String The condition to grant to self while passengers are loaded. Condition can stack with multiple passengers.
PassengerConditions Mapping of String to String Conditions to grant when specified actors are loaded inside the transport. A dictionary of [actor id]: [condition].

Carryable

Can be carried by actors with the Carryall trait.

Property Default Value Type Description
ReservedCondition String The condition to grant to self while a carryall has been reserved.
CarriedCondition String The condition to grant to self while being carried.
LocalOffset 0,0,0 3D World Vector Carryall attachment point relative to body.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Carryall

Transports actors with the Carryable trait.

Requires traits: Aircraft, BodyOrientation.

Property Default Value Type Description
LoadingDelay 0 Integer Delay on the ground while attaching an actor to the carryall.
UnloadingDelay 0 Integer Delay on the ground while detacting an actor to 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.
Voice Action String

CashTrickler

Lets the actor generate cash in a set periodic time.

Property Default Value Type Description
Interval 50 Integer Number of ticks to wait between giving money.
InitialDelay 0 Integer Number of ticks to wait before giving first money.
Amount 15 Integer Amount of money to give each time.
ShowTicks True Boolean Whether to show the cash tick indicators rising from the actor.
DisplayDuration 30 Integer How long to show the cash tick indicator when enabled.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ChangesTerrain

Modifies the terrain type underneath the actors location.

Requires trait: Immobile.

Property Default Value Type Description
TerrainType (required) String

Cloak

This unit can cloak and uncloak in specific situations.

Property Default Value Type Description
InitialDelay 10 Integer Measured in game ticks.
CloakDelay 30 Integer Measured in game ticks.
UncloakOn Attack, Unload, Infiltrate, Demolish, Dock UncloakType Events leading to the actor getting uncloaked. Possible values are: Attack, Move, Unload, Infiltrate, Demolish, Dock, Damage, Heal and SelfHeal.
CloakSound String
UncloakSound String
Palette cloak String
IsPlayerPalette False Boolean
CloakTypes Cloak Set of String
CloakedCondition String The condition to grant to self while cloaked.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

CombatDebugOverlay

Displays fireports, muzzle offsets, and hit areas in developer mode.

CommandBarBlacklist

Blacklist certain order types to disable on the command bar when this unit is selected.

Property Default Value Type Description
DisableStop True Boolean Disable the 'Stop' button for this actor.
DisableWaypointMode True Boolean Disable the 'Waypoint Mode' button for this actor.

ConditionManager

Attach this to a unit to enable dynamic conditions by warheads, experience, crates, support powers, etc.

ExternalCondition

Allows a condition to be granted from an external source (Lua, warheads, etc).

Requires trait: ConditionManager.

Property Default Value Type Description
Condition (required) String
SourceCap 0 Integer If > 0, restrict the number of times that this condition can be granted by a single source.
TotalCap 0 Integer If > 0, restrict the number of times that this condition can be granted by any source.

GrantCondition

Grants a condition while the trait is active.

Property Default Value Type Description
Condition (required) String Condition to grant.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GrantConditionOnAttack

Property Default Value Type Description
Condition (required) String The condition type to grant.
ArmamentNames primary Set of String Name of the armaments that grant this condition.
RequiredShotsPerInstance 1 Collection of Integer Shots required to apply an instance of the condition. If there are more instances of the condition granted than values listed, the last value is used for all following instances beyond the defined range.
MaximumInstances 1 Integer Maximum instances of the condition to grant.
IsCyclic False Boolean Should all instances reset if the actor passes the final stage?
RevokeDelay 15 Integer Amount of ticks required to pass without firing to revoke an instance.
RevokeOnNewTarget False Boolean Should an instance be revoked if the actor changes target?
RevokeAll False Boolean Should all instances be revoked instead of only one?

GrantConditionOnBotOwner

Grants a condition to this actor when it is owned by an AI bot.

Property Default Value Type Description
Condition (required) String Condition to grant.
Bots (required) Collection of String Bot types that trigger the condition.

GrantConditionOnDamageState

Applies a condition to the actor at specified damage states.

Requires trait: Health.

Property Default Value Type Description
Condition (required) String Condition to grant.
EnabledSounds Collection of String Play a random sound from this list when enabled.
DisabledSounds Collection of String Play a random sound from this list when disabled.
ValidDamageStates Heavy, Critical DamageState Levels of damage at which to grant the condition.
GrantPermanently False Boolean Is the condition irrevocable once it has been activated?

GrantConditionOnDeploy

Grants a condition when a deploy order is issued.Can be paused with the granted condition to disable undeploying.

Property Default Value Type Description
UndeployedCondition String The condition to grant while the actor is undeployed.
DeployedCondition (required) String The condition to grant after deploying and revoke before undeploying.
AllowedTerrainTypes Set of String The terrain types that this actor can deploy on. Leave empty to allow any.
CanDeployOnRamps False Boolean Can this actor deploy on slopes?
DeployCursor deploy String Cursor to display when able to (un)deploy the actor.
DeployBlockedCursor deploy-blocked String Cursor to display when unable to (un)deploy the actor.
Facing -1 Integer Facing that the actor must face before deploying. Set to -1 to deploy regardless of facing.
DeploySound String Sound to play when deploying.
UndeploySound String Sound to play when undeploying.
SkipMakeAnimation False Boolean Skip make/deploy animation?
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GrantConditionOnFaction

Grants a condition while the trait is active.

Property Default Value Type Description
Condition (required) String Condition to grant.
Factions Set of String Only grant this condition for certain factions.
ResetOnOwnerChange False Boolean Should it recheck everything when it is captured?
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GrantConditionOnJumpjetLayer

Property Default Value Type Description
Condition (required) String The condition to grant to self when changing to specific custom layer.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GrantConditionOnLineBuildDirection

Requires trait: LineBuild.

Property Default Value Type Description
Condition (required) String Condition to grant.
Direction (required) LineBuildDirection Line build direction to trigger the condition.

GrantConditionOnMovement

Property Default Value Type Description
Condition (required) String Condition to grant.
ConsiderVerticalMovement False Boolean Apply condition on straight vertical movement as well.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GrantConditionOnPowerState

Grants condition as long as a valid power state is maintained.

Property Default Value Type Description
Condition (required) String Condition to grant.
ValidPowerStates (required) PowerState PowerStates at which the condition is granted. Options are Normal, Low and Critical.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GrantConditionOnPrerequisite

Grants a condition to the actor this is attached to when prerequisites are available.

Property Default Value Type Description
Condition (required) String The condition to grant.
Prerequisites (required) Collection of String List of required prerequisites.

GrantConditionOnSubterraneanLayer

Grants Condition on subterranean layer. Also plays transition audio-visuals.

Property Default Value Type Description
SubterraneanTransitionImage String Dig animation image to play when transitioning.
SubterraneanTransitionSequence String Dig animation sequence to play when transitioning.
SubterraneanTransitionPalette effect String
SubterraneanTransitionSound String Dig sound to play when transitioning.
Condition (required) String The condition to grant to self when changing to specific custom layer.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GrantConditionOnTerrain

Property Default Value Type Description
Condition (required) String Condition to grant.
TerrainTypes (required) Collection of String Terrain names to trigger the condition.

GrantConditionOnTunnelLayer

Property Default Value Type Description
Condition (required) String The condition to grant to self when changing to specific custom layer.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GrantExternalConditionToCrusher

Grant a condition to the crushing actor.

Property Default Value Type Description
WarnCrushCondition String The condition to apply on a crush attempt. Must be included among the crusher actor's ExternalCondition traits.
WarnCrushDuration 0 Integer Duration of the condition applied on a crush attempt (in ticks). Set to 0 for a permanent condition.
OnCrushCondition String The condition to apply on a successful crush. Must be included among the crusher actor's ExternalCondition traits.
OnCrushDuration 0 Integer Duration of the condition applied on a successful crush (in ticks). Set to 0 for a permanent condition.

LineBuildSegmentExternalCondition

Applies a condition to connected line build segments.

Requires trait: LineBuild.

Property Default Value Type Description
Condition (required) String The condition to apply. Must be included in the target actor's ExternalConditions list.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ProximityExternalCondition

Applies a condition to actors within a specified range.

Property Default Value Type Description
Condition (required) String The condition to apply. Must be included in the target actor's ExternalConditions list.
Range 3c0 1D World Distance The range to search for actors.
MaximumVerticalOffset 0c0 1D World Distance The maximum vertical range above terrain to search for actors. Ignored if 0 (actors are selected regardless of vertical distance).
ValidStances Ally Stance What diplomatic stances are affected.
AffectsParent False Boolean Condition is applied permanently to this actor.
EnableSound String
DisableSound String
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ToggleConditionOnOrder

Toggles a condition on and off when a specified order type is received.

Property Default Value Type Description
Condition (required) String Condition to grant.
OrderName (required) String Order name that toggles the condition.
EnabledSound String
EnabledSpeech String
DisabledSound String
DisabledSpeech String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Contrail

Draw a colored contrail behind this actor when they move.

Requires trait: BodyOrientation.

Property Default Value Type Description
Offset 0,0,0 3D World Vector Position relative to body
ZOffset 0 Integer Offset for Z sorting.
TrailLength 25 Integer Length of the trail (in ticks).
TrailWidth 0c64 1D World Distance Width of the trail.
Color FFFFFF Color (RRGGBB[AA] notation) RGB color of the contrail.
UsePlayerColor True Boolean Use player remap color instead of a custom color?

Crate

Requires trait: RenderSprites.

Property Default Value Type Description
Lifetime 0 Integer Length of time (in seconds) until the crate gets removed automatically. A value of zero disables auto-removal.
TerrainTypes Set of String Allowed to land on.
CrushClass crate String Define actors that can collect crates by setting this into the Crushes field from the Mobile trait.

CrateAction

Property Default Value Type Description
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

DuplicateUnitCrateAction

Creates duplicates of the actor that collects the crate.

Property Default Value Type Description
MaxAmount 2 Integer The maximum number of duplicates to make.
MinAmount 1 Integer The minimum number of duplicates to make. Overrules MaxDuplicatesWorth.
MaxDuplicateValue -1 Integer The maximum total value allowed for the duplicates. Duplication stops if the total worth will exceed this number. -1 = no limit
MaxRadius 4 Integer The maximum radius (in cells) that duplicates can be spawned.
ValidTargets Ground, Water Collection of TargetableType The list of unit target types we are allowed to duplicate.
ValidFactions Set of String Which factions this crate action can occur for.
Owner String Is the new duplicates given to a specific owner, regardless of whom collected it?
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

ExplodeCrateAction

Fires a weapon at the location when collected.

Property Default Value Type Description
Weapon (required) String The weapon to fire upon collection.
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

GiveCashCrateAction

Gives cash to the collector.

Property Default Value Type Description
Amount 2000 Integer Amount of cash to give.
UseCashTick False Boolean Should the collected amount be displayed as a cash tick?
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

GiveMcvCrateAction

Spawns units when collected. Adjust selection shares when player has no base.

Property Default Value Type Description
NoBaseSelectionShares 1000 Integer The selection shares to use if the collector has no base.
Units (required) Collection of String The list of units to spawn.
ValidFactions Set of String Factions that are allowed to trigger this action.
Owner String Override the owner of the newly spawned unit: e.g. Creeps or Neutral
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

GiveUnitCrateAction

Spawns units when collected.

Property Default Value Type Description
Units (required) Collection of String The list of units to spawn.
ValidFactions Set of String Factions that are allowed to trigger this action.
Owner String Override the owner of the newly spawned unit: e.g. Creeps or Neutral
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

GrantExternalConditionCrateAction

Grants a condition on the collector.

Property Default Value Type Description
Condition (required) String The condition to apply. Must be included in the target actor's ExternalConditions list.
Duration 0 Integer Duration of the condition (in ticks). Set to 0 for a permanent condition.
Range 0c3 1D World Distance The range to search for extra collectors in. Extra collectors will also be granted the crate action.
MaxExtraCollectors 4 Integer The maximum number of extra collectors to grant the crate action to. -1 = no limit
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

HealUnitsCrateAction

Heals all actors that belong to the owner of the collector.

Property Default Value Type Description
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

HideMapCrateAction

Hides the entire map in shroud.

Property Default Value Type Description
IncludeAllies False Boolean Should the map also be hidden for the allies of the collector's owner?
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

LevelUpCrateAction

Gives experience levels to the collector.

Property Default Value Type Description
Levels 1 Integer Number of experience levels to give.
Range 0c3 1D World Distance The range to search for extra collectors in. Extra collectors will also be granted the crate action.
MaxExtraCollectors 4 Integer The maximum number of extra collectors to grant the crate action to.
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

RevealMapCrateAction

Reveals the entire map.

Property Default Value Type Description
IncludeAllies False Boolean Should the map also be revealed for the allies of the collector's owner?
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

SupportPowerCrateAction

Gives a supportpower to the collector.

Property Default Value Type Description
Proxy (required) String Which proxy actor, which grants the support power, to spawn.
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Effect String An animation defined in sequence yaml(s) to draw.
Palette effect String Palette to draw the animation in.
Notification String Audio clip to play when the crate is collected.
TimeDelay 0 Integer The earliest time (in ticks) that this crate action can occur on.
Prerequisites Collection of String Only allow this crate action when the collector has these prerequisites
ExcludedActorTypes Collection of String Actor types that this crate action will not occur for.

CreatesShroud

Property Default Value Type Description
ValidStances Enemy, Neutral Stance Stance the watching player needs to see the generated shroud.
Range 0c0 1D World Distance
MaxHeightDelta -1 Integer If >= 0, prevent cells that are this much higher than the actor from being revealed.
Type Footprint VisibilityType Possible values are CenterPosition (measure range from the center) and Footprint (measure range from the footprint)
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Crushable

This actor is crushable.

Property Default Value Type Description
CrushSound String Sound to play when being crushed.
CrushClasses infantry Collection of CrushClass Which crush classes does this actor belong to.
WarnProbability 75 Integer Probability of mobile actors noticing and evading a crush attempt.
CrushedByFriendlies False Boolean Will friendly units just crush me instead of pathing around.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

CustomSellValue

Allow a non-standard sell/repair value to avoid buy-sell exploits.

Property Default Value Type Description
Value (required) Integer

DamagedByTerrain

This actor receives damage from the given weapon when on the specified terrain type.

Requires trait: Health.

Property Default Value Type Description
Damage (required) Integer Amount of damage received per DamageInterval ticks.
DamageInterval 0 Integer Delay between receiving damage.
DamageTypes Collection of DamageType Apply the damage using these damagetypes.
Terrain (required) Collection of String Terrain types where the actor will take damage.
DamageThreshold 0 Integer Percentage health below which the actor will not receive further damage.
StartOnThreshold False Boolean Inflict damage down to the DamageThreshold when the actor gets created on damaging terrain.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

DeliversCash

Donate money to actors with the AcceptsDeliveredCash trait.

Property Default Value Type Description
Payload 500 Integer The amount of cash the owner receives.
PlayerExperience 0 Integer The amount of experience the donating player receives.
Type String Identifier checked against AcceptsDeliveredCash.ValidTypes. Only needed if the latter is not empty.
Sounds Collection of String Sound to play when delivering cash
Voice Action String

DeliversExperience

This actor can grant experience levels equal to it's own current level via entering to other actors with the AcceptsDeliveredExperience trait.

Requires trait: GainsExperience.

Property Default Value Type Description
PlayerExperience 0 Integer The amount of experience the donating player receives.
Type String Identifier checked against AcceptsDeliveredExperience.ValidTypes. Only needed if the latter is not empty.
Voice Action String

Demolishable

Handle demolitions from C4 explosives.

Property Default Value Type Description
PreventsEjectOnDeath False Boolean If true and this actor has EjectOnDeath, no actor will be spawned.

Demolition

Property Default Value Type Description
DetonationDelay 45 Integer Delay to demolish the target once the explosive device is planted. Measured in game ticks. Default is 1.8 seconds.
Flashes 3 Integer Number of times to flash the target.
FlashesDelay 4 Integer Delay before the flashing starts.
FlashInterval 4 Integer Interval between each flash.
FlashDuration 3 Integer Duration of each flash.
EnterBehaviour Exit EnterBehaviour Behaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
Voice Action String Voice string when planting explosive charges.
Cursor c4 String

DetectCloaked

Actor can reveal Cloak actors in a specified range.

Property Default Value Type Description
CloakTypes Cloak Set of String Specific cloak classifications I can reveal.
Range 5c0 1D World Distance
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

EditorTilesetFilter

Property Default Value Type Description
RequireTilesets Set of String
ExcludeTilesets Set of String
Categories Collection of String

EjectOnDeath

Eject a ground soldier or a paratrooper while in the air.

Property Default Value Type Description
PilotActor E1 String Name of the unit to eject. This actor type needs to have the Parachutable trait defined.
SuccessRate 50 Integer Probability that the aircraft's pilot gets ejected once the aircraft is destroyed.
ChuteSound String Sound to play when ejecting the pilot from the aircraft.
EjectInAir False Boolean Can a destroyed aircraft eject its pilot while it has not yet fallen to ground level?
EjectOnGround False Boolean Can a destroyed aircraft eject its pilot when it falls to ground level?
AllowUnsuitableCell False Boolean Risks stuck units when they don't have the Paratrooper trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

EngineerRepair

Can instantly repair other actors, but gets consumed afterwards.

Property Default Value Type Description
Voice Action String
EnterBehaviour Dispose EnterBehaviour Behaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
ValidStances Ally Stance What diplomatic stances allow target to be repaired by this actor.

EngineerRepairable

Eligible for instant repair.

EntersTunnels

This actor can interact with TunnelEntrances to move through TerrainTunnels.

Property Default Value Type Description
EnterCursor enter String
EnterBlockedCursor enter-blocked String
Voice Action String

ExitsDebugOverlay

Displays Exit data for factories.

Requires trait: Exit.

Property Default Value Type Description
DrawPerimiterCellVectors True Boolean Should cell vectors be drawn for each perimeter cell?
DrawExitCellVectors True Boolean Should cell vectors be drawn for each exit cell?
DrawSpawnOffsetLines True Boolean Should lines be drawn for each exit (from spawn offset to the center of the exit cell)?

Explodes

This actor explodes when killed.

Requires trait: Health.

Property Default Value Type Description
Weapon (required) String Default weapon to use for explosion if ammo/payload is loaded.
EmptyWeapon UnitExplode String Fallback weapon to use for explosion if empty (no ammo/payload).
LoadedChance 100 Integer Chance that the explosion will use Weapon instead of EmptyWeapon when exploding, provided the actor has ammo/payload.
Chance 100 Integer Chance that this actor will explode at all.
DamageThreshold 0 Integer Health level at which actor will explode.
DeathTypes Collection of DamageType DeathType(s) that trigger the explosion. Leave empty to always trigger an explosion.
DamageSource Self DamageSource Who is counted as source of damage for explosion. Possible values are Self and Killer.
Type CenterPosition ExplosionType Possible values are CenterPosition (explosion at the actors' center) and Footprint (explosion on each occupied cell).
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ExplosionOnDamageTransition

This actor triggers an explosion on itself when transitioning to a specific damage state.

Requires trait: Health.

Property Default Value Type Description
Weapon (required) String Weapon to use for explosion.
DamageState Heavy DamageState At which damage state explosion will trigger.
TriggerOnlyOnce False Boolean Should the explosion only be triggered once?

ExternalCapturable

This actor can be captured by a unit with ExternalCaptures: trait.

Property Default Value Type Description
Types building Set of String CaptureTypes (from the ExternalCaptures trait) that are able to capture this.
ValidStances Enemy, Neutral Stance What diplomatic stances can be captured by this actor.
CaptureCompleteTime 15 Integer Seconds it takes to change the owner. You might want to add a ExternalCapturableBar: trait, too.
PreventsAutoTarget True Boolean Whether to prevent autotargeting this actor while it is being captured by an ally.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ExternalCapturableBar

Visualize the remaining CaptureCompleteTime from ExternalCapturable: trait.

Requires trait: ExternalCapturable.

ExternalCaptures

This actor can capture other actors which have the ExternalCapturable: trait.

Property Default Value Type Description
CaptureTypes building Set of String Types of actors that it can capture, as long as the type also exists in the ExternalCapturable Type: trait.
ConsumeActor False Boolean Destroy the unit after capturing.
PlayerExperience 0 Integer Experience granted to the capturing player.
PlayerExperienceStances Enemy Stance Stance that the structure's previous owner needs to have for the capturing player to receive Experience.
Voice Action String
CapturingCondition String Condition granted when capturing.
CaptureCursor ability String
CaptureBlockedCursor move-blocked String

GainsExperience

This actor's experience increases when it has killed a GivesExperience actor.

Requires trait: Valued.

Property Default Value Type Description
Conditions (required) Mapping of Integer to String Condition to grant at each level. Key is the XP requirements for each level as a percentage of our own value. Value is the condition to grant.
LevelUpPalette effect String Palette for the level up sprite.
SuppressLevelupAnimation True Boolean Should the level-up animation be suppressed when actor is created?

GivesBounty

When killed, this actor causes the attacking player to receive money.

Property Default Value Type Description
Percentage 10 Integer Percentage of the killed actor's Cost or CustomSellValue to be given.
ValidStances Enemy, Neutral Stance Stance the attacking player needs to receive the bounty.
ShowBounty True Boolean Whether to show a floating text announcing the won bounty.
DeathTypes Collection of DamageType DeathTypes for which a bounty should be granted. Use an empty list (the default) to allow all DeathTypes.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GivesCashOnCapture

Lets the actor grant cash when captured.

Property Default Value Type Description
ShowTicks True Boolean Whether to show the cash tick indicators rising from the actor.
DisplayDuration 30 Integer How long to show the Amount tick indicator when enabled.
Amount 0 Integer Amount of money awarded for capturing the actor.
CaptureTypes Set of String Award cash only if the capturer's CaptureTypes overlap with these types. Leave empty to allow all types.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GivesExperience

This actor gives experience to a GainsExperience actor when they are killed.

Property Default Value Type Description
Experience -1 Integer If -1, use the value of the unit cost.
ValidStances Enemy, Neutral Stance Stance the attacking player needs to receive the experience.
ActorExperienceModifier 10000 Integer Percentage of the `Experience` value that is being granted to the killing actor.
PlayerExperienceModifier 0 Integer Percentage of the `Experience` value that is being granted to the player owning the killing actor.

Guard

The player can give this unit the order to follow and protect friendly units with the Guardable trait.

Property Default Value Type Description
Voice Action String

Guardable

This unit can be guarded (followed and protected) by a Guard unit.

Property Default Value Type Description
Range 2c0 1D World Distance Maximum range that guarding actors will maintain.

Harvester

Requires trait: Mobile.

Property Default Value Type Description
DeliveryBuildings Set of String
SearchForDeliveryBuildingDelay 125 Integer How long (in ticks) to wait until (re-)checking for a nearby available DeliveryBuilding if not yet linked to one.
UnblockCell 0,4 2D Cell Vector Cell to move to when automatically unblocking DeliveryBuilding.
Capacity 28 Integer How much resources it can carry.
BaleLoadDelay 4 Integer
BaleUnloadDelay 4 Integer How fast it can dump it's carryage.
PipCount 7 Integer How many squares to show the fill level.
HarvestFacings 0 Integer
Resources Set of String Which resources it can harvest.
FullyLoadedSpeed 85 Integer Percentage of maximum speed when fully loaded.
SearchOnCreation True Boolean Automatically scan for resources when created.
SearchFromProcRadius 24 Integer Initial search radius (in cells) from the refinery that created us.
SearchFromOrderRadius 12 Integer Search radius (in cells) from the last harvest order location to find more resources.
MaxIdleDuration 25 Integer Maximum duration of being idle before queueing a Wait activity.
WaitDuration 25 Integer Duration to wait before becoming idle again.
MaxUnloadQueue 3 Integer Find a new refinery to unload at if more than this many harvesters are already waiting.
UnloadQueueCostModifier 12 Integer The pathfinding cost penalty applied for each harvester waiting to unload at a refinery.
HarvestVoice Action String
DeliverVoice Action String

Health

Property Default Value Type Description
HP 0 Integer HitPoints
NotifyAppliedDamage True Boolean Trigger interfaces such as AnnounceOnKill?

HitShape

Shape of actor for targeting and damage calculations.

Requires trait: BodyOrientation.

Property Default Value Type Description
TargetableOffsets 0,0,0 Collection of 3D World Vector Create a targetable position for each offset listed here (relative to CenterPosition).
UseTargetableCellsOffsets False Boolean Create a targetable position at the center of each occupied cell. Stacks with TargetableOffsets.
Type IHitShape
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Huntable

This actor can be targeted by the Hunt activity.

Husk

Spawns remains of a husk actor with the correct facing.

Property Default Value Type Description
AllowedTerrain Set of String
PreviewFacing 92 Integer Facing to use for actor previews (map editor, color picker, etc)

IgnoresCloak

This actor does not care about any type of cloak its targets might have, regardless of distance.

IgnoresDisguise

Allows automatic targeting of disguised actors.

Immobile

Property Default Value Type Description
OccupiesSpace True Boolean

ScaredyCat

Makes the unit automatically run around when taking damage.

Requires trait: Mobile.

Property Default Value Type Description
PanicLength 250 Integer How long (in ticks) the actor should panic for.
PanicSpeedModifier 200 Integer Panic movement speed as a percentage of the normal speed.
AttackPanicChance 20 Integer Chance (out of 100) the unit has to enter panic mode when attacked.
PanicSequencePrefix panic- String

TakeCover

Make the unit go prone when under attack, in an attempt to reduce damage.

Requires trait: BodyOrientation.

Property Default Value Type Description
ProneTime 100 Integer How long (in ticks) the actor remains prone.
SpeedModifier 50 Integer Prone movement speed as a percentage of the normal speed.
DamageTriggers (required) Collection of DamageType Damage types that trigger prone state. Defined on the warheads.
DamageModifiers Mapping of String to Integer Damage modifiers for each damage type (defined on the warheads) while the unit is prone.
ProneOffset 500,0,0 3D World Vector
ProneSequencePrefix prone- String
Turret primary String
TurnSpeed 255 Integer Speed at which the turret turns.
InitialFacing 0 Integer
RealignDelay 40 Integer Number of ticks before turret is realigned. (-1 turns off realignment)
Offset 0,0,0 3D World Vector Muzzle position relative to turret or body. (forward, right, up) triples
PreviewFacing 92 Integer Facing to use for actor previews (map editor, color picker, etc)

TerrainModifiesDamage

Property Default Value Type Description
TerrainModifier (required) Mapping of String to Integer Damage percentage for specific terrain types. 120 = 120%, 80 = 80%, etc.
ModifyHealing False Boolean Modify healing damage? For example: A friendly medic.

JamsMissiles

This actor deflects missiles.

Property Default Value Type Description
Range 0c0 1D World Distance Range of the deflection.
DeflectionStances Enemy, Neutral, Ally Stance What diplomatic stances are affected.
Chance 100 Integer Chance of deflecting missiles.

KillsSelf

Property Default Value Type Description
RemoveInstead False Boolean Remove the actor from the world (and destroy it) instead of killing it.
Delay 0 Collection of Integer The amount of time (in ticks) before the actor dies. Two values indicate a range between which a random value is chosen.
DamageTypes Collection of DamageType Types of damage that this trait causes. Leave empty for no damage types.
GrantsCondition String The condition to grant moments before suiciding.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Mobile

Unit is able to move.

Property Default Value Type Description
Locomotor (required) String Which Locomotor does this trait use. Must be defined on the World actor.
InitialFacing 0 Integer
TurnSpeed 255 Integer Speed at which the actor turns.
AlwaysConsiderTurnAsMove False Boolean Should turning always be considering as moving (instead of only turning while moving forward).
Speed 1 Integer
Cursor move String
BlockedCursor move-blocked String
Voice Action String
PreviewFacing 92 Integer Facing to use for actor previews (map editor, color picker, etc)
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AlwaysVisible

The actor is always considered visible for targeting and rendering purposes.

FrozenUnderFog

This actor will remain visible (but not updated visually) under fog, once discovered.

Requires trait: Building.

Property Default Value Type Description
AlwaysVisibleStances Ally Stance Players with these stances can always see the actor.

HiddenUnderFog

The actor stays invisible under fog of war.

Property Default Value Type Description
AlwaysVisibleStances Ally Stance Players with these stances can always see the actor.
Type Footprint VisibilityType Possible values are CenterPosition (reveal when the center is visible) and Footprint (reveal when any footprint cell is visible).

HiddenUnderShroud

The actor stays invisible under the shroud.

Property Default Value Type Description
AlwaysVisibleStances Ally Stance Players with these stances can always see the actor.
Type Footprint VisibilityType Possible values are CenterPosition (reveal when the center is visible) and Footprint (reveal when any footprint cell is visible).

WithColoredOverlay

Display a colored overlay when a timed condition is active.

Property Default Value Type Description
Palette invuln String Palette to use when rendering the overlay
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

CashTricklerMultiplier

Modifies the cash given by cash tricker traits of this actor.

Requires trait: CashTrickler.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

DamageMultiplier

Modifies the damage applied to this actor. Use 0 to make actor invulnerable.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

FirepowerMultiplier

Modifies the damage applied by this actor.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GainsExperienceMultiplier

Modifies the experience gathered by this actor.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GivesExperienceMultiplier

Modifies the experience given by this actor.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

InaccuracyMultiplier

Modifies the inaccuracy of weapons fired by this actor.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

PowerMultiplier

Modifies the power usage/output of this actor.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

RangeMultiplier

Modifies the range of weapons fired by this actor.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ReloadDelayMultiplier

Modifies the reload time of weapons fired by this actor.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

SpeedMultiplier

Modifies the movement speed of this actor.

Property Default Value Type Description
Modifier (required) Integer Percentage modifier to apply.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

MustBeDestroyed

Actors with this trait must be destroyed for a game to end.

Property Default Value Type Description
RequiredForShortGame False Boolean In a short game only actors that have this value set to true need to be destroyed.

OwnerLostAction

Perform an action when the actor's owner is defeated.

Property Default Value Type Description
Action (required) OwnerLostActionType What does this unit do when its owner loses. Allowed values are 'ChangeOwner', 'Dispose', 'Kill'
Owner Neutral String Map player to use when 'Action' is 'ChangeOwner'.
DeathTypes Collection of DamageType The deathtypes used when 'Action' is 'Kill'.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

CloakPaletteEffect

FlashPaletteEffect

Used for bursted one-colored whole screen effects. Add this to the world actor.

Property Default Value Type Description
ExcludePalettes cursor, chrome, colorpicker, fog, shroud Set of String
Length 20 Integer Measured in ticks.
Color FFFFFF Color (RRGGBB[AA] notation)
Type String Set this when using multiple independent flash effects.

GlobalLightingPaletteEffect

Used for day/night effects.

Property Default Value Type Description
ExcludePalettes cursor, chrome, colorpicker, fog, shroud, alpha Set of String Do not modify graphics that use any palette in this list.
ExcludePalettePrefixes Set of String Do not modify graphics that start with these letters.
Red 1 Real Number
Green 1 Real Number
Blue 1 Real Number
Ambient 1 Real Number

MenuPaletteEffect

Fades the world from/to black at the start/end of the game, and can (optionally) desaturate the world

Property Default Value Type Description
FadeLength 10 Integer Time (in ticks) to fade between states
Effect None EffectType Effect style to fade to during gameplay. Accepts values of None or Desaturated.
MenuEffect None EffectType Effect style to fade to when opening the in-game menu. Accepts values of None, Black or Desaturated.

RotationPaletteEffect

Palette effect used for sprinkle "animations".

Property Default Value Type Description
Palettes Set of String Defines to which palettes this effect should be applied to. If none specified, it applies to all palettes not explicitly excluded.
Tilesets Set of String Defines for which tileset IDs this effect should be loaded. If none specified, it applies to all tileset IDs not explicitly excluded.
ExcludePalettes Set of String Defines which palettes should be excluded from this effect.
ExcludeTilesets Set of String Don't apply the effect for these tileset IDs.
RotationBase 96 Integer Palette index of first RotationRange color.
RotationRange 7 Integer Range of colors to rotate.
RotationStep 0.25 Real Number Step towards next color index per tick.

ParaDrop

This unit can spawn and eject other actors while flying.

Requires trait: Cargo.

Property Default Value Type Description
DropRange 4c0 1D World Distance Distance around the drop-point to unload troops.
ChuteSound String Sound to play when dropping.

Parachutable

Can be paradropped by a ParaDrop actor.

Property Default Value Type Description
KilledOnImpassableTerrain True Boolean If we land on invalid terrain for my actor type should we be killed?
DamageTypes Collection of DamageType Types of damage that this trait causes to self when 'KilledOnImpassableTerrain' is true. Leave empty for no damage types.
Image explosion String Image where Ground/WaterCorpseSequence is looked up.
GroundCorpseSequence String
GroundCorpsePalette effect String
GroundImpactSound String
WaterCorpseSequence String
WaterCorpsePalette effect String
WaterTerrainTypes Water Set of String Terrain types on which to display WaterCorpseSequence.
WaterImpactSound String
FallRate 13 Integer
ParachutingCondition String The condition to grant to self while parachuting.

Passenger

This actor can enter Cargo actors.

Property Default Value Type Description
CargoType String
PipType Green PipType
Weight 1 Integer
AlternateTransportsMode Force AlternateTransportsMode Use to set when to use alternate transports (Never, Force, Default, Always). Force - use force move modifier (Alt) to enable. Default - use force move modifier (Alt) to disable.
MaxAlternateTransportAttempts 1 Integer Number of retries using alternate transports.
AlternateTransportScanRange 5c512 1D World Distance Range from self for looking for an alternate transport (default: 5.5 cells).
CargoCondition String The condition to grant to when this actor is loaded inside any transport.
CargoConditions Mapping of String to String Conditions to grant when this actor is loaded inside specified transport. A dictionary of [actor id]: [condition].
Voice Action String

AllyRepair

Attach this to the player actor to allow building repair by team mates.

BaseAttackNotifier

Plays an audio notification and shows a radar ping when a building is attacked. Attach this to the player actor.

Property Default Value Type Description
NotifyInterval 30 Integer Minimum duration (in seconds) between notification events.
RadarPingColor FF0000 Color (RRGGBB[AA] notation)
RadarPingDuration 250 Integer Length of time (in ticks) to display a location ping in the minimap.
Notification BaseAttack String The audio notification type to play.
AllyNotification String The audio notification to play to allies when under attack. Won't play a notification to allies if this is null.

ClassicProductionQueue

Attach this to the player actor (not a building!) to define a new shared build queue. Will only work together with the Production: trait on the actor that actually does the production. You will also want to add PrimaryBuildings: to let the user choose where new units should exit.

Requires traits: PlayerResources, TechTree.

Property Default Value Type Description
SpeedUp False Boolean If you build more actors of the same type, the same queue will get its build time lowered for every actor produced there.
BuildTimeSpeedReduction 100, 85, 75, 65, 60, 55, 50 Collection of Integer Every time another production building of the same queue is constructed, the build times of all actors in the queue decreased by a percentage of the original time.
Type (required) String What kind of production will be added (e.g. Building, Infantry, Vehicle, ...)
Group String Group queues from separate buildings together into the same tab.
Factions Set of String Only enable this queue for certain factions.
Sticky True Boolean Should the prerequisite remain enabled if the owner changes?
DisallowPaused False Boolean Should right clicking on the icon instantly cancel the production instead of putting it on hold?
BuildDurationModifier 100 Integer This percentage value is multiplied with actor cost to translate into build time (lower means faster).
ItemLimit 999 Integer Maximum number of a single actor type that can be queued (0 = infinite).
QueueLimit 0 Integer Maximum number of items that can be queued across all actor types (0 = infinite).
LowPowerSlowdown 3 Integer The build time is multiplied with this value on low power.
ReadyAudio UnitReady String Notification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudio NoBuild String Notification played when you can't train another actor when the build limit exceeded or the exit is jammed. The filename of the audio is defined per faction in notifications.yaml.
LimitedAudio String Notification played when you can't queue another actor when the queue length limit is exceeded. The filename of the audio is defined per faction in notifications.yaml.
QueuedAudio Training String Notification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudio OnHold String Notification played when player right-clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
CancelledAudio Cancelled String Notification played when player right-clicks on a build palette icon that is already on hold. The filename of the audio is defined per faction in notifications.yaml.

ConquestVictoryConditions

Requires trait: MissionObjectives.

Property Default Value Type Description
NotificationDelay 1500 Integer Delay for the end game notification in milliseconds.
Objective Destroy all opposition! String Description of the objective.
SuppressNotifications False Boolean Disable the win/loss messages and audio notifications?

DeveloperMode

Attach this to the player actor.

Property Default Value Type Description
CheckboxLabel Debug Menu String Descriptive label for the developer mode checkbox in the lobby.
CheckboxDescription Enables cheats and developer commands String Tooltip description for the developer mode checkbox in the lobby.
CheckboxEnabled False Boolean Default value of the developer mode checkbox in the lobby.
CheckboxLocked False Boolean Prevent the developer mode state from being changed in the lobby.
CheckboxVisible True Boolean Whether to display the developer mode checkbox in the lobby.
CheckboxDisplayOrder 0 Integer Display order for the developer mode checkbox in the lobby.
Cash 20000 Integer Default cash bonus granted by the give cash cheat.
ResourceGrowth 100 Integer Growth steps triggered by the grow resources button.
FastBuild False Boolean Enable the fast build cheat by default.
FastCharge False Boolean Enable the fast support powers cheat by default.
DisableShroud False Boolean Enable the disable visibility cheat by default.
UnlimitedPower False Boolean Enable the unlimited power cheat by default.
BuildAnywhere False Boolean Enable the build anywhere cheat by default.
PathDebug False Boolean Enable the path debug overlay by default.

EnemyWatcher

Tracks neutral and enemy actors' visibility and notifies the player. Attach this to the player actor.

Property Default Value Type Description
ScanInterval 25 Integer Interval in ticks between scanning for enemies.
NotificationInterval 750 Integer Minimal ticks in-between notifications.

GrantConditionOnPrerequisiteManager

Attach this to the player actor.

Requires trait: TechTree.

HarvesterAttackNotifier

Plays an audio notification and shows a radar ping when a harvester is attacked. Attach this to the player actor.

Property Default Value Type Description
NotifyInterval 30 Integer Minimum duration (in seconds) between notification events.
RadarPingColor FF0000 Color (RRGGBB[AA] notation)
RadarPingDuration 250 Integer Length of time (in ticks) to display a location ping in the minimap.
Notification HarvesterAttack String The audio notification type to play.

MissionObjectives

Property Default Value Type Description
Cooperative False Boolean Set this to true if multiple cooperative players have a distinct set of objectives that each of them has to complete to win the game. This is mainly useful for multiplayer coop missions. Do not use this for skirmish team games.
EarlyGameOver False Boolean If set to true, this setting causes the game to end immediately once the first player (or team of cooperative players) fails or completes his objectives. If set to false, players that fail their objectives will stick around and become observers.
GameOverDelay 1500 Integer Delay between the game over condition being met, and the game actually ending, in milliseconds.

ObjectivesPanel

Provides game mode progress information for players. Goes on WorldActor - observers don't have a player it can live on. Current options for PanelName are 'SKIRMISH_STATS' and 'MISSION_OBJECTIVES'.

Property Default Value Type Description
PanelName String
ExitDelay 1400 Integer in ms

PlaceBeacon

A beacon that is constructed from a circle sprite that is animated once and a moving arrow sprite.

Property Default Value Type Description
Duration 750 Integer
NotificationType Sounds String
Notification Beacon String
IsPlayerPalette True Boolean
Palette player String
BeaconImage beacon String
ArrowSequence arrow String
CircleSequence circles String

PlaceBuilding

Allows the player to execute build orders. Attach this to the player actor.

Property Default Value Type Description
Palette terrain String Palette to use for rendering the placement sprite.
LineBuildSegmentPalette terrain String Palette to use for rendering the placement sprite for line build segments.
NewOptionsNotificationDelay 10 Integer Play NewOptionsNotification this many ticks after building placement.
NewOptionsNotification NewOptions String Notification to play after building placement if new construction options are available.

PlayerExperience

This trait can be used to track player experience based on units killed with the GivesExperience trait. It can also be used as a point score system in scripted maps, for example. Attach this to the player actor.

PlayerResources

Property Default Value Type Description
DefaultCashDropdownLabel Starting Cash String Descriptive label for the starting cash option in the lobby.
DefaultCashDropdownDescription Change the amount of cash that players start with String Tooltip description for the starting cash option in the lobby.
SelectableCash 2500, 5000, 10000, 20000 Collection of Integer Starting cash options that are available in the lobby options.
DefaultCash 5000 Integer Default starting cash option: should be one of the SelectableCash options.
DefaultCashDropdownLocked False Boolean Force the DefaultCash option by disabling changes in the lobby.
DefaultCashDropdownVisible True Boolean Whether to display the DefaultCash option in the lobby.
DefaultCashDropdownDisplayOrder 0 Integer Display order for the DefaultCash option.
InsufficientFundsNotification String Speech notification to play when the player does not have any funds.
InsufficientFundsNotificationDelay 750 Integer Delay (in ticks) during which warnings will be muted.

PlayerStatistics

Attach this to the player actor to collect observer stats.

UpdatesPlayerStatistics

Attach this to a unit to update observer stats.

ProductionQueue

Attach this to an actor (usually a building) to let it produce units or construct buildings. If one builds another actor of this type, he will get a separate queue to create two actors at the same time. Will only work together with the Production: trait.

Property Default Value Type Description
Type (required) String What kind of production will be added (e.g. Building, Infantry, Vehicle, ...)
Group String Group queues from separate buildings together into the same tab.
Factions Set of String Only enable this queue for certain factions.
Sticky True Boolean Should the prerequisite remain enabled if the owner changes?
DisallowPaused False Boolean Should right clicking on the icon instantly cancel the production instead of putting it on hold?
BuildDurationModifier 100 Integer This percentage value is multiplied with actor cost to translate into build time (lower means faster).
ItemLimit 999 Integer Maximum number of a single actor type that can be queued (0 = infinite).
QueueLimit 0 Integer Maximum number of items that can be queued across all actor types (0 = infinite).
LowPowerSlowdown 3 Integer The build time is multiplied with this value on low power.
ReadyAudio UnitReady String Notification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudio NoBuild String Notification played when you can't train another actor when the build limit exceeded or the exit is jammed. The filename of the audio is defined per faction in notifications.yaml.
LimitedAudio String Notification played when you can't queue another actor when the queue length limit is exceeded. The filename of the audio is defined per faction in notifications.yaml.
QueuedAudio Training String Notification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudio OnHold String Notification played when player right-clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
CancelledAudio Cancelled String Notification played when player right-clicks on a build palette icon that is already on hold. The filename of the audio is defined per faction in notifications.yaml.

ProvidesPrerequisite

Property Default Value Type Description
Prerequisite String The prerequisite type that this provides. If left empty it defaults to the actor's name.
RequiresPrerequisites Collection of String Only grant this prerequisite when you have these prerequisites.
Factions Set of String Only grant this prerequisite for certain factions.
ResetOnOwnerChange False Boolean Should it recheck everything when it is captured?
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ProvidesTechPrerequisite

Property Default Value Type Description
Id String Internal id for this tech level.
Name String Name shown in the lobby options.
Prerequisites Collection of String Prerequisites to grant when this tech level is active.

ResourceStorageWarning

Provides the player with an audible warning when their storage is nearing full.

Requires trait: PlayerResources.

Property Default Value Type Description
AdviceInterval 20 Integer Interval, in seconds, at which to check if more storage is needed.
Threshold 80 Integer The percentage threshold above which a warning is played.
Notification SilosNeeded String The speech to play for the warning.

StrategicPoint

Used to mark a place that needs to be in possession for StrategicVictoryConditions.

StrategicVictoryConditions

Allows King of the Hill (KotH) style gameplay.

Requires trait: MissionObjectives.

Property Default Value Type Description
HoldDuration 7500 Integer Amount of time (in game ticks) that the player has to hold all the strategic points. Defaults to 7500 ticks (5 minutes at default speed).
ResetOnHoldLost True Boolean Should the timer reset when the player loses hold of a strategic point.
RatioRequired 50 Integer Percentage of all strategic points the player has to hold to win.
NotificationDelay 1500 Integer Delay for the end game notification in milliseconds.
Objective Hold all the strategic positions! String Description of the objective
SuppressNotifications False Boolean Disable the win/loss messages and audio notifications?

TechTree

Manages build limits and pre-requisites. Attach this to the player actor.

Plug

Property Default Value Type Description
Type (required) String Plug type (matched against Conditions in Pluggable)

Pluggable

Property Default Value Type Description
Offset 0,0 2D Cell Vector Footprint cell offset where a plug can be placed.
Conditions (required) Mapping of String to String Conditions to grant for each accepted plug type. Key is the plug type. Value is the condition that is granted when the plug is enabled.
Requirements Mapping of String to BooleanExpression Requirements for accepting a plug type. Key is the plug type that the requirements applies to. Value is the condition expression defining the requirements to place the plug.

AffectedByPowerOutage

Disables the actor when a power outage is triggered (see InfiltrateForPowerOutage for more information).

Property Default Value Type Description
Condition String The condition to grant while there is a power outage.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

PowerManager

Attach this to the player actor.

Requires trait: DeveloperMode.

Property Default Value Type Description
AdviceInterval 250 Integer
SpeechNotification LowPower String

Power

Property Default Value Type Description
Amount 0 Integer If negative, it will drain power. If positive, it will provide power.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ScalePowerWithHealth

Scale power amount with the current health.

Requires traits: Health, Power.

PowerTooltip

Shown power info on the build palette widget.

ProducibleWithLevel

Actors possessing this trait should define the GainsExperience trait. When the prerequisites are fulfilled, this trait grants a level-up to newly spawned actors. If additionally the actor's owning player defines the ProductionIconOverlay trait, the production queue icon renders with an overlay defined in that trait.

Requires trait: GainsExperience.

Property Default Value Type Description
Prerequisites Collection of String
InitialLevels 1 Integer Number of levels to give to the actor on creation.
SuppressLevelupAnimation True Boolean Should the level-up animation be suppressed when actor is created?

Production

This unit has access to build queues.

Property Default Value Type Description
Produces (required) Collection of String e.g. Infantry, Vehicles, Aircraft, Buildings
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ProductionFromMapEdge

Produce a unit on the closest map edge cell and move into the world.

Property Default Value Type Description
Produces (required) Collection of String e.g. Infantry, Vehicles, Aircraft, Buildings
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ProductionParadrop

Deliver the unit in production via paradrop.

Requires trait: Exit.

Property Default Value Type Description
ActorType badr String Cargo aircraft used. Must have Aircraft trait.
ChuteSound String Sound to play when dropping the unit.
ReadyAudio String Notification to play when dropping the unit.
Produces (required) Collection of String e.g. Infantry, Vehicles, Aircraft, Buildings
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ProductionQueueFromSelection

Property Default Value Type Description
ProductionTabsWidget String
ProductionPaletteWidget String

ProximityCaptor

Actor can capture ProximityCapturable actors.

Property Default Value Type Description
Types (required) Set of String

ProximityCapturable

Actor can be captured by units in a specified proximity.

Property Default Value Type Description
Range 5c0 1D World Distance Maximum range at which a ProximityCaptor actor can initiate the capture.
CaptorTypes Vehicle, Tank, Infantry Set of String Allowed ProximityCaptor actors to capture this actor.
MustBeClear False Boolean If set, the capturing process stops immediately after another player comes into Range.
Sticky False Boolean If set, the ownership will not revert back when the captor leaves the area.
Permanent False Boolean If set, the actor can only be captured via this logic once. This option implies the `Sticky` behaviour as well.

QuantizeFacingsFromSequence

Derive facings from sprite body sequence.

Requires trait: RenderSprites.

Property Default Value Type Description
Sequence idle String Defines sequence to derive facings from.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

RejectsOrders

Can be used to make a unit partly uncontrollable by the player.

Property Default Value Type Description
Reject Set of String Explicit list of rejected orders. Leave empty to reject all minus those listed under Except.
Except Set of String List of orders that should *not* be rejected. Also overrides other instances of this trait's Reject fields.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ReloadAmmoPool

Reloads an ammo pool.

Property Default Value Type Description
AmmoPool primary String Reload ammo pool with this name.
Delay 50 Integer Reload time in ticks per Count.
Count 1 Integer How much ammo is reloaded after Delay.
ResetOnFire False Boolean Whether or not reload timer should be reset when ammo has been fired.
Sound String Play this sound each time ammo is reloaded.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

CustomTerrainDebugOverlay

Displays custom terrain types.

Property Default Value Type Description
Font TinyBold String

DrawLineToTarget

Property Default Value Type Description
Delay 60 Integer

Repairable

This actor can be sent to a structure for repairs.

Requires trait: Health.

Property Default Value Type Description
RepairBuildings fix Set of String
Voice Action String
HpPerStep -1 Integer The amount the unit will be repaired at each step. Use -1 for fallback behavior where HpPerStep from RepairUnit trait will be used.

RepairableNear

Requires trait: Health.

Property Default Value Type Description
Buildings spen, syrd Set of String
CloseEnough 4c0 1D World Distance
Voice Action String

RepairsBridges

Can enter a BridgeHut or LegacyBridgeHut to trigger a repair.

Property Default Value Type Description
Voice Action String
EnterBehaviour Dispose EnterBehaviour Behaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
TargetCursor goldwrench String Cursor to use when targeting an unrepaired bridge.
TargetBlockedCursor goldwrench-blocked String Cursor to use when repairing is denied.
RepairNotification String Speech notification to play when a bridge is repaired.

Replaceable

Property Default Value Type Description
Types (required) Set of String Replacement types this Relpaceable actor accepts.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Replacement

Property Default Value Type Description
ReplaceableTypes (required) Set of String Replacement type (matched against Conditions in Replaceable).

RevealOnDeath

Reveal this actor's last position when killed.

Property Default Value Type Description
RevealForStances Ally Stance Stances relative to the actors' owner that shroud will be revealed for.
Duration 25 Integer Duration of the reveal.
Radius 1c512 1D World Distance Radius of the reveal around this actor.
RevealGeneratedShroud True Boolean Can this actor be revealed through shroud generated by the GeneratesShroud trait?
DeathTypes Collection of DamageType DeathTypes for which shroud will be revealed. Use an empty list (the default) to allow all DeathTypes.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

RevealOnFire

Reveal this actor to the target's owner when attacking.

Property Default Value Type Description
ArmamentNames primary, secondary Collection of String The armament types which trigger revealing.
RevealForStancesRelativeToTarget Ally Stance Stances relative to the target player this actor will be revealed to during firing.
Duration 25 Integer Duration of the reveal.
Radius 1c512 1D World Distance Radius of the reveal around this actor.
RevealGeneratedShroud True Boolean Can this actor be revealed through shroud generated by the GeneratesShroud trait?
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

RevealsShroud

Property Default Value Type Description
ValidStances Ally Stance Stance the watching player needs to see the shroud removed.
RevealGeneratedShroud True Boolean Can this actor reveal shroud generated by the GeneratesShroud trait?
Range 0c0 1D World Distance
MaxHeightDelta -1 Integer If >= 0, prevent cells that are this much higher than the actor from being revealed.
Type Footprint VisibilityType Possible values are CenterPosition (measure range from the center) and Footprint (measure range from the footprint)
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ScriptTags

Allows this actor to be 'tagged' with arbitrary strings. Tags must be unique or they will be rejected.

SeedsResource

Lets the actor spread resources around it in a circle.

Property Default Value Type Description
Interval 75 Integer
ResourceType Ore String
MaxRange 100 Integer
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

SelfHealing

Attach this to actors which should be able to regenerate their health points.

Requires trait: Health.

Property Default Value Type Description
Step 5 Integer Absolute amount of health points added in each step.
PercentageStep 0 Integer Relative percentages of health added in each step. When both values are defined, their summary will be applied.
Delay 5 Integer
HealIfBelow 50 Integer Heal if current health is below this percentage of full health.
DamageCooldown 0 Integer
DamageTypes Collection of DamageType Apply the selfhealing using these damagetypes.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Sellable

Actor can be sold

Property Default Value Type Description
RefundPercent 50 Integer
SellSounds Collection of String
ShowTicks True Boolean
SkipMakeAnimation False Boolean Skip playing (reversed) make animation.
Cursor sell String Cursor type to use when the sell order generator hovers over this actor.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ShakeOnDeath

Property Default Value Type Description
Duration 10 Integer
Intensity 1 Integer

SmokeTrailWhenDamaged

Requires trait: BodyOrientation.

Property Default Value Type Description
Offset 0,0,0 3D World Vector Position relative to body
Interval 3 Integer
Sprite smokey String
Sequence idle String
Palette effect String
MinDamage Heavy DamageState

SpawnActorOnDeath

Spawn another actor immediately upon death.

Property Default Value Type Description
Actor (required) String Actor to spawn on death.
Probability 100 Integer Probability the actor spawns.
OwnerType Victim OwnerType Owner of the spawned actor. Allowed keywords:'Victim', 'Killer' and 'InternalName'. Falls back to 'InternalName' if 'Victim' is used and the victim is defeated (see 'SpawnAfterDefeat').
InternalOwner Neutral String Map player to use when 'InternalName' is defined on 'OwnerType'.
EffectiveOwnerFromOwner False Boolean Changes the effective (displayed) owner of the spawned actor to the old owner (victim).
DeathType String DeathType that triggers the actor spawn. Leave empty to spawn an actor ignoring the DeathTypes.
SkipMakeAnimations True Boolean Skips the spawned actor's make animations if true.
RequiresLobbyCreeps False Boolean Should an actor only be spawned when the 'Creeps' setting is true?
Offset 0,0 2D Cell Vector Offset of the spawned actor relative to the dying actor's position. Warning: Spawning an actor outside the parent actor's footprint/influence might lead to unexpected behaviour.
SpawnAfterDefeat True Boolean Should an actor spawn after the player has been defeated (e.g. after surrendering)?
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

SpawnActorsOnSell

Spawn new actors when sold.

Property Default Value Type Description
ValuePercent 40 Integer
MinHpPercent 30 Integer
ActorTypes (required) Collection of String Actor types to spawn on sell. Be sure to use lowercase.
Factions Set of String Spawns actors only if the selling player's faction is in this list. Leave empty to allow all factions by default.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

StoresResources

Adds capacity to a player's harvested resource limit.

Property Default Value Type Description
Capacity (required) Integer
PipCount (required) Integer Number of little squares used to display how filled unit is.
PipColor Yellow PipType

AirstrikePower

Property Default Value Type Description
UnitType badr.bomber String
SquadSize 1 Integer
SquadOffset -1536,1536,0 3D World Vector
QuantizedFacings 32 Integer
Cordon 5c0 1D World Distance
CameraActor String Actor to spawn when the aircraft start attacking
CameraRemoveDelay 25 Integer Amount of time to keep the camera alive after the aircraft have finished attacking
BeaconDistanceOffset 6c0 1D World Distance Weapon range offset to apply during the beacon clock calculation
ChargeInterval 0 Integer Measured in ticks.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName AirstrikePowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

GrantExternalConditionPower

Property Default Value Type Description
Condition (required) String The condition to apply. Must be included in the target actor's ExternalConditions list.
Duration 0 Integer Duration of the condition (in ticks). Set to 0 for a permanent condition.
Range 1 Integer Cells - affects whole cells only
OnFireSound String Sound to instantly play at the targeted area.
Sequence active String Sequence to play for granting actor when activated. This requires the actor to have the WithSpriteBody trait or one of its derivatives.
BlockedCursor move-blocked String Cursor to display when there are no units to apply the condition in range.
ChargeInterval 0 Integer Measured in ticks.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName GrantExternalConditionPowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

NukePower

Requires trait: BodyOrientation.

Property Default Value Type Description
MissileWeapon (required) String Weapon to use for the impact. Also image to use for the missile.
MissileDelay 0 Integer Delay (in ticks) after launch until the missile is spawned.
MissileUp up String Sprite sequence for the ascending missile.
MissileDown down String Sprite sequence for the descending missile.
SpawnOffset 0,0,0 3D World Vector Offset from the actor the missile spawns on.
MissilePalette effect String Palette to use for the missile weapon image.
IsPlayerPalette False Boolean Custom palette is a player palette BaseName.
FlightDelay 400 Integer Travel time - split equally between ascent and descent.
FlightVelocity 0c512 1D World Distance Visual ascent velocity in WDist / tick.
SkipAscent False Boolean Descend immediately on the target.
BeaconRemoveAdvance 25 Integer Amount of time before detonation to remove the beacon.
CameraRange 0c0 1D World Distance Range of cells the camera should reveal around target cell.
RevealGeneratedShroud True Boolean Can the camera reveal shroud generated by the GeneratesShroud trait?
CameraStances Ally Stance Reveal cells to players with these stances only.
CameraSpawnAdvance 25 Integer Amount of time before detonation to spawn the camera.
CameraRemoveDelay 25 Integer Amount of time after detonation to remove the camera.
FlashType String Corresponds to `Type` from `FlashPaletteEffect` on the world actor.
ChargeInterval 0 Integer Measured in ticks.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName NukePowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ParatroopersPower

Property Default Value Type Description
UnitType badr String
SquadSize 1 Integer
SquadOffset -1536,1536,0 3D World Vector
ReinforcementsArrivedSpeechNotification String Notification to play when entering the drop zone.
QuantizedFacings 32 Integer Number of facings that the delivery aircraft may approach from.
Cordon 5c0 1D World Distance Spawn and remove the plane this far outside the map.
DropItems Collection of String Troops to be delivered. They will be distributed between the planes if SquadSize > 1.
AllowImpassableCells False Boolean Risks stuck units when they don't have the Paratrooper trait.
CameraActor String Actor to spawn when the paradrop starts.
CameraRemoveDelay 85 Integer Amount of time (in ticks) to keep the camera alive while the passengers drop.
BeaconDistanceOffset 4c0 1D World Distance Weapon range offset to apply during the beacon clock calculation.
ChargeInterval 0 Integer Measured in ticks.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName ParatroopersPowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ProduceActorPower

Produces an actor without using the standard production queue.

Property Default Value Type Description
Actors (required) Collection of String Actors to produce.
Type (required) String Production queue type to use
ReadyAudio String Notification played when production is activated. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudio String Notification played when the exit is jammed. The filename of the audio is defined per faction in notifications.yaml.
ChargeInterval 0 Integer Measured in ticks.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName ProduceActorPowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

SpawnActorPower

Spawns an actor that stays for a limited amount of time.

Property Default Value Type Description
Actor (required) String Actor to spawn.
LifeTime 250 Integer Amount of time to keep the actor alive in ticks. Value < 0 means this actor will not remove itself.
DeploySound String
EffectImage String
EffectSequence idle String
EffectPalette String
ChargeInterval 0 Integer Measured in ticks.
Icon String
Description String
LongDesc String
AllowMultiple False Boolean
OneShot False Boolean
Cursor ability String 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
BeginChargeSound String
BeginChargeSpeechNotification String
EndChargeSound String
EndChargeSpeechNotification String
SelectTargetSound String
SelectTargetSpeechNotification String
InsufficientPowerSound String
InsufficientPowerSpeechNotification String
LaunchSound String
LaunchSpeechNotification String
IncomingSound String
IncomingSpeechNotification String
DisplayTimerStances None Stance Defines to which players the timer is shown.
IconPalette chrome String Palette used for the icon.
DisplayBeacon False Boolean Beacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPalette True Boolean
BeaconPalette player String
BeaconImage beacon String
BeaconPoster String
BeaconPosterPalette chrome String
ClockSequence String
ArrowSequence String
CircleSequence String
BeaconDelay 0 Integer Delay after launch, measured in ticks.
DisplayRadarPing False Boolean
RadarPingDuration 125 Integer Measured in ticks.
OrderName SpawnActorPowerInfoOrder String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

SupportPowerManager

Attach this to the player actor.

Requires traits: DeveloperMode, TechTree.

Targetable

Actor can be targeted.

Property Default Value Type Description
TargetTypes Collection of TargetableType Target type. Used for filtering (in)valid targets.
RequiresForceFire False Boolean
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

TemporaryOwnerManager

Interacts with the ChangeOwner warhead. Displays a bar how long this actor is affected and reverts back to the old owner on temporary changes.

Property Default Value Type Description
BarColor FFA500 Color (RRGGBB[AA] notation)

ThrowsParticle

Requires traits: BodyOrientation, WithSpriteBody.

Property Default Value Type Description
Anim (required) String
Offset 0,0,0 3D World Vector Initial position relative to body
MinThrowRange 0c256 1D World Distance Minimum distance to throw the particle
MaxThrowRange 0c768 1D World Distance Maximum distance to throw the particle
MinThrowAngle 85 1D World Angle Minimum angle to throw the particle
MaxThrowAngle 170 1D World Angle Maximum angle to throw the particle
Velocity 75 Integer Speed to throw the particle (horizontal WPos/tick)
TurnSpeed 15 Integer Speed at which the particle turns.

ThrowsShrapnel

Throws particles when the actor is destroyed that do damage on impact.

Property Default Value Type Description
Weapons (required) Collection of String The weapons used for shrapnel.
Pieces 3, 10 Collection of Integer The amount of pieces of shrapnel to expel. Two values indicate a range.
Range 2c0, 5c0 Collection of 1D World Distance The minimum and maximum distances the shrapnel may travel.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

EditorOnlyTooltip

Shown in map editor.

Property Default Value Type Description
Name String
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Tooltip

Shown in the build palette widget.

Property Default Value Type 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 Stance 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 Boolean expression defining the condition to enable this trait.

TooltipDescription

Additional info shown in the battlefield tooltip.

Property Default Value Type Description
Description String Text shown in tooltip.
ValidStances Enemy, Neutral, Ally Stance Player stances who can view the description.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

TransformCrusherOnCrush

Put this on the actor that gets crushed to replace the crusher with a new actor.

Property Default Value Type Description
IntoActor (required) String
SkipMakeAnims True Boolean
CrushClasses Collection of CrushClass

TransformOnCapture

Replaces the captured actor with a new one.

Property Default Value Type Description
IntoActor (required) String
ForceHealthPercentage 0 Integer
SkipMakeAnims True Boolean
CaptureTypes Set of String Transform only if the capturer's CaptureTypes overlap with these types. Leave empty to allow all types.

Transforms

Actor becomes a specified actor type when this trait is triggered.

Property Default Value Type Description
IntoActor (required) String Actor to transform into.
Offset 0,0 2D Cell Vector Offset to spawn the transformed actor relative to the current cell.
Facing 96 Integer Facing that the actor must face before transforming.
TransformSounds Collection of String Sounds to play when transforming.
NoTransformSounds Collection of String Sounds to play when the transformation is blocked.
TransformNotification String Notification to play when transforming.
NoTransformNotification String Notification to play when the transformation is blocked.
DeployCursor deploy String Cursor to display when able to (un)deploy the actor.
DeployBlockedCursor deploy-blocked String Cursor to display when unable to (un)deploy the actor.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

TunnelEntrance

Provides a target for players to issue orders for units to move through a TerrainTunnel. The host actor should be placed so that the Sensor position overlaps one of the TerrainTunnel portal cells.

Property Default Value Type Description
RallyPoint (required) 2D Cell Vector Offset to use as a staging point for actors entering or exiting the tunnel. Should be at least Margin cells away from the actual entrance.
Margin 2 Integer Cell radius to use as a staging area around the RallyPoint.
Sensor 0,0 2D Cell Vector Offset to check for the corresponding TerrainTunnel portal cell(s).

Turreted

Requires trait: BodyOrientation.

Property Default Value Type Description
Turret primary String
TurnSpeed 255 Integer Speed at which the turret turns.
InitialFacing 0 Integer
RealignDelay 40 Integer Number of ticks before turret is realigned. (-1 turns off realignment)
Offset 0,0,0 3D World Vector Muzzle position relative to turret or body. (forward, right, up) triples
PreviewFacing 92 Integer Facing to use for actor previews (map editor, color picker, etc)

Valued

How much the unit is worth.

Property Default Value Type Description
Cost (required) Integer Used in production, but also for bounties so remember to set it > 0 even for NPCs.

Voiced

This actor has a voice.

Property Default Value Type Description
VoiceSet (required) String Which voice set to use.
Volume 1 Real Number Multiply volume with this factor.

Wanders

Wanders around aimlessly while idle.

Property Default Value Type 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ActorMap

Property Default Value Type Description
BinSize 10 Integer Size of partition bins (cells)

ActorSpawnManager

Controls the spawning of specified actor types. Attach this to the world actor.

Requires trait: MapCreeps.

Property Default Value Type Description
Minimum 0 Integer Minimum number of actors.
Maximum 4 Integer Maximum number of actors.
SpawnInterval 6000 Integer Time (in ticks) between actor spawn.
Actors (required) Collection of String Name of the actor that will be randomly picked to spawn.
Owner Creeps String
Types Set of String Type of ActorSpawner with which it connects.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

BridgeLayer

CliffBackImpassabilityLayer

Sets a custom terrain type for cells that are obscured by back-facing cliffs. This trait replicates the default CliffBackImpassability=2 behaviour from the TS/RA2 rules.ini.

Property Default Value Type Description
TerrainType Impassable String

CrateSpawner

Property Default Value Type Description
CheckboxLabel Crates String Descriptive label for the crates checkbox in the lobby.
CheckboxDescription Collect crates with units to recieve random bonuses or penalties String Tooltip description for the crates checkbox in the lobby.
CheckboxEnabled True Boolean Default value of the crates checkbox in the lobby.
CheckboxLocked False Boolean Prevent the crates state from being changed in the lobby.
CheckboxVisible True Boolean Whether to display the crates checkbox in the lobby.
CheckboxDisplayOrder 0 Integer Display order for the crates checkbox in the lobby.
Minimum 1 Integer Minimum number of crates.
Maximum 255 Integer Maximum number of crates.
SpawnInterval 4500 Integer Average time (ticks) between crate spawn.
InitialSpawnDelay 0 Integer Delay (in ticks) before the first crate spawns.
ValidGround Clear, Rough, Road, Ore, Beach Set of String Which terrain types can we drop on?
ValidWater Water Set of String Which terrain types count as water?
WaterChance 20 Integer Chance of generating a water crate instead of a land crate.
CrateActors crate Collection of String Crate actors to drop.
CrateActorShares 10 Collection of Integer Chance of each crate actor spawning.
DeliveryAircraft String If a DeliveryAircraft: is specified, then this actor will deliver crates.
QuantizedFacings 32 Integer Number of facings that the delivery aircraft may approach from.
Cordon 5c0 1D World Distance Spawn and remove the plane this far outside the map.

CreateMPPlayers

Attach this to the world actor.

DomainIndex

Identify untraversable regions of the map for faster pathfinding, especially with AI. This trait is required. Every mod needs it attached to the world actor.

EditorActorLayer

Required for the map editor to work. Attach this to the world actor.

Property Default Value Type Description
BinSize 250 Integer Size of partition bins (world pixels)

EditorResourceLayer

Required for the map editor to work. Attach this to the world actor.

Requires trait: ResourceType.

EditorSelectionLayer

Required for the map editor to work. Attach this to the world actor.

Property Default Value Type Description
Palette terrain String Palette to use for rendering the placement sprite.
Image editor-overlay String Sequence image where the selection overlay types are defined.
CopySequence copy String Sequence to use for the copy overlay.
PasteSequence paste String Sequence to use for the paste overlay.

ElevatedBridgeLayer

Requires trait: DomainIndex.

Property Default Value Type Description
ImpassableTerrainType Impassable String Terrain type used by cells outside any elevated bridge footprint.

ElevatedBridgePlaceholder

Placeholder to make static elevated bridges work. Define individual trait instances for each elevated bridge footprint in the map.

Requires trait: ElevatedBridgeLayer.

Property Default Value Type Description
Location (required) 2D Cell Position Location of the bridge
Orientation (required) ElevatedBridgePlaceholderOrientation Orientation of the bridge.
Length (required) Integer Length of the bridge
Height (required) Byte Height of the bridge in map height steps.
TerrainType Road String Terrain type of the bridge.

ExitsDebugOverlayManager

Property Default Value Type Description
Font TinyBold String The font used to draw cell vectors. Should match the value as-is in the Fonts section of the mod manifest (do not convert to lowercase).

JumpjetActorLayer

Property Default Value Type Description
TerrainType Jumpjet String Terrain type of the airborne layer.
HeightOffset 2c256 1D World Distance Height offset relative to the smoothed terrain for movement.
SmoothingRadius 2 Integer Cell radius for smoothing adjacent cell heights.

JumpjetLocomotor

Used by Mobile. Required for jumpjet actors. Attach these to the world actor. You can have multiple variants by adding @suffixes.

Property Default Value Type Description
JumpjetTransitionCost 0 Integer Pathfinding cost for taking off or landing.
JumpjetTransitionTerrainTypes Set of String The terrain types that this actor can transition on. Leave empty to allow any.
JumpjetTransitionOnRamps True Boolean Can this actor transition on slopes?
Name default String Locomotor ID.
WaitAverage 40 Integer
WaitSpread 10 Integer
SharesCell False Boolean Allow multiple (infantry) units in one cell.
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.
TerrainSpeeds (required) Mapping of String to TerrainInfo Set Water: 0 for ground units and lower the value on rough terrain.
TilesetTerrainInfo Collection of TileSet
TilesetMovementClass Collection of TileSet

LegacyBridgeLayer

Property Default Value Type Description
Bridges bridge1, bridge2 Collection of String

LoadWidgetAtGameStart

Property Default Value Type Description
ShellmapRoot MAINMENU String The widget tree to open when a shellmap is loaded (i.e. the main menu).
IngameRoot INGAME_ROOT String The widget tree to open when a regular map is loaded (i.e. the ingame UI).
EditorRoot EDITOR_ROOT String The widget tree to open when the map editor is loaded.
ClearRoot True Boolean Remove any existing UI when a map is loaded.

LobbyPrerequisiteCheckbox

Enables defined prerequisites at game start for all players if the checkbox is enabled.

Property Default Value Type Description
ID (required) String Internal id for this checkbox.
Label (required) String Display name for this checkbox.
Description String Description name for this checkbox.
Enabled False Boolean Default value of the checkbox in the lobby.
Locked False Boolean Prevent the checkbox from being changed from its default value.
Visible True Boolean Display the checkbox in the lobby.
DisplayOrder 0 Integer Display order for the checkbox in the lobby.
Prerequisites (required) Set of String Prerequisites to grant when this checkbox is enabled.

Locomotor

Used by Mobile. Attach these to the world actor. You can have multiple variants by adding @suffixes.

Property Default Value Type Description
Name default String Locomotor ID.
WaitAverage 40 Integer
WaitSpread 10 Integer
SharesCell False Boolean Allow multiple (infantry) units in one cell.
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.
TerrainSpeeds (required) Mapping of String to TerrainInfo Set Water: 0 for ground units and lower the value on rough terrain.
TilesetTerrainInfo Collection of TileSet
TilesetMovementClass Collection of TileSet

MPStartLocations

Allows the map to have working spawnpoints. Also controls the 'Separate Team Spawns' checkbox in the lobby options.

Property Default Value Type Description
InitialExploreRange 5c0 1D World Distance
SeparateTeamSpawnsCheckboxLabel Separate Team Spawns String Descriptive label for the spawn positions checkbox in the lobby.
SeparateTeamSpawnsCheckboxDescription Players without assigned spawn points will start as far as possible from enemy players. String Tooltip description for the spawn positions checkbox in the lobby.
SeparateTeamSpawnsCheckboxEnabled True Boolean Default value of the spawn positions checkbox in the lobby.
SeparateTeamSpawnsCheckboxLocked False Boolean Prevent the spawn positions state from being changed in the lobby.
SeparateTeamSpawnsCheckboxVisible True Boolean Whether to display the spawn positions checkbox in the lobby.
SeparateTeamSpawnsCheckboxDisplayOrder 0 Integer Display order for the spawn positions checkbox in the lobby.

MPStartUnits

Used by SpawnMPUnits. Attach these to the world actor. You can have multiple variants by adding @suffixes.

Property Default Value Type Description
Class none String Internal class ID.
ClassName Unlabeled String Exposed via the UI to the player.
Factions Set of String Only available when selecting one of these factions. Leave empty for no restrictions.
BaseActor String The mobile construction vehicle.
SupportActors Collection of String A group of units ready to defend or scout.
InnerSupportRadius 2 Integer Inner radius for spawning support actors
OuterSupportRadius 4 Integer Outer radius for spawning support actors
BaseActorFacing 128 Integer Initial facing of BaseActor. -1 means random.
SupportActorsFacing -1 Integer Initial facing of SupportActors. -1 means random.

MapBuildRadius

Controls the build radius checkboxes in the lobby options.

Property Default Value Type Description
AllyBuildRadiusCheckboxLabel Build off Allies String Descriptive label for the ally build radius checkbox in the lobby.
AllyBuildRadiusCheckboxDescription Allow allies to place structures inside your build area String Tooltip description for the ally build radius checkbox in the lobby.
AllyBuildRadiusCheckboxEnabled True Boolean Default value of the ally build radius checkbox in the lobby.
AllyBuildRadiusCheckboxLocked False Boolean Prevent the ally build radius state from being changed in the lobby.
AllyBuildRadiusCheckboxVisible True Boolean Whether to display the ally build radius checkbox in the lobby.
AllyBuildRadiusCheckboxDisplayOrder 0 Integer Display order for the ally build radius checkbox in the lobby.
BuildRadiusCheckboxLabel Limit Build Area String Tooltip description for the build radius checkbox in the lobby.
BuildRadiusCheckboxDescription Limits structure placement to areas around Construction Yards String Tooltip description for the build radius checkbox in the lobby.
BuildRadiusCheckboxEnabled True Boolean Default value of the build radius checkbox in the lobby.
BuildRadiusCheckboxLocked False Boolean Prevent the build radius state from being changed in the lobby.
BuildRadiusCheckboxVisible True Boolean Display the build radius checkbox in the lobby.
BuildRadiusCheckboxDisplayOrder 0 Integer Display order for the build radius checkbox in the lobby.

MapCreeps

Controls the 'Creeps' checkbox in the lobby options.

Property Default Value Type Description
CheckboxLabel Creep Actors String Descriptive label for the creeps checkbox in the lobby.
CheckboxDescription Hostile forces spawn on the battlefield String Tooltip description for the creeps checkbox in the lobby.
CheckboxEnabled True Boolean Default value of the creeps checkbox in the lobby.
CheckboxLocked False Boolean Prevent the creeps state from being changed in the lobby.
CheckboxVisible True Boolean Whether to display the creeps checkbox in the lobby.
CheckboxDisplayOrder 0 Integer Display order for the creeps checkbox in the lobby.

MapOptions

Controls the game speed, tech level, and short game lobby options.

Property Default Value Type Description
ShortGameCheckboxLabel Short Game String Descriptive label for the short game checkbox in the lobby.
ShortGameCheckboxDescription Players are defeated when their bases are destroyed String Tooltip description for the short game checkbox in the lobby.
ShortGameCheckboxEnabled True Boolean Default value of the short game checkbox in the lobby.
ShortGameCheckboxLocked False Boolean Prevent the short game enabled state from being changed in the lobby.
ShortGameCheckboxVisible True Boolean Whether to display the short game checkbox in the lobby.
ShortGameCheckboxDisplayOrder 0 Integer Display order for the short game checkbox in the lobby.
TechLevelDropdownLabel Tech Level String Descriptive label for the tech level option in the lobby.
TechLevelDropdownDescription Change the units and abilities at your disposal String Tooltip description for the tech level option in the lobby.
TechLevel unrestricted String Default tech level.
TechLevelDropdownLocked False Boolean Prevent the tech level from being changed in the lobby.
TechLevelDropdownVisible True Boolean Display the tech level option in the lobby.
TechLevelDropdownDisplayOrder 0 Integer Display order for the tech level option in the lobby.
GameSpeedDropdownLabel Game Speed String Tooltip description for the game speed option in the lobby.
GameSpeedDropdownDescription Change the rate at which time passes String Description of the game speed option in the lobby.
GameSpeed default String Default game speed.
GameSpeedDropdownLocked False Boolean Prevent the game speed from being changed in the lobby.
GameSpeedDropdownVisible True Boolean Display the game speed option in the lobby.
GameSpeedDropdownDisplayOrder 0 Integer Display order for the game speed option in the lobby.

MissionData

Defines the FMVs that can be played by missions.

Property Default Value Type Description
Briefing String Briefing text displayed in the mission browser.
BackgroundVideo String Played by the "Background Info" button in the mission browser.
BriefingVideo String Played by the "Briefing" button in the mission browser.
StartVideo String Automatically played before starting the mission.
WinVideo String Automatically played when the player wins the mission.
LossVideo String Automatically played when the player loses the mission.

MusicPlaylist

Trait for music handling. Attach this to the world actor.

Property Default Value Type Description
StartingMusic String Music to play when the map starts. Plays the first song on the playlist when undefined.
VictoryMusic String Music to play when the game has been won.
DefeatMusic String Music to play when the game has been lost.
BackgroundMusic String This track is played when no other music is playing. It cannot be paused, but can be overridden by selecting a new track.
DisableWorldSounds False Boolean Disable all world sounds (combat etc).

PaletteFromFile

Load VGA palette (.pal) registers.

Property Default Value Type Description
Name (required) String internal palette name
Tileset String If defined, load the palette only for this tileset.
Filename (required) String filename to load
ShadowIndex Collection of Integer Map listed indices to shadow. Ignores previous color.
AllowModifiers True Boolean

PaletteFromGimpOrJascFile

Load a GIMP .gpl or JASC .pal palette file. Supports per-color alpha. Index 0 is hardcoded to be fully transparent/invisible.

Property Default Value Type Description
Name (required) String Palette name used internally.
Tilesets Set of String Defines for which tileset IDs this palette should be loaded. If none specified, it applies to all tileset IDs not explicitly excluded.
ExcludeTilesets Set of String Don't load palette for these tileset IDs.
Filename (required) String Name of the file to load.
Premultiply True Boolean Premultiply colors with their alpha values.
AllowModifiers True Boolean

PaletteFromPaletteWithAlpha

Create a palette by applying alpha transparency to another palette.

Property Default Value Type Description
Name (required) String Internal palette name
BasePalette (required) String The name of the palette to base off.
AllowModifiers True Boolean Allow palette modifiers to change the palette.
Alpha 1 Real Number Alpha component that is applied to the base palette.
Premultiply True Boolean Premultiply color by the alpha component.

PaletteFromPlayerPaletteWithAlpha

Create player palettes by applying alpha transparency to another player palette.

Property Default Value Type Description
BaseName (required) String The prefix for the resulting player palettes
BasePalette (required) String The name of the player palette to base off.
AllowModifiers True Boolean Allow palette modifiers to change the palette.
Alpha 1 Real Number Alpha component that is applied to the base palette.
Premultiply True Boolean Premultiply color by the alpha component.

PaletteFromRGBA

Creates a single color palette without any base palette file.

Property Default Value Type Description
Name (required) String internal palette name
Tileset String If defined, load the palette only for this tileset.
R 0 Integer red color component
G 0 Integer green color component
B 0 Integer blue color component
A 255 Integer alpha channel (transparency)
AllowModifiers True Boolean

PathFinder

Calculates routes for mobile units based on the A* search algorithm. Attach this to the world actor.

Requires trait: Locomotor.

RadarPings

Property Default Value Type Description
FromRadius 200 Integer
ToRadius 15 Integer
ShrinkSpeed 4 Integer
RotationSpeed 0.12 Real Number

ResourceClaimLayer

Allows harvesters to coordinate their operations. Attach this to the world actor.

ResourceLayer

Attach this to the world actor. Order of the layers defines the Z sorting.

Requires traits: BuildingInfluence, ResourceType.

ScriptLobbyDropdown

Controls the map difficulty, tech level, and short game lobby options.

Property Default Value Type Description
ID (required) String Internal id for this option.
Label (required) String Descriptive label for this option.
Description String Tooltip description for this option.
Default (required) String Default option key in the `Values` list.
Values (required) Mapping of String to String Difficulty levels supported by the map.
Locked False Boolean Prevent the option from being changed from its default value.
Visible True Boolean Whether to display the option in the lobby.
DisplayOrder 0 Integer Display order for the option in the lobby.

ShroudPalette

Adds the hard-coded shroud palette to the game

Property Default Value Type Description
Name (required) String Internal palette name
Fog False Boolean Palette type

ShroudRenderer

Property Default Value Type Description
Sequence shroud String
ShroudVariants shroud Collection of String
FogVariants fog Collection of String
ShroudPalette shroud String
FogPalette fog String
Index 12, 9, 8, 3, 1, 6, 4, 2, 13, 11, 7, 14 Collection of Integer Bitfield of shroud directions for each frame. Lower four bits are corners clockwise from TL; upper four are edges clockwise from top
UseExtendedIndex False Boolean Use the upper four bits when calculating frame
OverrideFullShroud String Override for source art that doesn't define a fully shrouded tile
OverrideShroudIndex 15 Integer
OverrideFullFog String Override for source art that doesn't define a fully fogged tile
OverrideFogIndex 15 Integer
ShroudBlend Alpha BlendMode

SmudgeLayer

Attach this to the world actor. Order of the layers defines the Z sorting.

Property Default Value Type Description
Type Scorch String
Sequence scorch String Sprite sequence name
SmokePercentage 25 Integer
SmokeType smoke_m String Sprite sequence name
SmokeSequence idle String
SmokePalette effect String
Palette terrain String
InitialSmudges Mapping of 2D Cell Position to MapSmudge

SpawnMPUnits

Spawn base actor at the spawnpoint and support units in an annulus around the base actor. Both are defined at MPStartUnits. Attach this to the world actor.

Requires traits: MPStartLocations, MPStartUnits.

Property Default Value Type Description
StartingUnitsClass none String
DropdownLabel Starting Units String Descriptive label for the starting units option in the lobby.
DropdownDescription Change the units that you start the game with String Tooltip description for the starting units option in the lobby.
DropdownLocked False Boolean Prevent the starting units option from being changed in the lobby.
DropdownVisible True Boolean Whether to display the starting units option in the lobby.
DropdownDisplayOrder 0 Integer Display order for the starting units option in the lobby.

SpawnMapActors

Spawns the initial units for each player upon game start.

StartGameNotification

Property Default Value Type Description
Notification StartGame String

SubterraneanActorLayer

Property Default Value Type Description
TerrainType Subterranean String Terrain type of the underground layer.
HeightOffset -2c0 1D World Distance Height offset relative to the smoothed terrain for movement.
SmoothingRadius 2 Integer Cell radius for smoothing adjacent cell heights.

SubterraneanLocomotor

Used by Mobile. Required for subterranean actors. Attach these to the world actor. You can have multiple variants by adding @suffixes.

Property Default Value Type Description
SubterraneanTransitionCost 0 Integer Pathfinding cost for submerging or reemerging.
SubterraneanTransitionTerrainTypes Set of String The terrain types that this actor can transition on. Leave empty to allow any.
SubterraneanTransitionOnRamps False Boolean Can this actor transition on slopes?
SubterraneanTransitionDepth -1c0 1D World Distance Depth at which the subterranian condition is applied.
Name default String Locomotor ID.
WaitAverage 40 Integer
WaitSpread 10 Integer
SharesCell False Boolean Allow multiple (infantry) units in one cell.
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.
TerrainSpeeds (required) Mapping of String to TerrainInfo Set Water: 0 for ground units and lower the value on rough terrain.
TilesetTerrainInfo Collection of TileSet
TilesetMovementClass Collection of TileSet

TerrainGeometryOverlay

Renders a debug overlay showing the terrain cells. Attach this to the world actor.

TerrainTunnel

Requires trait: TerrainTunnelLayer.

Property Default Value Type Description
Location (required) 2D Cell Position Location of the tunnel
Height (required) Byte Height of the tunnel floor in map height steps.
Dimensions (required) 2D Cell Vector Size of the tunnel footprint
Footprint (required) String Tunnel footprint. _ is passable, x is blocked, and o are tunnel portals.
TerrainType (required) String Terrain type of the tunnel floor.

TerrainTunnelLayer

Requires trait: DomainIndex.

Property Default Value Type Description
ImpassableTerrainType Impassable String Terrain type used by cells outside any tunnel footprint.

ValidateOrder

Used to detect exploits. Attach this to the world actor.

WarheadDebugOverlay

Part of the combat overlay from DeveloperMode. Attach this to the world actor.

Property Default Value Type Description
DisplayDuration 25 Integer

WeatherOverlay

Adds a particle-based overlay.

Property Default Value Type Description
ParticleDensityFactor 8 Integer Average number of particles per 100x100 px square.
ChangingWindLevel True Boolean Should the level of the wind change over time, or just stick to the first value of WindLevels?
WindLevels -5, -3, -2, 0, 2, 3, 5 Collection of Integer The levels of wind intensity (particles x-axis movement in px/tick).
WindTick 150, 750 Collection of Integer Works only if ChangingWindLevel is enabled. Min. and max. ticks needed to change the WindLevel.
InstantWindChanges False Boolean Hard or soft fading between the WindLevels.
UseSquares True Boolean Particles are drawn in squares when enabled, otherwise with lines.
ParticleSize 1, 3 Collection of Integer Size / width of the particle in px.
ScatterDirection -1, 1 Collection of Integer Scatters falling direction on the x-axis. Scatter min. and max. value in px/tick.
Gravity 1, 2 Collection of Real Number Min. and max. speed at which particles fall in px/tick.
SwingOffset 1, 1.5 Collection of Real Number The current offset value for the swing movement. SwingOffset min. and max. value in px/tick.
SwingSpeed 0.001, 0.025 Collection of Real Number The value that particles swing to the side each update. SwingSpeed min. and max. value in px/tick.
SwingAmplitude 1, 1.5 Collection of Real Number The value range that can be swung to the left or right. SwingAmplitude min. and max. value in px/tick.
ParticleColors ECECEC, E4E4E4, D0D0D0, BCBCBC Collection of Color (RRGGBB[AA] notation) The randomly selected rgb(a) hex colors for the particles. Use this order: rrggbb[aa], rrggbb[aa], ...
LineTailAlphaValue 200 Byte Works only with line enabled and can be used to fade out the tail of the line like a contrail.

OpenRA.Mods.Common.Traits.Conditions

GrantRandomCondition

Grants a random condition from a predefined list to the actor when created.

Property Default Value Type Description
Conditions (required) Collection of String List of conditions to grant from.

OpenRA.Mods.Common.Traits.Radar

AppearsOnRadar

Property Default Value Type Description
UseLocation False Boolean
ValidStances Enemy, Neutral, Ally Stance Player stances who can view this actor on radar.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ProvidesRadar

This actor enables the radar minimap.

Property Default Value Type Description
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

RadarColorFromTerrain

Property Default Value Type Description
Terrain (required) String

OpenRA.Mods.Common.Traits.Render

CashTricklerBar

Display the time remaining until the next cash is given by actor's CashTrickler trait.

Requires trait: CashTrickler.

Property Default Value Type Description
DisplayStances Ally Stance Defines to which players the bar is to be shown.
Color FF00FF Color (RRGGBB[AA] notation)

Hovers

Changes the visual Z position periodically.

Property Default Value Type Description
OffsetModifier -43 Integer Amount of Z axis changes in world units.
MinHoveringAltitude 0 Integer
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

LeavesTrails

Renders a sprite effect when leaving a cell.

Property Default Value Type Description
Image String
Sequences idle Collection of String
Palette effect String
TerrainTypes Set of String Only do so when the terrain types match with the previous cell.
Type Cell TrailType Accepts values: Cell to draw the trail sprite in the center of the current cell, CenterPosition to draw the trail sprite at the current position.
VisibleThroughFog False Boolean Should the trail be visible through fog.
TrailWhileStationary False Boolean Display a trail while stationary.
StationaryInterval 0 Integer Delay between trail updates when stationary.
TrailWhileMoving True Boolean Display a trail while moving.
MovingInterval 0 Integer Delay between trail updates when moving.
StartDelay 0 Integer Delay before first trail. Use negative values for falling back to the *Interval values.
Offsets 0,0,0 Collection of 3D World Vector Trail spawn positions relative to actor position. (forward, right, up) triples
SpawnAtLastPosition True Boolean Should the trail spawn relative to last position or current position?
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ProductionBar

Visualizes the remaining build time of actor produced here.

Requires trait: Production.

Property Default Value Type Description
ProductionType String Production queue type, for actors with multiple queues.
Color 87CEEB Color (RRGGBB[AA] notation)

ReloadArmamentsBar

Visualizes the minimum remaining time for reloading the armaments.

Property Default Value Type Description
Armaments primary, secondary Collection of String Armament names
Color FF0000 Color (RRGGBB[AA] notation)

RenderDebugState

Displays the actor's type and ID above the actor.

Property Default Value Type Description
Font TinyBold String

RenderDetectionCircle

Requires trait: DetectCloaked.

Property Default Value Type Description
UpdateLineTick 1023 1D World Angle WAngle the Radar update line advances per tick.
TrailCount 0 Integer Number of trailing Radar update lines.
Color 32CD3280 Color (RRGGBB[AA] notation) Color of the circle and scanner update line.
ContrastColor 00000060 Color (RRGGBB[AA] notation) Contrast color of the circle and scanner update line.

RenderNameTag

Displays the player name above the unit

Property Default Value Type Description
MaxLength 10 Integer
Font TinyBold String

RenderRangeCircle

Draw a circle indicating my weapon's range.

Requires trait: AttackBase.

Property Default Value Type Description
RangeCircleType String
FallbackRange 0c0 1D World Distance Range to draw if no armaments are available.
RangeCircleMode Maximum RangeCircleMode Which circle to show. Valid values are `Maximum`, and `Minimum`.
Color FFFF0080 Color (RRGGBB[AA] notation) Color of the circle.
BorderColor 00000060 Color (RRGGBB[AA] notation) Color of the border of the circle.

RenderSprites

Render trait fundament that won't work without additional With* render traits.

Property Default Value Type Description
Image String The sequence name that defines the actor sprites. Defaults to the actor name.
FactionImages Mapping of String to String A dictionary of faction-specific image overrides.
Palette String Custom palette name
PlayerPalette player String Custom PlayerColorPalette: BaseName
Scale 1 Real Number Change the sprite image size.

RenderSpritesEditorOnly

Invisible during games.

Property Default Value Type Description
Image String The sequence name that defines the actor sprites. Defaults to the actor name.
FactionImages Mapping of String to String A dictionary of faction-specific image overrides.
Palette String Custom palette name
PlayerPalette player String Custom PlayerColorPalette: BaseName
Scale 1 Real Number Change the sprite image size.

RenderVoxels

Requires trait: BodyOrientation.

Property Default Value Type Description
Image String Defaults to the actor name.
Palette String Custom palette name
PlayerPalette player String Custom PlayerColorPalette: BaseName
NormalsPalette normals String
ShadowPalette shadow String
Scale 12 Real Number Change the image size.
LightPitch 142 1D World Angle
LightYaw 682 1D World Angle
LightAmbientColor 0.6, 0.6, 0.6 Collection of Real Number
LightDiffuseColor 0.4, 0.4, 0.4 Collection of Real Number

SelectionDecorations

Property Default Value Type Description
Palette chrome String
RenderSelectionBars True Boolean Health bar, production progress bar etc.
RenderSelectionBox True Boolean
SelectionBoxColor FFFFFF Color (RRGGBB[AA] notation)
Image pips String

SupportPowerChargeBar

Display the time remaining until the super weapon attached to the actor is ready.

Property Default Value Type Description
DisplayStances Ally Stance Defines to which players the bar is to be shown.
Color FF00FF Color (RRGGBB[AA] notation)
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

TimedConditionBar

Visualizes the remaining time for a condition.

Requires trait: ConditionManager.

Property Default Value Type Description
Condition (required) String Condition that this bar corresponds to
Color FF0000 Color (RRGGBB[AA] notation)

VeteranProductionIconOverlay

Attach this to the player actor. When attached, enables all actors possessing the LevelupWhenCreated trait to have their production queue icons render with an overlay defined in this trait. The icon change occurs when LevelupWhenCreated.Prerequisites are met.

Requires trait: TechTree.

Property Default Value Type Description
Image (required) String Image used for the overlay.
Sequence String Sequence used for the overlay (cannot be animated).
Palette chrome String Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.
ReferencePoint Top, Left ReferencePoints Point on the production icon's used as reference for offsetting the overlay. Possible values are combinations of Center, Top, Bottom, Left, Right.

WithAcceptDeliveredCashAnimation

Replaces the building animation when it accepts a cash delivery unit.

Requires trait: WithSpriteBody.

Property Default Value Type Description
Sequence active String Sequence name to use
Body body String Which sprite body to play the animation on.

WithAimAnimation

Requires traits: AttackBase, WithSpriteBody.

Property Default Value Type Description
Armament primary String Armament name
Sequence (required) String Displayed while targeting.
Body body String Which sprite body to modify.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithAttackAnimation

Requires traits: Armament, AttackBase, WithSpriteBody.

Property Default Value Type Description
Armament primary String Armament name
Sequence String Displayed while attacking.
Delay 0 Integer Delay in ticks before animation starts, either relative to attack preparation or attack.
DelayRelativeTo Preparation AttackDelayType Should the animation be delayed relative to preparation or actual attack?
Body body String Which sprite body to modify.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithAttackOverlay

Rendered together with an attack.

Requires trait: RenderSprites.

Property Default Value Type Description
Sequence (required) String Sequence name to use
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName
Delay 0 Integer Delay in ticks before overlay starts, either relative to attack preparation or attack.
DelayRelativeTo Preparation AttackDelayType Should the overlay be delayed relative to preparation or actual attack?

WithBridgeSpriteBody

Requires trait: RenderSprites.

Property Default Value Type Description
Type GroundLevelBridge String
AOffset 0,0 2D Cell Vector Offset to search for the 'A' neighbour
BOffset 0,0 2D Cell Vector Position to search for the 'B' neighbour
Sequences idle Collection of String Sequences to use when both neighbours are alive.
ADestroyedSequences adestroyed Collection of String
BDestroyedSequences bdestroyed Collection of String
ABDestroyedSequences abdestroyed Collection of String
StartSequence String Animation to play when the actor is created.
Sequence idle String Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithBuildingPlacedAnimation

Changes the animation when the actor constructed a building.

Requires trait: WithSpriteBody.

Property Default Value Type Description
Sequence build String Sequence name to use
Body body String Which sprite body to play the animation on.

WithBuildingPlacedOverlay

Rendered when the actor constructed a building.

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
Sequence crane-overlay String Sequence name to use
Offset 0,0,0 3D World Vector Position relative to body
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName

WithBuildingRepairDecoration

Displays a custom UI overlay relative to the actor's mouseover bounds.

Requires trait: RepairableBuilding.

Property Default Value Type Description
Image String Image used for this decoration. Defaults to the actor's type.
Sequence String Sequence used for this decoration (can be animated).
Palette chrome String Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.
IsPlayerPalette False Boolean Custom palette is a player palette BaseName
ReferencePoint Top, Left ReferencePoints Point in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ZOffset 1 Integer The Z offset to apply when rendering this decoration.
ValidStances Ally Stance Player stances who can view the decoration.
RequiresSelection False Boolean Should this be visible only when selected?
Offsets Mapping of BooleanExpression to 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 Mapping of BooleanExpression to Collection of BlinkState Override blink conditions to use when defined conditions are enabled. A dictionary of [condition string]: [pattern].
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithChargeAnimation

Render trait that varies the animation frame based on the AttackCharges trait's charge level.

Requires traits: AttackCharges, WithSpriteBody.

Property Default Value Type Description
Sequence active String Sequence to use for the charge levels.
Body body String Which sprite body to play the animation on.

WithChargeOverlay

Render overlay that varies the animation frame based on the AttackCharges trait's charge level.

Requires traits: RenderSprites, WithSpriteBody.

Property Default Value Type Description
Sequence active String Sequence to use for the charge levels.
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName

WithCrateBody

Renders crates with both water and land variants.

Requires trait: RenderSprites.

Property Default Value Type Description
XmasImages Collection of String Easteregg sequences to use in December.
WaterTerrainTypes Water Set of String Terrain types on which to display WaterSequence.
IdleSequence idle String
WaterSequence String
LandSequence String

WithDamageOverlay

Renders an overlay when the actor is taking heavy damage.

Requires trait: RenderSprites.

Property Default Value Type Description
Image smoke_m String
IdleSequence idle String
LoopSequence loop String
EndSequence end String
DamageTypes Collection of DamageType Damage types that this should be used for (defined on the warheads). Leave empty to disable all filtering.
MinimumDamageState Heavy DamageState Trigger when Undamaged, Light, Medium, Heavy, Critical or Dead.
MaximumDamageState Dead DamageState

WithDeadBridgeSpriteBody

Requires trait: RenderSprites.

Property Default Value Type Description
RampActors Collection of String
AOffset 0,0 2D Cell Vector Offset to search for the 'A' neighbour
BOffset 0,0 2D Cell Vector Position to search for the 'B' neighbour
ARampSequences aramp Collection of String
BRampSequences bramp Collection of String
ABRampSequences abramp Collection of String
EditorSequence editor String Placeholder sequence to use in the map editor.
EditorPalette terrainalpha String Palette to use for the editor placeholder.
StartSequence String Animation to play when the actor is created.
Sequence idle String Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithDeathAnimation

This actor has a death animation.

Requires trait: RenderSprites.

Property Default Value Type Description
DeathSequence die String Sequence prefix to play when this actor is killed by a warhead.
DeathSequencePalette player String The palette used for `DeathSequence`.
DeathPaletteIsPlayerPalette True Boolean Custom death animation palette is a player palette BaseName
UseDeathTypeSuffix True Boolean Should DeathType-specific sequences be used (sequence name = DeathSequence + DeathType).
CrushedSequence String Sequence to play when this actor is crushed.
CrushedSequencePalette effect String The palette used for `CrushedSequence`.
CrushedPaletteIsPlayerPalette False Boolean Custom crushed animation palette is a player palette BaseName
DeathTypes Mapping of String to Collection of String Death animations to use for each damage type (defined on the warheads). Is only used if UseDeathTypeSuffix is `True`.
FallbackSequence String Sequence to use when the actor is killed by some non-standard means (e.g. suicide).
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithDecoration

Displays a custom UI overlay relative to the actor's mouseover bounds.

Property Default Value Type Description
Image String Image used for this decoration. Defaults to the actor's type.
Sequence String Sequence used for this decoration (can be animated).
Palette chrome String Palette to render the sprite in. Reference the world actor's PaletteFrom* traits.
IsPlayerPalette False Boolean Custom palette is a player palette BaseName
ReferencePoint Top, Left ReferencePoints Point in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ZOffset 1 Integer The Z offset to apply when rendering this decoration.
ValidStances Ally Stance Player stances who can view the decoration.
RequiresSelection False Boolean Should this be visible only when selected?
Offsets Mapping of BooleanExpression to 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 Mapping of BooleanExpression to Collection of BlinkState Override blink conditions to use when defined conditions are enabled. A dictionary of [condition string]: [pattern].
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithDockedOverlay

Rendered when a harvester is docked.

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
Sequence docking-overlay String Sequence name to use
Offset 0,0,0 3D World Vector Position relative to body
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName

WithDockingAnimation

Requires traits: Harvester, WithSpriteBody.

Property Default Value Type Description
DockSequence dock String Displayed when docking to refinery.
DockLoopSequence dock-loop String Looped while unloading at refinery.

WithFacingSpriteBody

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
StartSequence String Animation to play when the actor is created.
Sequence idle String Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithGateSpriteBody

Requires traits: Gate, RenderSprites.

Property Default Value Type Description
WallConnections Collection of 2D Cell Vector Cells (outside the gate footprint) that contain wall cells that can connect to the gate
Type wall String Wall type for connections
OpenSequence String Override sequence to use when fully open.
StartSequence String Animation to play when the actor is created.
Sequence idle String Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithHarvestAnimation

Requires traits: Harvester, WithSpriteBody.

Property Default Value Type Description
PrefixByFullness Collection of String Prefix added to idle and harvest sequences depending on fullness of harvester.
HarvestSequence harvest String Displayed while harvesting.
Body body String Which sprite body to play the animation on.

WithHarvestOverlay

Displays an overlay whenever resources are harvested by the actor.

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
Sequence harvest String Sequence name to use
LocalOffset 0,0,0 3D World Vector Position relative to body
Palette effect String

WithIdleAnimation

Periodically plays an idle animation, replacing the default body animation.

Requires trait: WithSpriteBody.

Property Default Value Type Description
Sequences active Collection of String Sequence names to use.
Interval 750 Integer
Body body String Which sprite body to play the animation on.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithIdleOverlay

Renders a decorative animation on units and buildings.

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
StartSequence String Animation to play when the actor is created.
Sequence idle-overlay String Sequence name to use
Offset 0,0,0 3D World Vector Position relative to body
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName
RenderBeforeBuildComplete False Boolean
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithInfantryBody

Requires trait: RenderSprites.

Property Default Value Type Description
MinIdleDelay 30 Integer
MaxIdleDelay 110 Integer
MoveSequence run String
DefaultAttackSequence String
AttackSequences Mapping of String to String Attack sequence to use for each armament.
IdleSequences Collection of String
StandSequences stand Collection of String
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithMakeAnimation

Replaces the sprite during construction/deploy/undeploy.

Requires trait: WithSpriteBody.

Property Default Value Type Description
Sequence make String Sequence name to use.
Condition String The condition to grant to self while the make animation is playing.
BodyNames body Collection of String Apply to sprite bodies with these names.

WithMoveAnimation

Requires trait: WithSpriteBody.

Property Default Value Type Description
MoveSequence move String Displayed while moving.
Body body String Which sprite body to modify.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithMuzzleOverlay

Renders the MuzzleSequence from the Armament trait.

Requires traits: Armament, AttackBase, RenderSprites.

Property Default Value Type Description
IgnoreOffset False Boolean Ignore the weapon position, and always draw relative to the center of the actor
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithNukeLaunchAnimation

Replaces the building animation when NukePower is triggered.

Requires trait: WithSpriteBody.

Property Default Value Type Description
Sequence active String Sequence name to use
Body body String Which sprite body to play the animation on.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithNukeLaunchOverlay

Displays an overlay when NukePower is triggered.

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
Sequence active String Sequence name to use
Offset 0,0,0 3D World Vector Position relative to body
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithParachute

Renders a parachute on units.

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
Image String The image that contains the parachute sequences.
OpeningSequence String Parachute opening sequence.
Sequence String Parachute idle sequence.
ClosingSequence String Parachute closing sequence. Defaults to opening sequence played backwards.
Palette player String Palette used to render the parachute.
IsPlayerPalette True Boolean
Offset 0,0,384 3D World Vector Parachute position relative to the paradropped unit.
ShadowImage String The image that contains the shadow sequence for the paradropped unit.
ShadowSequence String Paradropped unit's shadow sequence.
ShadowPalette shadow String Palette used to render the paradropped unit's shadow.
ShadowOffset 0,128,0 3D World Vector Shadow position relative to the paradropped unit's intended landing position.
ShadowZOffset 0 Integer Z-offset to apply on the shadow sequence.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithProductionDoorOverlay

Play an animation when a unit exits or blocks the exit after production finished.

Requires traits: BodyOrientation, Building, RenderSprites.

Property Default Value Type Description
Sequence build-door String

WithProductionOverlay

Renders an animation when the Production trait of the actor is activated. Works both with per player ClassicProductionQueue and per building ProductionQueue, but needs any of these.

Requires traits: BodyOrientation, Production, RenderSprites.

Property Default Value Type Description
Queues Set of String Queues that should be producing for this overlay to render.
Sequence production-overlay String Sequence name to use
Offset 0,0,0 3D World Vector Position relative to body
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName

WithRangeCircle

Renders an arbitrary circle when selected or placing a structure

Property Default Value Type Description
Type String Type of range circle. used to decide which circles to draw on other structures during building placement.
Color FFFFFF80 Color (RRGGBB[AA] notation) Color of the circle
UsePlayerColor False Boolean If set, the color of the owning player will be used instead of `Color`.
ValidStances Ally Stance Stances of players which will be able to see the circle. Valid values are combinations of `None`, `Ally`, `Enemy` and `Neutral`.
Visible WhenSelected RangeCircleVisibility When to show the range circle. Valid values are `Always`, and `WhenSelected`
Range 0c0 1D World Distance Range of the circle

WithRearmAnimation

Replaces the building animation when it rearms a unit.

Requires trait: WithSpriteBody.

Property Default Value Type Description
Sequence active String Sequence name to use
Body body String Which sprite body to play the animation on.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithRepairAnimation

Replaces the building animation when it repairs a unit.

Requires trait: WithSpriteBody.

Property Default Value Type Description
Sequence active String Sequence name to use
Body body String Which sprite body to play the animation on.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithRepairOverlay

Displays an overlay when the building is being repaired by the player.

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
StartSequence String Sequence to use upon repair beginning.
Sequence active String Sequence name to play once during repair intervals or repeatedly if a start sequence is set.
EndSequence String Sequence to use after repairing has finished.
Offset 0,0,0 3D World Vector Position relative to body
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithResources

Displays the fill status of PlayerResources with an extra sprite overlay on the actor.

Requires traits: RenderSprites, WithSpriteBody.

Property Default Value Type Description
Sequence resources String Sequence name to use

WithShadow

Clones the actor sprite with another palette below it.

Property Default Value Type Description
Palette shadow String
Offset 0,0,0 3D World Vector Shadow position offset relative to actor position (ground level).
ZOffset -5 Integer Shadow Z offset relative to actor sprite.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithSiloAnimation

Render trait for buildings that change the sprite according to the remaining resource storage capacity across all depots.

Requires traits: RenderSprites, WithSpriteBody.

Property Default Value Type Description
Sequence stages String Sequence to use for resources-dependent 'stages'.
Stages 10 Integer Internal resource stages. Does not have to match number of sequence frames.
Body body String Which sprite body to play the animation on.

WithSpriteBarrel

Renders barrels for units with the Turreted trait.

Requires traits: Armament, BodyOrientation, RenderSprites, Turreted.

Property Default Value Type Description
Sequence barrel String Sequence name to use.
Armament primary String Armament to use for recoil.
LocalOffset 0,0,0 3D World Vector Visual offset.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithSpriteBody

Default trait for rendering sprite-based actors.

Requires trait: RenderSprites.

Property Default Value Type Description
StartSequence String Animation to play when the actor is created.
Sequence idle String Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithSpriteControlGroupDecoration

Renders Ctrl groups using pixel art.

Property Default Value Type Description
Palette chrome String
Image pips String
GroupSequence groups String Sprite sequence used to render the control group 0-9 numbers.
ReferencePoint Top, Left ReferencePoints Point in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.

WithSpriteTurret

Renders turrets for units with the Turreted trait.

Requires traits: Armament, BodyOrientation, RenderSprites, Turreted.

Property Default Value Type Description
Sequence turret String Sequence name to use
Turret primary String Turreted 'Turret' key to display
Recoils True Boolean Render recoil
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithTextControlGroupDecoration

Renders Ctrl groups using typeface.

Property Default Value Type Description
Font TinyBold String
Color FFFFFF Color (RRGGBB[AA] notation) Display in this color when not using the player color.
UsePlayerColor False Boolean Use the player color of the current owner.
ZOffset 1 Integer The Z offset to apply when rendering this decoration.
ReferencePoint Bottom, Left ReferencePoints Point in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ScreenOffset 2,-2 2D Integer Manual offset in screen pixel.

WithTextDecoration

Displays a text overlay relative to the selection box.

Property Default Value Type Description
Text (required) String
Font TinyBold String
Color FFFFFF Color (RRGGBB[AA] notation) Display in this color when not using the player color.
UsePlayerColor False Boolean Use the player color of the current owner.
ReferencePoint Top, Left ReferencePoints Point in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ZOffset 1 Integer The Z offset to apply when rendering this decoration.
ValidStances Ally Stance Player stances who can view the decoration.
RequiresSelection False Boolean Should this be visible only when selected?
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithTurretAimAnimation

Requires traits: AttackBase, WithSpriteTurret.

Property Default Value Type Description
Armament primary String Armament name
Turret primary String Turret name
Sequence (required) String Displayed while targeting.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithTurretAttackAnimation

Requires traits: Armament, WithSpriteTurret.

Property Default Value Type Description
Armament primary String Armament name
Turret primary String Turret name
Sequence String Displayed while attacking.
Delay 0 Integer Delay in ticks before animation starts, either relative to attack preparation or attack.
DelayRelativeTo Preparation AttackDelayType Should the animation be delayed relative to preparation or actual attack?
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithVoxelBarrel

Requires traits: Armament, RenderVoxels, Turreted.

Property Default Value Type Description
Sequence barrel String Voxel sequence name to use
Armament primary String Armament to use for recoil
LocalOffset 0,0,0 3D World Vector Visual offset
LocalOrientation 0,0,0 3D World Rotation Rotate the barrel relative to the body
ShowShadow True Boolean Defines if the Voxel should have a shadow.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithVoxelBody

Also returns a default selection size that is calculated automatically from the voxel dimensions.

Requires trait: RenderVoxels.

Property Default Value Type Description
Sequence idle String
ShowShadow True Boolean Defines if the Voxel should have a shadow.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithVoxelTurret

Requires traits: RenderVoxels, Turreted.

Property Default Value Type Description
Sequence turret String Voxel sequence name to use
Turret primary String Turreted 'Turret' key to display
ShowShadow True Boolean Defines if the Voxel should have a shadow.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithWallSpriteBody

Render trait for actors that change sprites if neighbors with the same trait are present.

Requires traits: Building, RenderSprites.

Property Default Value Type Description
Type wall String
StartSequence String Animation to play when the actor is created.
Sequence idle String Animation to play when the actor is idle.
Name body String Identifier used to assign modifying traits to this sprite body.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

OpenRA.Mods.Common.Traits.Sound

ActorLostNotification

Property Default Value Type Description
Notification UnitLost String
NotifyAll False Boolean

AmbientSound

Plays a looping audio file at the actor position. Attach this to the World actor to cover the whole map.

Property Default Value Type Description
SoundFiles (required) Collection of String
Delay 0 Collection of Integer Initial delay (in ticks) before playing the sound for the first time. Two values indicate a random delay range.
Interval 0 Collection of Integer Interval between playing the sound (in ticks). Two values indicate a random delay range.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AnnounceOnBuild

Play the Build voice of this actor when trained.

Property Default Value Type Description
Voice Build String Voice to use when built/trained.

AnnounceOnKill

Play the Kill voice of this actor when eliminating enemies.

Property Default Value Type Description
Interval 5 Integer Minimum duration (in seconds) between sound events.
Voice Kill String Voice to use when killing something.

AnnounceOnSeen

Players will be notified when this actor becomes visible to them.

Property Default Value Type Description
PingRadar False Boolean Should there be a radar ping on enemies' radar at the actor's location when they see him
Notification String
AnnounceNeutrals False Boolean

AttackSounds

Played when preparing for an attack or attacking.

Property Default Value Type Description
Sounds Collection of String Play a randomly selected sound from this list when preparing for an attack or attacking.
Delay 0 Integer Delay in ticks before sound starts, either relative to attack preparation or attack.
DelayRelativeTo Preparation AttackDelayType Should the sound be delayed relative to preparation or actual attack?
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

CaptureNotification

Property Default Value Type Description
Notification BuildingCaptured String The speech notification to play to the new owner.
NewOwnerVoice True Boolean Specifies if Notification is played with the voice of the new owners faction.
LoseNotification String The speech notification to play to the old owner.
LoseNewOwnerVoice False Boolean Specifies if LoseNotification is played with the voice of the new owners faction.

DeathSounds

Sounds to play when killed.

Property Default Value Type Description
Voice Die String Death notification voice.
VolumeMultiplier 1 Real Number Multiply volume with this factor.
DeathTypes Collection of DamageType Damage types that this should be used for (defined on the warheads). If empty, this will be used as the default sound for all death types.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

SoundOnDamageTransition

Property Default Value Type Description
DamagedSounds Collection of String Play a random sound from this list when damaged.
DestroyedSounds Collection of String Play a random sound from this list when destroyed.

OpenRA.Mods.D2k.Traits

AttackSwallow

Sandworms use this attack model.

Property Default Value Type Description
ReturnDelay 60 Integer The number of ticks it takes to return underground.
AttackDelay 30 Integer The number of ticks it takes to get in place under the target to attack.
AttackingCondition String The condition to grant to self while attacking.
WormAttackSound WORM.WAV String
WormAttackNotification WormAttack String
FacingTolerance 0 Integer
Armaments primary, secondary Collection of String Armament names
Cursor String
OutsideRangeCursor String
AttackRequiresEnteringCell False Boolean Does the attack type require the attacker to enter the target's cell?
IgnoresVisibility False Boolean Does not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
Voice Action String
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

AttractsWorms

This actor makes noise, which causes them to be targeted by actors with the Sandworm trait.

Property Default Value Type Description
Intensity 0 Integer How much noise this actor produces.
Falloff 100, 100, 25, 11, 6, 4, 3, 2, 1, 0 Collection of Integer Noise percentage at Range step away from the actor.
Spread 3c0 1D World Distance Range between falloff steps.
Range Collection of 1D World Distance Ranges at which each Falloff step is defined. Overrides Spread.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

LaysTerrain

Requires trait: Building.

Property Default Value Type Description
Template 0 UInt16 The terrain template to place. If the template is PickAny, then the actor footprint will be filled with this tile.
TerrainTypes (required) Set of String The terrain types that this template will be placed on.
Offset 0,0 2D Cell Vector Offset relative to the actor TopLeft. Not used if the template is PickAny. Tiles being offset out of the actor's footprint will not be placed.

HarvesterInsurance

A player with this trait will receive a free harvester when his last one gets eaten by a sandworm, provided he has at least one refinery.

Sandworm

Requires traits: AttackBase, Mobile.

Property Default Value Type Description
TargetRescanInterval 125 Integer Time between rescanning for targets (in ticks).
MaxSearchRadius 20c0 1D World Distance The radius in which the worm "searches" for targets.
IgnoreNoiseAttackRange 3c0 1D World Distance The range at which the worm launches an attack regardless of noise levels.
ChanceToDisappear 100 Integer The chance this actor has of disappearing after it attacks (in %).
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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

SpiceBloom

Seeds resources by explosive eruptions after accumulation times.

Requires trait: RenderSprites.

Property Default Value Type Description
GrowthSequences grow1, grow2, grow3 Collection of String
SpurtSequence spurt String
Lifetime 1000, 3000 Collection of Integer The range of time (in ticks) that the spicebloom will take to grow until it blows up.
ResourceType Spice String
GrowthTerrainTypes Set of String Spice blooms only grow on these terrain types.
Weapon String The weapon to use for spice creation.
Pieces 2, 12 Collection of Integer The amount of spice to expel.
Range 5 Integer The maximum distance in cells that spice may be expelled.

BuildableTerrainLayer

Attach this to the world actor. Required for LaysTerrain to work.

Property Default Value Type Description
Palette terrain String Palette to render the layer sprites in.

D2kEditorResourceLayer

Used to render spice with round borders.

Requires trait: ResourceType.

D2kResourceLayer

Used to render spice with round borders.

Requires traits: BuildingInfluence, ResourceType.

FogPaletteFromR8

Property Default Value Type Description
Name (required) String Internal palette name
Filename (required) String Filename to load
Offset 0 Int64 Palette byte offset
AllowModifiers True Boolean
InvertColor False Boolean

PaletteFromR8

Property Default Value Type Description
Name (required) String Internal palette name
Filename (required) String Filename to load
Offset 0 Int64 Palette byte offset
AllowModifiers True Boolean
InvertColor False Boolean

PaletteFromScaledPalette

Create a palette by applying a scale and offset to the colors in another palette.

Property Default Value Type Description
Name (required) String Internal palette name
BasePalette (required) String The name of the palette to base off.
AllowModifiers True Boolean Allow palette modifiers to change the palette.
Scale 1 Real Number Amount to scale the base palette colors by.
Offset 0 Integer Amount to offset the base palette colors by.

OpenRA.Mods.D2k.Traits.Render

WithCrumbleOverlay

Rendered together with the "make" animation.

Requires trait: RenderSprites.

Property Default Value Type Description
Sequence crumble-overlay String Sequence name to use
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName

WithDeliveryOverlay

Rendered when ProductionAirdrop is in progress.

Requires traits: BodyOrientation, RenderSprites.

Property Default Value Type Description
Sequence active String Sequence name to use
Offset 0,0,0 3D World Vector Position relative to body
Palette String Custom palette name
IsPlayerPalette False Boolean Custom palette is a player palette BaseName

OpenRA.Traits

DebugPauseState

Checks for pause related desyncs. Attach this to the world actor.

Interactable

Used to enable mouse interaction on actors that are not Selectable.

Property Default Value Type Description
Bounds Collection of Integer Defines a custom rectangle for mouse interaction with the actor. If null, the engine will guess an appropriate size based on the With*Body trait. The first two numbers define the width and height of the rectangle. The (optional) second two numbers define an x and y offset from the actor center.
DecorationBounds Collection of Integer Defines a custom rectangle for Decorations (e.g. the selection box). If null, Bounds will be used instead

FixedColorPalette

Add this to the World actor definition.

Property Default Value Type Description
Base terrain String The name of the palette to base off.
Name resources String The name of the resulting palette
RemapIndex Collection of Integer Remap these indices to pre-defined colors.
Color 00000000 Color (RRGGBB[AA] notation) The fixed color to remap.
Ramp 0.05 Real Number Luminosity range to span.
AllowModifiers True Boolean Allow palette modifiers to change the palette.

FrozenActorLayer

Required for FrozenUnderFog to work. Attach this to the player actor.

Requires trait: Shroud.

Property Default Value Type Description
BinSize 10 Integer Size of partition bins (cells)

IndexedPlayerPalette

Define a player palette by swapping palette indices.

Property Default Value Type Description
BasePalette String The name of the palette to base off.
BaseName player String The prefix for the resulting player palettes
RemapIndex Collection of Integer Remap these indices to player colors.
AllowModifiers True Boolean Allow palette modifiers to change the palette.
PlayerIndex Mapping of String to Collection of Integer

PlayerColorPalette

Add this to the Player actor definition.

Property Default Value Type Description
BasePalette String The name of the palette to base off.
BaseName player String The prefix for the resulting player palettes
RemapIndex Collection of Integer Remap these indices to player colors.
Ramp 0.05 Real Number Luminosity range to span.
AllowModifiers True Boolean Allow palette modifiers to change the palette.

PlayerHighlightPalette

Add this to the Player actor definition.

Property Default Value Type Description
BaseName highlight String The prefix for the resulting player palettes

Shroud

Required for shroud and fog visibility checks. Add this to the player actor.

Property Default Value Type Description
FogCheckboxLabel Fog of War String Descriptive label for the fog checkbox in the lobby.
FogCheckboxDescription Line of sight is required to view enemy forces String Tooltip description for the fog checkbox in the lobby.
FogCheckboxEnabled True Boolean Default value of the fog checkbox in the lobby.
FogCheckboxLocked False Boolean Prevent the fog enabled state from being changed in the lobby.
FogCheckboxVisible True Boolean Whether to display the fog checkbox in the lobby.
FogCheckboxDisplayOrder 0 Integer Display order for the fog checkbox in the lobby.
ExploredMapCheckboxLabel Explored Map String Descriptive label for the explored map checkbox in the lobby.
ExploredMapCheckboxDescription Initial map shroud is revealed String Tooltip description for the explored map checkbox in the lobby.
ExploredMapCheckboxEnabled False Boolean Default value of the explore map checkbox in the lobby.
ExploredMapCheckboxLocked False Boolean Prevent the explore map enabled state from being changed in the lobby.
ExploredMapCheckboxVisible True Boolean Whether to display the explore map checkbox in the lobby.
ExploredMapCheckboxDisplayOrder 0 Integer Display order for the explore map checkbox in the lobby.

Selectable

This actor is selectable. Defines bounds of selectable area, selection class and selection priority.

Property Default Value Type Description
Priority 10 Integer
Class String All units having the same selection class specified will be selected with select-by-type commands (e.g. double-click). Defaults to the actor name when not defined or inherited.
Voice Select String
Bounds Collection of Integer Defines a custom rectangle for mouse interaction with the actor. If null, the engine will guess an appropriate size based on the With*Body trait. The first two numbers define the width and height of the rectangle. The (optional) second two numbers define an x and y offset from the actor center.
DecorationBounds Collection of Integer Defines a custom rectangle for Decorations (e.g. the selection box). If null, Bounds will be used instead

DebugVisualizations

Enables visualization commands. Attach this to the world actor.

Faction

Attach this to the World actor.

Property Default Value Type Description
Name String This is the name exposed to the players.
InternalName String This is the internal name for owner checks.
RandomFactionMembers Set of String Pick a random faction as the player's faction out of this list.
Side String The side that the faction belongs to. For example, England belongs to the 'Allies' side.
Description String
Selectable True Boolean

ResourceType

Property Default Value Type Description
Image resources String Sequence image that holds the different variants.
Sequences (required) Collection of String Randomly chosen image sequences.
Palette terrain String Palette used for rendering the resource sprites.
ResourceType 1 Integer Resource index used in the binary map data.
ValuePerUnit 0 Integer Credit value of a single resource unit.
MaxDensity 10 Integer Maximum number of resource units allowed in a single cell.
Type (required) String Resource identifier used by other traits.
Name (required) String Resource name used by tooltips.
TerrainType (required) String Terrain type used to determine unit movement and minimap colors.
AllowedTerrainTypes Set of String Terrain types that this resource can spawn on.
AllowUnderActors False Boolean Allow resource to spawn under Mobile actors.
AllowUnderBuildings False Boolean Allow resource to spawn under Buildings.
AllowOnRamps False Boolean Allow resource to spawn on ramp tiles.
PipColor Yellow PipType Harvester content pip color.

ScreenMap

Property Default Value Type Description
BinSize 250 Integer Size of partition bins (world pixels)

ScreenShaker

Property Default Value Type Description
MinMultiplier -3,-3 2D Real Number
MaxMultiplier 3,3 2D Real Number
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.