Home1 - PogoMan361/OpenRA-1 GitHub Wiki

Welcome to the OpenRA-1 wiki! 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

FrozenUnderFogUpdatedByGps

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

Requires trait: FrozenUnderFog.

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.

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

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

ClonesProducedUnits

Creates a free duplicate of produced units.

Requires traits: Exit, Production.

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

Cloneable

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

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

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

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

VoxelNormalsPalette

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

TSShroudPalette

Adds the hard-coded shroud palette to the game

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

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.

RenderJammerCircle

WithBuildingBib

Requires traits: Building, RenderSprites.

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

RenderShroudCircle

Property Default Value Type Description
Color 00FFFF80 Color (RRGGBB[AA] notation) Color of the circle.
ContrastColor 00000060 Color (RRGGBB[AA] notation) Contrast color of the circle.

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

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
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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.

AttackLeap

Move onto the target then execute the attack.

Requires trait: Mobile.

Property Default Value Type Description
Speed 0c426 1D World Distance Leap speed (in WDist units/tick).
LeapCondition attacking String Conditions that last from start of the leap until the 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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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.

EdibleByLeap

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

HarvesterHuskModifier

Requires trait: Harvester.

Property Default Value Type Description
FullHuskActor String
FullnessThreshold 50 Integer

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

Requires trait: Rearmable.

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

InfiltrateForPowerOutage

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

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.

InfiltrateForCash

Funds are transferred from the owner to the infiltrator.

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.

InfiltrateForExploration

Steal and reset the owner's exploration.

Property Default Value Type Description
Types Collection of TargetableType

InfiltrateForTransform

Transform into a different actor type.

Property Default Value Type Description
IntoActor (required) String
ForceHealthPercentage 0 Integer
SkipMakeAnims True Boolean
Types Collection of TargetableType

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 target. Possible values are Exit, Suicide, Dispose.
Notification String Notification to play when a target is infiltrated.
PlayerExperience 0 Integer Experience to grant to the infiltrating player.
EnterCursor enter String
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

ConyardChronoReturn

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

Requires 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.
ReturnOriginalActorOnCondition BooleanExpression Boolean expression defining the condition under which to teleport a replacement actor instead of triggering the vortex.
OriginalActor mcv String Replacement actor to create when ReturnOriginalActorOnCondition evaluates true.
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].

GpsWatcher

Required for GpsPower. Attach this to the player actor.

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.

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.

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.

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.

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.

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

OpenRA.Mods.Cnc.Traits.Render

WithDeliveryAnimation

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

Requires trait: WithSpriteBody.

Property Default Value Type Description
ActiveSequence active String
Body body String Which sprite body to play the animation on.
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.
ForceToGround False Boolean Forces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.

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.

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.

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.

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.
ForceToGround False Boolean Forces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

WithRoof

Provides an overlay for the Tiberian Dawn hover craft.

Requires trait: RenderSprites.

Property Default Value Type Description
Sequence roof String

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

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.

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
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.

OpenRA.Mods.Common.Commands

DevCommands

Enables developer cheats via 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.

DebugVisualizationCommands

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

ChatCommands

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

HelpCommand

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

OpenRA.Mods.Common.Traits

GainsExperience

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

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.
LevelUpImage String Image for the level up sprite.
LevelUpSequence levelup String Sequence for the level up sprite. Needs to be present on Image.
LevelUpPalette effect String Palette for the level up sprite.
ExperienceModifier -1 Integer Multiplier to apply to the Conditions keys. Defaults to the actor's value.
SuppressLevelupAnimation True Boolean Should the level-up animation be suppressed when actor is created?
LevelUpNotification String

DamagedByTerrain

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

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.

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.

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

ReturnOnIdle

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

Requires trait: Aircraft.

FlyAwayOnIdle

Leave the map when idle.

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.
InitialFacing 0 Integer
TurnSpeed 255 Integer
IdleTurnSpeed -1 Integer Turn speed to apply when aircraft flies in circles while idle. Defaults to TurnSpeed if negative.
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 VTOL actor need to turn before landing (on terrain)?
TurnToDock True Boolean Does this VTOL actor need to turn before landing on a resupplier?
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.
TakeoffSounds Collection of String Sounds to play when the actor is taking off.
LandingSounds Collection of String Sounds to play when the actor is landing.
WaitDistanceFromResupplyBase 3c0 1D World Distance The distance of the resupply base that the aircraft will wait for its turn.
NumberOfTicksToVerifyAvailableAirport 150 Integer The number of ticks that a airplane will wait to make a new search for an available airport.
PreviewFacing 92 Integer Facing to use for actor previews (map editor, color picker, etc)
EditorFacingDisplayOrder 3 Integer Display order for the facing slider in the map editor
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.

