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 release-20200503 of OpenRA.

OpenRA.Mods.Cnc.Traits

AttackLeap

Move onto the target then execute the attack.

Requires trait: Mobile.

PropertyDefault ValueTypeDescription
Speed0c4261D World DistanceLeap speed (in WDist units/tick).
LeapConditionattackingStringConditions that last from start of the leap until the attack.
FacingTolerance0IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance0IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackPopupTurreted

Actor's turret rises from the ground before attacking.

Requires traits: Building, Turreted, WithEmbeddedTurretSpriteBody.

PropertyDefault ValueTypeDescription
CloseDelay125IntegerHow many game ticks should pass before closing the actor's turret.
DefaultFacing0Integer
ClosedDamageMultiplier50IntegerThe percentage of damage that is received while this actor is closed.
OpeningSequenceopeningStringSequence to play when opening.
ClosingSequenceclosingStringSequence to play when closing.
ClosedIdleSequenceclosed-idleStringIdle sequence to play when closed.
BodybodyStringWhich sprite body to play the animation on.
TurretsprimaryCollection of StringTurret names
OpportunityFireTrueBooleanAutomatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargetingTrueBooleanKeep firing on targets even after attack order is cancelled
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance128IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackTDGunboatTurreted

Actor has a visual turret used to attack.

Requires traits: TDGunboat, Turreted.

PropertyDefault ValueTypeDescription
TurretsprimaryCollection of StringTurret names
OpportunityFireTrueBooleanAutomatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargetingTrueBooleanKeep firing on targets even after attack order is cancelled
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance128IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackTesla

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

PropertyDefault ValueTypeDescription
MaxCharges1IntegerHow many charges this actor has to attack with, once charged.
ReloadDelay120IntegerReload time for all charges (in ticks).
InitialChargeDelay22IntegerDelay for initial charge attack (in ticks).
ChargeDelay3IntegerDelay between charge attacks (in ticks).
ChargeAudioStringSound to play when actor charges.
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance128IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ClonesProducedUnits

Creates a free duplicate of produced units.

Requires traits: Exit, Production.

PropertyDefault ValueTypeDescription
CloneableTypes(required)Collection of CloneableTypeUses the "Cloneable" trait to determine whether or not we should clone a produced unit.
ProductionType(required)Stringe.g. Infantry, Vehicles, Aircraft, Buildings
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TiberianSunRefinery

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
DockAngle0IntegerActual harvester facing when docking, 0-255 counter-clock-wise.
DockOffset0,02D Cell VectorDocking cell relative to top-left cell.
IsDragRequiredFalseBooleanDoes the refinery require the harvester to be dragged in?
DragOffset0,0,03D World VectorVector by which the harvester will be dragged when docking.
DragLength0IntegerIn how many steps to perform the dragging?
UseStorageTrueBooleanStore resources in silos. Adds cash directly without storing if set to false.
DiscardExcessResourcesFalseBooleanDiscard resources once silo capacity has been reached.
ShowTicksTrueBoolean
TickLifetime30Integer
TickVelocity2Integer
TickRate10Integer

Chronoshiftable

Can be teleported via Chronoshift power.

PropertyDefault ValueTypeDescription
ExplodeInsteadFalseBooleanShould the actor die instead of being teleported?
DamageTypesCollection of DamageTypeTypes 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.
ChronoshiftSoundchrono2.audString
ReturnToOriginTrueBooleanShould the actor return to its previous location after the chronoshift wore out?
TimeBarColorFFFFFFColor (RRGGBB[AA] notation)The color the bar of the 'return-to-origin' logic has.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Cloneable

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

PropertyDefault ValueTypeDescription
Types(required)Collection of CloneableTypeThis unit's cloneable type is:

ConyardChronoReturn

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

Requires traits: Health, WithSpriteBody.