AttackAircraft

Requires trait: Aircraft.

Property Default Value Type Description
AttackTurnDelay 50 Integer Delay, in game ticks, before non-hovering aircraft turns 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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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.

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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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.

PowerTooltip

Shown power info on the build palette widget.

CarryableHarvester

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.

Immobile

Property Default Value Type Description
OccupiesSpace True Boolean

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.

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 set to AttackAnything.
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.
EditorStanceDisplayOrder 1 Integer Display order for the stance dropdown in the map editor
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.

ScalePowerWithHealth

Scale power amount with the current health.

Requires trait: Power.

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.

PowerManager

Attach this to the player actor.

Requires trait: DeveloperMode.

Property Default Value Type Description
AdviceInterval 250 Integer
SpeechNotification String

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

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.

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.

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.

Reservable

Reserve landing places for aircraft.

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.

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

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

BaseBuilding

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

LegacyBridgeHut

Allows bridges to be targeted for demolition and repair.

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

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

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)

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.

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

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.

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.

GroundLevelBridge

Bridge actor that can't be passed underneath.

Requires trait: Building.

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.

RepairableBuilding

Building can be repaired by the repair button.

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.
RepairingNotification String
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.

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.

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.

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.

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.

ExplosionOnDamageTransition

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

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?

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.

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?

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.

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.

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

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?

CapturableProgressBlink

Blinks the actor and captor when it is being captured.

Requires trait: Capturable.

Property Default Value Type Description
Interval 50 Integer Number of ticks to wait between repeating blinks.

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

MapEditorData

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

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)

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.

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.

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.

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.

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

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

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.

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

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.

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?

PathFinder

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

Requires trait: Locomotor.

BridgeLayer

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.

ResourceLayer

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

Requires traits: BuildingInfluence, ResourceType.

TerrainRenderer

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.

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.

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

WarheadDebugOverlay

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

Property Default Value Type Description
DisplayDuration 25 Integer

RadarPings

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

TerrainTunnelLayer

Requires trait: DomainIndex.

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

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
CursorPalette False Boolean Whether this palette is available for cursors.

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

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.

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 Lower the value on rough terrain. Leave out entries for impassable terrain.
TilesetTerrainInfo Collection of TileSet
TilesetMovementClass Collection of TileSet

EditorResourceLayer

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

Requires trait: ResourceType.

ResourceClaimLayer

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

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.

ValidateOrder

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

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

CrateSpawner

Property Default Value Type Description
CheckboxLabel Crates String Descriptive label for the crates checkbox in the lobby.
CheckboxDescription Collect crates with units to receive 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.

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

ElevatedBridgeLayer

Requires trait: DomainIndex.

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

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.

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.

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 Lower the value on rough terrain. Leave out entries for impassable terrain.
TilesetTerrainInfo Collection of TileSet
TilesetMovementClass Collection of TileSet

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

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.

CreateMPPlayers

Attach this to the world actor.

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.

PaletteFromPng

Load a PNG and use its embedded palette.

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
CursorPalette False Boolean Whether this palette is available for cursors.

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.

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.

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.

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.

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

SpawnMapActors

Spawns the initial units for each player upon game start.

StartGameNotification

Property Default Value Type Description
Notification StartGame String

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

LegacyBridgeLayer

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

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.

PaletteFromEmbeddedSpritePalette

Property Default Value Type Description
Name (required) String Internal palette name
Image (required) String Sequence image holding the palette definition
Sequence (required) String Sequence holding the palette definition
AllowModifiers True Boolean Allow palette modifiers to change the palette.
CursorPalette False Boolean Whether this palette is available for cursors.

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)

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.

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 actor at the center, usually the mobile construction vehicle.
BaseActorOffset 0,0 2D Cell Vector Offset from the spawn point, BaseActor will spawn at.
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.

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

ActorMap

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

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.

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 Lower the value on rough terrain. Leave out entries for impassable terrain.
TilesetTerrainInfo Collection of TileSet
TilesetMovementClass Collection of TileSet

TerrainGeometryOverlay

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

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.

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.

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.

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.

Replacement

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

IgnoresCloak

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

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.

ShakeOnDeath

Property Default Value Type Description
Duration 10 Integer
Intensity 1 Integer

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

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 Sort order for the production palette. Smaller numbers are presented earlier.
Description String Text shown in the production tooltip.

Rearmable

Property Default Value Type Description
RearmActors (required) Set of String Actors that this actor can dock to and get rearmed by.
AmmoPools primary Set of String Name(s) of AmmoPool(s) that use this trait to rearm.

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)?

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.

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)
EditorFacingDisplayOrder 3 Integer Display order for the facing slider in the map editor
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

TransformOnCapture

Replaces the captured actor with a new one.

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

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.

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.

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.

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.

GrantConditionOnProduction

Grants a condition when this actor produces a specific actor.

Property Default Value Type Description
Condition (required) String The condition to grant
Actors Set of String The actors to grant condition for. If empty condition will be granted for all actors.
Duration -1 Integer How long condition is applies for. Use -1 for infinite.
ShowSelectionBar True Boolean Show a selection bar while condition is applied if it has a duration.
SelectionBarColor FF00FF Color (RRGGBB[AA] notation)

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.

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.

GrantConditionOnPlayerResources

Grants a condition to this actor when the player has stored resources.

Property Default Value Type Description
Condition (required) String Condition to grant.
Threshold 0 Integer Enable condition when the amount of stored resources is greater than this.

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.

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.

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.

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.

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?

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.

GrantConditionWhileAiming

Property Default Value Type Description
Condition (required) String The condition to grant while aiming.

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.

GrantConditionOnTerrain

Property Default Value Type Description
Condition (required) String Condition to grant.
TerrainTypes (required) Collection of String Terrain names to trigger the 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.

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.

ConditionManager

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

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.

GrantConditionOnDamageState

Applies a condition to the actor at specified damage states.

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?

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.

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.

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.

CustomTerrainDebugOverlay

Displays custom terrain types.

Property Default Value Type Description
Font TinyBold String

DrawLineToTarget

Property Default Value Type Description
Delay 60 Integer

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

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.

CustomSellValue

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

Property Default Value Type Description
Value (required) Integer

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.

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.

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.

IgnoresDisguise

Allows automatic targeting of disguised actors.

ChangesTerrain

Modifies the terrain type underneath the actors location.

Requires trait: Immobile.

Property Default Value Type Description
TerrainType (required) 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.

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.

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.

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

AlwaysVisible

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

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

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

CrateAction

Property Default Value Type Description
SelectionShares 10 Integer Chance of getting this crate, assuming the collector is compatible.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
Image crate-effects String Image containing the crate effect animation sequence.
Sequence String Animation sequence played when collected. Leave empty for no effect.
Palette effect String Palette to draw the animation in.
Sound String Audio clip to play when the crate is collected.
Notification String Notification 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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)

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)
EditorTurretFacingDisplayOrder 4 Integer Display order for the turret facing slider in the map editor
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Explodes

This actor explodes when killed.

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.

Capturable

This actor can be captured by a unit with Captures: trait. This trait should not be disabled if the actor also uses FrozenUnderFog.

Requires trait: CaptureManager.

Property Default Value Type Description
Types (required) Collection of CaptureType CaptureTypes (from the Captures trait) that are able to capture this.
ValidStances Enemy, Neutral Stance What diplomatic stances can be captured by this actor.
CancelActivity False Boolean
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.
ArmorTypes Collection of ArmorType Defines which Armor types apply when the actor receives damage to this HitShape. If none specified, all armor types the actor has are valid.
Type IHitShape
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.

RepairableNear

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

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

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

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.

AttackFollow

Actor will follow units until in range to attack them.

Property Default Value Type Description
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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.

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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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.

AttackTurreted

Actor has a visual turret used to attack.

Requires trait: Turreted.

Property Default Value Type Description
Turrets primary Collection of String Turret names
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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
OpportunityFire True Boolean Automatically acquire and fire on targets of opportunity when not actively attacking.
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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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?
TargetFrozenActors False Boolean Allow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActors False Boolean Force-fire mode ignores actors and targets the ground instead.
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.

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.

Demolishable

Handle demolitions from C4 explosives.

Property Default Value Type Description
Condition String Condition to grant during demolition countdown.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Huntable

This actor can be targeted by the Hunt activity.

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.

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.

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.

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.

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 Player, Vehicle, Tank, Infantry Collection of CaptureType 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.

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.

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.
EmptyCondition String Condition to grant while empty.
HarvestVoice Action String
DeliverVoice Action String

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.

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.

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.

CombatDebugOverlay

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

CaptureProgressBar

Visualize the progress of this actor being captured.

Requires trait: Captures.

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

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

McvManagerBotModule

Manages AI MCVs.

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