PropertyDefault ValueTypeDescription
SequencepdoxStringSequence name with the baked-in vortex animation
BodybodyStringSprite body to play the vortex animation on.
ConditionStringCondition to grant while the vortex animation plays.
Damage1000IntegerAmount of damage to apply each tick while the vortex animation plays.
DamageTypesCollection of DamageTypeApply the damage using these damagetypes.
ReturnOriginalActorOnConditionBooleanExpressionBoolean expression defining the condition under which to teleport a replacement actor instead of triggering the vortex.
OriginalActormcvStringReplacement actor to create when ReturnOriginalActorOnCondition evaluates true.
Facing96IntegerFacing of the returned actor.
ChronoshiftSoundchrono2.audString
TimeBarColorFFFFFFColor (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.

PropertyDefault ValueTypeDescription
GenericNameStringAn optional generic name (i.e. "Soldier" or "Structure")to be shown to chosen players.
GenericStancePrefixTrueBooleanPrefix generic tooltip name with 'Ally/Neutral/EnemyPrefix'.
AllyPrefixAlliedStringPrefix to display in the tooltip for allied units.
NeutralPrefixStringPrefix to display in the tooltip for neutral units.
EnemyPrefixEnemyStringPrefix to display in the tooltip for enemy units.
GenericVisibilityNoneStancePlayer stances that the generic name should be shown to.
ShowOwnerRowTrueBooleanShow the actor's owner and their faction flag
NameString
RequiresConditionBooleanExpressionBoolean 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.

PropertyDefault ValueTypeDescription
VoiceActionString
DisguisedConditionStringThe condition to grant to self while disguised.
ValidStancesEnemy, Neutral, AllyStanceWhat diplomatic stances can this actor disguise as.
TargetTypesDisguiseCollection of TargetableTypeTarget types of actors that this actor disguise as.
RevealDisguiseOnAttackRevealDisguiseTypeTriggers which cause the actor to drop it's disguise. Possible values: None, Attack, Damaged, Unload, Infiltrate, Demolish, Move.
DisguisedAsConditionsMapping of String to StringConditions to grant when disguised as specified actor. A dictionary of [actor id]: [condition].

DrainPrerequisitePowerOnDamage

Converts damage to a charge level of a GrantPrerequisiteChargeDrainPower.

PropertyDefault ValueTypeDescription
OrderNameGrantPrerequisiteChargeDrainPowerInfoOrderStringThe OrderName of the GrantPrerequisiteChargeDrainPower to drain.
DamageMultiplier1IntegerDamage is multiplied by this number when converting damage to drain ticks.
DamageDivisor600IntegerDamage is divided by this number when converting damage to drain ticks.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

EdibleByLeap

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

EnergyWall

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

PropertyDefault ValueTypeDescription
Weapon(required)StringThe weapon to attack units on top of the wall with when activated.
ActiveConditionBooleanExpressionBoolean expression defining the condition to activate this trait.
TerrainTypesSet of StringWhere you are allowed to place the building (Water, Clear, ...)
FootprintMapping of 2D Cell Vector to FootprintCellTypex means cell is blocked, capital X means blocked but not counting as targetable, = means part of the footprint but passable, _ means completely empty.
Dimensions1,12D Cell Vector
LocalCenterOffset0,0,03D World VectorShift center of the actor by this offset.
RequiresBaseProviderFalseBoolean
AllowInvalidPlacementFalseBoolean
RemoveSmudgesOnBuildTrueBooleanClear smudges from underneath the building footprint.
RemoveSmudgesOnSellTrueBooleanClear smudges from underneath the building footprint on sell.
RemoveSmudgesOnTransformTrueBooleanClear smudges from underneath the building footprint on transform.
BuildSoundsCollection of String
UndeploySoundsCollection of String

FrozenUnderFogUpdatedByGps

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

Requires trait: FrozenUnderFog.

GpsDot

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

PropertyDefault ValueTypeDescription
ImagegpsdotStringSprite collection for symbols.
StringInfantryStringSprite used for this actor.
IndicatorPalettePrefixplayerString

GpsWatcher

Required for GpsPower. Attach this to the player actor.

HarvesterHuskModifier

Requires trait: Harvester.

PropertyDefault ValueTypeDescription
FullHuskActorString
FullnessThreshold50Integer

InfiltrateForCash

Funds are transferred from the owner to the infiltrator.

PropertyDefault ValueTypeDescription
TypesCollection of TargetableType
Percentage100IntegerPercentage of the victim's resources that will be stolen.
Minimum-1IntegerAmount 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.
Maximum2147483647IntegerMaximum amount of funds which will be stolen.
NotificationStringSound the victim will hear when they get robbed.
ShowTicksTrueBooleanWhether to show the cash tick indicators rising from the actor.

InfiltrateForDecoration

Reveals a decoration sprite to the indicated players when infiltrated.

PropertyDefault ValueTypeDescription
TypesCollection of TargetableType
ImageStringImage used for this decoration. Defaults to the actor's type.
SequenceStringSequence used for this decoration (can be animated).
PalettechromeStringPalette to render the sprite in. Reference the world actor's PaletteFrom* traits.
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
ReferencePointTop, LeftReferencePointsPoint in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ZOffset1IntegerThe Z offset to apply when rendering this decoration.
ValidStancesAllyStancePlayer stances who can view the decoration.
RequiresSelectionFalseBooleanShould this be visible only when selected?
OffsetsMapping of BooleanExpression to 2D IntegerScreen-space offsets to apply when defined conditions are enabled. A dictionary of [condition string]: [x, y offset].
BlinkInterval5IntegerThe number of ticks that each step in the blink pattern in active.
BlinkPatternCollection of BlinkStateA pattern of ticks (BlinkInterval long) where the decoration is visible or hidden.
BlinkPatternsMapping of BooleanExpression to Collection of BlinkStateOverride blink conditions to use when defined conditions are enabled. A dictionary of [condition string]: [pattern].
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

InfiltrateForExploration

Steal and reset the owner's exploration.

PropertyDefault ValueTypeDescription
TypesCollection of TargetableType

InfiltrateForPowerOutage

PropertyDefault ValueTypeDescription
TypesCollection of TargetableType
Duration500Integer

InfiltrateForSupportPower

PropertyDefault ValueTypeDescription
Proxy(required)String
TypesCollection of TargetableType

InfiltrateForTransform

Transform into a different actor type.

PropertyDefault ValueTypeDescription
IntoActor(required)String
ForceHealthPercentage0Integer
SkipMakeAnimsTrueBoolean
TypesCollection of TargetableType

Infiltrates

PropertyDefault ValueTypeDescription
TypesCollection of TargetableType
VoiceActionString
ValidStancesEnemy, NeutralStanceWhat diplomatic stances can be infiltrated by this actor.
EnterBehaviourDisposeEnterBehaviourBehaviour when entering the target. Possible values are Exit, Suicide, Dispose.
NotificationStringNotification to play when a target is infiltrated.
PlayerExperience0IntegerExperience to grant to the infiltrating player.
EnterCursorenterString
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

MadTank

Requires traits: Explodes, WithFacingSpriteBody.

PropertyDefault ValueTypeDescription
ThumpSequencepistonString
ThumpInterval8Integer
ThumpDamageWeaponMADTankThumpString
ChargeDelay96IntegerMeasured in ticks.
ChargeSoundmadchrg2.audString
DetonationDelay42IntegerMeasured in ticks.
DetonationSoundmadexplo.audString
DetonationWeaponMADTankDetonateString
DriverActore1String
VoiceActionString
DeployedConditionStringThe condition to grant to self while deployed.
DamageTypesCollection of DamageTypeTypes of damage that this trait causes to self while self-destructing. Leave empty for no damage types.

Mine

PropertyDefault ValueTypeDescription
CrushClassesCollection of CrushClass
AvoidFriendlyTrueBoolean
BlockFriendlyTrueBoolean
DetonateClassesCollection of CrushClass

MineImmune

Tag trait for stuff that should not trigger mines.

Minelayer

Requires trait: Rearmable.

PropertyDefault ValueTypeDescription
MineminvString
AmmoPoolNameprimaryString
MinefieldDepth1c5121D World Distance
VoiceActionStringVoice to use when ordered to lay a minefield.
TileValidNamebuild-validStringSprite overlay to use for valid minefield cells.
TileInvalidNamebuild-invalidStringSprite overlay to use for invalid minefield cells.
TileUnknownNamebuild-unknownStringSprite overlay to use for minefield cells hidden behind fog or shroud.

ChronoshiftPaletteEffect

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

PropertyDefault ValueTypeDescription
ChronoEffectLength60IntegerMeasured in ticks.

LightPaletteRotator

Palette effect used for blinking "animations" on actors.

PropertyDefault ValueTypeDescription
ExcludePalettesSet of StringPalettes this effect should not apply to.
TimeStep0.5Real Number'Speed' at which the effect cycles through palette indices.
ModifyIndex103IntegerPalette index to map to rotating color indices.
RotationIndices230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 238, 237, 236, 235, 234, 233, 232, 231Collection of IntegerPalette indices to rotate through.

PortableChrono

PropertyDefault ValueTypeDescription
ChargeDelay500IntegerCooldown in ticks until the unit can teleport.
HasDistanceLimitTrueBooleanCan the unit teleport only a certain distance?
MaxDistance12IntegerThe maximum distance in cells this unit can teleport (only used if HasDistanceLimit = true).
ChronoshiftSoundchrotnk1.audStringSound to play when teleporting.
DeployCursordeployStringCursor to display when able to deploy the actor.
DeployBlockedCursordeploy-blockedStringCursor to display when unable to deploy the actor.
TargetCursorchrono-targetStringCursor to display when targeting a teleport location.
TargetBlockedCursormove-blockedStringCursor to display when the targeted location is blocked.
KillCargoTrueBooleanKill cargo on teleporting.
FlashScreenFalseBooleanFlash the screen on teleporting.
VoiceActionString

RenderJammerCircle

RenderShroudCircle

PropertyDefault ValueTypeDescription
Color00FFFF80Color (RRGGBB[AA] notation)Color of the circle.
ContrastColor00000060Color (RRGGBB[AA] notation)Contrast color of the circle.

WithBuildingBib

Requires traits: Building, RenderSprites.

PropertyDefault ValueTypeDescription
SequencebibString
PaletteterrainString
HasMinibibFalseBoolean

ResourcePurifier

Gives additional cash when resources are delivered to refineries.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage value of the resource to grant as cash.
ShowTicksTrueBooleanWhether to show the cash tick indicators rising from the actor.
TickLifetime30IntegerHow long the cash ticks stay on the screen.
TickRate10IntegerHow often the cash ticks can appear.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackOrderPower

Requires trait: AttackBase.

PropertyDefault ValueTypeDescription
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameAttackOrderPowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ChronoshiftPower

PropertyDefault ValueTypeDescription
Range1IntegerTarget actor selection radius in cells.
Duration750IntegerTicks until returning after teleportation.
TargetOverlayPaletteterrainString
FootprintImageoverlayString
ValidFootprintSequencetarget-validString
InvalidFootprintSequencetarget-invalidString
SourceFootprintSequencetarget-selectString
KillCargoTrueBoolean
SelectionCursorchrono-selectStringCursor sequence to use when selecting targets for the chronoshift.
TargetCursorchrono-targetStringCursor sequence to use when targeting an area for the chronoshift.
TargetBlockedCursormove-blockedStringCursor sequence to use when the targeted area is blocked.
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameChronoshiftPowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GpsPower

Requires GpsWatcher on the player actor.

PropertyDefault ValueTypeDescription
RevealDelay0IntegerDelay in ticks between launching and revealing the map.
DoorImageatekString
DoorSequenceactiveString
DoorPaletteplayerStringPalette to use for rendering the launch animation
DoorPaletteIsPlayerPaletteTrueBooleanCustom palette is a player palette BaseName
SatelliteImagesputnikString
SatelliteSequenceidleString
SatellitePaletteplayerStringPalette to use for rendering the satellite projectile
SatellitePaletteIsPlayerPaletteTrueBooleanCustom palette is a player palette BaseName
RequiresActiveRadarTrueBooleanRequires an actor with an online ProvidesRadar to show GPS dots.
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameGpsPowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantPrerequisiteChargeDrainPower

Grants a prerequisite while discharging at a configurable rate.

PropertyDefault ValueTypeDescription
DischargeModifier300IntegerRate at which the power discharges compared to charging
Prerequisite(required)StringThe prerequisite type that this provides.
ActiveTextACTIVEStringLabel to display over the support power icon and in its tooltip while the power is active.
AvailableTextREADYStringLabel to display over the support power icon and in its tooltip while the power is available but not active.
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameGrantPrerequisiteChargeDrainPowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

IonCannonPower

PropertyDefault ValueTypeDescription
CameraActorStringActor to spawn when the attack starts
CameraRemoveDelay25IntegerNumber of ticks to keep the camera alive
EffectionsfxStringEffect sequence sprite image
EffectSequenceidleStringEffect sequence to display
EffectPaletteeffectString
WeaponIonCannonStringWhich weapon to fire
WeaponDelay7IntegerApply the weapon impact this many ticks into the effect
OnFireSoundStringSound to instantly play at the targeted area.
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameIonCannonPowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TDGunboat

PropertyDefault ValueTypeDescription
Speed28Integer
InitialFacing64IntegerFacing to use when actor spawns. Only 64 and 192 supported.
PreviewFacing64IntegerFacing to use for actor previews (map editor, color picker, etc). Only 64 and 192 supported.

TransferTimedExternalConditionOnTransform

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

Requires trait: Transforms.

PropertyDefault ValueTypeDescription
Condition(required)StringExternal condition to transfer

ShroudPalette

Adds the hard-coded shroud palette to the game

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name
FogFalseBooleanPalette type

TSShroudPalette

Adds the hard-coded shroud palette to the game

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name

VoxelNormalsPalette

PropertyDefault ValueTypeDescription
NamenormalsString
TypeTiberianSunNormalTypeCan be TiberianSun or RedAlert2

OpenRA.Mods.Cnc.Traits.Render

WithCargo

Renders the cargo loaded into the unit.

Requires traits: BodyOrientation, Cargo.

PropertyDefault ValueTypeDescription
LocalOffset0,0,0Collection of 3D World VectorCargo position relative to turret or body in (forward, right, up) triples. The default offset should be in the middle of the list.
DisplayTypesSet of StringPassenger CargoType to display.

WithDisguisingInfantryBody

Requires traits: Disguise, RenderSprites.

PropertyDefault ValueTypeDescription
MinIdleDelay30Integer
MaxIdleDelay110Integer
MoveSequencerunString
DefaultAttackSequenceString
AttackSequencesMapping of String to StringAttack sequence to use for each armament.
IdleSequencesCollection of String
StandSequencesstandCollection of String
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithDockingOverlay

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

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
Sequenceunload-overlayStringSequence name to use
Offset0,0,03D World VectorPosition relative to body
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithEmbeddedTurretSpriteBody

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

Requires traits: BodyOrientation, RenderSprites, Turreted.

PropertyDefault ValueTypeDescription
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithGunboatBody

Requires traits: BodyOrientation, RenderSprites, Turreted.

PropertyDefault ValueTypeDescription
TurretprimaryStringTurreted 'Turret' key to display
LeftSequenceleftString
RightSequencerightString
WakeLeftSequencewake-leftString
WakeRightSequencewake-rightString
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithHarvesterSpriteBody

Requires traits: BodyOrientation, Harvester, RenderSprites.

PropertyDefault ValueTypeDescription
ImageByFullnessCollection of StringImages switched between depending on fullness of harvester. Overrides RenderSprites.Image.
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithLandingCraftAnimation

Requires traits: Cargo, WithSpriteBody.

PropertyDefault ValueTypeDescription
OpenTerrainTypesClearSet of String
OpenSequenceopenString
CloseSequencecloseString
UnloadSequenceunloadString
BodybodyStringWhich sprite body to play the animation on.

WithRoof

Provides an overlay for the Tiberian Dawn hover craft.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SequenceroofString

WithTeslaChargeAnimation

This actor displays a charge-up animation before firing.

Requires traits: RenderSprites, WithSpriteBody.

PropertyDefault ValueTypeDescription
ChargeSequenceactiveStringSequence to use for charge animation.
BodybodyStringWhich sprite body to play the animation on.

WithTeslaChargeOverlay

Rendered together with AttackCharge.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName

WithVoxelUnloadBody

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
UnloadSequenceunloadStringVoxel sequence name to use when docked to a refinery.
IdleSequenceidleStringVoxel sequence name to use when undocked from a refinery.
ShowShadowTrueBooleanDefines if the Voxel should have a shadow.

WithVoxelWalkerBody

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
SequenceidleString
TickRate5IntegerThe speed of the walker's legs.
ShowShadowTrueBooleanDefines if the Voxel should have a shadow.

OpenRA.Mods.Common.Commands

ChatCommands

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

DebugVisualizationCommands

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

DevCommands

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

HelpCommand

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

PlayerCommands

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

OpenRA.Mods.Common.Scripting

LuaScript

Part of the new Lua API.

Requires trait: SpawnMapActors.

PropertyDefault ValueTypeDescription
ScriptsSet of String

ScriptTriggers

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

OpenRA.Mods.Common.Traits

AcceptsDeliveredCash

Tag trait for actors with DeliversCash.

PropertyDefault ValueTypeDescription
ValidTypesSet of StringAccepted DeliversCash types. Leave empty to accept all types.
ValidStancesAllyStanceStance the delivering actor needs to enter.
SoundsCollection of StringPlay a randomly selected sound from this list when accepting cash.

AcceptsDeliveredExperience

Tag trait for actors with DeliversExperience.

Requires trait: GainsExperience.

PropertyDefault ValueTypeDescription
ValidTypesSet of StringAccepted DeliversExperience types. Leave empty to accept all types.
ValidStancesAllyStanceStance the delivering actor needs to enter.

ActorSpawner

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

PropertyDefault ValueTypeDescription
TypesSet of StringType of ActorSpawner with which it connects.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Aircraft

PropertyDefault ValueTypeDescription
IdleBehaviorNoneIdleBehaviorTypeBehavior when aircraft becomes idle. Options are Land, ReturnToBase, LeaveMap, and None. 'Land' will behave like 'None' (hover or circle) if a suitable landing site is not available.
CruiseAltitude1c2561D World Distance
RepulsableTrueBooleanWhether the aircraft can be repulsed.
IdealSeparation1c6821D World DistanceThe distance it tries to maintain from other aircraft if repulsable.
RepulsionSpeed-1IntegerThe speed at which the aircraft is repulsed from other aircraft. Specify -1 for normal movement speed.
InitialFacing0Integer
TurnSpeed255Integer
IdleTurnSpeed-1IntegerTurn speed to apply when aircraft flies in circles while idle. Defaults to TurnSpeed if negative.
Speed1Integer
MinAirborneAltitude1IntegerMinimum altitude where this aircraft is considered airborne.
LandableTerrainTypesSet of String
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
CrushesCollection of CrushClasse.g. crate, wall, infantry
CrushDamageTypesCollection of DamageTypeTypes of damage that are caused while crushing. Leave empty for no damage types.
VoiceActionString
AirborneConditionStringThe condition to grant to self while airborne.
CruisingConditionStringThe condition to grant to self while at cruise altitude.
CanHoverFalseBooleanCan the actor hover in place mid-air? If not, then the actor will have to remain in motion (circle around).
CanSlideFalseBooleanCan the actor immediately change direction without turning first (doesn't need to fly in a curve)?
VTOLFalseBooleanDoes the actor land and take off vertically?
TurnToLandFalseBooleanDoes this VTOL actor need to turn before landing (on terrain)?
TurnToDockTrueBooleanDoes this VTOL actor need to turn before landing on a resupplier?
TakeOffOnResupplyFalseBooleanDoes this actor automatically take off after resupplying?
TakeOffOnCreationTrueBooleanDoes this actor automatically take off after creation?
CanForceLandTrueBooleanCan this actor be given an explicit land order using the force-move modifier?
LandAltitude0c01D World DistanceAltitude at which the aircraft considers itself landed.
LandRange5c01D World DistanceRange to search for an alternative landing location if the ordered cell is blocked.
MaximumPitch281D World AngleHow fast this actor ascends or descends during horizontal movement.
AltitudeVelocity0c431D World DistanceHow fast this actor ascends or descends when moving vertically only (vertical take off/landing or hovering towards CruiseAltitude).
TakeoffSoundsCollection of StringSounds to play when the actor is taking off.
LandingSoundsCollection of StringSounds to play when the actor is landing.
WaitDistanceFromResupplyBase3c01D World DistanceThe distance of the resupply base that the aircraft will wait for its turn.
NumberOfTicksToVerifyAvailableAirport150IntegerThe number of ticks that a airplane will wait to make a new search for an available airport.
PreviewFacing96IntegerFacing to use for actor previews (map editor, color picker, etc)
EditorFacingDisplayOrder3IntegerDisplay order for the facing slider in the map editor
RequireForceMoveConditionBooleanExpressionBoolean expression defining the condition under which the regular (non-force) move cursor is disabled.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackAircraft

Requires trait: Aircraft.

PropertyDefault ValueTypeDescription
AttackTypeDefaultAirAttackTypeAttack behavior. Currently supported types are: Default: Attack while following the default movement rules. Hover: Hover, even if the Aircraft can't hover while idle. Strafe: Perform a fixed-length attack run on the target.
StrafeRunLength0c01D World DistanceDistance the strafing aircraft makes to a target before turning for another pass. When set to WDist.Zero this defaults to the maximum armament range.
AbortOnResupplyTrueBooleanDoes this actor cancel its attack activity when it needs to resupply? Setting this to 'false' will make the actor resume attack after reloading.
OpportunityFireTrueBooleanAutomatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargetingTrueBooleanKeep firing on targets even after attack order is cancelled
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance128IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackBomber

PropertyDefault ValueTypeDescription
FacingTolerance2IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance2IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean 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.

PropertyDefault ValueTypeDescription
ExplosionUnitExplodeStringExplosion weapon that triggers when hitting ground.
MaximumSpinSpeed-1IntegerLimit the maximum spin (in facing units per tick) that can be achieved while crashing. 0 disables spinning. Negative values imply no limit.
MovesFalseBooleanDoes the aircraft (husk) move forward at aircraft speed?
Velocity0c431D World DistanceVelocity (per tick) at which aircraft falls to ground.

AmmoPool

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

PropertyDefault ValueTypeDescription
NameprimaryStringName of this ammo pool, used to link reload traits to this pool.
Armamentsprimary, secondaryCollection of StringName(s) of armament(s) that use this pool.
Ammo1IntegerHow much ammo does this pool contain when fully loaded.
InitialAmmo-1IntegerInitial ammo the actor is created with. Defaults to Ammo.
PipCount-1IntegerDefaults to value in Ammo. 0 means no visible pips.
PipTypeGreenPipTypePipType to use for loaded ammo.
PipTypeEmptyTransparentPipTypePipType to use for empty ammo.
ReloadCount1IntegerHow much ammo is reloaded after a certain period.
RearmSoundStringSound to play for each reloaded ammo magazine.
ReloadDelay50IntegerTime to reload per ReloadCount on airfield etc.
AmmoConditionStringThe condition to grant to self for each ammo point in this pool.

AppearsOnMapPreview

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

PropertyDefault ValueTypeDescription
Color00000000Color (RRGGBB[AA] notation)Use this color to render the actor, instead of owner player color.
TerrainStringUse this terrain color to render the actor, instead of owner player color. Overrides Color if both set.

Armament

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

Requires trait: AttackBase.

PropertyDefault ValueTypeDescription
NameprimaryString
Weapon(required)StringHas to be defined in weapons.yaml as well.
TurretprimaryStringWhich turret (if present) should this armament be assigned to.
FireDelay0IntegerTime (in frames) until the weapon can fire again.
LocalOffsetCollection of 3D World VectorMuzzle 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.
LocalYawCollection of 1D World AngleMuzzle yaw relative to turret or body.
Recoil0c01D World DistanceMove the turret backwards when firing.
RecoilRecovery0c91D World DistanceRecoil recovery per-frame
MuzzleSequenceStringMuzzle flash sequence to render
MuzzlePaletteeffectStringPalette to render Muzzle flash sequence in
MuzzleSplitFacings0IntegerUse multiple muzzle images if non-zero
ReloadingConditionStringCondition to grant while reloading.
TargetStancesEnemyStance
ForceTargetStancesEnemy, Neutral, AllyStance
CursorattackString
OutsideRangeCursorattackoutsiderangeString
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Armor

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

PropertyDefault ValueTypeDescription
TypeString
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackCharges

Actor must charge up its armaments before firing.

PropertyDefault ValueTypeDescription
ChargeLevel25IntegerAmount of charge required to attack.
ChargeRate1IntegerAmount to increase the charge level each tick with a valid target.
DischargeRate1IntegerAmount to decrease the charge level each tick without a valid target.
ChargingConditionStringThe condition to grant to self while the charge level is greater than zero.
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance128IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackFollow

Actor will follow units until in range to attack them.

PropertyDefault ValueTypeDescription
OpportunityFireTrueBooleanAutomatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargetingTrueBooleanKeep firing on targets even after attack order is cancelled
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance128IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackFrontal

Unit got to face the target

PropertyDefault ValueTypeDescription
FacingTolerance0IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance0IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackGarrisoned

Cargo can fire their weapons out of fire ports.

Requires trait: Cargo.

PropertyDefault ValueTypeDescription
PortOffsets(required)Collection of 3D World VectorFire port offsets in local coordinates.
PortYaws(required)Collection of 1D World AngleFire port yaw angles.
PortCones(required)Collection of 1D World AngleFire port yaw cone angle.
MuzzlePaletteeffectString
OpportunityFireTrueBooleanAutomatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargetingTrueBooleanKeep firing on targets even after attack order is cancelled
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance128IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackOmni

PropertyDefault ValueTypeDescription
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance128IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttackTurreted

Actor has a visual turret used to attack.

Requires trait: Turreted.

PropertyDefault ValueTypeDescription
TurretsprimaryCollection of StringTurret names
OpportunityFireTrueBooleanAutomatically acquire and fire on targets of opportunity when not actively attacking.
PersistentTargetingTrueBooleanKeep firing on targets even after attack order is cancelled
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance128IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean 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.

PropertyDefault ValueTypeDescription
VoiceActionString
AttackMoveConditionStringThe condition to grant to self while an attack-move is active.
AssaultMoveConditionStringThe condition to grant to self while an assault-move is active.
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?

AttackWander

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

Requires trait: AttackMove.

PropertyDefault ValueTypeDescription
WanderMoveRadius1Integer
ReduceMoveRadiusDelay5IntegerNumber of ticks to wait before decreasing the effective move radius.
MinMoveDelay0IntegerMinimum amount of ticks the actor will sit idly before starting to wander.
MaxMoveDelay0IntegerMaximum amount of ticks the actor will sit idly before starting to wander.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AutoCarryable

Can be carried by units with the trait Carryall.

PropertyDefault ValueTypeDescription
MinDistance6c01D World DistanceRequired distance away from destination before requesting a pickup. Default is 6 cells.
ReservedConditionStringThe condition to grant to self while a carryall has been reserved.
CarriedConditionStringThe condition to grant to self while being carried.
LockedConditionStringThe condition to grant to self while being locked for carry.
LocalOffset0,0,03D World VectorCarryall attachment point relative to body.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AutoCarryall

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

Requires traits: Aircraft, BodyOrientation.

PropertyDefault ValueTypeDescription
BeforeLoadDelay0IntegerDelay (in ticks) on the ground while attaching an actor to the carryall.
BeforeUnloadDelay0IntegerDelay (in ticks) on the ground while detaching an actor from the carryall.
LocalOffset0,0,03D World VectorCarryable attachment point relative to body.
DropRange5c01D World DistanceRadius around the target drop location that are considered if the target tile is blocked.
UnloadCursordeployStringCursor to display when able to unload the passengers.
UnloadBlockedCursordeploy-blockedStringCursor to display when unable to unload the passengers.
AllowDropOffFalseBooleanAllow moving and unloading with one order using force-move
DropOffCursorabilityStringCursor to display when able to drop off the passengers at location.
DropOffBlockedCursormove-blockedStringCursor to display when unable to drop off the passengers at location.
VoiceActionString

AutoTarget

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

Requires trait: AttackBase.

PropertyDefault ValueTypeDescription
AllowMovementTrueBooleanIt will try to hunt down the enemy if it is set to AttackAnything.
AllowTurningTrueBooleanIt will try to pivot to face the enemy if stance is not HoldFire.
ScanOnIdleTrueBooleanScan for new targets when idle.
ScanRadius-1IntegerSet to a value >1 to override weapons maximum range for this.
InitialStanceAIAttackAnythingUnitStancePossible values are HoldFire, ReturnFire, Defend and AttackAnything. Used for computer-controlled players, both Lua-scripted and regular Skirmish AI alike.
InitialStanceDefendUnitStancePossible values are HoldFire, ReturnFire, Defend and AttackAnything. Used for human players.
HoldFireConditionStringThe condition to grant to self while in the HoldFire stance.
ReturnFireConditionStringThe condition to grant to self while in the ReturnFire stance.
DefendConditionStringThe condition to grant to self while in the Defend stance.
AttackAnythingConditionStringThe condition to grant to self while in the AttackAnything stance.
EnableStancesTrueBooleanAllow the player to change the unit stance.
MinimumScanTimeInterval3IntegerTicks to wait until next AutoTarget: attempt.
MaximumScanTimeInterval8IntegerTicks to wait until next AutoTarget: attempt.
EditorStanceDisplayOrder1IntegerDisplay order for the stance dropdown in the map editor
RequiresConditionBooleanExpressionBoolean 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.

PropertyDefault ValueTypeDescription
ValidTargetsGround, Water, AirCollection of TargetableTypeTarget types that can be AutoTargeted.
InvalidTargetsCollection of TargetableTypeTarget types that can't be AutoTargeted. Overrules ValidTargets.
ValidStancesEnemy, Neutral, AllyStanceStances between actor's and target's owner which can be AutoTargeted.
Priority1IntegerValidTargets with larger priorities will be AutoTargeted before lower priorities.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

BlocksProjectiles

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

PropertyDefault ValueTypeDescription
Height1c01D World Distance
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

BodyOrientation

PropertyDefault ValueTypeDescription
QuantizedFacings-1IntegerNumber of facings for gameplay calculations. -1 indicates auto-detection from another trait
CameraPitch1131D World AngleCamera pitch for rotation calculations
UseClassicPerspectiveFudgeTrueBooleanFudge the coordinate system angles like the early games.
UseClassicFacingFudgeFalseBooleanFudge the coordinate system angles like the early games.

BaseBuilderBotModule

Manages AI base construction.

PropertyDefault ValueTypeDescription
ConstructionYardTypesSet of StringTells the AI what building types are considered construction yards.
VehiclesFactoryTypesSet of StringTells the AI what building types are considered vehicle production facilities.
RefineryTypesSet of StringTells the AI what building types are considered refineries.
PowerTypesSet of StringTells the AI what building types are considered power plants.
BarracksTypesSet of StringTells the AI what building types are considered infantry production facilities.
ProductionTypesSet of StringTells the AI what building types are considered production facilities.
NavalProductionTypesSet of StringTells the AI what building types are considered naval production facilities.
SiloTypesSet of StringTells the AI what building types are considered silos (resource storage).
BuildingQueuesBuildingSet of StringProduction queues AI uses for buildings.
DefenseQueuesDefenseSet of StringProduction queues AI uses for defenses.
MinBaseRadius2IntegerMinimum distance in cells from center of the base when checking for building placement.
MaxBaseRadius20IntegerRadius in cells around the center of the base to expand.
MinimumExcessPower0IntegerMinimum excess power the AI should try to maintain.
MaximumExcessPower0IntegerThe targeted excess power the AI tries to maintain cannot rise above this.
ExcessPowerIncrement0IntegerIncrease maintained excess power by this amount for every ExcessPowerIncreaseThreshold of base buildings.
ExcessPowerIncreaseThreshold1IntegerIncrease maintained excess power by ExcessPowerIncrement for every N base buildings.
StructureProductionInactiveDelay125IntegerAdditional delay (in ticks) between structure production checks when there is no active production. StructureProductionRandomBonusDelay is added to this.
StructureProductionActiveDelay0IntegerAdditional delay (in ticks) added between structure production checks when actively building things. Note: The total delay is gamespeed OrderLatency x 4 + this + StructureProductionRandomBonusDelay.
StructureProductionRandomBonusDelay10IntegerA random delay (in ticks) of up to this is added to active/inactive production delays.
StructureProductionResumeDelay1500IntegerDelay (in ticks) until retrying to build structure after the last 3 consecutive attempts failed.
MaximumFailedPlacementAttempts3IntegerAfter how many failed attempts to place a structure should AI give up and wait for StructureProductionResumeDelay before retrying.
MaxResourceCellsToCheck3IntegerHow many randomly chosen cells with resources to check when deciding refinery placement.
CheckForNewBasesDelay1500IntegerDelay (in ticks) until rechecking for new BaseProviders.
PlaceDefenseTowardsEnemyChance100IntegerChance that the AI will place the defenses in the direction of the closest enemy building.
MinimumDefenseRadius5IntegerMinimum range at which to build defensive structures near a combat hotspot.
MaximumDefenseRadius20IntegerMaximum range at which to build defensive structures near a combat hotspot.
NewProductionCashThreshold5000IntegerTry to build another production building if there is too much cash.
RallyPointScanRadius8IntegerRadius in cells around a factory scanned for rally points by the AI.
CheckForWaterRadius8IntegerRadius 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.
WaterTerrainTypesWaterSet of StringTerrain types which are considered water for base building purposes.
BuildingFractionsMapping of String to IntegerWhat buildings to the AI should build. What integer percentage of the total base must be this type of building.
BuildingLimitsMapping of String to IntegerWhat buildings should the AI have a maximum limit to build.
BuildingDelaysMapping of String to IntegerWhen should the AI start building specific buildings.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

BuildingRepairBotModule

Manages AI repairing base buildings.

PropertyDefault ValueTypeDescription
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CaptureManagerBotModule

Manages AI capturing logic.

PropertyDefault ValueTypeDescription
CapturingActorTypesSet of StringActor types that can capture other actors (via Captures). Leave this empty to disable capturing.
CapturableActorTypesSet of StringActor types that can be targeted for capturing. Leave this empty to include all actors.
MinimumCaptureDelay375IntegerMinimum delay (in ticks) between trying to capture with CapturingActorTypes.
MaximumCaptureTargetOptions10IntegerMaximum number of options to consider for capturing. If a value less than 1 is given 1 will be used instead.
CheckCaptureTargetsForVisibilityTrueBooleanShould visibility (Shroud, Fog, Cloak, etc) be considered when searching for capturable targets?
CapturableStancesEnemy, NeutralStancePlayer stances that capturers should attempt to target.
RequiresConditionBooleanExpressionBoolean 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.

PropertyDefault ValueTypeDescription
HarvesterTypesSet of StringActor 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.
RefineryTypesSet of StringActor types that are counted as refineries. Currently only needed by harvester replacement system.
ScanForIdleHarvestersInterval50IntegerInterval (in ticks) between giving out orders to idle harvesters.
HarvesterEnemyAvoidanceRadius8c01D World DistanceAvoid enemy actors nearby when searching for a new resource patch. Should be somewhere near the max weapon range.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

McvManagerBotModule

Manages AI MCVs.

PropertyDefault ValueTypeDescription
McvTypesSet of StringActor types that are considered MCVs (deploy into base builders).
ConstructionYardTypesSet of StringActor types that are considered construction yards (base builders).
McvFactoryTypesSet of StringActor types that are able to produce MCVs.
MinimumConstructionYardCount1IntegerTry to maintain at least this many ConstructionYardTypes, build an MCV if number is below this.
ScanForNewMcvInterval20IntegerDelay (in ticks) between looking for and giving out orders to new MCVs.
MinBaseRadius2IntegerMinimum distance in cells from center of the base when checking for MCV deployment location.
MaxBaseRadius20IntegerMaximum 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.
RestrictMCVDeploymentFallbackToBaseTrueBooleanShould deployment of additional MCVs be restricted to MaxBaseRadius if explicit deploy locations are missing or occupied?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SquadManagerBotModule

Manages AI squads.

PropertyDefault ValueTypeDescription
NavalUnitsTypesSet of StringActor types that are valid for naval squads.
ExcludeFromSquadsTypesSet of StringActor types that should generally be excluded from attack squads.
ConstructionYardTypesSet of StringActor types that are considered construction yards (base builders).
NavalProductionTypesSet of StringEnemy building types around which to scan for targets for naval squads.
SquadSize8IntegerMinimum number of units AI must have before attacking.
SquadSizeRandomBonus30IntegerRandom number of up to this many units is added to squad size when creating an attack squad.
AssignRolesInterval50IntegerDelay (in ticks) between giving out orders to units.
RushInterval600IntegerDelay (in ticks) between attempting rush attacks.
AttackForceInterval75IntegerDelay (in ticks) between updating squads.
MinimumAttackForceDelay0IntegerMinimum delay (in ticks) between creating squads.
RushAttackScanRadius15IntegerRadius in cells around enemy BaseBuilder (Construction Yard) where AI scans for targets to rush.
ProtectUnitScanRadius15IntegerRadius in cells around the base that should be scanned for units to be protected.
MaxBaseRadius20IntegerMaximum 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.
IdleScanRadius10IntegerRadius in cells that squads should scan for enemies around their position while idle.
DangerScanRadius10IntegerRadius in cells that squads should scan for danger around their position to make flee decisions.
AttackScanRadius12IntegerRadius in cells that attack squads should scan for enemies around their position when trying to attack.
ProtectionScanRadius8IntegerRadius in cells that protecting squads should scan for enemies around their position.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SupportPowerBotModule

Manages bot support power handling.

Requires trait: SupportPowerManager.

PropertyDefault ValueTypeDescription
Decisions(Collection)Collection of SupportPowerDecisionTells the AI how to use its support powers.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

UnitBuilderBotModule

Controls AI unit production.

PropertyDefault ValueTypeDescription
IdleBaseUnitsMaximum12IntegerOnly produce units as long as there are less than this amount of units idling inside the base.
UnitQueuesVehicle, Infantry, Plane, Ship, AircraftSet of StringProduction queues AI uses for producing units.
UnitsToBuildMapping of String to IntegerWhat units to the AI should build. What relative share of the total army must be this type of unit.
UnitLimitsMapping of String to IntegerWhat units should the AI have a maximum limit to train.
UnitDelaysMapping of String to IntegerWhen should the AI start train specific units.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Buildable

PropertyDefault ValueTypeDescription
PrerequisitesCollection of StringThe 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.
QueueSet of StringProduction queue(s) that can produce this.
BuildAtProductionTypeStringOverride the production structure type (from the Production Produces list) that this unit should be built at.
BuildLimit0IntegerDisable production when there are more than this many of this actor on the battlefield. Set to 0 to disable.
ForceFactionStringForce a specific faction variant, overriding the faction of the producing actor.
IconiconStringSequence of the actor that contains the icon.
IconPalettechromeStringPalette used for the production icon.
BuildDuration-1IntegerBase build time in frames (-1 indicates to use the unit's Value).
BuildDurationModifier60IntegerPercentage modifier to apply to the build duration.
BuildPaletteOrder9999IntegerSort order for the production palette. Smaller numbers are presented earlier.
DescriptionStringText shown in the production tooltip.

ActorPreviewPlaceBuildingPreview

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

PropertyDefault ValueTypeDescription
AnimatedTrueBooleanEnable the building's idle animation.
OverridePaletteStringCustom palette name.
OverridePaletteIsPlayerPaletteTrueBooleanCustom palette is a player palette BaseName.
FootprintUnderPreviewValid, LineBuildPlaceBuildingCellTypeFootprint types to draw underneath the actor preview.
FootprintOverPreviewInvalidPlaceBuildingCellTypeFootprint types to draw above the actor preview.
PaletteterrainStringPalette to use for rendering the placement sprite.
LineBuildSegmentPaletteterrainStringPalette to use for rendering the placement sprite for line build segments.

BaseBuilding

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

BaseProvider

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

PropertyDefault ValueTypeDescription
Range10c01D World Distance
Cooldown0Integer
InitialDelay0Integer
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Bridge

Requires traits: Building, Health.

PropertyDefault ValueTypeDescription
LongFalseBoolean
RepairPropagationDelay20IntegerDelay (in ticks) between repairing adjacent spans in long bridges
Template0UInt16
DamagedTemplate0UInt16
DestroyedTemplate0UInt16
DestroyedPlusNorthTemplate0UInt16
DestroyedPlusSouthTemplate0UInt16
DestroyedPlusBothTemplate0UInt16
ShorePiecesbr1, br2Collection of String
NorthOffsetCollection of Integer
SouthOffsetCollection of Integer
DemolishWeaponDemolishStringThe name of the weapon to use when demolishing the bridge
DamageTypesCollection of DamageTypeTypes of damage that this bridge causes to units over/in path of it while being destroyed/repaired. Leave empty for no damage types.

BridgeHut

Allows bridges to be targeted for demolition and repair.

PropertyDefault ValueTypeDescription
TypesGroundLevelBridgeCollection of StringBridge types to act on
NeighbourOffsetsCollection of 2D Cell VectorOffsets to look for adjacent bridges to act on
RepairPropagationDelay20IntegerDelay between each segment repair step
DemolishPropagationDelay5IntegerDelay between each segment demolish step
RequireForceAttackForHealFalseBooleanHide the repair cursor if the bridge is only damaged (not destroyed)

BridgePlaceholder

Placeholder actor used for dead segments and bridge end ramps.

PropertyDefault ValueTypeDescription
TypeGroundLevelBridgeString
DamageStateUndamagedDamageState
ReplaceWithActorStringActor type to replace with on repair.
NeighbourOffsetsCollection of 2D Cell Vector

Building

PropertyDefault ValueTypeDescription
TerrainTypesSet of StringWhere you are allowed to place the building (Water, Clear, ...)
FootprintMapping of 2D Cell Vector to FootprintCellTypex means cell is blocked, capital X means blocked but not counting as targetable, = means part of the footprint but passable, _ means completely empty.
Dimensions1,12D Cell Vector
LocalCenterOffset0,0,03D World VectorShift center of the actor by this offset.
RequiresBaseProviderFalseBoolean
AllowInvalidPlacementFalseBoolean
RemoveSmudgesOnBuildTrueBooleanClear smudges from underneath the building footprint.
RemoveSmudgesOnSellTrueBooleanClear smudges from underneath the building footprint on sell.
RemoveSmudgesOnTransformTrueBooleanClear smudges from underneath the building footprint on transform.
BuildSoundsCollection of String
UndeploySoundsCollection of String

BuildingInfluence

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

Exit

Where the unit should leave the building. Multiples are allowed if IDs are added: [email protected], ...

PropertyDefault ValueTypeDescription
SpawnOffset0,0,03D World VectorOffset at which that the exiting actor is spawned relative to the center of the producing actor.
ExitCell0,02D Cell VectorCell offset where the exiting actor enters the ActorMap relative to the topleft cell of the producing actor.
Facing-1Integer
ProductionTypesSet of StringType tags on this exit.
ExitDelay0IntegerNumber of ticks to wait before moving into the world.
Priority1IntegerExits with larger priorities will be used before lower priorities.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

FootprintPlaceBuildingPreview

Creates a building placement preview showing only the building footprint.

PropertyDefault ValueTypeDescription
PaletteterrainStringPalette to use for rendering the placement sprite.
LineBuildSegmentPaletteterrainStringPalette to use for rendering the placement sprite for line build segments.

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 [email protected], ...

PropertyDefault ValueTypeDescription
Actor(required)StringName of the actor.
SpawnOffset0,02D Cell VectorOffset relative to the top-left cell of the building.
Facing0IntegerWhich direction the unit should face.
AllowRespawnFalseBooleanWhether another actor should spawn upon re-enabling the trait.
EditorFreeActorDisplayOrder4IntegerDisplay order for the free actor checkbox in the map editor
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

FreeActorWithDelivery

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

PropertyDefault ValueTypeDescription
DeliveringActor(required)StringName of the delivering actor. This actor must have the Carryall trait
SpawnLocation0,02D Cell PositionCell coordinates for spawning the delivering actor. If left blank, the closest edge cell will be chosen.
DeliveryOffset0,02D Cell VectorOffset relative to the top-left cell of the building.
DeliveryRange0c01D World DistanceRange to search for an alternative delivery location if the DeliveryOffset cell is blocked.
Actor(required)StringName of the actor.
SpawnOffset0,02D Cell VectorOffset relative to the top-left cell of the building.
Facing0IntegerWhich direction the unit should face.
AllowRespawnFalseBooleanWhether another actor should spawn upon re-enabling the trait.
EditorFreeActorDisplayOrder4IntegerDisplay order for the free actor checkbox in the map editor
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Gate

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

Requires trait: Building.

PropertyDefault ValueTypeDescription
OpeningSoundString
ClosingSoundString
CloseDelay150IntegerTicks until the gate closes.
TransitionDelay33IntegerTicks until the gate is considered open.
BlocksProjectilesHeight0c6401D World DistanceBlocks bullets scaled to open value.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GivesBuildableArea

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

PropertyDefault ValueTypeDescription
AreaTypes(required)Set of StringTypes of buildable area this actor gives.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GroundLevelBridge

Bridge actor that can't be passed underneath.

Requires trait: Building.

PropertyDefault ValueTypeDescription
TerrainTypeBridgeString
TypeGroundLevelBridgeString
NeighbourOffsetsCollection of 2D Cell Vector
DemolishWeaponDemolishStringThe name of the weapon to use when demolishing the bridge
DamageTypesCollection of DamageTypeTypes of damage that this bridge causes to units over/in path of it while being destroyed/repaired. Leave empty for no damage types.

LegacyBridgeHut

Allows bridges to be targeted for demolition and repair.

LineBuild

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

PropertyDefault ValueTypeDescription
Range5IntegerThe maximum allowed length of the line.
NodeTypeswallSet of StringLineBuildNode 'Types' to attach to.
SegmentTypeStringActor type for line-built segments (defaults to same actor).
SegmentsRequireNodeFalseBooleanDelete generated segments when destroyed or sold.

LineBuildNode

LineBuild actors attach to LineBuildNodes.

PropertyDefault ValueTypeDescription
TypeswallSet of StringThis actor is of LineBuild 'NodeType'...
Connections1,0, 0,1, -1,0, 0,-1Collection of 2D Cell VectorCells (outside the footprint) that contain cells that can connect to this actor.

PlaceBuildingVariants

Place a different building when PlaceBuilding's ToggleVariantKey hotkey is pressed while the PlaceBuildingOrderGenerator is active.

Requires traits: Buildable, Building.

PropertyDefault ValueTypeDescription
Actors(required)Collection of StringVariant actors that can be cycled between when placing a structure.

PrimaryBuilding

Used together with ClassicProductionQueue.

PropertyDefault ValueTypeDescription
PrimaryConditionStringThe condition to grant to self while this is the primary building.
SelectionNotificationStringThe speech notification to play when selecting a primary building.
ProductionQueuesCollection of StringList 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.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProductionAirdrop

Deliver the unit in production via skylift.

PropertyDefault ValueTypeDescription
ReadyAudioReinforceString
ActorType(required)StringCargo aircraft used for delivery. Must have the Aircraft trait.
BaselineSpawnFalseBooleanThe cargo aircraft will spawn at the player baseline (map edge closest to the player spawn)
Facing64IntegerDirection the aircraft should face to land.
Produces(required)Collection of Stringe.g. Infantry, Vehicles, Aircraft, Buildings
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

RallyPoint

Used to waypoint units after production or repair is finished.

PropertyDefault ValueTypeDescription
ImagerallypointString
LineWidth1IntegerWidth (in pixels) of the rallypoint line.
FlagSequenceflagString
CirclesSequencecirclesString
CursorabilityString
PaletteplayerStringCustom indicator palette name
IsPlayerPaletteTrueBooleanCustom palette is a player palette BaseName
PathCollection of 2D Cell VectorA list of 0 or more offsets defining the initial rally point path.
NotificationStringThe speech notification to play when setting a new rallypoint.

Refinery

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
DockAngle0IntegerActual harvester facing when docking, 0-255 counter-clock-wise.
DockOffset0,02D Cell VectorDocking cell relative to top-left cell.
IsDragRequiredFalseBooleanDoes the refinery require the harvester to be dragged in?
DragOffset0,0,03D World VectorVector by which the harvester will be dragged when docking.
DragLength0IntegerIn how many steps to perform the dragging?
UseStorageTrueBooleanStore resources in silos. Adds cash directly without storing if set to false.
DiscardExcessResourcesFalseBooleanDiscard resources once silo capacity has been reached.
ShowTicksTrueBoolean
TickLifetime30Integer
TickVelocity2Integer
TickRate10Integer

RepairableBuilding

Building can be repaired by the repair button.

PropertyDefault ValueTypeDescription
RepairPercent20IntegerCost to fully repair the actor as a percent of its value.
RepairInterval24IntegerNumber of ticks between each repair step.
RepairStep7IntegerThe maximum amount of HP to repair each step.
RepairBonuses100, 150, 175, 200, 220, 240, 260, 280, 300Collection of IntegerThe percentage repair bonus applied with increasing numbers of repairers.
CancelWhenDisabledFalseBooleanCancel the repair state when the trait is disabled.
PlayerExperience0IntegerExperience gained by a player for repairing structures of allied players.
RepairConditionStringThe condition to grant to self while being repaired.
RepairingNotificationString
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

RequiresBuildableArea

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

Requires trait: Building.

PropertyDefault ValueTypeDescription
AreaTypes(required)Set of StringTypes of buildable are this actor requires.
Adjacent2IntegerMaximum range from the actor with 'GivesBuildableArea' this can be placed at.

Reservable

Reserve landing places for aircraft.

SequencePlaceBuildingPreview

Creates a building placement preview based on a defined sequence.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SequenceidleStringSequence name to use.
SequencePaletteStringCustom palette name.
SequencePaletteIsPlayerPaletteTrueBooleanCustom palette is a player palette BaseName.
FootprintUnderPreviewValid, LineBuildPlaceBuildingCellTypeFootprint types to draw underneath the actor preview.
FootprintOverPreviewInvalidPlaceBuildingCellTypeFootprint types to draw above the actor preview.
PaletteterrainStringPalette to use for rendering the placement sprite.
LineBuildSegmentPaletteterrainStringPalette to use for rendering the placement sprite for line build segments.

TransformsIntoAircraft

Add to a building to expose a move cursor that triggers Transforms and issues a move order to the transformed actor.

Requires trait: Transforms.

PropertyDefault ValueTypeDescription
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
DockActors(required)Set of String
VoiceActionString
RequiresForceMoveFalseBooleanRequire the force-move modifier to display the move cursor.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TransformsIntoEntersTunnels

Add to a building to expose a move cursor that triggers Transforms and issues an enter tunnel order to the transformed actor.

Requires trait: Transforms.

PropertyDefault ValueTypeDescription
EnterCursorenterString
EnterBlockedCursorenter-blockedString
VoiceActionString
RequiresForceMoveFalseBooleanRequire the force-move modifier to display the enter cursor.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TransformsIntoMobile

Add to a building to expose a move cursor that triggers Transforms and issues a move order to the transformed actor.

Requires trait: Transforms.

PropertyDefault ValueTypeDescription
Locomotor(required)StringLocomotor used by the transformed actor. Must be defined on the World actor.
CursormoveString
BlockedCursormove-blockedString
VoiceActionString
RequiresForceMoveFalseBooleanRequire the force-move modifier to display the move cursor.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TransformsIntoPassenger

Add to a building to expose a move cursor that triggers Transforms and issues an EnterTransport order to the transformed actor.

Requires trait: Transforms.

PropertyDefault ValueTypeDescription
CargoTypeString
Weight1Integer
VoiceActionString
RequiresForceMoveFalseBooleanRequire the force-move modifier to display the enter cursor.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TransformsIntoRepairable

Add to a building to expose a move cursor that triggers Transforms and issues a repair order to the transformed actor.

Requires trait: Transforms.

PropertyDefault ValueTypeDescription
RepairActors(required)Set of String
VoiceActionString
RequiresForceMoveFalseBooleanRequire the force-move modifier to display the enter cursor.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TransformsIntoTransforms

Add to a building to allow queued transform orders while undeploying.

Requires trait: Transforms.

PropertyDefault ValueTypeDescription
VoiceActionString
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Burns

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

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Anim1String
Damage1Integer
Interval8Integer

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.

PropertyDefault ValueTypeDescription
Types(required)Collection of CaptureTypeCaptureTypes (from the Captures trait) that are able to capture this.
ValidStancesEnemy, NeutralStanceWhat diplomatic stances can be captured by this actor.
CancelActivityFalseBoolean
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CapturableProgressBar

Visualize capture progress.

Requires trait: Capturable.

PropertyDefault ValueTypeDescription
ColorFFA500Color (RRGGBB[AA] notation)
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Blinks the actor and captor when it is being captured.

Requires trait: Capturable.

PropertyDefault ValueTypeDescription
Interval50IntegerNumber of ticks to wait between repeating blinks.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CaptureManager

Manages Captures and Capturable traits on an actor.

PropertyDefault ValueTypeDescription
CapturingConditionStringCondition granted when capturing an actor.
BeingCapturedConditionStringCondition granted when being captured by another actor.
PreventsAutoTargetTrueBooleanShould units friendly to the capturing actor auto-target this actor while it is being captured?

CaptureProgressBar

Visualize the progress of this actor being captured.

Requires trait: Captures.

PropertyDefault ValueTypeDescription
ColorFFA500Color (RRGGBB[AA] notation)
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Captures

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

Requires trait: CaptureManager.

PropertyDefault ValueTypeDescription
CaptureTypes(required)Collection of CaptureTypeTypes of actors that it can capture, as long as the type also exists in the Capturable Type: trait.
SabotageThreshold0IntegerTargets with health above this percentage will be sabotaged instead of captured. Set to 0 to disable sabotaging.
SabotageHPRemoval50IntegerSabotage damage expressed as a percentage of maximum target health.
SabotageDamageTypesCollection of DamageTypeDamage types that applied with the sabotage damage.
CaptureDelay0IntegerDelay (in ticks) that to wait next to the target before initiating the capture.
ConsumedByCaptureTrueBooleanEnter the target actor and be consumed by the capture.
PlayerExperience0IntegerExperience granted to the capturing player.
PlayerExperienceStancesEnemyStanceStance that the structure's previous owner needs to have for the capturing player to receive Experience.
SabotageCursorcaptureString
EnterCursorenterString
EnterBlockedCursorenter-blockedString
VoiceActionString
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Cargo

This actor can transport Passenger actors.

PropertyDefault ValueTypeDescription
MaxWeight0IntegerThe maximum sum of Passenger.Weight that this actor can support.
PipCount0IntegerNumber of pips to display when this actor is selected.
TypesSet of StringPassenger.CargoTypes that can be loaded into this actor.
InitialUnitsCollection of StringA list of actor types that are initially spawned into this actor.
EjectOnSellTrueBooleanWhen this actor is sold should all of its passengers be unloaded?
EjectOnDeathFalseBooleanWhen this actor dies should all of its passengers be unloaded?
UnloadTerrainTypesSet of StringTerrain types that this actor is allowed to eject actors onto. Leave empty for all terrain types.
UnloadVoiceActionStringVoice to play when ordered to unload the passengers.
LoadRange5c01D World DistanceRadius to search for a load/unload location if the ordered cell is blocked.
PassengerFacing128IntegerWhich direction the passenger will face (relative to the transport) when unloading.
AfterLoadDelay8IntegerDelay (in ticks) before continuing after loading a passenger.
BeforeUnloadDelay8IntegerDelay (in ticks) before unloading the first passenger.
AfterUnloadDelay25IntegerDelay (in ticks) before continuing after unloading a passenger.
UnloadCursordeployStringCursor to display when able to unload the passengers.
UnloadBlockedCursordeploy-blockedStringCursor to display when unable to unload the passengers.
LoadingConditionStringThe condition to grant to self while waiting for cargo to load.
LoadedConditionStringThe condition to grant to self while passengers are loaded. Condition can stack with multiple passengers.
PassengerConditionsMapping of String to StringConditions to grant when specified actors are loaded inside the transport. A dictionary of [actor id]: [condition].

Carryable

Can be carried by actors with the Carryall trait.

PropertyDefault ValueTypeDescription
ReservedConditionStringThe condition to grant to self while a carryall has been reserved.
CarriedConditionStringThe condition to grant to self while being carried.
LockedConditionStringThe condition to grant to self while being locked for carry.
LocalOffset0,0,03D World VectorCarryall attachment point relative to body.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CarryableHarvester

Carryall

Transports actors with the Carryable trait.

Requires traits: Aircraft, BodyOrientation.

PropertyDefault ValueTypeDescription
BeforeLoadDelay0IntegerDelay (in ticks) on the ground while attaching an actor to the carryall.
BeforeUnloadDelay0IntegerDelay (in ticks) on the ground while detaching an actor from the carryall.
LocalOffset0,0,03D World VectorCarryable attachment point relative to body.
DropRange5c01D World DistanceRadius around the target drop location that are considered if the target tile is blocked.
UnloadCursordeployStringCursor to display when able to unload the passengers.
UnloadBlockedCursordeploy-blockedStringCursor to display when unable to unload the passengers.
AllowDropOffFalseBooleanAllow moving and unloading with one order using force-move
DropOffCursorabilityStringCursor to display when able to drop off the passengers at location.
DropOffBlockedCursormove-blockedStringCursor to display when unable to drop off the passengers at location.
VoiceActionString

CashTrickler

Lets the actor generate cash in a set periodic time.

PropertyDefault ValueTypeDescription
Interval50IntegerNumber of ticks to wait between giving money.
InitialDelay0IntegerNumber of ticks to wait before giving first money.
Amount15IntegerAmount of money to give each time.
ShowTicksTrueBooleanWhether to show the cash tick indicators rising from the actor.
DisplayDuration30IntegerHow long to show the cash tick indicator when enabled.
UseResourceStorageFalseBooleanUse resource storage for cash granted.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ChangesTerrain

Modifies the terrain type underneath the actors location.

Requires trait: Immobile.

PropertyDefault ValueTypeDescription
TerrainType(required)String

Cloak

This unit can cloak and uncloak in specific situations.

PropertyDefault ValueTypeDescription
InitialDelay10IntegerMeasured in game ticks.
CloakDelay30IntegerMeasured in game ticks.
UncloakOnAttack, Unload, Infiltrate, Demolish, DockUncloakTypeEvents leading to the actor getting uncloaked. Possible values are: Attack, Move, Unload, Infiltrate, Demolish, Dock, Damage, Heal and SelfHeal.
CloakSoundString
UncloakSoundString
PalettecloakString
IsPlayerPaletteFalseBoolean
CloakTypesCloakCollection of CloakType
CloakedConditionStringThe condition to grant to self while cloaked.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CombatDebugOverlay

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

CommandBarBlacklist

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

PropertyDefault ValueTypeDescription
DisableStopTrueBooleanDisable the 'Stop' button for this actor.
DisableWaypointModeTrueBooleanDisable the 'Waypoint Mode' button for this actor.

ConditionManager

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

ExternalCondition

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

Requires trait: ConditionManager.

PropertyDefault ValueTypeDescription
Condition(required)String
SourceCap0IntegerIf > 0, restrict the number of times that this condition can be granted by a single source.
TotalCap0IntegerIf > 0, restrict the number of times that this condition can be granted by any source.

GrantCondition

Grants a condition while the trait is active.

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
GrantPermanentlyFalseBooleanIs the condition irrevocable once it has been activated?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantConditionOnAttack

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition type to grant.
ArmamentNamesprimarySet of StringName of the armaments that grant this condition.
RequiredShotsPerInstance1Collection of IntegerShots 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.
MaximumInstances1IntegerMaximum instances of the condition to grant.
IsCyclicFalseBooleanShould all instances reset if the actor passes the final stage?
RevokeDelay15IntegerAmount of ticks required to pass without firing to revoke an instance.
RevokeOnNewTargetFalseBooleanShould an instance be revoked if the actor changes target?
RevokeAllFalseBooleanShould all instances be revoked instead of only one?
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantConditionOnBotOwner

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

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
Bots(required)Collection of StringBot types that trigger the condition.

GrantConditionOnDamageState

Applies a condition to the actor at specified damage states.

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
EnabledSoundsCollection of StringPlay a random sound from this list when enabled.
DisabledSoundsCollection of StringPlay a random sound from this list when disabled.
ValidDamageStatesHeavy, CriticalDamageStateLevels of damage at which to grant the condition.
GrantPermanentlyFalseBooleanIs the condition irrevocable once it has been activated?

GrantConditionOnDeploy

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

PropertyDefault ValueTypeDescription
UndeployedConditionStringThe condition to grant while the actor is undeployed.
DeployedCondition(required)StringThe condition to grant after deploying and revoke before undeploying.
AllowedTerrainTypesSet of StringThe terrain types that this actor can deploy on. Leave empty to allow any.
CanDeployOnRampsFalseBooleanCan this actor deploy on slopes?
DeployCursordeployStringCursor to display when able to (un)deploy the actor.
DeployBlockedCursordeploy-blockedStringCursor to display when unable to (un)deploy the actor.
Facing-1IntegerFacing that the actor must face before deploying. Set to -1 to deploy regardless of facing.
DeploySoundsCollection of StringPlay a randomly selected sound from this list when deploying.
UndeploySoundsCollection of StringPlay a randomly selected sound from this list when undeploying.
SkipMakeAnimationFalseBooleanSkip make/deploy animation?
UndeployOnMoveFalseBooleanUndeploy before the actor tries to move?
UndeployOnPickupFalseBooleanUndeploy before the actor is picked up by a Carryall?
VoiceActionString
EditorDeployedDisplayOrder4IntegerDisplay order for the deployed checkbox in the map editor
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantConditionOnFaction

Grants a condition while the trait is active.

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
FactionsSet of StringOnly grant this condition for certain factions.
ResetOnOwnerChangeFalseBooleanShould it recheck everything when it is captured?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantConditionOnHealth

Applies a condition to the actor at when its health is between 2 specific values.

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
EnabledSoundsCollection of StringPlay a random sound from this list when enabled.
DisabledSoundsCollection of StringPlay a random sound from this list when disabled.
MinHP0IntegerMinimum level of health at which to grant the condition.
MaxHP0IntegerMaximum level of health at which to grant the condition. Non-positive values will make it use Health.HP.
GrantPermanentlyFalseBooleanIs the condition irrevokable once it has been granted?

GrantConditionOnJumpjetLayer

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to grant to self when changing to specific custom layer.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantConditionOnLineBuildDirection

Requires trait: LineBuild.

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
Direction(required)LineBuildDirectionLine build direction to trigger the condition.

GrantConditionOnMovement

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
ValidMovementTypesHorizontalMovementTypeApply condition on listed movement types. Available options are: None, Horizontal, Vertical, Turn.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantConditionOnPlayerResources

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

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
Threshold0IntegerEnable condition when the amount of stored resources is greater than this.

GrantConditionOnPowerState

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

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
ValidPowerStates(required)PowerStatePowerStates at which the condition is granted. Options are Normal, Low and Critical.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantConditionOnPrerequisite

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

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to grant.
Prerequisites(required)Collection of StringList of required prerequisites.

GrantConditionOnProduction

Grants a condition when this actor produces a specific actor.

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to grant
ActorsSet of StringThe actors to grant condition for. If empty condition will be granted for all actors.
Duration-1IntegerHow long condition is applies for. Use -1 for infinite.
ShowSelectionBarTrueBooleanShow a selection bar while condition is applied if it has a duration.
SelectionBarColorFF00FFColor (RRGGBB[AA] notation)

GrantConditionOnSubterraneanLayer

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

PropertyDefault ValueTypeDescription
SubterraneanTransitionImageStringDig animation image to play when transitioning.
SubterraneanTransitionSequenceStringDig animation sequence to play when transitioning.
SubterraneanTransitionPaletteeffectString
SubterraneanTransitionSoundStringDig sound to play when transitioning.
Condition(required)StringThe condition to grant to self when changing to specific custom layer.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantConditionOnTerrain

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
TerrainTypes(required)Collection of StringTerrain names to trigger the condition.

GrantConditionOnTunnelLayer

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to grant to self when changing to specific custom layer.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantConditionWhileAiming

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to grant while aiming.

GrantExternalConditionToCrusher

Grant a condition to the crushing actor.

PropertyDefault ValueTypeDescription
WarnCrushConditionStringThe condition to apply on a crush attempt. Must be included among the crusher actor's ExternalCondition traits.
WarnCrushDuration0IntegerDuration of the condition applied on a crush attempt (in ticks). Set to 0 for a permanent condition.
OnCrushConditionStringThe condition to apply on a successful crush. Must be included among the crusher actor's ExternalCondition traits.
OnCrushDuration0IntegerDuration of the condition applied on a successful crush (in ticks). Set to 0 for a permanent condition.

GrantExternalConditionToProduced

Grants a condition to actors produced by this actor.

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to apply. Must be included in the produced actor's ExternalConditions list.
Duration0IntegerDuration of the condition (in ticks). Set to 0 for a permanent condition.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

LineBuildSegmentExternalCondition

Applies a condition to connected line build segments.

Requires trait: LineBuild.

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to apply. Must be included in the target actor's ExternalConditions list.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProximityExternalCondition

Applies a condition to actors within a specified range.

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to apply. Must be included in the target actor's ExternalConditions list.
Range3c01D World DistanceThe range to search for actors.
MaximumVerticalOffset0c01D World DistanceThe maximum vertical range above terrain to search for actors. Ignored if 0 (actors are selected regardless of vertical distance).
ValidStancesAllyStanceWhat diplomatic stances are affected.
AffectsParentFalseBooleanCondition is applied permanently to this actor.
EnableSoundString
DisableSoundString
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ToggleConditionOnOrder

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

PropertyDefault ValueTypeDescription
Condition(required)StringCondition to grant.
OrderName(required)StringOrder name that toggles the condition.
EnabledSoundString
EnabledSpeechString
DisabledSoundString
DisabledSpeechString
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Contrail

Draw a colored contrail behind this actor when they move.

Requires trait: BodyOrientation.

PropertyDefault ValueTypeDescription
Offset0,0,03D World VectorPosition relative to body
ZOffset0IntegerOffset for Z sorting.
TrailLength25IntegerLength of the trail (in ticks).
TrailWidth0c641D World DistanceWidth of the trail.
ColorFFFFFFColor (RRGGBB[AA] notation)RGB color of the contrail.
UsePlayerColorTrueBooleanUse player remap color instead of a custom color?

Crate

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Lifetime0IntegerLength of time (in seconds) until the crate gets removed automatically. A value of zero disables auto-removal.
TerrainTypesSet of StringAllowed to land on.
CrushClasscrateStringDefine actors that can collect crates by setting this into the Crushes field from the Mobile trait.

CrateAction

PropertyDefault ValueTypeDescription
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

DuplicateUnitCrateAction

Creates duplicates of the actor that collects the crate.

PropertyDefault ValueTypeDescription
MaxAmount2IntegerThe maximum number of duplicates to make.
MinAmount1IntegerThe minimum number of duplicates to make. Overrules MaxDuplicatesWorth.
MaxDuplicateValue-1IntegerThe maximum total value allowed for the duplicates. Duplication stops if the total worth will exceed this number. -1 = no limit
MaxRadius4IntegerThe maximum radius (in cells) that duplicates can be spawned.
ValidTargetsGround, WaterCollection of TargetableTypeThe list of unit target types we are allowed to duplicate.
ValidFactionsSet of StringWhich factions this crate action can occur for.
OwnerStringIs the new duplicates given to a specific owner, regardless of whom collected it?
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ExplodeCrateAction

Fires a weapon at the location when collected.

PropertyDefault ValueTypeDescription
Weapon(required)StringThe weapon to fire upon collection.
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GiveCashCrateAction

Gives cash to the collector.

PropertyDefault ValueTypeDescription
Amount2000IntegerAmount of cash to give.
UseCashTickFalseBooleanShould the collected amount be displayed as a cash tick?
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GiveMcvCrateAction

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

PropertyDefault ValueTypeDescription
NoBaseSelectionShares1000IntegerThe selection shares to use if the collector has no base.
Units(required)Collection of StringThe list of units to spawn.
ValidFactionsSet of StringFactions that are allowed to trigger this action.
OwnerStringOverride the owner of the newly spawned unit: e.g. Creeps or Neutral
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GiveUnitCrateAction

Spawns units when collected.

PropertyDefault ValueTypeDescription
Units(required)Collection of StringThe list of units to spawn.
ValidFactionsSet of StringFactions that are allowed to trigger this action.
OwnerStringOverride the owner of the newly spawned unit: e.g. Creeps or Neutral
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantExternalConditionCrateAction

Grants a condition on the collector.

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to apply. Must be included in the target actor's ExternalConditions list.
Levels1IntegerHow many times to grant the condition.
Duration0IntegerDuration of the condition (in ticks). Set to 0 for a permanent condition.
Range0c31D World DistanceThe range to search for extra collectors in. Extra collectors will also be granted the crate action.
MaxExtraCollectors4IntegerThe maximum number of extra collectors to grant the crate action to. -1 = no limit
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

HealUnitsCrateAction

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

PropertyDefault ValueTypeDescription
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

HideMapCrateAction

Hides the entire map in shroud.

PropertyDefault ValueTypeDescription
IncludeAlliesFalseBooleanShould the map also be hidden for the allies of the collector's owner?
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

LevelUpCrateAction

Gives experience levels to the collector.

PropertyDefault ValueTypeDescription
Levels1IntegerNumber of experience levels to give.
Range0c31D World DistanceThe range to search for extra collectors in. Extra collectors will also be granted the crate action.
MaxExtraCollectors4IntegerThe maximum number of extra collectors to grant the crate action to.
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

RevealMapCrateAction

Reveals the entire map.

PropertyDefault ValueTypeDescription
IncludeAlliesFalseBooleanShould the map also be revealed for the allies of the collector's owner?
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SupportPowerCrateAction

Gives a supportpower to the collector.

PropertyDefault ValueTypeDescription
Proxy(required)StringWhich proxy actor, which grants the support power, to spawn.
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
Imagecrate-effectsStringImage containing the crate effect animation sequence.
SequenceStringAnimation sequence played when collected. Leave empty for no effect.
PaletteeffectStringPalette to draw the animation in.
SoundStringAudio clip to play when the crate is collected.
NotificationStringNotification to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesCollection of StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesCollection of StringActor types that this crate action will not occur for.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CreatesShroud

PropertyDefault ValueTypeDescription
ValidStancesEnemy, NeutralStanceStance the watching player needs to see the generated shroud.
MinRange0c01D World Distance
Range0c01D World Distance
MaxHeightDelta-1IntegerIf >= 0, prevent cells that are this much higher than the actor from being revealed.
MoveRecalculationThreshold0c2561D World DistanceIf > 0, force visibility to be recalculated if the unit moves within a cell by more than this distance.
TypeFootprintVisibilityTypePossible values are CenterPosition (measure range from the center) and Footprint (measure range from the footprint)
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Crushable

This actor is crushable.

PropertyDefault ValueTypeDescription
CrushSoundStringSound to play when being crushed.
CrushClassesinfantryCollection of CrushClassWhich crush classes does this actor belong to.
WarnProbability75IntegerProbability of mobile actors noticing and evading a crush attempt.
CrushedByFriendliesFalseBooleanWill friendly units just crush me instead of pathing around.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CustomSellValue

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

PropertyDefault ValueTypeDescription
Value(required)Integer

DamagedByTerrain

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

PropertyDefault ValueTypeDescription
Damage(required)IntegerAmount of damage received per DamageInterval ticks.
DamageInterval0IntegerDelay between receiving damage.
DamageTypesCollection of DamageTypeApply the damage using these damagetypes.
Terrain(required)Collection of StringTerrain types where the actor will take damage.
DamageThreshold0IntegerPercentage health below which the actor will not receive further damage.
StartOnThresholdFalseBooleanInflict damage down to the DamageThreshold when the actor gets created on damaging terrain.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

DeliversCash

Donate money to actors with the AcceptsDeliveredCash trait.

PropertyDefault ValueTypeDescription
Payload500IntegerThe amount of cash the owner receives.
PlayerExperience0IntegerThe amount of experience the donating player receives.
TypeStringIdentifier checked against AcceptsDeliveredCash.ValidTypes. Only needed if the latter is not empty.
SoundsCollection of StringSound to play when delivering cash
VoiceActionString

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.

PropertyDefault ValueTypeDescription
PlayerExperience0IntegerThe amount of experience the donating player receives.
TypeStringIdentifier checked against AcceptsDeliveredExperience.ValidTypes. Only needed if the latter is not empty.
VoiceActionString

Demolishable

Handle demolitions from C4 explosives.

PropertyDefault ValueTypeDescription
ConditionStringCondition to grant during demolition countdown.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Demolition

PropertyDefault ValueTypeDescription
DetonationDelay45IntegerDelay to demolish the target once the explosive device is planted. Measured in game ticks. Default is 1.8 seconds.
Flashes3IntegerNumber of times to flash the target.
FlashesDelay4IntegerDelay before the flashing starts.
FlashInterval4IntegerInterval between each flash.
EnterBehaviourExitEnterBehaviourBehaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
VoiceActionStringVoice string when planting explosive charges.
TargetStancesEnemy, NeutralStance
ForceTargetStancesEnemy, Neutral, AllyStance
Cursorc4String

DetectCloaked

Actor can reveal Cloak actors in a specified range.

PropertyDefault ValueTypeDescription
CloakTypesCloakCollection of CloakTypeSpecific cloak classifications I can reveal.
Range5c01D World Distance
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

EjectOnDeath

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

PropertyDefault ValueTypeDescription
PilotActorE1StringName of the unit to eject. This actor type needs to have the Parachutable trait defined.
SuccessRate50IntegerProbability that the aircraft's pilot gets ejected once the aircraft is destroyed.
ChuteSoundStringSound to play when ejecting the pilot from the aircraft.
EjectInAirFalseBooleanCan a destroyed aircraft eject its pilot while it has not yet fallen to ground level?
EjectOnGroundFalseBooleanCan a destroyed aircraft eject its pilot when it falls to ground level?
AllowUnsuitableCellFalseBooleanRisks stuck units when they don't have the Paratrooper trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

EngineerRepair

Can instantly repair other actors, but gets consumed afterwards.

PropertyDefault ValueTypeDescription
TypesCollection of EngineerRepairTypeUses the "EngineerRepairable" trait to determine repairability.
VoiceActionString
EnterBehaviourDisposeEnterBehaviourBehaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
ValidStancesAllyStanceWhat diplomatic stances allow target to be repaired by this actor.
RepairSoundStringSound to play when repairing is done.
CursorgoldwrenchStringCursor to show when hovering over a valid actor to repair.
RepairBlockedCursorgoldwrench-blockedStringCursor to show when target actor has full health so it can't be repaired.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

EngineerRepairable

Eligible for instant repair.

PropertyDefault ValueTypeDescription
TypesCollection of EngineerRepairTypeActors with these Types under EngineerRepair trait can repair me.

EntersTunnels

This actor can interact with TunnelEntrances to move through TerrainTunnels.

PropertyDefault ValueTypeDescription
EnterCursorenterString
EnterBlockedCursorenter-blockedString
VoiceActionString
RequireForceMoveConditionBooleanExpressionBoolean expression defining the condition under which the regular (non-force) enter cursor is disabled.

ExitsDebugOverlay

Displays Exit data for factories.

Requires trait: Exit.

PropertyDefault ValueTypeDescription
DrawPerimiterCellVectorsTrueBooleanShould cell vectors be drawn for each perimeter cell?
DrawExitCellVectorsTrueBooleanShould cell vectors be drawn for each exit cell?
DrawSpawnOffsetLinesTrueBooleanShould lines be drawn for each exit (from spawn offset to the center of the exit cell)?

ExperienceTrickler

Lets the actor gain experience in a set periodic time.

Requires trait: GainsExperience.

PropertyDefault ValueTypeDescription
Interval50IntegerNumber of ticks to wait between giving experience.
InitialDelay0IntegerNumber of ticks to wait before giving first experience.
Amount15IntegerAmount of experience to give each time.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Explodes

This actor explodes when killed.

PropertyDefault ValueTypeDescription
Weapon(required)StringDefault weapon to use for explosion if ammo/payload is loaded.
EmptyWeaponUnitExplodeStringFallback weapon to use for explosion if empty (no ammo/payload).
LoadedChance100IntegerChance that the explosion will use Weapon instead of EmptyWeapon when exploding, provided the actor has ammo/payload.
Chance100IntegerChance that this actor will explode at all.
DamageThreshold0IntegerHealth level at which actor will explode.
DeathTypesCollection of DamageTypeDeathType(s) that trigger the explosion. Leave empty to always trigger an explosion.
DamageSourceSelfDamageSourceWho is counted as source of damage for explosion. Possible values are Self and Killer.
TypeCenterPositionExplosionTypePossible values are CenterPosition (explosion at the actors' center) and Footprint (explosion on each occupied cell).
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ExplosionOnDamageTransition

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

PropertyDefault ValueTypeDescription
Weapon(required)StringWeapon to use for explosion.
DamageStateHeavyDamageStateAt which damage state explosion will trigger.
TriggerOnlyOnceFalseBooleanShould the explosion only be triggered once?

GainsExperience

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

PropertyDefault ValueTypeDescription
Conditions(required)Mapping of Integer to StringCondition 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.
LevelUpImageStringImage for the level up sprite.
LevelUpSequencelevelupStringSequence for the level up sprite. Needs to be present on Image.
LevelUpPaletteeffectStringPalette for the level up sprite.
ExperienceModifier-1IntegerMultiplier to apply to the Conditions keys. Defaults to the actor's value.
SuppressLevelupAnimationTrueBooleanShould the level-up animation be suppressed when actor is created?
LevelUpNotificationString

GivesBounty

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

PropertyDefault ValueTypeDescription
Percentage10IntegerPercentage of the killed actor's Cost or CustomSellValue to be given.
ValidStancesEnemy, NeutralStanceStance the attacking player needs to receive the bounty.
ShowBountyTrueBooleanWhether to show a floating text announcing the won bounty.
DeathTypesCollection of DamageTypeDeathTypes for which a bounty should be granted. Use an empty list (the default) to allow all DeathTypes.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GivesCashOnCapture

Lets the actor grant cash when captured.

PropertyDefault ValueTypeDescription
ShowTicksTrueBooleanWhether to show the cash tick indicators rising from the actor.
DisplayDuration30IntegerHow long to show the Amount tick indicator when enabled.
Amount0IntegerAmount of money awarded for capturing the actor.
CaptureTypesCollection of CaptureTypeAward cash only if the capturer's CaptureTypes overlap with these types. Leave empty to allow all types.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GivesExperience

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

PropertyDefault ValueTypeDescription
Experience-1IntegerIf -1, use the value of the unit cost.
ValidStancesEnemy, NeutralStanceStance the attacking player needs to receive the experience.
ActorExperienceModifier10000IntegerPercentage of the Experience value that is being granted to the killing actor.
PlayerExperienceModifier0IntegerPercentage of the Experience value that is being granted to the player owning the killing actor.

Guard

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

PropertyDefault ValueTypeDescription
VoiceActionString

Guardable

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

PropertyDefault ValueTypeDescription
Range2c01D World DistanceMaximum range that guarding actors will maintain.

Harvester

Requires trait: Mobile.

PropertyDefault ValueTypeDescription
DeliveryBuildingsSet of String
SearchForDeliveryBuildingDelay125IntegerHow long (in ticks) to wait until (re-)checking for a nearby available DeliveryBuilding if not yet linked to one.
UnblockCell0,42D Cell VectorCell to move to when automatically unblocking DeliveryBuilding.
Capacity28IntegerHow much resources it can carry.
BaleLoadDelay4Integer
BaleUnloadDelay4IntegerHow fast it can dump it's carryage.
BaleUnloadAmount1IntegerHow many bales can it dump at once.
PipCount7IntegerHow many squares to show the fill level.
HarvestFacings0Integer
ResourcesSet of StringWhich resources it can harvest.
FullyLoadedSpeed85IntegerPercentage of maximum speed when fully loaded.
SearchOnCreationTrueBooleanAutomatically scan for resources when created.
SearchFromProcRadius24IntegerInitial search radius (in cells) from the refinery that created us.
SearchFromHarvesterRadius12IntegerSearch radius (in cells) from the last harvest order location to find more resources.
WaitDuration25IntegerInterval to wait between searches when there are no resources nearby.
MaxUnloadQueue3IntegerFind a new refinery to unload at if more than this many harvesters are already waiting.
UnloadQueueCostModifier12IntegerThe pathfinding cost penalty applied for each harvester waiting to unload at a refinery.
ResourceRefineryDirectionPenalty200IntegerThe pathfinding cost penalty applied for cells directly away from the refinery.
QueueFullLoadFalseBooleanDoes the unit queue harvesting runs instead of individual harvest actions?
EmptyConditionStringCondition to grant while empty.
HarvestVoiceActionString
DeliverVoiceActionString

Health

PropertyDefault ValueTypeDescription
HP0IntegerHitPoints
NotifyAppliedDamageTrueBooleanTrigger interfaces such as AnnounceOnKill?
EditorHealthDisplayOrder2IntegerDisplay order for the health slider in the map editor

HitShape

Shape of actor for targeting and damage calculations.

Requires trait: BodyOrientation.

PropertyDefault ValueTypeDescription
TurretStringName of turret this shape is linked to. Leave empty to link shape to body.
TargetableOffsets0,0,0Collection of 3D World VectorCreate a targetable position for each offset listed here (relative to CenterPosition).
UseTargetableCellsOffsetsFalseBooleanCreate a targetable position at the center of each occupied cell. Stacks with TargetableOffsets.
ArmorTypesCollection of ArmorTypeDefines which Armor types apply when the actor receives damage to this HitShape. If none specified, all armor types the actor has are valid.
TypeIHitShape
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Huntable

This actor can be targeted by the Hunt activity.

Husk

Spawns remains of a husk actor with the correct facing.

PropertyDefault ValueTypeDescription
AllowedTerrainSet of String
PreviewFacing96IntegerFacing to use for actor previews (map editor, color picker, etc)

IgnoresCloak

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

IgnoresDisguise

Allows automatic targeting of disguised actors.

Immobile

PropertyDefault ValueTypeDescription
OccupiesSpaceTrueBoolean

ScaredyCat

Makes the unit automatically run around when taking damage.

Requires trait: Mobile.

PropertyDefault ValueTypeDescription
PanicLength250IntegerHow long (in ticks) the actor should panic for.
PanicSpeedModifier200IntegerPanic movement speed as a percentage of the normal speed.
AttackPanicChance20IntegerChance (out of 100) the unit has to enter panic mode when attacked.
PanicSequencePrefixpanic-String

TakeCover

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

Requires trait: BodyOrientation.

PropertyDefault ValueTypeDescription
Duration100IntegerHow long (in ticks) the actor remains prone. Negative values mean actor remains prone permanently.
SpeedModifier50IntegerProne movement speed as a percentage of the normal speed.
DamageTriggersCollection of DamageTypeDamage types that trigger prone state. Defined on the warheads. If Duration is negative (permanent), you can leave this empty to trigger prone state immediately.
DamageModifiersMapping of String to IntegerDamage modifiers for each damage type (defined on the warheads) while the unit is prone.
ProneOffset500,0,03D World VectorMuzzle offset modifier to apply while prone.
ProneSequencePrefixprone-StringSequence prefix to apply while prone.
TurretprimaryString
TurnSpeed255IntegerSpeed at which the turret turns.
InitialFacing0Integer
RealignDelay40IntegerNumber of ticks before turret is realigned. (-1 turns off realignment)
Offset0,0,03D World VectorMuzzle position relative to turret or body. (forward, right, up) triples
PreviewFacing96IntegerFacing to use for actor previews (map editor, color picker, etc)
EditorTurretFacingDisplayOrder4IntegerDisplay order for the turret facing slider in the map editor
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TerrainModifiesDamage

PropertyDefault ValueTypeDescription
TerrainModifier(required)Mapping of String to IntegerDamage percentage for specific terrain types. 120 = 120%, 80 = 80%, etc.
ModifyHealingFalseBooleanModify healing damage? For example: A friendly medic.

JamsMissiles

This actor deflects missiles.

PropertyDefault ValueTypeDescription
Range0c01D World DistanceRange of the deflection.
DeflectionStancesEnemy, Neutral, AllyStanceWhat diplomatic stances are affected.
Chance100IntegerChance of deflecting missiles.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

KillsSelf

PropertyDefault ValueTypeDescription
RemoveInsteadFalseBooleanRemove the actor from the world (and destroy it) instead of killing it.
Delay0Collection of IntegerThe amount of time (in ticks) before the actor dies. Two values indicate a range between which a random value is chosen.
DamageTypesCollection of DamageTypeTypes of damage that this trait causes. Leave empty for no damage types.
GrantsConditionStringThe condition to grant moments before suiciding.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

MapEditorData

PropertyDefault ValueTypeDescription
RequireTilesetsSet of String
ExcludeTilesetsSet of String
CategoriesCollection of String

Mobile

Unit is able to move.

PropertyDefault ValueTypeDescription
Locomotor(required)StringWhich Locomotor does this trait use. Must be defined on the World actor.
InitialFacing0Integer
TurnSpeed255IntegerSpeed at which the actor turns.
Speed1Integer
CursormoveString
BlockedCursormove-blockedString
VoiceActionString
PreviewFacing96IntegerFacing to use for actor previews (map editor, color picker, etc)
EditorFacingDisplayOrder3IntegerDisplay order for the facing slider in the map editor
RequireForceMoveConditionBooleanExpressionBoolean expression defining the condition under which the regular (non-force) move cursor is disabled.
ImmovableConditionBooleanExpressionBoolean expression defining the condition under which this actor cannot be nudged by other actors.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AlwaysVisible

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

FrozenUnderFog

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

Requires trait: Building.

PropertyDefault ValueTypeDescription
AlwaysVisibleStancesAllyStancePlayers with these stances can always see the actor.

HiddenUnderFog

The actor stays invisible under fog of war.

PropertyDefault ValueTypeDescription
AlwaysVisibleStancesAllyStancePlayers with these stances can always see the actor.
TypeFootprintVisibilityTypePossible values are CenterPosition (reveal when the center is visible) and Footprint (reveal when any footprint cell is visible).

HiddenUnderShroud

The actor stays invisible under the shroud.

PropertyDefault ValueTypeDescription
AlwaysVisibleStancesAllyStancePlayers with these stances can always see the actor.
TypeFootprintVisibilityTypePossible values are CenterPosition (reveal when the center is visible) and Footprint (reveal when any footprint cell is visible).

WithColoredOverlay

Display a colored overlay when a timed condition is active.

PropertyDefault ValueTypeDescription
PaletteinvulnStringPalette to use when rendering the overlay
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CashTricklerMultiplier

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

Requires trait: CashTrickler.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CreatesShroudMultiplier

Modifies the shroud range created by this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

DamageMultiplier

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

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

DetectCloakedMultiplier

Modifies the cloak detection range of this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

FirepowerMultiplier

Modifies the damage applied by this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GainsExperienceMultiplier

Modifies the experience gathered by this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GivesExperienceMultiplier

Modifies the experience given by this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

HarvesterResourceMultiplier

Modifies the bale values of this harvester.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

InaccuracyMultiplier

Modifies the inaccuracy of weapons fired by this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

PowerMultiplier

Modifies the power usage/output of this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProductionCostMultiplier

Modifies the production cost of this actor for a specific queue or when a prerequisite is granted.

PropertyDefault ValueTypeDescription
Multiplier100IntegerPercentage modifier to apply.
PrerequisitesCollection of StringOnly apply this cost change if owner has these prerequisites.
QueueSet of StringQueues that this cost will apply.

ProductionTimeMultiplier

Modifies the production time of this actor for a specific queue or when a prerequisite is granted.

PropertyDefault ValueTypeDescription
Multiplier100IntegerPercentage modifier to apply.
PrerequisitesCollection of StringOnly apply this time change if owner has these prerequisites.
QueueSet of StringQueues that this time will apply.

RangeMultiplier

Modifies the range of weapons fired by this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

RefineryResourceMultiplier

Modifies the bale values delivered to this refinery.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ReloadAmmoDelayMultiplier

Modifies the reload time of ammo pools on this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ReloadDelayMultiplier

Modifies the reload time of weapons fired by this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

RevealsShroudMultiplier

Modifies the shroud range revealed by this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SpeedMultiplier

Modifies the movement speed of this actor.

PropertyDefault ValueTypeDescription
Modifier(required)IntegerPercentage modifier to apply.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

MustBeDestroyed

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

PropertyDefault ValueTypeDescription
RequiredForShortGameFalseBooleanIn a short game only actors that have this value set to true need to be destroyed.

OwnerLostAction

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

PropertyDefault ValueTypeDescription
Action(required)OwnerLostActionTypeWhat does this unit do when its owner loses. Allowed values are 'ChangeOwner', 'Dispose', 'Kill'
OwnerNeutralStringMap player to use when 'Action' is 'ChangeOwner'.
DeathTypesCollection of DamageTypeThe deathtypes used when 'Action' is 'Kill'.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CloakPaletteEffect

FlashPaletteEffect

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

PropertyDefault ValueTypeDescription
ExcludePalettescursor, chrome, colorpicker, fog, shroudSet of String
Length20IntegerMeasured in ticks.
ColorFFFFFFColor (RRGGBB[AA] notation)
TypeStringSet this when using multiple independent flash effects.

GlobalLightingPaletteEffect

Used for day/night effects.

PropertyDefault ValueTypeDescription
ExcludePalettescursor, chrome, colorpicker, fog, shroud, alphaSet of StringDo not modify graphics that use any palette in this list.
ExcludePalettePrefixesSet of StringDo not modify graphics that start with these letters.
Red1Real Number
Green1Real Number
Blue1Real Number
Ambient1Real Number

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

PropertyDefault ValueTypeDescription
FadeLength10IntegerTime (in ticks) to fade between states
EffectNoneEffectTypeEffect style to fade to during gameplay. Accepts values of None or Desaturated.
MenuEffectNoneEffectTypeEffect style to fade to when opening the in-game menu. Accepts values of None, Black or Desaturated.

RotationPaletteEffect

Palette effect used for sprinkle "animations".

PropertyDefault ValueTypeDescription
PalettesSet of StringDefines to which palettes this effect should be applied to. If none specified, it applies to all palettes not explicitly excluded.
TilesetsSet of StringDefines for which tileset IDs this effect should be loaded. If none specified, it applies to all tileset IDs not explicitly excluded.
ExcludePalettesSet of StringDefines which palettes should be excluded from this effect.
ExcludeTilesetsSet of StringDon't apply the effect for these tileset IDs.
RotationBase96IntegerPalette index of first RotationRange color.
RotationRange7IntegerRange of colors to rotate.
RotationStep0.25Real NumberStep towards next color index per tick.

Parachutable

Can be paradropped by a ParaDrop actor.

PropertyDefault ValueTypeDescription
KilledOnImpassableTerrainTrueBooleanIf we land on invalid terrain for my actor type should we be killed?
DamageTypesCollection of DamageTypeTypes of damage that this trait causes to self when 'KilledOnImpassableTerrain' is true. Leave empty for no damage types.
ImageexplosionStringImage where Ground/WaterCorpseSequence is looked up.
GroundCorpseSequenceString
GroundCorpsePaletteeffectString
GroundImpactSoundString
WaterCorpseSequenceString
WaterCorpsePaletteeffectString
WaterTerrainTypesWaterSet of StringTerrain types on which to display WaterCorpseSequence.
WaterImpactSoundString
FallRate13Integer
ParachutingConditionStringThe condition to grant to self while parachuting.

ParaDrop

This unit can spawn and eject other actors while flying.

Requires trait: Cargo.

PropertyDefault ValueTypeDescription
DropRange4c01D World DistanceDistance around the drop-point to unload troops.
DropInterval5IntegerWait at least this many ticks between each drop.
ChuteSoundStringSound to play when dropping.

Passenger

This actor can enter Cargo actors.

PropertyDefault ValueTypeDescription
CargoTypeString
PipTypeGreenPipType
Weight1Integer
CargoConditionStringThe condition to grant to when this actor is loaded inside any transport.
CargoConditionsMapping of String to StringConditions to grant when this actor is loaded inside specified transport. A dictionary of [actor id]: [condition].
VoiceActionString
RequireForceMoveConditionBooleanExpressionBoolean expression defining the condition under which the regular (non-force) enter cursor is disabled.

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.

PropertyDefault ValueTypeDescription
NotifyInterval30IntegerMinimum duration (in seconds) between notification events.
RadarPingColorFF0000Color (RRGGBB[AA] notation)
RadarPingDuration250IntegerLength of time (in ticks) to display a location ping in the minimap.
NotificationBaseAttackStringThe audio notification type to play.
AllyNotificationStringThe audio notification to play to allies when under attack. Won't play a notification to allies if this is null.

ClassicProductionQueue

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

Requires traits: PlayerResources, TechTree.

PropertyDefault ValueTypeDescription
SpeedUpFalseBooleanIf you build more actors of the same type, the same queue will get its build time lowered for every actor produced there.
BuildTimeSpeedReduction100, 85, 75, 65, 60, 55, 50Collection of IntegerEvery 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)StringWhat kind of production will be added (e.g. Building, Infantry, Vehicle, ...)
DisplayOrder0IntegerThe value used when ordering this for display (e.g. in the Spectator UI).
GroupStringGroup queues from separate buildings together into the same tab.
FactionsSet of StringOnly enable this queue for certain factions.
StickyTrueBooleanShould the prerequisite remain enabled if the owner changes?
DisallowPausedFalseBooleanShould right clicking on the icon instantly cancel the production instead of putting it on hold?
BuildDurationModifier100IntegerThis percentage value is multiplied with actor cost to translate into build time (lower means faster).
ItemLimit999IntegerMaximum number of a single actor type that can be queued (0 = infinite).
QueueLimit0IntegerMaximum number of items that can be queued across all actor types (0 = infinite).
LowPowerModifier100IntegerThe build time is multiplied with this percentage on low power.
InfiniteBuildLimit-1IntegerProduction items that have more than this many items in the queue will be produced in a loop.
ReadyAudioStringNotification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudioStringNotification 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.
LimitedAudioStringNotification 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.
QueuedAudioStringNotification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudioStringNotification played when player right-clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
CancelledAudioStringNotification played when player right-clicks on a build palette icon that is already on hold. The filename of the audio is defined per faction in notifications.yaml.

ConquestVictoryConditions

Requires trait: MissionObjectives.

PropertyDefault ValueTypeDescription
NotificationDelay1500IntegerDelay for the end game notification in milliseconds.
ObjectiveDestroy all opposition!StringDescription of the objective.
SuppressNotificationsFalseBooleanDisable the win/loss messages and audio notifications?

DeveloperMode

Attach this to the player actor.

PropertyDefault ValueTypeDescription
CheckboxLabelDebug MenuStringDescriptive label for the developer mode checkbox in the lobby.
CheckboxDescriptionEnables cheats and developer commandsStringTooltip description for the developer mode checkbox in the lobby.
CheckboxEnabledFalseBooleanDefault value of the developer mode checkbox in the lobby.
CheckboxLockedFalseBooleanPrevent the developer mode state from being changed in the lobby.
CheckboxVisibleTrueBooleanWhether to display the developer mode checkbox in the lobby.
CheckboxDisplayOrder0IntegerDisplay order for the developer mode checkbox in the lobby.
Cash20000IntegerDefault cash bonus granted by the give cash cheat.
ResourceGrowth100IntegerGrowth steps triggered by the grow resources button.
FastBuildFalseBooleanEnable the fast build cheat by default.
FastChargeFalseBooleanEnable the fast support powers cheat by default.
DisableShroudFalseBooleanEnable the disable visibility cheat by default.
UnlimitedPowerFalseBooleanEnable the unlimited power cheat by default.
BuildAnywhereFalseBooleanEnable the build anywhere cheat by default.
PathDebugFalseBooleanEnable the path debug overlay by default.

DummyBot

A placeholder bot that doesn't do anything.

PropertyDefault ValueTypeDescription
NameUnnamed BotStringHuman-readable name this bot uses.
Type(required)StringInternal id for this bot.

EnemyWatcher

Tracks neutral and enemy actors' visibility and notifies the player. Attach this to the player actor. The actors to track need the 'AnnounceOnSeen' trait.

PropertyDefault ValueTypeDescription
ScanInterval25IntegerInterval in ticks between scanning for enemies.
NotificationInterval750IntegerMinimal ticks in-between notifications.

GrantConditionOnPrerequisiteManager

Attach this to the player actor.

Requires trait: TechTree.

HarvesterAttackNotifier

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

PropertyDefault ValueTypeDescription
NotifyInterval30IntegerMinimum duration (in seconds) between notification events.
RadarPingColorFF0000Color (RRGGBB[AA] notation)
RadarPingDuration250IntegerLength of time (in ticks) to display a location ping in the minimap.
NotificationHarvesterAttackStringThe audio notification type to play.

MissionObjectives

PropertyDefault ValueTypeDescription
CooperativeFalseBooleanSet 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.
EarlyGameOverFalseBooleanIf 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.
GameOverDelay1500IntegerDelay between the game over condition being met, and the game actually ending, in milliseconds.
WinNotificationString
LoseNotificationString
LeaveNotificationString

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

PropertyDefault ValueTypeDescription
PanelNameString
ExitDelay1400Integerin ms

ModularBot

Bot that uses BotModules.

PropertyDefault ValueTypeDescription
Type(required)StringInternal id for this bot.
NameUnnamed BotStringHuman-readable name this bot uses.
MinOrderQuotientPerTick5IntegerMinimum 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.

ParallelProductionQueue

PropertyDefault ValueTypeDescription
Type(required)StringWhat kind of production will be added (e.g. Building, Infantry, Vehicle, ...)
DisplayOrder0IntegerThe value used when ordering this for display (e.g. in the Spectator UI).
GroupStringGroup queues from separate buildings together into the same tab.
FactionsSet of StringOnly enable this queue for certain factions.
StickyTrueBooleanShould the prerequisite remain enabled if the owner changes?
DisallowPausedFalseBooleanShould right clicking on the icon instantly cancel the production instead of putting it on hold?
BuildDurationModifier100IntegerThis percentage value is multiplied with actor cost to translate into build time (lower means faster).
ItemLimit999IntegerMaximum number of a single actor type that can be queued (0 = infinite).
QueueLimit0IntegerMaximum number of items that can be queued across all actor types (0 = infinite).
LowPowerModifier100IntegerThe build time is multiplied with this percentage on low power.
InfiniteBuildLimit-1IntegerProduction items that have more than this many items in the queue will be produced in a loop.
ReadyAudioStringNotification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudioStringNotification 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.
LimitedAudioStringNotification 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.
QueuedAudioStringNotification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudioStringNotification played when player right-clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
CancelledAudioStringNotification 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.

PlaceBeacon

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

PropertyDefault ValueTypeDescription
Duration750Integer
NotificationTypeSoundsString
NotificationBeaconString
IsPlayerPaletteTrueBoolean
PaletteplayerString
BeaconImagebeaconString
BeaconSequenceString
ArrowSequencearrowString
CircleSequencecirclesString

PlaceBuilding

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

PropertyDefault ValueTypeDescription
NewOptionsNotificationDelay10IntegerPlay NewOptionsNotification this many ticks after building placement.
NewOptionsNotificationStringNotification to play after building placement if new construction options are available.
CannotPlaceNotificationString
ToggleVariantKeyOpenRA.HotkeyReferenceHotkeyReferenceHotkey to toggle between PlaceBuildingVariants when placing a structure.

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.

PlayerRadarTerrain

Requires trait: Shroud.

PlayerResources

PropertyDefault ValueTypeDescription
DefaultCashDropdownLabelStarting CashStringDescriptive label for the starting cash option in the lobby.
DefaultCashDropdownDescriptionChange the amount of cash that players start withStringTooltip description for the starting cash option in the lobby.
SelectableCash2500, 5000, 10000, 20000Collection of IntegerStarting cash options that are available in the lobby options.
DefaultCash5000IntegerDefault starting cash option: should be one of the SelectableCash options.
DefaultCashDropdownLockedFalseBooleanForce the DefaultCash option by disabling changes in the lobby.
DefaultCashDropdownVisibleTrueBooleanWhether to display the DefaultCash option in the lobby.
DefaultCashDropdownDisplayOrder0IntegerDisplay order for the DefaultCash option.
InsufficientFundsNotificationStringSpeech notification to play when the player does not have any funds.
InsufficientFundsNotificationDelay750IntegerDelay (in ticks) during which warnings will be muted.
CashTickUpNotificationString
CashTickDownNotificationString

PlayerStatistics

Attach this to the player actor to collect observer stats.

UpdatesPlayerStatistics

Attach this to a unit to update observer stats.

PropertyDefault ValueTypeDescription
AddToArmyValueFalseBooleanAdd to army value in statistics
OverrideActorStringCount this actor as a different type in the spectator army display.

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.

PropertyDefault ValueTypeDescription
Type(required)StringWhat kind of production will be added (e.g. Building, Infantry, Vehicle, ...)
DisplayOrder0IntegerThe value used when ordering this for display (e.g. in the Spectator UI).
GroupStringGroup queues from separate buildings together into the same tab.
FactionsSet of StringOnly enable this queue for certain factions.
StickyTrueBooleanShould the prerequisite remain enabled if the owner changes?
DisallowPausedFalseBooleanShould right clicking on the icon instantly cancel the production instead of putting it on hold?
BuildDurationModifier100IntegerThis percentage value is multiplied with actor cost to translate into build time (lower means faster).
ItemLimit999IntegerMaximum number of a single actor type that can be queued (0 = infinite).
QueueLimit0IntegerMaximum number of items that can be queued across all actor types (0 = infinite).
LowPowerModifier100IntegerThe build time is multiplied with this percentage on low power.
InfiniteBuildLimit-1IntegerProduction items that have more than this many items in the queue will be produced in a loop.
ReadyAudioStringNotification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudioStringNotification 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.
LimitedAudioStringNotification 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.
QueuedAudioStringNotification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudioStringNotification played when player right-clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
CancelledAudioStringNotification 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

PropertyDefault ValueTypeDescription
PrerequisiteStringThe prerequisite type that this provides. If left empty it defaults to the actor's name.
RequiresPrerequisitesCollection of StringOnly grant this prerequisite when you have these prerequisites.
FactionsSet of StringOnly grant this prerequisite for certain factions.
ResetOnOwnerChangeFalseBooleanShould it recheck everything when it is captured?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProvidesTechPrerequisite

PropertyDefault ValueTypeDescription
IdStringInternal id for this tech level.
NameStringName shown in the lobby options.
PrerequisitesCollection of StringPrerequisites to grant when this tech level is active.

ResourceStorageWarning

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

Requires trait: PlayerResources.

PropertyDefault ValueTypeDescription
AdviceInterval20IntegerInterval, in seconds, at which to check if more storage is needed.
Threshold80IntegerThe percentage threshold above which a warning is played.
NotificationSilosNeededStringThe speech to play for the warning.

StrategicPoint

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

StrategicVictoryConditions

Allows King of the Hill (KotH) style gameplay.

Requires trait: MissionObjectives.

PropertyDefault ValueTypeDescription
HoldDuration7500IntegerAmount of time (in game ticks) that the player has to hold all the strategic points. Defaults to 7500 ticks (5 minutes at default speed).
ResetOnHoldLostTrueBooleanShould the timer reset when the player loses hold of a strategic point.
RatioRequired50IntegerPercentage of all strategic points the player has to hold to win.
NotificationDelay1500IntegerDelay for the end game notification in milliseconds.
ObjectiveHold all the strategic positions!StringDescription of the objective
SuppressNotificationsFalseBooleanDisable the win/loss messages and audio notifications?

TechTree

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

TimeLimitManager

This trait allows setting a time limit on matches. Attach this to the World actor.

PropertyDefault ValueTypeDescription
TimeLimitLabelTime LimitStringLabel that will be shown for the time limit option in the lobby.
TimeLimitDescriptionPlayer or team with the highest score after this time winsStringTooltip description that will be shown for the time limit option in the lobby.
TimeLimitOptions0, 10, 20, 30, 40, 60, 90Collection of IntegerTime Limit options that will be shown in the lobby dropdown. Values are in minutes.
TimeLimitWarnings1: 2: 3: 4: 5: 10: Mapping of Integer to StringList of remaining minutes of game time when a text and optional speech notification should be made to players.
TimeLimitDefault0IntegerDefault selection for the time limit option in the lobby. Needs to use one of the TimeLimitOptions.
TimeLimitLockedFalseBooleanPrevent the time limit option from being changed in the lobby.
TimeLimitDropdownVisibleTrueBooleanWhether to display the options dropdown in the lobby.
TimeLimitDisplayOrder0IntegerDisplay order for the time limit dropdown in the lobby.
Notification{0} minute{1} remaining.StringNotification text for time limit warnings. The string '{0}' will be replaced by the remaining time in minutes, '{1}' is used for the plural form.
CountdownLabelStringID of the LabelWidget used to display a text ingame that will be updated every second.
CountdownTextStringText to be shown using the CountdownLabel. The string '{0}' will be replaced by the time in hh:mm:ss format.
SkipTimeRemainingNotificationsFalseBooleanWill prevent showing/playing the built-in time limit warnings when set to true.
SkipTimerExpiredNotificationFalseBooleanWill prevent showing/playing the built-in timer expired notification when set to true.

Plug

PropertyDefault ValueTypeDescription
Type(required)StringPlug type (matched against Conditions in Pluggable)

Pluggable

PropertyDefault ValueTypeDescription
Offset0,02D Cell VectorFootprint cell offset where a plug can be placed.
Conditions(required)Mapping of String to StringConditions to grant for each accepted plug type. Key is the plug type. Value is the condition that is granted when the plug is enabled.
RequirementsMapping of String to BooleanExpressionRequirements for accepting a plug type. Key is the plug type that the requirements applies to. Value is the condition expression defining the requirements to place the plug.

AffectedByPowerOutage

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

PropertyDefault ValueTypeDescription
ConditionStringThe condition to grant while there is a power outage.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

PowerManager

Attach this to the player actor.

Requires trait: DeveloperMode.

PropertyDefault ValueTypeDescription
AdviceInterval250Integer
SpeechNotificationString

Power

PropertyDefault ValueTypeDescription
Amount0IntegerIf negative, it will drain power. If positive, it will provide power.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ScalePowerWithHealth

Scale power amount with the current health.

Requires trait: Power.

PowerTooltip

Shown power info on the build palette widget.

ProducibleWithLevel

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

Requires trait: GainsExperience.

PropertyDefault ValueTypeDescription
PrerequisitesCollection of String
InitialLevels1IntegerNumber of levels to give to the actor on creation.
SuppressLevelupAnimationTrueBooleanShould the level-up animation be suppressed when actor is created?

Production

This unit has access to build queues.

PropertyDefault ValueTypeDescription
Produces(required)Collection of Stringe.g. Infantry, Vehicles, Aircraft, Buildings
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProductionFromMapEdge

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

PropertyDefault ValueTypeDescription
Produces(required)Collection of Stringe.g. Infantry, Vehicles, Aircraft, Buildings
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProductionParadrop

Deliver the unit in production via paradrop.

Requires trait: Exit.

PropertyDefault ValueTypeDescription
ActorTypebadrStringCargo aircraft used. Must have Aircraft trait.
ChuteSoundStringSound to play when dropping the unit.
ReadyAudioStringNotification to play when dropping the unit.
Produces(required)Collection of Stringe.g. Infantry, Vehicles, Aircraft, Buildings
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProductionQueueFromSelection

PropertyDefault ValueTypeDescription
ProductionTabsWidgetString
ProductionPaletteWidgetString

ProximityCaptor

Actor can capture ProximityCapturable actors.

PropertyDefault ValueTypeDescription
Types(required)Collection of CaptureType

ProximityCapturable

Actor can be captured by units in a specified proximity.

PropertyDefault ValueTypeDescription
Range5c01D World DistanceMaximum range at which a ProximityCaptor actor can initiate the capture.
CaptorTypesPlayer, Vehicle, Tank, InfantryCollection of CaptureTypeAllowed ProximityCaptor actors to capture this actor.
MustBeClearFalseBooleanIf set, the capturing process stops immediately after another player comes into Range.
StickyFalseBooleanIf set, the ownership will not revert back when the captor leaves the area.
PermanentFalseBooleanIf set, the actor can only be captured via this logic once. This option implies the Sticky behaviour as well.

QuantizeFacingsFromSequence

Derive facings from sprite body sequence.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SequenceidleStringDefines sequence to derive facings from.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Rearmable

PropertyDefault ValueTypeDescription
RearmActors(required)Set of StringActors that this actor can dock to and get rearmed by.
AmmoPoolsprimarySet of StringName(s) of AmmoPool(s) that use this trait to rearm.

RejectsOrders

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

PropertyDefault ValueTypeDescription
RejectSet of StringExplicit list of rejected orders. Leave empty to reject all minus those listed under Except.
ExceptSet of StringList of orders that should not be rejected. Also overrides other instances of this trait's Reject fields.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ReloadAmmoPool

Reloads an ammo pool.

PropertyDefault ValueTypeDescription
AmmoPoolprimaryStringReload ammo pool with this name.
Delay50IntegerReload time in ticks per Count.
Count1IntegerHow much ammo is reloaded after Delay.
ResetOnFireFalseBooleanWhether or not reload timer should be reset when ammo has been fired.
SoundStringPlay this sound each time ammo is reloaded.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CustomTerrainDebugOverlay

Displays custom terrain types.

PropertyDefault ValueTypeDescription
FontTinyBoldString

DrawLineToTarget

Renders target lines between order waypoints.

PropertyDefault ValueTypeDescription
Delay60IntegerDelay (in ticks) before the target lines disappear.
LineWidth1IntegerWidth (in pixels) of the target lines.
QueuedLineWidth1IntegerWidth (in pixels) of the queued target lines.
MarkerWidth2IntegerWidth (in pixels) of the end node markers.
QueuedMarkerWidth2IntegerWidth (in pixels) of the queued end node markers.

Repairable

This actor can be sent to a structure for repairs.

PropertyDefault ValueTypeDescription
RepairActors(required)Set of String
VoiceActionString
HpPerStep-1IntegerThe amount the unit will be repaired at each step. Use -1 for fallback behavior where HpPerStep from RepairsUnits trait will be used.
RequireForceMoveConditionBooleanExpressionBoolean expression defining the condition under which the regular (non-force) enter cursor is disabled.

RepairableNear

PropertyDefault ValueTypeDescription
RepairActors(required)Set of String
CloseEnough4c01D World Distance
VoiceActionString
RequireForceMoveConditionBooleanExpressionBoolean expression defining the condition under which the regular (non-force) enter cursor is disabled.

RepairsBridges

Can enter a BridgeHut or LegacyBridgeHut to trigger a repair.

PropertyDefault ValueTypeDescription
VoiceActionString
EnterBehaviourDisposeEnterBehaviourBehaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
TargetCursorgoldwrenchStringCursor to use when targeting an unrepaired bridge.
TargetBlockedCursorgoldwrench-blockedStringCursor to use when repairing is denied.
RepairNotificationStringSpeech notification to play when a bridge is repaired.

RepairsUnits

PropertyDefault ValueTypeDescription
ValuePercentage20IntegerCost in % of the unit value to fully repair the unit.
HpPerStep10Integer
Interval24IntegerTime (in ticks) between two repair steps.
StartRepairingNotificationStringThe sound played when starting to repair a unit.
FinishRepairingNotificationStringThe sound played when repairing a unit is done.
PlayerExperience0IntegerExperience gained by the player owning this actor for repairing an allied unit.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Replaceable

PropertyDefault ValueTypeDescription
Types(required)Set of StringReplacement types this Relpaceable actor accepts.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Replacement

PropertyDefault ValueTypeDescription
ReplaceableTypes(required)Set of StringReplacement type (matched against Conditions in Replaceable).

RequiresSpecificOwners

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

PropertyDefault ValueTypeDescription
ValidOwnerNames(required)Set of StringOnly allow players listed here as owners.

RevealOnDeath

Reveal this actor's last position when killed.

PropertyDefault ValueTypeDescription
RevealForStancesAllyStanceStances relative to the actors' owner that shroud will be revealed for.
Duration25IntegerDuration of the reveal.
Radius1c5121D World DistanceRadius of the reveal around this actor.
RevealGeneratedShroudTrueBooleanCan this actor be revealed through shroud generated by the GeneratesShroud trait?
DeathTypesCollection of DamageTypeDeathTypes for which shroud will be revealed. Use an empty list (the default) to allow all DeathTypes.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

RevealOnFire

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

PropertyDefault ValueTypeDescription
ArmamentNamesprimary, secondaryCollection of StringThe armament types which trigger revealing.
RevealForStancesRelativeToTargetAllyStanceStances relative to the target player this actor will be revealed to during firing.
Duration25IntegerDuration of the reveal.
Radius1c5121D World DistanceRadius of the reveal around this actor.
RevealGeneratedShroudTrueBooleanCan this actor be revealed through shroud generated by the GeneratesShroud trait?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

RevealsShroud

PropertyDefault ValueTypeDescription
ValidStancesAllyStanceStance the watching player needs to see the shroud removed.
RevealGeneratedShroudTrueBooleanCan this actor reveal shroud generated by the GeneratesShroud trait?
MinRange0c01D World Distance
Range0c01D World Distance
MaxHeightDelta-1IntegerIf >= 0, prevent cells that are this much higher than the actor from being revealed.
MoveRecalculationThreshold0c2561D World DistanceIf > 0, force visibility to be recalculated if the unit moves within a cell by more than this distance.
TypeFootprintVisibilityTypePossible values are CenterPosition (measure range from the center) and Footprint (measure range from the footprint)
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ScriptTags

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

SeedsResource

Lets the actor spread resources around it in a circle.

PropertyDefault ValueTypeDescription
Interval75Integer
ResourceTypeOreString
MaxRange100Integer
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SelfHealing

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

PropertyDefault ValueTypeDescription
Step5IntegerAbsolute amount of health points added in each step.
PercentageStep0IntegerRelative percentages of health added in each step. When both values are defined, their summary will be applied.
Delay5Integer
HealIfBelow50IntegerHeal if current health is below this percentage of full health.
DamageCooldown0Integer
DamageTypesCollection of DamageTypeApply the selfhealing using these damagetypes.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Sellable

Actor can be sold

PropertyDefault ValueTypeDescription
RefundPercent50IntegerPercentage of units value to give back after selling.
SellSoundsCollection of StringList of audio clips to play when the actor is being sold.
ShowTicksTrueBooleanWhether to show the cash tick indicators rising from the actor.
ShowTooltipTextTrueBooleanWhether to show the refund text on the tooltip, when actor is hovered over with sell order.
SkipMakeAnimationFalseBooleanSkip playing (reversed) make animation.
CursorsellStringCursor type to use when the sell order generator hovers over this actor.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ShakeOnDeath

PropertyDefault ValueTypeDescription
Duration10Integer
Intensity1Integer

SmokeTrailWhenDamaged

Requires trait: BodyOrientation.

PropertyDefault ValueTypeDescription
Offset0,0,03D World VectorPosition relative to body
Interval3Integer
SpritesmokeyString
SequenceidleString
PaletteeffectString
MinDamageHeavyDamageState

SpawnActorOnDeath

Spawn another actor immediately upon death.

PropertyDefault ValueTypeDescription
Actor(required)StringActor to spawn on death.
Probability100IntegerProbability the actor spawns.
OwnerTypeVictimOwnerTypeOwner 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').
InternalOwnerNeutralStringMap player to use when 'InternalName' is defined on 'OwnerType'.
EffectiveOwnerFromOwnerFalseBooleanChanges the effective (displayed) owner of the spawned actor to the old owner (victim).
DeathTypeStringDeathType that triggers the actor spawn. Leave empty to spawn an actor ignoring the DeathTypes.
SkipMakeAnimationsTrueBooleanSkips the spawned actor's make animations if true.
RequiresLobbyCreepsFalseBooleanShould an actor only be spawned when the 'Creeps' setting is true?
Offset0,02D Cell VectorOffset 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.
SpawnAfterDefeatTrueBooleanShould an actor spawn after the player has been defeated (e.g. after surrendering)?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SpawnActorsOnSell

Spawn new actors when sold.

PropertyDefault ValueTypeDescription
ValuePercent40Integer
MinHpPercent30Integer
ActorTypes(required)Collection of StringActor types to spawn on sell. Be sure to use lowercase.
FactionsSet of StringSpawns actors only if the selling player's faction is in this list. Leave empty to allow all factions by default.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

StoresResources

Adds capacity to a player's harvested resource limit.

PropertyDefault ValueTypeDescription
Capacity(required)Integer
PipCount(required)IntegerNumber of little squares used to display how filled unit is.
PipColorYellowPipType

AirstrikePower

PropertyDefault ValueTypeDescription
UnitTypebadr.bomberString
SquadSize1Integer
SquadOffset-1536,1536,03D World Vector
QuantizedFacings32Integer
Cordon5c01D World Distance
CameraActorStringActor to spawn when the aircraft start attacking
CameraRemoveDelay25IntegerAmount of time to keep the camera alive after the aircraft have finished attacking
UseDirectionalTargetFalseBooleanEnables the player directional targeting
DirectionArrowAnimationStringAnimation used to render the direction arrows.
DirectionArrowPalettechromeStringPalette for direction cursor animation.
BeaconDistanceOffset6c01D World DistanceWeapon range offset to apply during the beacon clock calculation
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameAirstrikePowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

GrantExternalConditionPower

PropertyDefault ValueTypeDescription
Condition(required)StringThe condition to apply. Must be included in the target actor's ExternalConditions list.
Duration0IntegerDuration of the condition (in ticks). Set to 0 for a permanent condition.
Range1IntegerCells - affects whole cells only
OnFireSoundStringSound to instantly play at the targeted area.
ValidStancesAllyStancePlayer stances which condition can be applied to.
SequenceactiveStringSequence to play for granting actor when activated. This requires the actor to have the WithSpriteBody trait or one of its derivatives.
BlockedCursormove-blockedStringCursor to display when there are no units to apply the condition in range.
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameGrantExternalConditionPowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

NukePower

PropertyDefault ValueTypeDescription
MissileWeapon(required)StringWeapon to use for the impact. Also image to use for the missile.
MissileDelay0IntegerDelay (in ticks) after launch until the missile is spawned.
MissileUpupStringSprite sequence for the ascending missile.
MissileDowndownStringSprite sequence for the descending missile.
SpawnOffset0,0,03D World VectorOffset from the actor the missile spawns on.
DetonationAltitude0c01D World DistanceAltitude offset from the target position at which the warhead should detonate.
RemoveMissileOnDetonationTrueBooleanShould nuke missile projectile be removed on detonation above ground. 'False' will make the missile continue until it hits the ground and disappears (without triggering another explosion).
MissilePaletteeffectStringPalette to use for the missile weapon image.
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName.
TrailImageStringTrail animation.
TrailSequencesCollection of StringLoop a randomly chosen sequence of TrailImage from this list while this projectile is moving.
TrailInterval1IntegerInterval in ticks between each spawned Trail animation.
TrailDelay1IntegerDelay in ticks until trail animation is spawned.
TrailPaletteeffectStringPalette used to render the trail sequence.
TrailUsePlayerPaletteFalseBooleanUse the Player Palette to render the trail sequence.
FlightDelay400IntegerTravel time - split equally between ascent and descent.
FlightVelocity0c5121D World DistanceVisual ascent velocity in WDist / tick.
SkipAscentFalseBooleanDescend immediately on the target.
BeaconRemoveAdvance25IntegerAmount of time before detonation to remove the beacon.
CameraRange0c01D World DistanceRange of cells the camera should reveal around target cell.
RevealGeneratedShroudTrueBooleanCan the camera reveal shroud generated by the GeneratesShroud trait?
CameraStancesAllyStanceReveal cells to players with these stances only.
CameraSpawnAdvance25IntegerAmount of time before detonation to spawn the camera.
CameraRemoveDelay25IntegerAmount of time after detonation to remove the camera.
FlashTypeStringCorresponds to Type from FlashPaletteEffect on the world actor.
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameNukePowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ParatroopersPower

PropertyDefault ValueTypeDescription
UnitTypebadrString
SquadSize1Integer
SquadOffset-1536,1536,03D World Vector
ReinforcementsArrivedSpeechNotificationStringNotification to play when entering the drop zone.
QuantizedFacings32IntegerNumber of facings that the delivery aircraft may approach from.
Cordon5c01D World DistanceSpawn and remove the plane this far outside the map.
DropItemsCollection of StringTroops to be delivered. They will be distributed between the planes if SquadSize > 1.
AllowImpassableCellsFalseBooleanRisks stuck units when they don't have the Paratrooper trait.
CameraActorStringActor to spawn when the paradrop starts.
CameraRemoveDelay85IntegerAmount of time (in ticks) to keep the camera alive while the passengers drop.
UseDirectionalTargetFalseBooleanEnables the player directional targeting
DirectionArrowAnimationStringAnimation used to render the direction arrows.
DirectionArrowPalettechromeStringPalette for direction cursor animation.
BeaconDistanceOffset4c01D World DistanceWeapon range offset to apply during the beacon clock calculation.
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameParatroopersPowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProduceActorPower

Produces an actor without using the standard production queue.

PropertyDefault ValueTypeDescription
Actors(required)Collection of StringActors to produce.
Type(required)StringProduction queue type to use
ReadyAudioStringNotification played when production is activated. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudioStringNotification played when the exit is jammed. The filename of the audio is defined per faction in notifications.yaml.
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameProduceActorPowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SpawnActorPower

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

PropertyDefault ValueTypeDescription
Actor(required)StringActor to spawn.
LifeTime250IntegerAmount of time to keep the actor alive in ticks. Value < 0 means this actor will not remove itself.
DeploySoundString
EffectImageString
EffectSequenceidleString
EffectPaletteString
ChargeInterval0IntegerMeasured in ticks.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
CursorabilityStringCursor to display for using this support power.
StartFullyChargedFalseBooleanIf set to true, the support power will be fully charged when it becomes available. Normal rules apply for subsequent charges.
PrerequisitesCollection of String
BeginChargeSoundString
BeginChargeSpeechNotificationString
EndChargeSoundString
EndChargeSpeechNotificationString
SelectTargetSoundString
SelectTargetSpeechNotificationString
InsufficientPowerSoundString
InsufficientPowerSpeechNotificationString
LaunchSoundString
LaunchSpeechNotificationString
IncomingSoundString
IncomingSpeechNotificationString
DisplayTimerStancesNoneStanceDefines to which players the timer is shown.
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike, Paratroopers, and Nuke powers
BeaconPaletteIsPlayerPaletteTrueBoolean
BeaconPaletteplayerString
BeaconImagebeaconString
BeaconPosterString
BeaconPosterPalettechromeString
ClockSequenceString
BeaconSequenceString
ArrowSequenceString
CircleSequenceString
BeaconDelay0IntegerDelay after launch, measured in ticks.
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameSpawnActorPowerInfoOrderString
SupportPowerPaletteOrder9999IntegerSort order for the support power palette. Smaller numbers are presented earlier.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SupportPowerManager

Attach this to the player actor.

Requires traits: DeveloperMode, TechTree.

Targetable

Actor can be targeted.

PropertyDefault ValueTypeDescription
TargetTypesCollection of TargetableTypeTarget type. Used for filtering (in)valid targets.
RequiresForceFireFalseBoolean
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TemporaryOwnerManager

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

PropertyDefault ValueTypeDescription
BarColorFFA500Color (RRGGBB[AA] notation)

ThrowsParticle

Requires traits: BodyOrientation, WithSpriteBody.

PropertyDefault ValueTypeDescription
Anim(required)String
Offset0,0,03D World VectorInitial position relative to body
MinThrowRange0c2561D World DistanceMinimum distance to throw the particle
MaxThrowRange0c7681D World DistanceMaximum distance to throw the particle
MinThrowAngle851D World AngleMinimum angle to throw the particle
MaxThrowAngle1701D World AngleMaximum angle to throw the particle
Velocity75IntegerSpeed to throw the particle (horizontal WPos/tick)
TurnSpeed15IntegerSpeed at which the particle turns.

ThrowsShrapnel

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

PropertyDefault ValueTypeDescription
Weapons(required)Collection of StringThe weapons used for shrapnel.
Pieces3, 10Collection of IntegerThe amount of pieces of shrapnel to expel. Two values indicate a range.
Range2c0, 5c0Collection of 1D World DistanceThe minimum and maximum distances the shrapnel may travel.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

EditorOnlyTooltip

Shown in map editor.

PropertyDefault ValueTypeDescription
NameString
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

Tooltip

Shown in the build palette widget.

PropertyDefault ValueTypeDescription
GenericNameStringAn optional generic name (i.e. "Soldier" or "Structure")to be shown to chosen players.
GenericStancePrefixTrueBooleanPrefix generic tooltip name with 'Ally/Neutral/EnemyPrefix'.
AllyPrefixAlliedStringPrefix to display in the tooltip for allied units.
NeutralPrefixStringPrefix to display in the tooltip for neutral units.
EnemyPrefixEnemyStringPrefix to display in the tooltip for enemy units.
GenericVisibilityNoneStancePlayer stances that the generic name should be shown to.
ShowOwnerRowTrueBooleanShow the actor's owner and their faction flag
NameString
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TooltipDescription

Additional info shown in the battlefield tooltip.

PropertyDefault ValueTypeDescription
DescriptionStringText shown in tooltip.
ValidStancesEnemy, Neutral, AllyStancePlayer stances who can view the description.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TransformCrusherOnCrush

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

PropertyDefault ValueTypeDescription
IntoActor(required)String
SkipMakeAnimsTrueBoolean
CrushClassesCollection of CrushClass

TransformOnCapture

Replaces the captured actor with a new one.

PropertyDefault ValueTypeDescription
IntoActor(required)String
ForceHealthPercentage0Integer
SkipMakeAnimsTrueBoolean
CaptureTypesCollection of CaptureTypeTransform only if the capturer's CaptureTypes overlap with these types. Leave empty to allow all types.

Transforms

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

PropertyDefault ValueTypeDescription
IntoActor(required)StringActor to transform into.
Offset0,02D Cell VectorOffset to spawn the transformed actor relative to the current cell.
Facing96IntegerFacing that the actor must face before transforming.
TransformSoundsCollection of StringSounds to play when transforming.
NoTransformSoundsCollection of StringSounds to play when the transformation is blocked.
TransformNotificationStringNotification to play when transforming.
NoTransformNotificationStringNotification to play when the transformation is blocked.
DeployCursordeployStringCursor to display when able to (un)deploy the actor.
DeployBlockedCursordeploy-blockedStringCursor to display when unable to (un)deploy the actor.
VoiceActionString
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TunnelEntrance

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

PropertyDefault ValueTypeDescription
RallyPoint(required)2D Cell VectorOffset to use as a staging point for actors entering or exiting the tunnel. Should be at least Margin cells away from the actual entrance.
Margin2IntegerCell radius to use as a staging area around the RallyPoint.
Sensor0,02D Cell VectorOffset to check for the corresponding TerrainTunnel portal cell(s).

Turreted

Requires trait: BodyOrientation.

PropertyDefault ValueTypeDescription
TurretprimaryString
TurnSpeed255IntegerSpeed at which the turret turns.
InitialFacing0Integer
RealignDelay40IntegerNumber of ticks before turret is realigned. (-1 turns off realignment)
Offset0,0,03D World VectorMuzzle position relative to turret or body. (forward, right, up) triples
PreviewFacing96IntegerFacing to use for actor previews (map editor, color picker, etc)
EditorTurretFacingDisplayOrder4IntegerDisplay order for the turret facing slider in the map editor
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

UpdatesDerrickCount

Tag trait for updating the 'Oil Derrick' count economy statistic.

Valued

How much the unit is worth.

PropertyDefault ValueTypeDescription
Cost(required)IntegerUsed in production, but also for bounties so remember to set it > 0 even for NPCs.

Voiced

This actor has a voice.

PropertyDefault ValueTypeDescription
VoiceSet(required)StringWhich voice set to use.
Volume1Real NumberMultiply volume with this factor.

Wanders

Wanders around aimlessly while idle.

PropertyDefault ValueTypeDescription
WanderMoveRadius1Integer
ReduceMoveRadiusDelay5IntegerNumber of ticks to wait before decreasing the effective move radius.
MinMoveDelay0IntegerMinimum amount of ticks the actor will sit idly before starting to wander.
MaxMoveDelay0IntegerMaximum amount of ticks the actor will sit idly before starting to wander.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ActorMap

PropertyDefault ValueTypeDescription
BinSize10IntegerSize of partition bins (cells)

ActorSpawnManager

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

Requires trait: MapCreeps.

PropertyDefault ValueTypeDescription
Minimum0IntegerMinimum number of actors.
Maximum4IntegerMaximum number of actors.
SpawnInterval6000IntegerTime (in ticks) between actor spawn.
Actors(required)Collection of StringName of the actor that will be randomly picked to spawn.
OwnerCreepsString
TypesSet of StringType of ActorSpawner with which it connects.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

BridgeLayer

CliffBackImpassabilityLayer

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

PropertyDefault ValueTypeDescription
TerrainTypeImpassableString

CrateSpawner

PropertyDefault ValueTypeDescription
CheckboxLabelCratesStringDescriptive label for the crates checkbox in the lobby.
CheckboxDescriptionCollect crates with units to receive random bonuses or penaltiesStringTooltip description for the crates checkbox in the lobby.
CheckboxEnabledTrueBooleanDefault value of the crates checkbox in the lobby.
CheckboxLockedFalseBooleanPrevent the crates state from being changed in the lobby.
CheckboxVisibleTrueBooleanWhether to display the crates checkbox in the lobby.
CheckboxDisplayOrder0IntegerDisplay order for the crates checkbox in the lobby.
Minimum1IntegerMinimum number of crates.
Maximum255IntegerMaximum number of crates.
SpawnInterval4500IntegerAverage time (ticks) between crate spawn.
InitialSpawnDelay0IntegerDelay (in ticks) before the first crate spawns.
ValidGroundClear, Rough, Road, Ore, BeachSet of StringWhich terrain types can we drop on?
ValidWaterWaterSet of StringWhich terrain types count as water?
WaterChance20IntegerChance of generating a water crate instead of a land crate.
CrateActorscrateCollection of StringCrate actors to drop.
CrateActorShares10Collection of IntegerChance of each crate actor spawning.
DeliveryAircraftStringIf a DeliveryAircraft: is specified, then this actor will deliver crates.
QuantizedFacings32IntegerNumber of facings that the delivery aircraft may approach from.
Cordon5c01D World DistanceSpawn and remove the plane this far outside the map.

CreateMPPlayers

Attach this to the world actor.

DomainIndex

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

EditorActionManager

EditorActorLayer

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

PropertyDefault ValueTypeDescription
BinSize250IntegerSize of partition bins (world pixels)

EditorCursorLayer

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

Requires trait: EditorActorLayer.

PropertyDefault ValueTypeDescription
PreviewFacing96Integer

EditorResourceLayer

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

Requires trait: ResourceType.

EditorSelectionLayer

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

PropertyDefault ValueTypeDescription
PaletteterrainStringPalette to use for rendering the placement sprite.
Imageeditor-overlayStringSequence image where the selection overlay types are defined.
CopySequencecopyStringSequence to use for the copy overlay.
PasteSequencepasteStringSequence to use for the paste overlay.

ElevatedBridgeLayer

Requires trait: DomainIndex.

PropertyDefault ValueTypeDescription
ImpassableTerrainTypeImpassableStringTerrain type used by cells outside any elevated bridge footprint.

ElevatedBridgePlaceholder

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

Requires trait: ElevatedBridgeLayer.

PropertyDefault ValueTypeDescription
Location(required)2D Cell PositionLocation of the bridge
Orientation(required)ElevatedBridgePlaceholderOrientationOrientation of the bridge.
Length(required)IntegerLength of the bridge
Height(required)ByteHeight of the bridge in map height steps.
TerrainTypeRoadStringTerrain type of the bridge.

ExitsDebugOverlayManager

PropertyDefault ValueTypeDescription
FontTinyBoldStringThe 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).

GameSaveViewportManager

JumpjetActorLayer

PropertyDefault ValueTypeDescription
TerrainTypeJumpjetStringTerrain type of the airborne layer.
HeightOffset3c9201D World DistanceHeight offset relative to the smoothed terrain for movement.
SmoothingRadius2IntegerCell radius for smoothing adjacent cell heights.

JumpjetLocomotor

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

PropertyDefault ValueTypeDescription
JumpjetTransitionCost0IntegerPathfinding cost for taking off or landing.
JumpjetTransitionTerrainTypesSet of StringThe terrain types that this actor can transition on. Leave empty to allow any.
JumpjetTransitionOnRampsTrueBooleanCan this actor transition on slopes?
NamedefaultStringLocomotor ID.
WaitAverage40Integer
WaitSpread10Integer
SharesCellFalseBooleanAllow multiple (infantry) units in one cell.
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
CrushesCollection of CrushClasse.g. crate, wall, infantry
CrushDamageTypesCollection of DamageTypeTypes of damage that are caused while crushing. Leave empty for no damage types.
TerrainSpeeds(required)Mapping of String to TerrainInfoLower the value on rough terrain. Leave out entries for impassable terrain.
TilesetTerrainInfoCollection of TileSet
TilesetMovementClassCollection of TileSet

LegacyBridgeLayer

PropertyDefault ValueTypeDescription
Bridgesbridge1, bridge2Collection of String

LoadWidgetAtGameStart

PropertyDefault ValueTypeDescription
ShellmapRootMAINMENUStringThe widget tree to open when a shellmap is loaded (i.e. the main menu).
IngameRootINGAME_ROOTStringThe widget tree to open when a regular map is loaded (i.e. the ingame UI).
EditorRootEDITOR_ROOTStringThe widget tree to open when the map editor is loaded.
GameSaveLoadingRootGAMESAVE_LOADING_SCREENStringThe widget tree to open (in addition to INGAME_ROOT) while loading a saved game.
ClearRootTrueBooleanRemove any existing UI when a map is loaded.

LobbyPrerequisiteCheckbox

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

PropertyDefault ValueTypeDescription
ID(required)StringInternal id for this checkbox.
Label(required)StringDisplay name for this checkbox.
DescriptionStringDescription name for this checkbox.
EnabledFalseBooleanDefault value of the checkbox in the lobby.
LockedFalseBooleanPrevent the checkbox from being changed from its default value.
VisibleTrueBooleanDisplay the checkbox in the lobby.
DisplayOrder0IntegerDisplay order for the checkbox in the lobby.
Prerequisites(required)Set of StringPrerequisites to grant when this checkbox is enabled.

Locomotor

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

PropertyDefault ValueTypeDescription
NamedefaultStringLocomotor ID.
WaitAverage40Integer
WaitSpread10Integer
SharesCellFalseBooleanAllow multiple (infantry) units in one cell.
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
CrushesCollection of CrushClasse.g. crate, wall, infantry
CrushDamageTypesCollection of DamageTypeTypes of damage that are caused while crushing. Leave empty for no damage types.
TerrainSpeeds(required)Mapping of String to TerrainInfoLower the value on rough terrain. Leave out entries for impassable terrain.
TilesetTerrainInfoCollection of TileSet
TilesetMovementClassCollection of TileSet

MapBuildRadius

Controls the build radius checkboxes in the lobby options.

PropertyDefault ValueTypeDescription
AllyBuildRadiusCheckboxLabelBuild off AlliesStringDescriptive label for the ally build radius checkbox in the lobby.
AllyBuildRadiusCheckboxDescriptionAllow allies to place structures inside your build areaStringTooltip description for the ally build radius checkbox in the lobby.
AllyBuildRadiusCheckboxEnabledTrueBooleanDefault value of the ally build radius checkbox in the lobby.
AllyBuildRadiusCheckboxLockedFalseBooleanPrevent the ally build radius state from being changed in the lobby.
AllyBuildRadiusCheckboxVisibleTrueBooleanWhether to display the ally build radius checkbox in the lobby.
AllyBuildRadiusCheckboxDisplayOrder0IntegerDisplay order for the ally build radius checkbox in the lobby.
BuildRadiusCheckboxLabelLimit Build AreaStringTooltip description for the build radius checkbox in the lobby.
BuildRadiusCheckboxDescriptionLimits structure placement to areas around Construction YardsStringTooltip description for the build radius checkbox in the lobby.
BuildRadiusCheckboxEnabledTrueBooleanDefault value of the build radius checkbox in the lobby.
BuildRadiusCheckboxLockedFalseBooleanPrevent the build radius state from being changed in the lobby.
BuildRadiusCheckboxVisibleTrueBooleanDisplay the build radius checkbox in the lobby.
BuildRadiusCheckboxDisplayOrder0IntegerDisplay order for the build radius checkbox in the lobby.

MapCreeps

Controls the 'Creeps' checkbox in the lobby options.

PropertyDefault ValueTypeDescription
CheckboxLabelCreep ActorsStringDescriptive label for the creeps checkbox in the lobby.
CheckboxDescriptionHostile forces spawn on the battlefieldStringTooltip description for the creeps checkbox in the lobby.
CheckboxEnabledTrueBooleanDefault value of the creeps checkbox in the lobby.
CheckboxLockedFalseBooleanPrevent the creeps state from being changed in the lobby.
CheckboxVisibleTrueBooleanWhether to display the creeps checkbox in the lobby.
CheckboxDisplayOrder0IntegerDisplay order for the creeps checkbox in the lobby.

MapOptions

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

PropertyDefault ValueTypeDescription
ShortGameCheckboxLabelShort GameStringDescriptive label for the short game checkbox in the lobby.
ShortGameCheckboxDescriptionPlayers are defeated when their bases are destroyedStringTooltip description for the short game checkbox in the lobby.
ShortGameCheckboxEnabledTrueBooleanDefault value of the short game checkbox in the lobby.
ShortGameCheckboxLockedFalseBooleanPrevent the short game enabled state from being changed in the lobby.
ShortGameCheckboxVisibleTrueBooleanWhether to display the short game checkbox in the lobby.
ShortGameCheckboxDisplayOrder0IntegerDisplay order for the short game checkbox in the lobby.
TechLevelDropdownLabelTech LevelStringDescriptive label for the tech level option in the lobby.
TechLevelDropdownDescriptionChange the units and abilities at your disposalStringTooltip description for the tech level option in the lobby.
TechLevelunrestrictedStringDefault tech level.
TechLevelDropdownLockedFalseBooleanPrevent the tech level from being changed in the lobby.
TechLevelDropdownVisibleTrueBooleanDisplay the tech level option in the lobby.
TechLevelDropdownDisplayOrder0IntegerDisplay order for the tech level option in the lobby.
GameSpeedDropdownLabelGame SpeedStringTooltip description for the game speed option in the lobby.
GameSpeedDropdownDescriptionChange the rate at which time passesStringDescription of the game speed option in the lobby.
GameSpeeddefaultStringDefault game speed.
GameSpeedDropdownLockedFalseBooleanPrevent the game speed from being changed in the lobby.
GameSpeedDropdownVisibleTrueBooleanDisplay the game speed option in the lobby.
GameSpeedDropdownDisplayOrder0IntegerDisplay order for the game speed option in the lobby.

MissionData

Defines the FMVs that can be played by missions.

PropertyDefault ValueTypeDescription
BriefingStringBriefing text displayed in the mission browser.
BackgroundVideoStringPlayed by the "Background Info" button in the mission browser.
BriefingVideoStringPlayed by the "Briefing" button in the mission browser.
StartVideoStringAutomatically played before starting the mission.
WinVideoStringAutomatically played when the player wins the mission.
LossVideoStringAutomatically played when the player loses the mission.

MPStartLocations

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

PropertyDefault ValueTypeDescription
InitialExploreRange5c01D World Distance
SeparateTeamSpawnsCheckboxLabelSeparate Team SpawnsStringDescriptive label for the spawn positions checkbox in the lobby.
SeparateTeamSpawnsCheckboxDescriptionPlayers without assigned spawn points will start as far as possible from enemy playersStringTooltip description for the spawn positions checkbox in the lobby.
SeparateTeamSpawnsCheckboxEnabledTrueBooleanDefault value of the spawn positions checkbox in the lobby.
SeparateTeamSpawnsCheckboxLockedFalseBooleanPrevent the spawn positions state from being changed in the lobby.
SeparateTeamSpawnsCheckboxVisibleTrueBooleanWhether to display the spawn positions checkbox in the lobby.
SeparateTeamSpawnsCheckboxDisplayOrder0IntegerDisplay order for the spawn positions checkbox in the lobby.

MPStartUnits

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

PropertyDefault ValueTypeDescription
ClassnoneStringInternal class ID.
ClassNameUnlabeledStringExposed via the UI to the player.
FactionsSet of StringOnly available when selecting one of these factions. Leave empty for no restrictions.
BaseActorStringThe actor at the center, usually the mobile construction vehicle.
BaseActorOffset0,02D Cell VectorOffset from the spawn point, BaseActor will spawn at.
SupportActorsCollection of StringA group of units ready to defend or scout.
InnerSupportRadius2IntegerInner radius for spawning support actors
OuterSupportRadius4IntegerOuter radius for spawning support actors
BaseActorFacing128IntegerInitial facing of BaseActor. -1 means random.
SupportActorsFacing-1IntegerInitial facing of SupportActors. -1 means random.

MusicPlaylist

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

PropertyDefault ValueTypeDescription
StartingMusicStringMusic to play when the map starts. Plays the first song on the playlist when undefined.
VictoryMusicStringMusic to play when the game has been won.
DefeatMusicStringMusic to play when the game has been lost.
BackgroundMusicStringThis track is played when no other music is playing. It cannot be paused, but can be overridden by selecting a new track.
AllowMuteBackgroundMusicFalseBooleanAllow the background music to be muted by the player.
DisableWorldSoundsFalseBooleanDisable all world sounds (combat etc).

PaletteFromEmbeddedSpritePalette

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name
Image(required)StringSequence image holding the palette definition
Sequence(required)StringSequence holding the palette definition
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.
CursorPaletteFalseBooleanWhether this palette is available for cursors.

PaletteFromFile

Load VGA palette (.pal) registers.

PropertyDefault ValueTypeDescription
Name(required)Stringinternal palette name
TilesetStringIf defined, load the palette only for this tileset.
Filename(required)Stringfilename to load
ShadowIndexCollection of IntegerMap listed indices to shadow. Ignores previous color.
AllowModifiersTrueBoolean
CursorPaletteFalseBooleanWhether this palette is available for cursors.

PaletteFromGimpOrJascFile

Load a GIMP .gpl or JASC .pal palette file. Supports per-color alpha.

PropertyDefault ValueTypeDescription
Name(required)StringPalette name used internally.
TilesetsSet of StringDefines for which tileset IDs this palette should be loaded. If none specified, it applies to all tileset IDs not explicitly excluded.
ExcludeTilesetsSet of StringDon't load palette for these tileset IDs.
Filename(required)StringName of the file to load.
PremultiplyTrueBooleanPremultiply colors with their alpha values.
AllowModifiersTrueBoolean
TransparentIndex0IntegerIndex set to be fully transparent/invisible.
CursorPaletteFalseBooleanWhether this palette is available for cursors.

PaletteFromPaletteWithAlpha

Create a palette by applying alpha transparency to another palette.

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name
BasePalette(required)StringThe name of the palette to base off.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.
Alpha1Real NumberAlpha component that is applied to the base palette.
PremultiplyTrueBooleanPremultiply color by the alpha component.

PaletteFromPlayerPaletteWithAlpha

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

PropertyDefault ValueTypeDescription
BaseName(required)StringThe prefix for the resulting player palettes
BasePalette(required)StringThe name of the player palette to base off.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.
Alpha1Real NumberAlpha component that is applied to the base palette.
PremultiplyTrueBooleanPremultiply color by the alpha component.

PaletteFromPng

Load a PNG and use its embedded palette.

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name
TilesetStringIf defined, load the palette only for this tileset.
Filename(required)StringFilename to load
ShadowIndexCollection of IntegerMap listed indices to shadow. Ignores previous color.
AllowModifiersTrueBoolean
CursorPaletteFalseBooleanWhether this palette is available for cursors.

PaletteFromRGBA

Creates a single color palette without any base palette file.

PropertyDefault ValueTypeDescription
Name(required)Stringinternal palette name
TilesetStringIf defined, load the palette only for this tileset.
R0Integerred color component
G0Integergreen color component
B0Integerblue color component
A255Integeralpha channel (transparency)
AllowModifiersTrueBoolean
TransparentIndex0IntegerIndex set to be fully transparent/invisible.

PathFinder

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

Requires trait: Locomotor.

RadarPings

PropertyDefault ValueTypeDescription
FromRadius200Integer
ToRadius15Integer
ShrinkSpeed4Integer
RotationSpeed0.12Real Number

ResourceClaimLayer

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

ResourceLayer

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

Requires traits: BuildingInfluence, ResourceType.

ResourceRenderer

Visualizes the state of the ResourceLayer. Attach this to the world actor.

Requires trait: ResourceLayer.

PropertyDefault ValueTypeDescription
RenderTypes(required)Collection of StringOnly render these ResourceType names.

ResourceType

PropertyDefault ValueTypeDescription
ImageresourcesStringSequence image that holds the different variants.
Sequences(required)Collection of StringRandomly chosen image sequences.
PaletteterrainStringPalette used for rendering the resource sprites.
ResourceType1IntegerResource index used in the binary map data.
ValuePerUnit0IntegerCredit value of a single resource unit.
MaxDensity10IntegerMaximum number of resource units allowed in a single cell.
Type(required)StringResource identifier used by other traits.
Name(required)StringResource name used by tooltips.
TerrainType(required)StringTerrain type used to determine unit movement and minimap colors.
AllowedTerrainTypesSet of StringTerrain types that this resource can spawn on.
AllowUnderActorsFalseBooleanAllow resource to spawn under Mobile actors.
AllowUnderBuildingsFalseBooleanAllow resource to spawn under Buildings.
AllowOnRampsFalseBooleanAllow resource to spawn on ramp tiles.
PipColorYellowPipTypeHarvester content pip color.

ScriptLobbyDropdown

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

PropertyDefault ValueTypeDescription
ID(required)StringInternal id for this option.
Label(required)StringDescriptive label for this option.
DescriptionStringTooltip description for this option.
Default(required)StringDefault option key in the Values list.
Values(required)Mapping of String to StringDifficulty levels supported by the map.
LockedFalseBooleanPrevent the option from being changed from its default value.
VisibleTrueBooleanWhether to display the option in the lobby.
DisplayOrder0IntegerDisplay order for the option in the lobby.

Selection

ShroudRenderer

PropertyDefault ValueTypeDescription
SequenceshroudString
ShroudVariantsshroudCollection of String
FogVariantsfogCollection of String
ShroudPaletteshroudString
FogPalettefogString
Index12, 9, 8, 3, 1, 6, 4, 2, 13, 11, 7, 14Collection of IntegerBitfield of shroud directions for each frame. Lower four bits are corners clockwise from TL; upper four are edges clockwise from top
UseExtendedIndexFalseBooleanUse the upper four bits when calculating frame
OverrideFullShroudStringOverride for source art that doesn't define a fully shrouded tile
OverrideShroudIndex15Integer
OverrideFullFogStringOverride for source art that doesn't define a fully fogged tile
OverrideFogIndex15Integer
ShroudBlendAlphaBlendMode

SmudgeLayer

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

PropertyDefault ValueTypeDescription
TypeScorchString
SequencescorchStringSprite sequence name
SmokePercentage25Integer
SmokeTypesmoke_mStringSprite sequence name
SmokeSequenceidleString
SmokePaletteeffectString
PaletteterrainString
InitialSmudgesMapping of 2D Cell Position to MapSmudge

SpawnMapActors

Spawns the initial units for each player upon game start.

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.

PropertyDefault ValueTypeDescription
StartingUnitsClassnoneString
DropdownLabelStarting UnitsStringDescriptive label for the starting units option in the lobby.
DropdownDescriptionChange the units that you start the game withStringTooltip description for the starting units option in the lobby.
DropdownLockedFalseBooleanPrevent the starting units option from being changed in the lobby.
DropdownVisibleTrueBooleanWhether to display the starting units option in the lobby.
DropdownDisplayOrder0IntegerDisplay order for the starting units option in the lobby.

StartGameNotification

PropertyDefault ValueTypeDescription
NotificationStartGameString
LoadedNotificationGameLoadedString
SavedNotificationGameSavedString

SubterraneanActorLayer

PropertyDefault ValueTypeDescription
TerrainTypeSubterraneanStringTerrain type of the underground layer.
HeightOffset-2c01D World DistanceHeight offset relative to the smoothed terrain for movement.
SmoothingRadius2IntegerCell radius for smoothing adjacent cell heights.

SubterraneanLocomotor

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

PropertyDefault ValueTypeDescription
SubterraneanTransitionCost0IntegerPathfinding cost for submerging or reemerging.
SubterraneanTransitionTerrainTypesSet of StringThe terrain types that this actor can transition on. Leave empty to allow any.
SubterraneanTransitionOnRampsFalseBooleanCan this actor transition on slopes?
SubterraneanTransitionDepth-1c01D World DistanceDepth at which the subterranian condition is applied.
NamedefaultStringLocomotor ID.
WaitAverage40Integer
WaitSpread10Integer
SharesCellFalseBooleanAllow multiple (infantry) units in one cell.
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
CrushesCollection of CrushClasse.g. crate, wall, infantry
CrushDamageTypesCollection of DamageTypeTypes of damage that are caused while crushing. Leave empty for no damage types.
TerrainSpeeds(required)Mapping of String to TerrainInfoLower the value on rough terrain. Leave out entries for impassable terrain.
TilesetTerrainInfoCollection of TileSet
TilesetMovementClassCollection of TileSet

TerrainGeometryOverlay

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

TerrainRenderer

TerrainTunnel

Requires trait: TerrainTunnelLayer.

PropertyDefault ValueTypeDescription
Location(required)2D Cell PositionLocation of the tunnel
Height(required)ByteHeight of the tunnel floor in map height steps.
Dimensions(required)2D Cell VectorSize of the tunnel footprint
Footprint(required)StringTunnel footprint. _ is passable, x is blocked, and o are tunnel portals.
TerrainType(required)StringTerrain type of the tunnel floor.

TerrainTunnelLayer

Requires trait: DomainIndex.

PropertyDefault ValueTypeDescription
ImpassableTerrainTypeImpassableStringTerrain type used by cells outside any tunnel footprint.

ValidateOrder

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

WarheadDebugOverlay

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

PropertyDefault ValueTypeDescription
DisplayDuration25Integer

WeatherOverlay

Adds a particle-based overlay.

PropertyDefault ValueTypeDescription
ParticleDensityFactor8IntegerAverage number of particles per 100x100 px square.
ChangingWindLevelTrueBooleanShould the level of the wind change over time, or just stick to the first value of WindLevels?
WindLevels-5, -3, -2, 0, 2, 3, 5Collection of IntegerThe levels of wind intensity (particles x-axis movement in px/tick).
WindTick150, 750Collection of IntegerWorks only if ChangingWindLevel is enabled. Min. and max. ticks needed to change the WindLevel.
InstantWindChangesFalseBooleanHard or soft fading between the WindLevels.
UseSquaresTrueBooleanParticles are drawn in squares when enabled, otherwise with lines.
ParticleSize1, 3Collection of IntegerSize / width of the particle in px.
ScatterDirection-1, 1Collection of IntegerScatters falling direction on the x-axis. Scatter min. and max. value in px/tick.
Gravity1, 2Collection of Real NumberMin. and max. speed at which particles fall in px/tick.
SwingOffset1, 1.5Collection of Real NumberThe current offset value for the swing movement. SwingOffset min. and max. value in px/tick.
SwingSpeed0.001, 0.025Collection of Real NumberThe value that particles swing to the side each update. SwingSpeed min. and max. value in px/tick.
SwingAmplitude1, 1.5Collection of Real NumberThe value range that can be swung to the left or right. SwingAmplitude min. and max. value in px/tick.
ParticleColorsECECEC, E4E4E4, D0D0D0, BCBCBCCollection of Color (RRGGBB[AA] notation)The randomly selected rgb(a) hex colors for the particles. Use this order: rrggbb[aa], rrggbb[aa], ...
LineTailAlphaValue200ByteWorks only with line enabled and can be used to fade out the tail of the line like a contrail.

OpenRA.Mods.Common.Traits.Conditions

GrantRandomCondition

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

PropertyDefault ValueTypeDescription
Conditions(required)Collection of StringList of conditions to grant from.

OpenRA.Mods.Common.Traits.Radar

AppearsOnRadar

PropertyDefault ValueTypeDescription
UseLocationFalseBoolean
ValidStancesEnemy, Neutral, AllyStancePlayer stances who can view this actor on radar.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProvidesRadar

This actor enables the radar minimap.

PropertyDefault ValueTypeDescription
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

RadarColorFromTerrain

PropertyDefault ValueTypeDescription
Terrain(required)String

OpenRA.Mods.Common.Traits.Render

CashTricklerBar

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

Requires trait: CashTrickler.

PropertyDefault ValueTypeDescription
DisplayStancesAllyStanceDefines to which players the bar is to be shown.
ColorFF00FFColor (RRGGBB[AA] notation)

Hovers

Changes the visual Z position periodically.

PropertyDefault ValueTypeDescription
BobDistance-0c431D World DistanceMaximum visual Z axis distance relative to actual position + InitialHeight.
MinHoveringAltitude0c01D World DistanceActual altitude of actor needs to be this or higher to enable hover effect.
Ticks6IntegerAmount of ticks it takes to reach BobDistance.
FallTicks10IntegerAmount of ticks it takes to fall to the ground from the highest point when disabled.
RiseTicks20IntegerAmount of ticks it takes to rise from the ground to InitialHeight.
InitialHeight0c431D World DistanceInitial Z axis modifier relative to actual position.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

LeavesTrails

Renders a sprite effect when leaving a cell.

PropertyDefault ValueTypeDescription
ImageString
SequencesidleCollection of String
PaletteeffectString
TerrainTypesSet of StringOnly leave trail on listed terrain types. Leave empty to leave trail on all terrain types.
TypeCellTrailTypeAccepts values: Cell to draw the trail sprite in the center of the current cell, CenterPosition to draw the trail sprite at the current position.
VisibleThroughFogFalseBooleanShould the trail be visible through fog.
TrailWhileStationaryFalseBooleanDisplay a trail while stationary.
StationaryInterval0IntegerDelay between trail updates when stationary.
TrailWhileMovingTrueBooleanDisplay a trail while moving.
MovingInterval0IntegerDelay between trail updates when moving.
StartDelay0IntegerDelay before first trail. Use negative values for falling back to the *Interval values.
Offsets0,0,0Collection of 3D World VectorTrail spawn positions relative to actor position. (forward, right, up) triples
SpawnAtLastPositionTrueBooleanShould the trail spawn relative to last position or current position?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ProductionBar

Visualizes the remaining build time of actor produced here.

Requires trait: Production.

PropertyDefault ValueTypeDescription
ProductionType(required)StringProduction queue type, for actors with multiple queues.
Color87CEEBColor (RRGGBB[AA] notation)
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

ReloadArmamentsBar

Visualizes the minimum remaining time for reloading the armaments.

PropertyDefault ValueTypeDescription
Armamentsprimary, secondaryCollection of StringArmament names
ColorFF0000Color (RRGGBB[AA] notation)

RenderDebugState

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

PropertyDefault ValueTypeDescription
FontTinyBoldString

RenderDetectionCircle

Requires trait: DetectCloaked.

PropertyDefault ValueTypeDescription
UpdateLineTick10231D World AngleWAngle the Radar update line advances per tick.
TrailCount0IntegerNumber of trailing Radar update lines.
Color32CD3280Color (RRGGBB[AA] notation)Color of the circle and scanner update line.
ContrastColor00000060Color (RRGGBB[AA] notation)Contrast color of the circle and scanner update line.

RenderNameTag

Displays the player name above the unit

PropertyDefault ValueTypeDescription
MaxLength10Integer
FontTinyBoldString

RenderRangeCircle

Draw a circle indicating my weapon's range.

Requires trait: AttackBase.

PropertyDefault ValueTypeDescription
RangeCircleTypeString
FallbackRange0c01D World DistanceRange to draw if no armaments are available.
RangeCircleModeMaximumRangeCircleModeWhich circle to show. Valid values are Maximum, and Minimum.
ColorFFFF0080Color (RRGGBB[AA] notation)Color of the circle.
BorderColor00000060Color (RRGGBB[AA] notation)Color of the border of the circle.

RenderSprites

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

PropertyDefault ValueTypeDescription
ImageStringThe sequence name that defines the actor sprites. Defaults to the actor name.
FactionImagesMapping of String to StringA dictionary of faction-specific image overrides.
PaletteStringCustom palette name
PlayerPaletteplayerStringCustom PlayerColorPalette: BaseName
Scale1Real NumberChange the sprite image size.

RenderSpritesEditorOnly

Invisible during games.

PropertyDefault ValueTypeDescription
ImageStringThe sequence name that defines the actor sprites. Defaults to the actor name.
FactionImagesMapping of String to StringA dictionary of faction-specific image overrides.
PaletteStringCustom palette name
PlayerPaletteplayerStringCustom PlayerColorPalette: BaseName
Scale1Real NumberChange the sprite image size.

RenderVoxels

Requires trait: BodyOrientation.

PropertyDefault ValueTypeDescription
ImageStringDefaults to the actor name.
PaletteStringCustom palette name
PlayerPaletteplayerStringCustom PlayerColorPalette: BaseName
NormalsPalettenormalsString
ShadowPaletteshadowString
Scale12Real NumberChange the image size.
LightPitch1421D World Angle
LightYaw6821D World Angle
LightAmbientColor0.6, 0.6, 0.6Collection of Real Number
LightDiffuseColor0.4, 0.4, 0.4Collection of Real Number

SelectionDecorations

PropertyDefault ValueTypeDescription
PalettechromeString
RenderSelectionBarsTrueBooleanHealth bar, production progress bar etc.
RenderSelectionBoxTrueBoolean
SelectionBoxColorFFFFFFColor (RRGGBB[AA] notation)
ImagepipsString

SupportPowerChargeBar

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

PropertyDefault ValueTypeDescription
DisplayStancesAllyStanceDefines to which players the bar is to be shown.
ColorFF00FFColor (RRGGBB[AA] notation)
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

TimedConditionBar

Visualizes the remaining time for a condition.

Requires trait: ConditionManager.

PropertyDefault ValueTypeDescription
Condition(required)StringCondition that this bar corresponds to
ColorFF0000Color (RRGGBB[AA] notation)

VeteranProductionIconOverlay

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

Requires trait: TechTree.

PropertyDefault ValueTypeDescription
Image(required)StringImage used for the overlay.
SequenceStringSequence used for the overlay (cannot be animated).
PalettechromeStringPalette to render the sprite in. Reference the world actor's PaletteFrom* traits.
ReferencePointTop, LeftReferencePointsPoint on the production icon's used as reference for offsetting the overlay. Possible values are combinations of Center, Top, Bottom, Left, Right.

WithAcceptDeliveredCashAnimation

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

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
BodybodyStringWhich sprite body to play the animation on.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithAimAnimation

Requires traits: AttackBase, WithSpriteBody.

PropertyDefault ValueTypeDescription
ArmamentprimaryStringArmament name
Sequence(required)StringDisplayed while targeting.
BodybodyStringWhich sprite body to modify.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithAttackAnimation

Requires traits: Armament, AttackBase, WithSpriteBody.

PropertyDefault ValueTypeDescription
ArmamentprimaryStringArmament name
SequenceStringDisplayed while attacking.
Delay0IntegerDelay in ticks before animation starts, either relative to attack preparation or attack.
DelayRelativeToPreparationAttackDelayTypeShould the animation be delayed relative to preparation or actual attack?
BodybodyStringWhich sprite body to modify.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithAttackOverlay

Rendered together with an attack.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Sequence(required)StringSequence name to use
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
Delay0IntegerDelay in ticks before overlay starts, either relative to attack preparation or attack.
DelayRelativeToPreparationAttackDelayTypeShould the overlay be delayed relative to preparation or actual attack?

WithBridgeSpriteBody

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
TypeGroundLevelBridgeString
AOffset0,02D Cell VectorOffset to search for the 'A' neighbour
BOffset0,02D Cell VectorPosition to search for the 'B' neighbour
SequencesidleCollection of StringSequences to use when both neighbours are alive.
ADestroyedSequencesadestroyedCollection of String
BDestroyedSequencesbdestroyedCollection of String
ABDestroyedSequencesabdestroyedCollection of String
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithBuildingPlacedAnimation

Changes the animation when the actor constructed a building.

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequencebuildStringSequence name to use
BodybodyStringWhich sprite body to play the animation on.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithBuildingPlacedOverlay

Rendered when the actor constructed a building.

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
Sequencecrane-overlayStringSequence name to use
Offset0,0,03D World VectorPosition relative to body
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithBuildingRepairDecoration

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

Requires trait: RepairableBuilding.

PropertyDefault ValueTypeDescription
ImageStringImage used for this decoration. Defaults to the actor's type.
SequenceStringSequence used for this decoration (can be animated).
PalettechromeStringPalette to render the sprite in. Reference the world actor's PaletteFrom* traits.
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
ReferencePointTop, LeftReferencePointsPoint in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ZOffset1IntegerThe Z offset to apply when rendering this decoration.
ValidStancesAllyStancePlayer stances who can view the decoration.
RequiresSelectionFalseBooleanShould this be visible only when selected?
OffsetsMapping of BooleanExpression to 2D IntegerScreen-space offsets to apply when defined conditions are enabled. A dictionary of [condition string]: [x, y offset].
BlinkInterval5IntegerThe number of ticks that each step in the blink pattern in active.
BlinkPatternCollection of BlinkStateA pattern of ticks (BlinkInterval long) where the decoration is visible or hidden.
BlinkPatternsMapping of BooleanExpression to Collection of BlinkStateOverride blink conditions to use when defined conditions are enabled. A dictionary of [condition string]: [pattern].
RequiresConditionBooleanExpressionBoolean 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.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence to use for the charge levels.
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithChargeSpriteBody

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

Requires traits: AttackCharges, RenderSprites.

PropertyDefault ValueTypeDescription
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithCrateBody

Renders crates with both water and land variants.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
XmasImagesCollection of StringEasteregg sequences to use in December.
WaterTerrainTypesWaterSet of StringTerrain types on which to display WaterSequence.
IdleSequenceidleString
WaterSequenceString
LandSequenceString

WithDamageOverlay

Renders an overlay when the actor is taking heavy damage.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Imagesmoke_mString
IdleSequenceidleString
LoopSequenceloopString
EndSequenceendString
PaletteStringCustom palette name.
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName.
DamageTypesCollection of DamageTypeDamage types that this should be used for (defined on the warheads). Leave empty to disable all filtering.
MinimumDamageStateHeavyDamageStateTrigger when Undamaged, Light, Medium, Heavy, Critical or Dead.
MaximumDamageStateDeadDamageState

WithDeadBridgeSpriteBody

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
RampActorsCollection of String
AOffset0,02D Cell VectorOffset to search for the 'A' neighbour
BOffset0,02D Cell VectorPosition to search for the 'B' neighbour
ARampSequencesarampCollection of String
BRampSequencesbrampCollection of String
ABRampSequencesabrampCollection of String
EditorSequenceeditorStringPlaceholder sequence to use in the map editor.
EditorPaletteterrainalphaStringPalette to use for the editor placeholder.
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithDeathAnimation

This actor has a death animation.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
DeathSequencedieStringSequence prefix to play when this actor is killed by a warhead.
DeathSequencePaletteplayerStringThe palette used for DeathSequence.
DeathPaletteIsPlayerPaletteTrueBooleanCustom death animation palette is a player palette BaseName
UseDeathTypeSuffixTrueBooleanShould DeathType-specific sequences be used (sequence name = DeathSequence + DeathType).
CrushedSequenceStringSequence to play when this actor is crushed.
CrushedSequencePaletteeffectStringThe palette used for CrushedSequence.
CrushedPaletteIsPlayerPaletteFalseBooleanCustom crushed animation palette is a player palette BaseName
DeathTypesMapping of String to Collection of StringDeath animations to use for each damage type (defined on the warheads). Is only used if UseDeathTypeSuffix is True.
FallbackSequenceStringSequence to use when the actor is killed by some non-standard means (e.g. suicide).
Delay0IntegerDelay the spawn of the death animation by this many ticks.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithDecoration

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

PropertyDefault ValueTypeDescription
ImageStringImage used for this decoration. Defaults to the actor's type.
SequenceStringSequence used for this decoration (can be animated).
PalettechromeStringPalette to render the sprite in. Reference the world actor's PaletteFrom* traits.
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
ReferencePointTop, LeftReferencePointsPoint in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ZOffset1IntegerThe Z offset to apply when rendering this decoration.
ValidStancesAllyStancePlayer stances who can view the decoration.
RequiresSelectionFalseBooleanShould this be visible only when selected?
OffsetsMapping of BooleanExpression to 2D IntegerScreen-space offsets to apply when defined conditions are enabled. A dictionary of [condition string]: [x, y offset].
BlinkInterval5IntegerThe number of ticks that each step in the blink pattern in active.
BlinkPatternCollection of BlinkStateA pattern of ticks (BlinkInterval long) where the decoration is visible or hidden.
BlinkPatternsMapping of BooleanExpression to Collection of BlinkStateOverride blink conditions to use when defined conditions are enabled. A dictionary of [condition string]: [pattern].
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithDeliveryAnimation

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

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
ActiveSequenceactiveString
BodybodyStringWhich sprite body to play the animation on.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithDockedOverlay

Rendered when a harvester is docked.

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
Sequencedocking-overlayStringSequence name to use
Offset0,0,03D World VectorPosition relative to body
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithDockingAnimation

Requires traits: Harvester, WithSpriteBody.

PropertyDefault ValueTypeDescription
DockSequencedockStringDisplayed when docking to refinery.
DockLoopSequencedock-loopStringLooped while unloading at refinery.

WithFacingSpriteBody

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithGateSpriteBody

Requires traits: Gate, RenderSprites.

PropertyDefault ValueTypeDescription
WallConnectionsCollection of 2D Cell VectorCells (outside the gate footprint) that contain wall cells that can connect to the gate
TypewallStringWall type for connections
OpenSequenceStringOverride sequence to use when fully open.
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithHarvestAnimation

Requires traits: Harvester, WithSpriteBody.

PropertyDefault ValueTypeDescription
HarvestSequenceharvestStringDisplayed while harvesting.
BodybodyStringWhich sprite body to play the animation on.

WithHarvestOverlay

Displays an overlay whenever resources are harvested by the actor.

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
SequenceharvestStringSequence name to use
LocalOffset0,0,03D World VectorPosition relative to body
PaletteeffectString

WithIdleAnimation

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

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequencesactiveCollection of StringSequence names to use.
Interval750Integer
BodybodyStringWhich sprite body to play the animation on.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithIdleOverlay

Renders a decorative animation on units and buildings.

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
StartSequenceStringAnimation to play when the actor is created.
Sequenceidle-overlayStringSequence name to use
Offset0,0,03D World VectorPosition relative to body
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithInfantryBody

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
MinIdleDelay30Integer
MaxIdleDelay110Integer
MoveSequencerunString
DefaultAttackSequenceString
AttackSequencesMapping of String to StringAttack sequence to use for each armament.
IdleSequencesCollection of String
StandSequencesstandCollection of String
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithMakeAnimation

Replaces the sprite during construction/deploy/undeploy.

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequencemakeStringSequence name to use.
ConditionStringThe condition to grant to self while the make animation is playing.
BodyNamesbodyCollection of StringApply to sprite bodies with these names.

WithMoveAnimation

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
MoveSequencemoveStringDisplayed while moving.
BodybodyStringWhich sprite body to modify.
ValidMovementTypesHorizontalMovementTypeApply condition on listed movement types. Available options are: None, Horizontal, Vertical, Turn.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithMuzzleOverlay

Renders the MuzzleSequence from the Armament trait.

Requires traits: Armament, AttackBase, RenderSprites.

PropertyDefault ValueTypeDescription
IgnoreOffsetFalseBooleanIgnore the weapon position, and always draw relative to the center of the actor
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithNukeLaunchAnimation

Replaces the building animation when NukePower is triggered.

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
BodybodyStringWhich sprite body to play the animation on.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithNukeLaunchOverlay

Displays an overlay when NukePower is triggered.

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
Offset0,0,03D World VectorPosition relative to body
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithParachute

Renders a parachute on units.

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
ImageStringThe image that contains the parachute sequences.
OpeningSequenceStringParachute opening sequence.
SequenceStringParachute idle sequence.
ClosingSequenceStringParachute closing sequence. Defaults to opening sequence played backwards.
PaletteplayerStringPalette used to render the parachute.
IsPlayerPaletteTrueBoolean
Offset0,0,3843D World VectorParachute position relative to the paradropped unit.
ShadowImageStringThe image that contains the shadow sequence for the paradropped unit.
ShadowSequenceStringParadropped unit's shadow sequence.
ShadowPaletteshadowStringPalette used to render the paradropped unit's shadow.
ShadowOffset0,128,03D World VectorShadow position relative to the paradropped unit's intended landing position.
ShadowZOffset0IntegerZ-offset to apply on the shadow sequence.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithProductionDoorOverlay

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

Requires traits: BodyOrientation, Building, RenderSprites.

PropertyDefault ValueTypeDescription
Sequencebuild-doorString
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithProductionOverlay

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

Requires traits: BodyOrientation, Production, RenderSprites.

PropertyDefault ValueTypeDescription
QueuesSet of StringQueues that should be producing for this overlay to render.
Sequenceproduction-overlayStringSequence name to use
Offset0,0,03D World VectorPosition relative to body
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithRangeCircle

Renders an arbitrary circle when selected or placing a structure

PropertyDefault ValueTypeDescription
TypeStringType of range circle. used to decide which circles to draw on other structures during building placement.
ColorFFFFFF80Color (RRGGBB[AA] notation)Color of the circle
UsePlayerColorFalseBooleanIf set, the color of the owning player will be used instead of Color.
ValidStancesAllyStanceStances of players which will be able to see the circle. Valid values are combinations of None, Ally, Enemy and Neutral.
VisibleWhenSelectedRangeCircleVisibilityWhen to show the range circle. Valid values are Always, and WhenSelected
Range0c01D World DistanceRange of the circle
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithRepairOverlay

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

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
StartSequenceStringSequence to use upon repair beginning.
SequenceactiveStringSequence name to play once during repair intervals or repeatedly if a start sequence is set.
EndSequenceStringSequence to use after repairing has finished.
Offset0,0,03D World VectorPosition relative to body
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithResourceLevelOverlay

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

Requires traits: RenderSprites, WithSpriteBody.

PropertyDefault ValueTypeDescription
SequenceresourcesStringSequence name to use
PaletteStringCustom palette name.
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithResourceLevelSpriteBody

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

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Stages10IntegerInternal resource stages. Does not have to match number of sequence frames.
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithResupplyAnimation

Replaces the default animation when actor resupplies a unit.

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
BodybodyStringWhich sprite body to play the animation on.
PlayAnimationOnRearm, RepairResupplyTypeEvents leading to the animation getting played. Possible values currently are: Rearm, Repair.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithShadow

Clones the actor sprite with another palette below it.

PropertyDefault ValueTypeDescription
PaletteshadowString
Offset0,0,03D World VectorShadow position offset relative to actor position (ground level).
ZOffset-5IntegerShadow Z offset relative to actor sprite.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithSpriteBarrel

Renders barrels for units with the Turreted trait.

Requires traits: Armament, BodyOrientation, RenderSprites, Turreted.

PropertyDefault ValueTypeDescription
SequencebarrelStringSequence name to use.
ArmamentprimaryStringArmament to use for recoil.
LocalOffset0,0,03D World VectorVisual offset.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithSpriteBody

Default trait for rendering sprite-based actors.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithSpriteControlGroupDecoration

Renders Ctrl groups using pixel art.

PropertyDefault ValueTypeDescription
PalettechromeString
ImagepipsString
GroupSequencegroupsStringSprite sequence used to render the control group 0-9 numbers.
ReferencePointTop, LeftReferencePointsPoint in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.

WithSpriteTurret

Renders turrets for units with the Turreted trait.

Requires traits: Armament, BodyOrientation, RenderSprites, Turreted.

PropertyDefault ValueTypeDescription
SequenceturretStringSequence name to use
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanPalette is a player palette BaseName
TurretprimaryStringTurreted 'Turret' key to display
RecoilsTrueBooleanRender recoil
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithTextControlGroupDecoration

Renders Ctrl groups using typeface.

PropertyDefault ValueTypeDescription
FontTinyBoldString
ColorFFFFFFColor (RRGGBB[AA] notation)Display in this color when not using the player color.
UsePlayerColorFalseBooleanUse the player color of the current owner.
ZOffset1IntegerThe Z offset to apply when rendering this decoration.
ReferencePointBottom, LeftReferencePointsPoint in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ScreenOffset2,-22D IntegerManual offset in screen pixel.

WithTextDecoration

Displays a text overlay relative to the selection box.

PropertyDefault ValueTypeDescription
Text(required)String
FontTinyBoldString
ColorFFFFFFColor (RRGGBB[AA] notation)Display in this color when not using the player color.
UsePlayerColorFalseBooleanUse the player color of the current owner.
ReferencePointTop, LeftReferencePointsPoint in the actor's selection box used as reference for offsetting the decoration image. Possible values are combinations of Center, Top, Bottom, Left, Right.
ZOffset1IntegerThe Z offset to apply when rendering this decoration.
ValidStancesAllyStancePlayer stances who can view the decoration.
RequiresSelectionFalseBooleanShould this be visible only when selected?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithTurretAimAnimation

Requires traits: AttackBase, WithSpriteTurret.

PropertyDefault ValueTypeDescription
ArmamentprimaryStringArmament name
TurretprimaryStringTurret name
Sequence(required)StringDisplayed while targeting.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithTurretAttackAnimation

Requires traits: Armament, WithSpriteTurret.

PropertyDefault ValueTypeDescription
ArmamentprimaryStringArmament name
TurretprimaryStringTurret name
SequenceStringDisplayed while attacking.
Delay0IntegerDelay in ticks before animation starts, either relative to attack preparation or attack.
DelayRelativeToPreparationAttackDelayTypeShould the animation be delayed relative to preparation or actual attack?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithVoxelBarrel

Requires traits: Armament, RenderVoxels, Turreted.

PropertyDefault ValueTypeDescription
SequencebarrelStringVoxel sequence name to use
ArmamentprimaryStringArmament to use for recoil
LocalOffset0,0,03D World VectorVisual offset
LocalOrientation0,0,03D World RotationRotate the barrel relative to the body
ShowShadowTrueBooleanDefines if the Voxel should have a shadow.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithVoxelBody

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

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
SequenceidleString
ShowShadowTrueBooleanDefines if the Voxel should have a shadow.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithVoxelTurret

Requires traits: RenderVoxels, Turreted.

PropertyDefault ValueTypeDescription
SequenceturretStringVoxel sequence name to use
TurretprimaryStringTurreted 'Turret' key to display
ShowShadowTrueBooleanDefines if the Voxel should have a shadow.
RequiresConditionBooleanExpressionBoolean 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.

PropertyDefault ValueTypeDescription
TypewallString
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
NamebodyStringIdentifier used to assign modifying traits to this sprite body.
ForceToGroundFalseBooleanForces sprite body to be rendered on ground regardless of actor altitude (for example for custom shadow sprites).
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

OpenRA.Mods.Common.Traits.Sound

ActorLostNotification

PropertyDefault ValueTypeDescription
NotificationUnitLostString
NotifyAllFalseBoolean

AmbientSound

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

PropertyDefault ValueTypeDescription
SoundFiles(required)Collection of String
Delay0Collection of IntegerInitial delay (in ticks) before playing the sound for the first time. Two values indicate a random delay range.
Interval0Collection of IntegerInterval between playing the sound (in ticks). Two values indicate a random delay range.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AnnounceOnKill

Play the Kill voice of this actor when eliminating enemies.

PropertyDefault ValueTypeDescription
Interval5IntegerMinimum duration (in seconds) between sound events.
VoiceKillStringVoice to use when killing something.

AnnounceOnSeen

Players will be notified when this actor becomes visible to them. Requires the 'EnemyWatcher' trait on the player actor.

PropertyDefault ValueTypeDescription
PingRadarFalseBooleanShould there be a radar ping on enemies' radar at the actor's location when they see him
NotificationString
AnnounceNeutralsFalseBoolean

AttackSounds

Played when preparing for an attack or attacking.

PropertyDefault ValueTypeDescription
SoundsCollection of StringPlay a randomly selected sound from this list when preparing for an attack or attacking.
Delay0IntegerDelay in ticks before sound starts, either relative to attack preparation or attack.
DelayRelativeToPreparationAttackDelayTypeShould the sound be delayed relative to preparation or actual attack?
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

CaptureNotification

PropertyDefault ValueTypeDescription
NotificationBuildingCapturedStringThe speech notification to play to the new owner.
NewOwnerVoiceTrueBooleanSpecifies if Notification is played with the voice of the new owners faction.
LoseNotificationStringThe speech notification to play to the old owner.
LoseNewOwnerVoiceFalseBooleanSpecifies if LoseNotification is played with the voice of the new owners faction.

DeathSounds

Sounds to play when killed.

PropertyDefault ValueTypeDescription
VoiceDieStringDeath notification voice.
VolumeMultiplier1Real NumberMultiply volume with this factor.
DeathTypesCollection of DamageTypeDamage types that this should be used for (defined on the warheads). If empty, this will be used as the default sound for all death types.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SoundOnDamageTransition

PropertyDefault ValueTypeDescription
DamagedSoundsCollection of StringPlay a random sound from this list when damaged.
DestroyedSoundsCollection of StringPlay a random sound from this list when destroyed.

VoiceAnnouncement

Plays a voice clip when the trait is enabled.

PropertyDefault ValueTypeDescription
Voice(required)StringVoice to play.
ValidStancesEnemy, Neutral, AllyStancePlayer stances who can hear this voice.
PlayToOwnerTrueBooleanPlay the voice to the owning player even if Stance.Ally is not included in ValidStances.
OneShotFalseBooleanDisable the announcement after it has been triggered.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

OpenRA.Mods.D2k.Traits

AttackSwallow

Sandworms use this attack model.

PropertyDefault ValueTypeDescription
ReturnDelay60IntegerThe number of ticks it takes to return underground.
AttackDelay30IntegerThe number of ticks it takes to get in place under the target to attack.
AttackingConditionStringThe condition to grant to self while attacking.
WormAttackSoundWORM.WAVString
WormAttackNotificationWormAttackString
FacingTolerance0IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
Armamentsprimary, secondaryCollection of StringArmament names
CursorString
OutsideRangeCursorString
TargetLineColorDC143CColor (RRGGBB[AA] notation)Color to use for the target line.
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
TargetFrozenActorsFalseBooleanAllow firing into the fog to target frozen actors without requiring force-fire.
ForceFireIgnoresActorsFalseBooleanForce-fire mode ignores actors and targets the ground instead.
OutsideRangeRequiresForceFireFalseBooleanForce-fire mode is required to enable targeting against targets outside of range.
VoiceActionString
FacingTolerance0IntegerTolerance for attack angle. Range [0, 128], 128 covers 360 degrees.
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

AttractsWorms

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

PropertyDefault ValueTypeDescription
Intensity0IntegerHow much noise this actor produces.
Falloff100, 100, 25, 11, 6, 4, 3, 2, 1, 0Collection of IntegerNoise percentage at Range step away from the actor.
Spread3c01D World DistanceRange between falloff steps.
RangeCollection of 1D World DistanceRanges at which each Falloff step is defined. Overrides Spread.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

D2kActorPreviewPlaceBuildingPreview

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

PropertyDefault ValueTypeDescription
UnsafeTerrainTypesRockSet of StringTerrain types that should show the 'unsafe' footprint tile.
AnimatedTrueBooleanEnable the building's idle animation.
OverridePaletteStringCustom palette name.
OverridePaletteIsPlayerPaletteTrueBooleanCustom palette is a player palette BaseName.
FootprintUnderPreviewValid, LineBuildPlaceBuildingCellTypeFootprint types to draw underneath the actor preview.
FootprintOverPreviewInvalidPlaceBuildingCellTypeFootprint types to draw above the actor preview.
PaletteterrainStringPalette to use for rendering the placement sprite.
LineBuildSegmentPaletteterrainStringPalette to use for rendering the placement sprite for line build segments.

LaysTerrain

Requires trait: Building.

PropertyDefault ValueTypeDescription
Template0UInt16The terrain template to place. If the template is PickAny, then the actor footprint will be filled with this tile.
TerrainTypes(required)Set of StringThe terrain types that this template will be placed on.
Offset0,02D Cell VectorOffset relative to the actor TopLeft. Not used if the template is PickAny. Tiles being offset out of the actor's footprint will not be placed.

HarvesterInsurance

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

Sandworm

Requires traits: AttackBase, Mobile.

PropertyDefault ValueTypeDescription
TargetRescanInterval125IntegerTime between rescanning for targets (in ticks).
MaxSearchRadius20c01D World DistanceThe radius in which the worm "searches" for targets.
IgnoreNoiseAttackRange3c01D World DistanceThe range at which the worm launches an attack regardless of noise levels.
ChanceToDisappear100IntegerThe chance this actor has of disappearing after it attacks (in %).
WanderMoveRadius1Integer
ReduceMoveRadiusDelay5IntegerNumber of ticks to wait before decreasing the effective move radius.
MinMoveDelay0IntegerMinimum amount of ticks the actor will sit idly before starting to wander.
MaxMoveDelay0IntegerMaximum amount of ticks the actor will sit idly before starting to wander.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

SpiceBloom

Seeds resources by explosive eruptions after accumulation times.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
GrowthSequencesgrow1, grow2, grow3Collection of String
SpurtSequencespurtString
Lifetime1000, 3000Collection of IntegerThe range of time (in ticks) that the spicebloom will take to grow until it blows up.
ResourceTypeSpiceString
GrowthTerrainTypesSet of StringSpice blooms only grow on these terrain types.
WeaponStringThe weapon to use for spice creation.
Pieces2, 12Collection of IntegerThe amount of spice to expel.
Range5IntegerThe maximum distance in cells that spice may be expelled.

BuildableTerrainLayer

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

PropertyDefault ValueTypeDescription
PaletteterrainStringPalette to render the layer sprites in.
MaxStrength9000IntegerThe hitpoints, which can be reduced by the DamagesConcreteWarhead.

D2kEditorResourceLayer

Used to render spice with round borders.

Requires trait: ResourceType.

D2kFogPalette

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name
BasePalette(required)StringThe name of the shroud palette to base off.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.

D2kResourceRenderer

Used to render spice with round borders. Attach this to the world actor

Requires trait: ResourceLayer.

PropertyDefault ValueTypeDescription
RenderTypes(required)Collection of StringOnly render these ResourceType names.

PaletteFromScaledPalette

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

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name
BasePalette(required)StringThe name of the palette to base off.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.
Scale1Real NumberAmount to scale the base palette colors by.
Offset0IntegerAmount to offset the base palette colors by.

OpenRA.Mods.D2k.Traits.Render

WithCrumbleOverlay

Rendered together with the "make" animation.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Sequencecrumble-overlayStringSequence name to use
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

WithDeliveryOverlay

Rendered when ProductionAirdrop is in progress.

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
Offset0,0,03D World VectorPosition relative to body
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
PauseOnConditionBooleanExpressionBoolean expression defining the condition to pause this trait.
RequiresConditionBooleanExpressionBoolean expression defining the condition to enable this trait.

OpenRA.Traits

DebugPauseState

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

Interactable

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

PropertyDefault ValueTypeDescription
BoundsCollection of IntegerDefines a custom rectangle for mouse interaction with the actor. If null, the engine will guess an appropriate size based on the With*Body trait. The first two numbers define the width and height of the rectangle. The (optional) second two numbers define an x and y offset from the actor center.
DecorationBoundsCollection of IntegerDefines a custom rectangle for Decorations (e.g. the selection box). If null, Bounds will be used instead

FixedColorPalette

Add this to the World actor definition.

PropertyDefault ValueTypeDescription
BaseterrainStringThe name of the palette to base off.
NameresourcesStringThe name of the resulting palette
RemapIndexCollection of IntegerRemap these indices to pre-defined colors.
Color00000000Color (RRGGBB[AA] notation)The fixed color to remap.
Ramp0.05Real NumberLuminosity range to span.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.

FrozenActorLayer

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

Requires trait: Shroud.

PropertyDefault ValueTypeDescription
BinSize10IntegerSize of partition bins (cells)

IndexedPlayerPalette

Define a player palette by swapping palette indices.

PropertyDefault ValueTypeDescription
BasePaletteStringThe name of the palette to base off.
BaseNameplayerStringThe prefix for the resulting player palettes
RemapIndexCollection of IntegerRemap these indices to player colors.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.
PlayerIndexMapping of String to Collection of Integer

PlayerColorPalette

Add this to the Player actor definition.

PropertyDefault ValueTypeDescription
BasePaletteStringThe name of the palette to base off.
BaseNameplayerStringThe prefix for the resulting player palettes
RemapIndexCollection of IntegerRemap these indices to player colors.
Ramp0.05Real NumberLuminosity range to span.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.

PlayerHighlightPalette

Add this to the Player actor definition.

PropertyDefault ValueTypeDescription
BaseNamehighlightStringThe prefix for the resulting player palettes

Shroud

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

PropertyDefault ValueTypeDescription
FogCheckboxLabelFog of WarStringDescriptive label for the fog checkbox in the lobby.
FogCheckboxDescriptionLine of sight is required to view enemy forcesStringTooltip description for the fog checkbox in the lobby.
FogCheckboxEnabledTrueBooleanDefault value of the fog checkbox in the lobby.
FogCheckboxLockedFalseBooleanPrevent the fog enabled state from being changed in the lobby.
FogCheckboxVisibleTrueBooleanWhether to display the fog checkbox in the lobby.
FogCheckboxDisplayOrder0IntegerDisplay order for the fog checkbox in the lobby.
ExploredMapCheckboxLabelExplored MapStringDescriptive label for the explored map checkbox in the lobby.
ExploredMapCheckboxDescriptionInitial map shroud is revealedStringTooltip description for the explored map checkbox in the lobby.
ExploredMapCheckboxEnabledFalseBooleanDefault value of the explore map checkbox in the lobby.
ExploredMapCheckboxLockedFalseBooleanPrevent the explore map enabled state from being changed in the lobby.
ExploredMapCheckboxVisibleTrueBooleanWhether to display the explore map checkbox in the lobby.
ExploredMapCheckboxDisplayOrder0IntegerDisplay order for the explore map checkbox in the lobby.

Selectable

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

PropertyDefault ValueTypeDescription
Priority10Integer
PriorityModifiersNoneSelectionPriorityModifiersAllow selection priority to be modified using a hotkey. Valid values are None (priority is not affected by modifiers) Ctrl (priority is raised when Ctrl pressed) and Alt (priority is raised when Alt pressed).
ClassStringAll units having the same selection class specified will be selected with select-by-type commands (e.g. double-click). Defaults to the actor name when not defined or inherited.
VoiceSelectString
BoundsCollection of IntegerDefines a custom rectangle for mouse interaction with the actor. If null, the engine will guess an appropriate size based on the With*Body trait. The first two numbers define the width and height of the rectangle. The (optional) second two numbers define an x and y offset from the actor center.
DecorationBoundsCollection of IntegerDefines a custom rectangle for Decorations (e.g. the selection box). If null, Bounds will be used instead

DebugVisualizations

Enables visualization commands. Attach this to the world actor.

Faction

Attach this to the World actor.

PropertyDefault ValueTypeDescription
NameStringThis is the name exposed to the players.
InternalNameStringThis is the internal name for owner checks.
RandomFactionMembersSet of StringPick a random faction as the player's faction out of this list.
SideStringThe side that the faction belongs to. For example, England belongs to the 'Allies' side.
DescriptionString
SelectableTrueBoolean

ScreenMap

PropertyDefault ValueTypeDescription
BinSize250IntegerSize of partition bins (world pixels)

ScreenShaker

PropertyDefault ValueTypeDescription
MinMultiplier-3,-32D Real Number
MaxMultiplier3,32D Real Number