UnitBuilderBotModule

Controls AI unit production.

Property Default Value Type Description
IdleBaseUnitsMaximum 12 Integer Only produce units as long as there are less than this amount of units idling inside the base.
UnitQueues Vehicle, Infantry, Plane, Ship, Aircraft Set of String Production queues AI uses for producing units.
UnitsToBuild Mapping of String to Integer What units to the AI should build. What relative share 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.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

SupportPowerBotModule

Manages bot support power handling.

Requires trait: SupportPowerManager.

Property Default Value Type Description
Decisions (Collection) Collection of SupportPowerDecision Tells the AI how to use its support powers.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

BaseBuilderBotModule

Manages AI base construction.

Property Default Value Type Description
ConstructionYardTypes Set of String Tells the AI what building types are considered construction yards.
VehiclesFactoryTypes Set of String Tells the AI what building types are considered vehicle production facilities.
RefineryTypes Set of String Tells the AI what building types are considered refineries.
PowerTypes Set of String Tells the AI what building types are considered power plants.
BarracksTypes Set of String Tells the AI what building types are considered infantry production facilities.
ProductionTypes Set of String Tells the AI what building types are considered production facilities.
NavalProductionTypes Set of String Tells the AI what building types are considered naval production facilities.
SiloTypes Set of String Tells the AI what building types are considered silos (resource storage).
BuildingQueues Building Set of String Production queues AI uses for buildings.
DefenseQueues Defense Set of String Production queues AI uses for defenses.
MinBaseRadius 2 Integer Minimum distance in cells from center of the base when checking for building placement.
MaxBaseRadius 20 Integer Radius in cells around the center of the base to expand.
MinimumExcessPower 0 Integer Minimum excess power the AI should try to maintain.
MaximumExcessPower 0 Integer The targeted excess power the AI tries to maintain cannot rise above this.
ExcessPowerIncrement 0 Integer Increase maintained excess power by this amount for every ExcessPowerIncreaseThreshold of base buildings.
ExcessPowerIncreaseThreshold 1 Integer Increase maintained excess power by ExcessPowerIncrement for every N base buildings.
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.
RallyPointScanRadius 8 Integer Radius in cells around a factory scanned for rally points by the AI.
CheckForWaterRadius 8 Integer Radius in cells around each building with ProvideBuildableArea to check for a 3x3 area of water where naval structures can be built. Should match maximum adjacency of naval structures.
WaterTerrainTypes Water Set of String Terrain types which are considered water for base building purposes.
BuildingFractions Mapping of String to Integer What buildings to the AI should build. What integer percentage of the total base must be this type of building.
BuildingLimits Mapping of String to Integer What buildings should the AI have a maximum limit to build.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

BuildingRepairBotModule

Manages AI repairing base buildings.

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

SquadManagerBotModule

Manages AI squads.

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

HarvesterBotModule

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

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

CaptureManagerBotModule

Manages AI capturing logic.

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

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.

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.

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

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.

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.

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.

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.
EnterBehaviour Exit EnterBehaviour Behaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
Voice Action String Voice string when planting explosive charges.
TargetStances Enemy, Neutral Stance
ForceTargetStances Enemy, Neutral, Ally Stance
Cursor c4 String

RequiresSpecificOwners

Can be used to enforce specific owners (like 'Neutral' or 'Creeps') for this actor.

Property Default Value Type Description
ValidOwnerNames (required) Set of String Only allow players listed here as owners.

ProximityCaptor

Actor can capture ProximityCapturable actors.

Property Default Value Type Description
Types (required) Collection of CaptureType

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

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.

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)
EditorTurretFacingDisplayOrder 4 Integer Display order for the turret facing slider in the map editor
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Captures

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

Requires trait: CaptureManager.

Property Default Value Type Description
CaptureTypes (required) Collection of CaptureType Types of actors that it can capture, as long as the type also exists in the Capturable Type: trait.
SabotageThreshold 0 Integer Targets with health above this percentage will be sabotaged instead of captured. Set to 0 to disable sabotaging.
SabotageHPRemoval 50 Integer Sabotage damage expressed as a percentage of maximum target health.
SabotageDamageTypes Collection of DamageType Damage types that applied with the sabotage damage.
CaptureDelay 0 Integer Delay (in ticks) that to wait next to the target before initiating the capture.
ConsumedByCapture True Boolean Enter the target actor and be consumed by the capture.
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.

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.

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.

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.

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.

SelfHealing

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

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.

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.

SupportPowerManager

Attach this to the player actor.

Requires traits: DeveloperMode, TechTree.

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.

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.
ValidStances Ally Stance Player stances which condition can be applied to.
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.

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.

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.

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.

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 Collection of CloakType
CloakedCondition String The condition to grant to self while cloaked.
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

Health

Property Default Value Type Description
HP 0 Integer HitPoints
NotifyAppliedDamage True Boolean Trigger interfaces such as AnnounceOnKill?
EditorHealthDisplayOrder 2 Integer Display order for the health slider in the map editor

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.

GrantExternalConditionToProduced

Grants a condition to actors produced by this actor.

Property Default Value Type Description
Condition (required) String The condition to apply. Must be included in the produced actor's ExternalConditions list.
Duration 0 Integer Duration of the condition (in ticks). Set to 0 for a permanent condition.
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 Collection of CaptureType 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.

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

CaptureManager

Manages Captures and Capturable traits on an actor.

Property Default Value Type Description
CapturingCondition String Condition granted when capturing an actor.
BeingCapturedCondition String Condition granted when being captured by another actor.
PreventsAutoTarget True Boolean Should units friendly to the capturing actor auto-target this actor while it is being captured?

Repairable

This actor can be sent to a structure for repairs.

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.

DetectCloaked

Actor can reveal Cloak actors in a specified range.

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

CapturableProgressBar

Visualize capture progress.

Requires trait: Capturable.

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

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.

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

Plug

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

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.

ScriptTags

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

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.

CloakPaletteEffect

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.

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

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.

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.

ProductionQueueFromSelection

Property Default Value Type Description
ProductionTabsWidget String
ProductionPaletteWidget 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.

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.
WinNotification String
LoseNotification String
LeaveNotification String

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

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.

GrantConditionOnPrerequisiteManager

Attach this to the player actor.

Requires trait: TechTree.

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).
LowPowerModifier 100 Integer The build time is multiplied with this percentage on low power.
InfiniteBuildLimit -1 Integer Production items that have more than this many items in the queue will be produced in a loop.
ReadyAudio String Notification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudio 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 String Notification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudio 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 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.

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.

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.

TechTree

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

PlayerStatistics

Attach this to the player actor to collect observer stats.

UpdatesPlayerStatistics

Attach this to a unit to update observer stats.

Property Default Value Type Description
AddToArmyValue False Boolean Add to army value in statistics

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).
LowPowerModifier 100 Integer The build time is multiplied with this percentage on low power.
InfiniteBuildLimit -1 Integer Production items that have more than this many items in the queue will be produced in a loop.
ReadyAudio String Notification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudio 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 String Notification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudio 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 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.

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?

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.
CashTickUpNotification String
CashTickDownNotification 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 String Notification to play after building placement if new construction options are available.
CannotPlaceNotification String

DummyBot

A placeholder bot that doesn't do anything.

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

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.

ModularBot

Bot that uses BotModules.

Property Default Value Type Description
Type (required) String Internal id for this bot.
Name Unnamed Bot String Human-readable name this bot uses.
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.

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.

ParallelProductionQueue

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).
LowPowerModifier 100 Integer The build time is multiplied with this percentage on low power.
InfiniteBuildLimit -1 Integer Production items that have more than this many items in the queue will be produced in a loop.
ReadyAudio String Notification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudio 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 String Notification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudio 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 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.

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.

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?

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.

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.

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.

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.

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.

RevealsShroudMultiplier

Modifies the shroud range revealed 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.

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.

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.

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.

CreatesShroudMultiplier

Modifies the shroud range created 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.

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.

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.

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.

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

RadarColorFromTerrain

Property Default Value Type Description
Terrain (required) String

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.

OpenRA.Mods.Common.Traits.Render

RenderDebugState

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

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

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

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.

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.

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.

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.

ProductionBar

Visualizes the remaining build time of actor produced here.

Requires trait: Production.

Property Default Value Type Description
ProductionType (required) String Production queue type, for actors with multiple queues.
Color 87CEEB Color (RRGGBB[AA] notation)
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.

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
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.

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.

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
Palette String Custom palette name
IsPlayerPalette False Boolean Palette is a player palette BaseName
Turret primary String Turreted 'Turret' key to display
Recoils True Boolean Render recoil
RequiresCondition BooleanExpression Boolean expression defining the condition to enable this trait.

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.

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

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.

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.

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.

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
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
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.

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.

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.
ForceToGround False Boolean Forces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnCondition BooleanExpression Boolean expression defining the condition to pause this trait.
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.

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.

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
⚠️ **GitHub.com Fallback** ⚠️