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-20160508 of OpenRA.

OpenRA.Mods.Cnc.Traits

ProductionAirdrop

Deliver the unit in production via skylift.

PropertyDefault ValueTypeDescription
ReadyAudioReinforceString
ActorTypec17StringCargo aircraft used for delivery. Must have the `Aircraft` trait.
Produces(required)Multiple Stringe.g. Infantry, Vehicles, Aircraft, Buildings

IonCannonPower

PropertyDefault ValueTypeDescription
CameraActorStringActor to spawn when the attack starts
CameraRemoveDelay25IntegerAmount of time to keep the camera alive
EffectionsfxStringEffect sequence to display
EffectPaletteeffectString
WeaponIonCannonStringWhich weapon to fire
WeaponDelay7IntegerApply the weapon impact this many ticks into the effect
ChargeTime0IntegerMeasured in seconds.
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.
PrerequisitesMultiple String
BeginChargeSoundString
EndChargeSoundString
SelectTargetSoundString
InsufficientPowerSoundString
LaunchSoundString
IncomingSoundString
DisplayTimerFalseBoolean
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike and Nuke powers
BeaconPalettePrefixplayerString
BeaconPosterString
BeaconPosterPalettechromeString
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameIonCannonPowerInfoOrderString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AttackPopupTurreted

Actor's turret rises from the ground before attacking.

Requires traits: Building, Turreted, WithTurretedSpriteBody.

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.
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithCargo

Renders the cargo loaded into the unit.

Requires traits: BodyOrientation, Cargo.

PropertyDefault ValueTypeDescription
LocalOffset0,0,0Multiple 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.

WithRoof

Provides an overlay for the Tiberian Dawn hover craft.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SequenceroofString

WithDeliveryAnimation

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

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
ActiveSequenceactiveString
IdleSequenceidleString

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.
PauseAnimationWhenDisabledFalseBooleanPause animation when actor is disabled.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithReloadingSpriteTurret

Renders ammo-dependent turret graphics for units with the Turreted trait.

Requires traits: AmmoPool, Armament, BodyOrientation, RenderSprites, Turreted.

PropertyDefault ValueTypeDescription
AmmoPoolNameStringAmmoPool to use for ammo-dependent sequences.
ReloadStages-1IntegerHow many reload stages does this turret have. Defaults to AmmoPool's Ammo. Adds current reload stage to Sequence as suffix when a matching AmmoPool is present.
SequenceturretStringSequence name to use
AimSequenceStringSequence name to use when prepared to fire
TurretprimaryStringTurreted 'Turret' key to display
RecoilsTrueBooleanRender recoil
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

PoisonedByTiberium

PropertyDefault ValueTypeDescription
WeaponTiberiumString
ResourcesTiberium, BlueTiberiumSet of String
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

OpenRA.Mods.Common.AI

HackyAI

PropertyDefault ValueTypeDescription
NameUnnamed BotStringIngame name this bot uses.
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.
BuildingQueuesBuildingSet of StringProduction queues AI uses for buildings.
DefenseQueuesDefenseSet of StringProduction queues AI uses for defenses.
AssignRolesInterval20IntegerDelay (in ticks) between giving out orders to units.
RushInterval600IntegerDelay (in ticks) between attempting rush attacks.
AttackForceInterval30IntegerDelay (in ticks) between updating squads.
MinimumAttackForceDelay0IntegerMinimum delay (in ticks) between creating squads.
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.
MinimumExcessPower0IntegerMinimum excess power the AI should try to maintain.
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.
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.
IdleBaseUnitsMaximum12IntegerOnly produce units as long as there are less than this amount of units idling inside the base.
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.
RallyPointScanRadius8IntegerRadius in cells around a factory scanned for rally points by the AI.
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.
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.
HarvesterEnemyAvoidanceRadius8c01D World DistanceAvoid enemy actors nearby when searching for a new resource patch. Should be somewhere near the max weapon range.
UnitQueuesVehicle, Infantry, Plane, Ship, AircraftSet of StringProduction queues AI uses for producing units.
ShouldRepairBuildingsTrueBooleanShould the AI repair its buildings if damaged?
UnitsToBuildDictionaryWhat units to the AI should build. What % of the total army must be this type of unit.
UnitLimitsDictionaryWhat units should the AI have a maximum limit to train.
BuildingFractionsDictionaryWhat buildings to the AI should build. What % of the total base must be this type of building.
UnitsCommonNames(required)UnitCategoriesTells the AI what unit types fall under the same common name. Only supported entry is Mcv.
BuildingCommonNames(required)BuildingCategoriesTells the AI what building types fall under the same common name. Possible keys are ConstructionYard, Power, Refinery, Silo , Barracks, Production, VehiclesFactory, NavalProduction.
BuildingLimitsDictionaryWhat buildings should the AI have a maximum limit to build.
PowerDecisions(Collection)List`1Tells the AI how to use its support powers.

OpenRA.Mods.Common.Commands

HelpCommand

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

ChatCommands

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

DevCommands

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

PlayerCommands

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

OpenRA.Mods.Common.Effects

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.
ColorFFFFFFColorRGB color of the contrail.
UsePlayerColorTrueBooleanUse player remap color instead of a custom color?

OpenRA.Mods.Common.Scripting

ScriptTriggers

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

ScriptUpgradesCache

Allows granting upgrades to actors from Lua scripts.

PropertyDefault ValueTypeDescription
UpgradesSet of StringUpgrades that can be granted from the scripts.

LuaScript

Part of the new Lua API.

Requires trait: SpawnMapActors.

PropertyDefault ValueTypeDescription
ScriptsSet of String

OpenRA.Mods.Common.Traits

Parachutable

Can be paradropped by a ParaDrop actor.

PropertyDefault ValueTypeDescription
KilledOnImpassableTerrainTrueBooleanIf we land on invalid terrain for my actor type should we be killed?
ImageexplosionStringImage where Ground/WaterCorpseSequence is looked up.
GroundImpactSoundString
GroundCorpseSequencecorpseString
GroundCorpsePaletteeffectString
WaterImpactSoundString
WaterCorpseSequenceString
WaterCorpsePaletteeffectString
FallRate13Integer
ParachuteUpgradeparachuteMultiple StringUpgrade to grant to this actor when parachuting. Normally used to render the parachute using the WithParachute trait.

EmitInfantryOnSell

Spawn new actors when sold.

PropertyDefault ValueTypeDescription
ValuePercent40Integer
MinHpPercent30Integer
ActorTypese1Multiple StringBe sure to use lowercase. Default value is "e1".
FactionsSet of StringSpawns actors only if the selling player's faction is in this list. Leave empty to allow all factions by default.

IgnoresCloak

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

Captures

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

PropertyDefault ValueTypeDescription
CaptureTypesbuildingSet of StringTypes of actors that it can capture, as long as the type also exists in the Capturable Type: trait.
SabotageTrueBooleanUnit will do damage to the actor instead of capturing it. Unit is destroyed when sabotaging.
SabotageHPRemoval50IntegerOnly used if Sabotage=true. Sabotage damage expressed as a percentage of enemy health removed.
VoiceActionString

CustomBuildTimeValue

Overrides the build time calculated by actor value.

PropertyDefault ValueTypeDescription
Value(required)IntegerMeasured in ticks.

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.
FriendlyFireFalseBooleanGrant experience for team-kills.

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 and Damage
CloakSoundString
UncloakSoundString
PalettecloakString
IsPlayerPaletteFalseBoolean
CloakTypesCloakSet of String
WhileCloakedUpgradesMultiple StringThe upgrades to grant to self while cloaked.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

DisableOnUpgrade

Disable the actor when this trait is enabled by an upgrade.

PropertyDefault ValueTypeDescription
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

UpgradeManager

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

UpgradeActorsNear

Applies an upgrade to actors within a specified range.

PropertyDefault ValueTypeDescription
Upgrades(required)Multiple StringThe upgrades to grant.
Range3c01D World DistanceThe range to search for actors to upgrade.
ValidStancesAllyStanceWhat diplomatic stances are affected.
AffectsParentFalseBooleanGrant the upgrades apply to this actor.
EnableSoundString
DisableSoundString

DeployToUpgrade

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
UndeployedUpgradesMultiple StringThe upgrades to grant while the actor is undeployed.
DeployedUpgrades(required)Multiple StringThe upgrades to grant after deploying and revoke before undeploying.
AllowedTerrainTypesSet of StringThe terrain types that this actor can deploy on to receive these upgrades. 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.
DeployAnimationStringAnimation to play for deploying/undeploying.
Facing-1IntegerFacing that the actor must face before deploying. Set to -1 to deploy regardless of facing.
DeploySoundStringSound to play when deploying.
UndeploySoundStringSound to play when undeploying.

CombatDebugOverlay

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

Huntable

This actor can be targeted by the Hunt activity.

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.

SpeedMultiplier

The speed of this actor is multiplied based on upgrade level if specified.

PropertyDefault ValueTypeDescription
UpgradeTypesMultiple StringAccepted upgrade types.
BaseLevel1IntegerThe lowest upgrade level using the scale.
Modifier(required)Multiple IntegerPercentages to apply with the first being applied at the base level. Repeat last entry to accept time extensions. If no upgrade types are specified, then the first/only modifier is always applied.

RangeMultiplier

Range of this actor is multiplied based on upgrade level.

PropertyDefault ValueTypeDescription
UpgradeTypesMultiple StringAccepted upgrade types.
BaseLevel1IntegerThe lowest upgrade level using the scale.
Modifier(required)Multiple IntegerPercentages to apply with the first being applied at the base level. Repeat last entry to accept time extensions. If no upgrade types are specified, then the first/only modifier is always applied.

DamageMultiplier

Damage taken by this actor is multiplied based on upgrade level. Decrease to increase actor's apparent strength. Use 0 to make actor invulnerable.

PropertyDefault ValueTypeDescription
UpgradeTypesMultiple StringAccepted upgrade types.
BaseLevel1IntegerThe lowest upgrade level using the scale.
Modifier(required)Multiple IntegerPercentages to apply with the first being applied at the base level. Repeat last entry to accept time extensions. If no upgrade types are specified, then the first/only modifier is always applied.

FirepowerMultiplier

The firepower of this actor is multiplied based on upgrade level if specified.

PropertyDefault ValueTypeDescription
UpgradeTypesMultiple StringAccepted upgrade types.
BaseLevel1IntegerThe lowest upgrade level using the scale.
Modifier(required)Multiple IntegerPercentages to apply with the first being applied at the base level. Repeat last entry to accept time extensions. If no upgrade types are specified, then the first/only modifier is always applied.

PowerMultiplier

The power usage/output of this actor is multiplied based on upgrade level if specified.

PropertyDefault ValueTypeDescription
UpgradeTypesMultiple StringAccepted upgrade types.
BaseLevel1IntegerThe lowest upgrade level using the scale.
Modifier(required)Multiple IntegerPercentages to apply with the first being applied at the base level. Repeat last entry to accept time extensions. If no upgrade types are specified, then the first/only modifier is always applied.

ReloadDelayMultiplier

The reloading time of this actor is multiplied based on upgrade level if specified.

PropertyDefault ValueTypeDescription
UpgradeTypesMultiple StringAccepted upgrade types.
BaseLevel1IntegerThe lowest upgrade level using the scale.
Modifier(required)Multiple IntegerPercentages to apply with the first being applied at the base level. Repeat last entry to accept time extensions. If no upgrade types are specified, then the first/only modifier is always applied.

InaccuracyMultiplier

The inaccuracy of this actor is multiplied based on upgrade level if specified.

PropertyDefault ValueTypeDescription
UpgradeTypesMultiple StringAccepted upgrade types.
BaseLevel1IntegerThe lowest upgrade level using the scale.
Modifier(required)Multiple IntegerPercentages to apply with the first being applied at the base level. Repeat last entry to accept time extensions. If no upgrade types are specified, then the first/only modifier is always applied.

IgnoresDisguise

Allows automatic targeting of disguised actors.

AcceptsSupplies

Tag trait for SupplyTruck actors.

VeteranProductionIconOverlay

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

Requires trait: TechTree.

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.

JamsMissiles

PropertyDefault ValueTypeDescription
Range0c01D World Distance
AlliedMissilesTrueBoolean
Chance100Integer

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

Voiced

This actor has a voice.

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

GiveUnitCrateAction

Spawns units when collected.

PropertyDefault ValueTypeDescription
Units(required)Multiple 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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

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.

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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

HealUnitsCrateAction

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

PropertyDefault ValueTypeDescription
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

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)Multiple 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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

CrateAction

PropertyDefault ValueTypeDescription
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

GrantUpgradeCrateAction

Grants an upgrade to the collector.

PropertyDefault ValueTypeDescription
Upgrades(required)Multiple StringThe upgrades to apply.
Duration0IntegerDuration of the upgrade (in ticks). Set to 0 for a permanent upgrade.
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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

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, WaterSet of StringThe 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.
EffectStringAn animation defined in sequence yaml(s) to draw.
PaletteeffectStringPalette to draw the animation in.
NotificationStringAudio clip to play when the crate is collected.
TimeDelay0IntegerThe earliest time (in ticks) that this crate action can occur on.
PrerequisitesMultiple StringOnly allow this crate action when the collector has these prerequisites
ExcludedActorTypesMultiple StringActor types that this crate action will not occur for.

ExternalCapturable

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

PropertyDefault ValueTypeDescription
TypebuildingStringType of actor (the ExternalCaptures: trait defines what Types it can capture).
AllowAlliesFalseBoolean
AllowNeutralTrueBoolean
AllowEnemiesTrueBoolean
CaptureCompleteTime15IntegerSeconds it takes to change the owner. You might want to add a ExternalCapturableBar: trait, too.
PreventsAutoTargetTrueBooleanWhether to prevent autotargeting this actor while it is being captured by an ally.

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
PrerequisitesMultiple String
InitialLevels1IntegerNumber of levels to give to the actor on creation.
SuppressLevelupAnimationTrueBooleanShould the level-up animation be suppressed when actor is created?

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

Mobile

Unit is able to move.

PropertyDefault ValueTypeDescription
TerrainSpeeds(required)DictionarySet Water: 0 for ground units and lower the value on rough terrain.
CrushesSet of Stringe.g. crate, wall, infantry
WaitAverage5Integer
WaitSpread2Integer
InitialFacing0Integer
TurnSpeed255IntegerSpeed at which the actor turns.
Speed1Integer
OnRailsFalseBoolean
SharesCellFalseBooleanAllow multiple (infantry) units in one cell.
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
CursormoveString
BlockedCursormove-blockedString
VoiceActionString
TilesetTerrainInfoCached
TilesetMovementClassCached
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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.

Exit

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

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
MoveIntoWorldTrueBooleanAttackMove to a RallyPoint or stay where you are spawned.
ExitDelay0IntegerNumber of ticks to wait before moving into the world.

Reservable

Reserve landing places for aircraft.

LineBuildNode

LineBuild actors attach to LineBuildNodes.

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

Gate

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

PropertyDefault ValueTypeDescription
OpeningSoundString
ClosingSoundString
CloseDelay150IntegerTicks until the gate closes.
TransitionDelay33IntegerTicks until the gate is considered open.
BlocksProjectilesHeight640IntegerBlocks bullets scaled to open value.
TerrainTypesSet of StringWhere you are allowed to place the building (Water, Clear, ...)
Adjacent2IntegerThe range to the next building it can be constructed. Set it higher for walls.
FootprintxStringx means space it blocks, _ is a part that is passable by actors.
Dimensions1,12D Cell Vector
RequiresBaseProviderFalseBoolean
AllowInvalidPlacementFalseBoolean
BuildSoundsplacbldg.aud, build5.audMultiple String
UndeploySoundscashturn.audMultiple String

RepairableBuilding

Building can be repaired by the repair button.

Requires trait: Health.

PropertyDefault ValueTypeDescription
RepairPercent20Integer
RepairInterval24Integer
RepairStep7Integer
RepairBonuses100, 150, 175, 200, 220, 240, 260, 280, 300Multiple Integer
CancelWhenDisabledFalseBoolean
IndicatorImageallyrepairString
IndicatorSequencerepairString
IndicatorPaletteStringOverrides the IndicatorPalettePrefix.
IndicatorPalettePrefixplayerStringSuffixed by the internal repairing player name.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

BaseProvider

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

PropertyDefault ValueTypeDescription
Range10c01D World Distance
Cooldown0Integer
InitialDelay0Integer

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?
DiscardExcessResourcesFalseBooleanDiscard resources once silo capacity has been reached.
ShowTicksTrueBoolean
TickLifetime30Integer
TickVelocity2Integer
TickRate10Integer

Bib

Requires traits: Building, RenderSprites.

PropertyDefault ValueTypeDescription
SequencebibString
PaletteterrainString
HasMinibibFalseBoolean

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, br2Multiple String
NorthOffsetMultiple Integer
SouthOffsetMultiple Integer
DemolishWeaponDemolishStringThe name of the weapon to use when demolishing the bridge

BridgeHut

Allows bridges to be targeted for demolition and repair.

RepairsUnits

PropertyDefault ValueTypeDescription
ValuePercentage20IntegerCost in % of the unit value to fully repair the unit.
HpPerStep10Integer
Interval24IntegerTime (in ticks) between two repair steps.
StartRepairingNotificationRepairingStringThe sound played when starting to repair a unit.
FinishRepairingNotificationStringThe sound played when repairing a unit is done.

BaseBuilding

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

BuildingInfluence

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

PrimaryBuilding

Used together with ClassicProductionQueue.

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
UpgradesprimaryMultiple StringThe upgrades to grant while the primary building.
SelectionNotificationPrimaryBuildingSelectedStringThe speech notification to play when selecting a primary building.

FreeActor

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

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.

RallyPoint

Used to waypoint units after production or repair is finished.

PropertyDefault ValueTypeDescription
ImagerallypointString
FlagSequenceflagString
CirclesSequencecirclesString
PaletteplayerStringCustom indicator palette name
IsPlayerPaletteTrueBooleanCustom palette is a player palette BaseName
Offset1,32D Cell Vector

GivesBuildableArea

Remove this trait to limit base-walking by cheap or defensive buildings.

Building

PropertyDefault ValueTypeDescription
TerrainTypesSet of StringWhere you are allowed to place the building (Water, Clear, ...)
Adjacent2IntegerThe range to the next building it can be constructed. Set it higher for walls.
FootprintxStringx means space it blocks, _ is a part that is passable by actors.
Dimensions1,12D Cell Vector
RequiresBaseProviderFalseBoolean
AllowInvalidPlacementFalseBoolean
BuildSoundsplacbldg.aud, build5.audMultiple String
UndeploySoundscashturn.audMultiple String

EditorOnlyTooltip

Shown in map editor.

PropertyDefault ValueTypeDescription
DescriptionString
NameString

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 'Enemy' or 'Allied'.
GenericVisibilityNoneStancePlayer stances that the generic name should be shown to.
ShowOwnerRowTrueBooleanShow the actor's owner and their faction flag
IconiconStringSequence of the actor that contains the cameo.
DescriptionString
NameString

Passenger

This actor can enter Cargo actors.

PropertyDefault ValueTypeDescription
CargoTypeString
PipTypeGreenPipType
Weight1Integer
AlternateTransportsModeForceAlternateTransportsModeUse to set when to use alternate transports (Never, Force, Default, Always). Force - use force move modifier (Alt) to enable. Default - use force move modifier (Alt) to disable.
MaxAlternateTransportAttempts1IntegerNumber of retries using alternate transports.
AlternateTransportScanRange5c5121D World DistanceRange from self for looking for an alternate transport (default: 5.5 cells).
GrantUpgradesMultiple StringUpgrade types to grant to transport.
VoiceActionString

RadarColorFromTerrain

PropertyDefault ValueTypeDescription
TerrainString

PaletteFromCurrentTileset

Loads the palette specified in the tileset definition

PropertyDefault ValueTypeDescription
Name(required)Stringinternal palette name
ShadowIndexMultiple IntegerMap listed indices to shadow. Ignores previous color.
AllowModifiersTrueBoolean

StartGameNotification

PropertyDefault ValueTypeDescription
NotificationStartGameString

RadarPings

PropertyDefault ValueTypeDescription
FromRadius200Integer
ToRadius15Integer
ShrinkSpeed4Integer
RotationSpeed0.12Real Number

CrateSpawner

PropertyDefault ValueTypeDescription
EnabledTrueBooleanDefault value of the crates checkbox in the lobby.
LockedFalseBooleanPrevent the crates state from being changed 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.
CrateActorscrateMultiple StringCrate actors to drop.
CrateActorShares10Multiple 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.

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.

PathfinderDebugOverlay

Required for the A* PathDebug from DeveloperMode. Attach this to the world actor.

WarheadDebugOverlay

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

PropertyDefault ValueTypeDescription
DisplayDuration25Integer

TerrainGeometryOverlay

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

PathFinder

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

EditorActorLayer

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

PropertyDefault ValueTypeDescription
BinSize250IntegerSize of partition bins (world pixels)

VoxelNormalsPalette

PropertyDefault ValueTypeDescription
NamenormalsString
TypeTiberianSunNormalTypeCan be TiberianSun or RedAlert2

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.

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.

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.

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
LockedFalseBooleanPrevent the starting units option from being changed in the lobby.

ResourceLayer

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

Requires traits: BuildingInfluence, 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.

ShroudPalette

Adds the hard-coded shroud palette to the game

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name
FogFalseBooleanPalette type

MapBuildRadius

Controls the build radius checkboxes in the lobby options.

PropertyDefault ValueTypeDescription
AllyBuildRadiusEnabledTrueBooleanDefault value of the ally build radius checkbox in the lobby.
AllyBuildRadiusLockedFalseBooleanPrevent the ally build radius state from being changed in the lobby.

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
InitialSmudgesDictionary<2D Cell Position,MapSmudge>

PlayerPaletteFromCurrentTileset

PropertyDefault ValueTypeDescription
Name(required)Stringinternal palette name
ShadowIndexMultiple IntegerMap listed indices to shadow.
AllowModifiersTrueBooleanApply palette rotators or not.

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 mobile construction vehicle.
SupportActorsMultiple StringA group of units ready to defend or scout.
InnerSupportRadius2IntegerInner radius for spawning support actors
OuterSupportRadius4IntegerOuter radius for spawning support actors

EditorResourceLayer

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

Requires trait: ResourceType.

MapOptions

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

PropertyDefault ValueTypeDescription
ShortGameEnabledTrueBooleanDefault value of the short game checkbox in the lobby.
ShortGameLockedFalseBooleanPrevent the short game enabled state from being changed in the lobby.
TechLevelUnrestrictedStringDefault tech level.
TechLevelLockedFalseBooleanPrevent the tech level from being changed in the lobby.
DifficultiesMultiple StringDifficulty levels supported by the map.
DifficultyStringDefault difficulty level.
DifficultyLockedFalseBooleanPrevent the difficulty from being changed in the lobby.

ResourceClaimLayer

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

ShroudRenderer

PropertyDefault ValueTypeDescription
SequenceshroudString
ShroudVariantsshroudMultiple String
FogVariantsfogMultiple String
ShroudPaletteshroudString
FogPalettefogString
Index12, 9, 8, 3, 1, 6, 4, 2, 13, 11, 7, 14Multiple 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

BridgeLayer

PropertyDefault ValueTypeDescription
Bridgesbridge1, bridge2Multiple String

PaletteFromFile

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

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

MapCreeps

Controls the 'Creeps' checkbox in the lobby options.

PropertyDefault ValueTypeDescription
EnabledTrueBooleanDefault value of the creeps checkbox in the lobby.
LockedFalseBooleanPrevent the creeps state from being changed in the lobby.

WeatherOverlay

Adds a particle-based overlay.

PropertyDefault ValueTypeDescription
ParticleDensityFactor0.0007625Real NumberFactor for particle density. As higher as more particles will get spawned.
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, 5Multiple IntegerThe levels of wind intensity (particles x-axis movement in px/tick).
WindTick150, 750Multiple 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, 3Multiple IntegerSize / width of the particle in px.
ScatterDirection-1, 1Multiple IntegerScatters falling direction on the x-axis. Scatter min. and max. value in px/tick.
Gravity1, 2Multiple Real NumberMin. and max. speed at which particles fall in px/tick.
SwingOffset1, 1.5Multiple Real NumberThe current offset value for the swing movement. SwingOffset min. and max. value in px/tick.
SwingSpeed0.001, 0.025Multiple Real NumberThe value that particles swing to the side each update. SwingSpeed min. and max. value in px/tick.
SwingAmplitude1, 1.5Multiple Real NumberThe value range that can be swung to the left or right. SwingAmplitude min. and max. value in px/tick.
ParticleColorsECECEC, E4E4E4, D0D0D0, BCBCBCMultiple ColorThe 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.

MPStartLocations

PropertyDefault ValueTypeDescription
InitialExploreRange5c01D World Distance

SpawnMapActors

Spawns the initial units for each player upon game start.

CreateMPPlayers

Attach this to the world actor.

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.
ClearRootTrueBooleanRemove any existing UI when a map is loaded.

Plug

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

SelfHealing

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

Requires trait: Health.

PropertyDefault ValueTypeDescription
Step5Integer
Delay5Integer
HealIfBelow50IntegerHeal if current health is below this percentage of full health.
DamageCooldown0Integer
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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
BeaconDistanceOffset6c01D World DistanceWeapon range offset to apply during the beacon clock calculation
ChargeTime0IntegerMeasured in seconds.
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.
PrerequisitesMultiple String
BeginChargeSoundString
EndChargeSoundString
SelectTargetSoundString
InsufficientPowerSoundString
LaunchSoundString
IncomingSoundString
DisplayTimerFalseBoolean
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike and Nuke powers
BeaconPalettePrefixplayerString
BeaconPosterString
BeaconPosterPalettechromeString
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameAirstrikePowerInfoOrderString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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
ChargeTime0IntegerMeasured in seconds.
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.
PrerequisitesMultiple String
BeginChargeSoundString
EndChargeSoundString
SelectTargetSoundString
InsufficientPowerSoundString
LaunchSoundString
IncomingSoundString
DisplayTimerFalseBoolean
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike and Nuke powers
BeaconPalettePrefixplayerString
BeaconPosterString
BeaconPosterPalettechromeString
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameSpawnActorPowerInfoOrderString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

GrantUpgradePower

PropertyDefault ValueTypeDescription
Upgrades(required)Multiple StringThe upgrades to apply.
Duration0IntegerDuration of the upgrade (in ticks). Set to 0 for a permanent upgrade.
Range1IntegerCells - affects whole cells only
GrantUpgradeSoundironcur9.audString
GrantUpgradeSequenceactiveStringSequence to play for granting actor when activated. This requires the actor to have the WithSpriteBody trait or one of its derivatives.
ChargeTime0IntegerMeasured in seconds.
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.
PrerequisitesMultiple String
BeginChargeSoundString
EndChargeSoundString
SelectTargetSoundString
InsufficientPowerSoundString
LaunchSoundString
IncomingSoundString
DisplayTimerFalseBoolean
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike and Nuke powers
BeaconPalettePrefixplayerString
BeaconPosterString
BeaconPosterPalettechromeString
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameGrantUpgradePowerInfoOrderString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

SupportPowerManager

Attach this to the player actor.

Requires traits: DeveloperMode, TechTree.

ProduceActorPower

Produces an actor without using the standard production queue.

PropertyDefault ValueTypeDescription
Actors(required)Multiple 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.
ChargeTime0IntegerMeasured in seconds.
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.
PrerequisitesMultiple String
BeginChargeSoundString
EndChargeSoundString
SelectTargetSoundString
InsufficientPowerSoundString
LaunchSoundString
IncomingSoundString
DisplayTimerFalseBoolean
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike and Nuke powers
BeaconPalettePrefixplayerString
BeaconPosterString
BeaconPosterPalettechromeString
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameProduceActorPowerInfoOrderString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

NukePower

Requires trait: BodyOrientation.

PropertyDefault ValueTypeDescription
MissileWeapon(required)StringWeapon to use for the impact. Also image to use for the missile.
MissileUpupStringSprite sequence for the ascending missile.
MissileDowndownStringSprite sequence for the descending missile.
SpawnOffset0,0,03D World VectorOffset from the actor the missile spawns on.
MissilePaletteeffectStringPalette to use for the missile weapon image.
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName
FlightDelay400IntegerTravel time - split equally between ascent and descent
FlightVelocity0c5121D World DistanceVisual ascent velocity in WDist / tick
SkipAscentFalseBooleanDescend immediately on the target, with half the FlightDelay
BeaconRemoveAdvance25IntegerAmount of time before detonation to remove the beacon
CameraActorStringActor to spawn before detonation
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.
ActivationSequenceactiveStringSequence the launching actor should play when activating this power.
ChargeTime0IntegerMeasured in seconds.
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.
PrerequisitesMultiple String
BeginChargeSoundString
EndChargeSoundString
SelectTargetSoundString
InsufficientPowerSoundString
LaunchSoundString
IncomingSoundString
DisplayTimerFalseBoolean
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike and Nuke powers
BeaconPalettePrefixplayerString
BeaconPosterString
BeaconPosterPalettechromeString
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameNukePowerInfoOrderString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

Buildable

PropertyDefault ValueTypeDescription
PrerequisitesMultiple 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.
IconPalettechromeStringPalette used for the production icon.
BuildPaletteOrder9999Integer

Production

This unit has access to build queues.

PropertyDefault ValueTypeDescription
Produces(required)Multiple Stringe.g. Infantry, Vehicles, Aircraft, Buildings

Explodes

This actor explodes when killed.

Requires trait: Health.

PropertyDefault ValueTypeDescription
Weapon(required)StringWeapon to use for explosion if ammo/payload is loaded.
EmptyWeaponUnitExplodeStringWeapon to use for explosion if no ammo/payload is loaded.
LoadedChance100IntegerChance that the explosion will use Weapon if the actor has ammo/payload.
Chance100IntegerChance that this actor will explode at all.
DamageThreshold0IntegerHealth level at which actor will explode.
DeathTypesSet of StringDeathType(s) that trigger the explosion. Leave empty to always trigger an explosion.

GainsExperience

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

Requires traits: UpgradeManager, Valued.

PropertyDefault ValueTypeDescription
Upgrades(required)DictionaryUpgrades to grant at each level. Key is the XP requirements for each level as a percentage of our own value. Value is a list of the upgrade types to grant
LevelUpPaletteeffectStringPalette for the level up sprite.
SuppressLevelupAnimationTrueBooleanShould the level-up animation be suppressed when actor is created?

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.
CaptorTypesVehicle, Tank, InfantrySet of StringAllowed 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.

SmokeTrailWhenDamaged

Requires trait: BodyOrientation.

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

CreatesShroud

PropertyDefault ValueTypeDescription
Range0c01D World Distance
TypeFootprintVisibilityTypePossible values are CenterPosition (measure range from the center) and Footprint (measure range from the footprint)

ProximityCaptor

Actor can capture ProximityCapturable actors.

PropertyDefault ValueTypeDescription
Types(required)Set of String

ProvidesRadar

This actor enables the radar minimap.

JamsRadar

When an actor with this trait is in range of an actor with ProvidesRadar, it will temporarily disable the radar minimap for the enemy player.

PropertyDefault ValueTypeDescription
Range0c01D World DistanceRange for jamming.

AppearsOnRadar

PropertyDefault ValueTypeDescription
UseLocationFalseBoolean

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 armaments to 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.
SelfReloadsFalseBooleanWhether or not ammo is replenished on its own.
SelfReloadDelay50IntegerTime to reload per ReloadCount when actor 'SelfReloads'.
ResetOnFireFalseBooleanWhether or not reload timer should be reset when ammo has been fired.

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.
FactionImagesDictionaryA dictionary of faction-specific image overrides.
PaletteStringCustom palette name
PlayerPaletteplayerStringCustom PlayerColorPalette: BaseName
Scale1Real NumberChange the sprite image size.

WithVoxelBody

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

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
SequenceidleString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithSiloAnimation

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

Requires traits: RenderSprites, WithSpriteBody.

PropertyDefault ValueTypeDescription
SequencestagesStringSequence to use for resources-dependent 'stages'.
Stages10IntegerInternal resource stages. Does not have to match number of sequence frames.

WithDockingAnimation

Requires traits: Harvester, WithSpriteBody.

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

WithGateSpriteBody

Requires traits: Gate, RenderSprites.

PropertyDefault ValueTypeDescription
WallConnectionsMultiple 2D Cell VectorCells (outside the gate footprint) that contain wall cells that can connect to the gate
TypewallStringWall type for connections
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
PauseAnimationWhenDisabledFalseBooleanPause animation when actor is disabled.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithBuildingPlacedAnimation

Changes the animation when the actor constructed a building.

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequencebuildStringSequence name to use

WithRepairAnimation

Replaces the building animation when it repairs a unit.

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
PauseOnLowPowerFalseBoolean

WithTurretedSpriteBody

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.
PauseAnimationWhenDisabledFalseBooleanPause animation when actor is disabled.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithSmoke

Renders an overlay when the actor is taking heavy damage.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Sequencesmoke_mString
IdleSequenceidleString
LoopSequenceloopString
EndSequenceendString

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

SupportPowerChargeBar

Display the time remaining until the super weapon attached to the actor is ready to the player and his allies.

PropertyDefault ValueTypeDescription
ColorFF00FFColor

WithChargeAnimation

This actor displays a charge-up animation before firing.

Requires traits: RenderSprites, WithSpriteBody.

PropertyDefault ValueTypeDescription
ChargeSequenceactiveStringSequence to use for charge animation.

SelectionDecorations

PropertyDefault ValueTypeDescription
PalettechromeString
VisualBoundsMultiple IntegerVisual bounds for selection box. If null, it uses AutoSelectionSize. The first two values define the bounds' size, the optional third and fourth values specify the position relative to the actors' center. Defaults to selectable bounds.
RenderSelectionBarsTrueBooleanHealth bar, production progress bar etc.
RenderSelectionBoxTrueBoolean
SelectionBoxColorFFFFFFColor

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.
PauseAnimationWhenDisabledFalseBooleanPause animation when actor is disabled.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

ProductionBar

Visualizes the remaining build time of actor produced here.

Requires trait: Production.

PropertyDefault ValueTypeDescription
ProductionTypeStringProduction queue type, for actors with multiple queues.
Color87CEEBColor

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.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithShadow

Clones the aircraft sprite with another palette below it.

PropertyDefault ValueTypeDescription
PaletteshadowString

WithMakeAnimation

Replaces the sprite during construction.

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequencemakeStringSequence name to use

RenderVoxels

Requires trait: BodyOrientation.

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

WithFacingSpriteBody

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
PauseAnimationWhenDisabledFalseBooleanPause animation when actor is disabled.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithSpriteRotorOverlay

Displays a helicopter rotor overlay.

Requires traits: BodyOrientation, RenderSprites.

PropertyDefault ValueTypeDescription
SequencerotorStringSequence name to use when flying
GroundSequenceslow-rotorStringSequence name to use when landed
Offset0,0,03D World VectorPosition relative to body

WithHarvestAnimation

Requires traits: Harvester, WithSpriteBody.

PropertyDefault ValueTypeDescription
PrefixByFullnessMultiple StringPrefix added to idle and harvest sequences depending on fullness of harvester.
HarvestSequenceharvestStringDisplayed while harvesting.

WithInfantryBody

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
MinIdleDelay30Integer
MaxIdleDelay110Integer
MoveSequencerunString
AttackSequenceString
IdleSequencesMultiple String
StandSequencesstandMultiple String
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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

WithVoxelBarrel

Requires traits: Armament, RenderVoxels, Turreted.

PropertyDefault ValueTypeDescription
SequencebarrelStringVoxel sequence name to use
ArmamentprimaryStringArmament to use for recoil
LocalOffset0,0,03D World VectorVisual offset
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithVoxelTurret

Requires traits: RenderVoxels, Turreted.

PropertyDefault ValueTypeDescription
SequenceturretStringVoxel sequence name to use
TurretprimaryStringTurreted 'Turret' key to display
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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

WithChargeOverlay

Rendered together with AttackCharge.

Requires trait: RenderSprites.

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

RenderDebugState

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

PropertyDefault ValueTypeDescription
FontTinyBoldString

WithIdleAnimation

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

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
SequencesactiveMultiple StringSequence names to use.
Interval750Integer
PauseOnLowPowerFalseBooleanPause when the actor is disabled. Deprecated. Use upgrades instead.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithBuildingExplosion

Display explosions over the building footprint when it is destroyed.

Requires trait: Building.

PropertyDefault ValueTypeDescription
ImageexplosionString'Image' where Sequences are looked up.
SequencesbuildingMultiple StringExplosion sequence names to use.
Delay0IntegerDelay the explosions by this many ticks.
PaletteeffectStringCustom palette name.

WithAttackAnimation

Requires traits: Armament, AttackBase, WithSpriteBody.

PropertyDefault ValueTypeDescription
ArmamentprimaryStringArmament name
AttackSequenceStringDisplayed while attacking.
AimSequenceStringDisplayed while targeting.
ReloadPrefixStringShown while reloading.

WithSpriteTurret

Renders turrets for units with the Turreted trait.

Requires traits: Armament, BodyOrientation, RenderSprites, Turreted.

PropertyDefault ValueTypeDescription
SequenceturretStringSequence name to use
AimSequenceStringSequence name to use when prepared to fire
TurretprimaryStringTurreted 'Turret' key to display
RecoilsTrueBooleanRender recoil
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithMoveAnimation

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
MoveSequencemoveStringDisplayed while moving.

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

WithProductionDoorOverlay

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

Requires traits: BodyOrientation, Building, RenderSprites.

PropertyDefault ValueTypeDescription
Sequencebuild-doorString

LeavesTrails

Renders a sprite effect when leaving a cell.

PropertyDefault ValueTypeDescription
ImageString
SequencesidleMultiple String
PaletteeffectString
TerrainTypesSet of StringOnly do so when the terrain types match with the previous cell.
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.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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

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
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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
PauseOnLowPowerFalseBoolean
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithRepairOverlay

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

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
PauseOnLowPowerFalseBoolean

WithDecoration

Displays a custom UI overlay relative to the selection box.

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.
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.
StancesAllyStancePlayer stances who can view the decoration.
RequiresSelectionFalseBooleanShould this be visible only when selected?
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

Hovers

Changes the visual Z position periodically.

PropertyDefault ValueTypeDescription
OffsetModifier-43IntegerAmount of Z axis changes in world units.
MinHoveringAltitude0Integer
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithCrateBody

Renders crates with both water and land variants.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
XmasImagesMultiple StringEasteregg sequences to use in December.
IdleSequenceidleString
WaterSequenceString
LandSequenceString

WithResources

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

Requires traits: RenderSprites, WithSpriteBody.

PropertyDefault ValueTypeDescription
SequenceresourcesStringSequence name to use

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.
PauseAnimationWhenDisabledFalseBooleanPause animation when actor is disabled.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

RenderDetectionCircle

Requires trait: DetectCloaked.

PropertyDefault ValueTypeDescription
UpdateLineTick10231D World AngleWAngle the Radar update line advances per tick.
TrailCount0IntegerNumber of trailing Radar update lines.
Color32CD3280ColorColor of the circle and scanner update line.
ContrastColor00000060ColorContrast color of the circle and scanner update line.

RenderSpritesEditorOnly

Invisible during games.

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

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.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AutoSelectionSize

Automatically calculates the targetable area and screen map boundaries from the sprite size.

Requires trait: RenderSprites.

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
Sequenceproduction-overlayStringSequence name to use
Offset0,0,03D World VectorPosition relative to body
PaletteStringCustom palette name
IsPlayerPaletteFalseBooleanCustom palette is a player palette BaseName

TimedUpgradeBar

Visualizes the remaining time for an upgrade.

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
Upgrade(required)StringUpgrade that this bar corresponds to
ColorFF0000Color

RenderNameTag

Displays the player name above the unit

PropertyDefault ValueTypeDescription
MaxLength10Integer
FontTinyBoldString

WithHarvestOverlay

Displays an overlay whenever resources are harvested by the actor.

Requires traits: BodyOrientation, RenderSprites.

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

ScriptTags

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

Repairable

This actor can be sent to a structure for repairs.

Requires trait: Health.

PropertyDefault ValueTypeDescription
RepairBuildingsfixSet of String
VoiceActionString

ShakeOnDeath

PropertyDefault ValueTypeDescription
Intensity10Integer

RepairsBridges

Can enter a BridgeHut to trigger a repair.

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

GivesBounty

You get money for playing this actor.

PropertyDefault ValueTypeDescription
Percentage10IntegerCalculated by Cost or CustomSellValue so they have to be set to avoid crashes.
LevelMod125IntegerHigher ranked units give higher bounties.
StancesNeutral, EnemyMultiple StanceDestroying creeps and enemies is rewarded.

CustomSellValue

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

PropertyDefault ValueTypeDescription
Value(required)Integer

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.

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.

SeedsResource

Lets the actor spread resources around it in a circle.

PropertyDefault ValueTypeDescription
Interval75Integer
ResourceTypeOreString
MaxRange100Integer
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

Pluggable

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
Offset0,02D Cell VectorFootprint cell offset where a plug can be placed.
Upgrades(required)DictionaryUpgrades to grant for each accepted plug type.

C4Demolition

PropertyDefault ValueTypeDescription
C4Delay45IntegerDelay to demolish the target once the C4 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.
FlashDuration3IntegerDuration of each flash.
EnterBehaviourExitEnterBehaviourBehaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
VoiceActionStringVoice string when planting explosive charges.

Guardable

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

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

Burns

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

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Anim1String
Damage1Integer
Interval8Integer

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.

UpgradeOverlay

Display a colored overlay when a timed upgrade is active.

PropertyDefault ValueTypeDescription
PaletteinvulnStringPalette to use when rendering the overlay
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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

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

DisabledOverlay

Use together with CanPowerDown/RequiresPower on buildings or Husk for vehicles.

AlwaysVisible

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

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.
AmmoPoolNameprimaryStringWhich limited ammo pool (if present) should this armament be assigned to.
TurretprimaryStringWhich turret (if present) should this armament be assigned to.
FireDelay0IntegerTime (in frames) until the weapon can fire again.
LocalOffsetMultiple 3D World VectorMuzzle position relative to turret or body. (forward, right, up) triples
LocalYawMultiple 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
TargetStancesEnemyStance
ForceTargetStancesEnemy, Neutral, AllyStance
CursorattackString
OutsideRangeCursorattackoutsiderangeString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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.

Armor

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

PropertyDefault ValueTypeDescription
TypeString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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'.
InternalOwnerStringMap player to use when 'InternalName' is defined on 'OwnerType'.
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?

ProductionFromMapEdge

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

PropertyDefault ValueTypeDescription
Produces(required)Multiple Stringe.g. Infantry, Vehicles, Aircraft, Buildings

DetectCloaked

Actor can reveal Cloak actors in a specified range.

PropertyDefault ValueTypeDescription
CloakTypesCloakSet of StringSpecific cloak classifications I can reveal.
Range5c01D World Distance
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AttackCharge

Charges up before being able to attack.

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, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AttackGarrisoned

Cargo can fire their weapons out of fire ports.

Requires trait: Cargo.

PropertyDefault ValueTypeDescription
PortOffsets(required)Multiple 3D World VectorFire port offsets in local coordinates.
PortYaws(required)Multiple 1D World AngleFire port yaw angles.
PortCones(required)Multiple 1D World AngleFire port yaw cone angle.
MuzzlePaletteeffectString
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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.

AttackOmni

PropertyDefault ValueTypeDescription
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AttackTurreted

Actor has a visual turret used to attack.

Requires trait: Turreted.

PropertyDefault ValueTypeDescription
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AttackFollow

Actor will follow units until in range to attack them.

PropertyDefault ValueTypeDescription
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AttackFrontal

Unit got to face the target

PropertyDefault ValueTypeDescription
FacingTolerance1Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AttackSuicides

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

PropertyDefault ValueTypeDescription
VoiceActionString

Crushable

This actor is crushable.

PropertyDefault ValueTypeDescription
CrushSoundStringSound to play when being crushed.
CrushClassesinfantrySet of StringWhich 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.

SupplyTruck

Donate money to actors with the AcceptSupplies trait.

PropertyDefault ValueTypeDescription
Payload500IntegerThe amount of cash the owner receives.
VoiceActionString

ProductionParadrop

Deliver the unit in production via paradrop.

Requires trait: Exit.

PropertyDefault ValueTypeDescription
ActorTypebadrStringCargo aircraft used. Must have Aircraft trait.
ChuteSoundchute1.audStringSound to play when dropping the unit.
ReadyAudioStringNotification to play when dropping the unit.
Produces(required)Multiple Stringe.g. Infantry, Vehicles, Aircraft, Buildings

Cargo

This actor can transport Passenger actors.

Requires trait: UpgradeManager.

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 String`Passenger.CargoType`s that can be loaded into this actor.
InitialUnitsMultiple 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.
PassengerFacing128IntegerWhich direction the passenger will face (relative to the transport) when unloading.
UnloadCursordeployStringCursor to display when able to unload the passengers.
UnloadBlockedCursordeploy-blockedStringCursor to display when unable to unload the passengers.
LoadingUpgradesMultiple StringThe upgrades to grant to self while loading cargo.

EngineerRepair

Can instantly repair other actors, but gets consumed afterwards.

PropertyDefault ValueTypeDescription
VoiceActionString
EnterBehaviourDisposeEnterBehaviourBehaviour when entering the structure. Possible values are Exit, Suicide, Dispose.

EngineerRepairable

Eligible for instant repair.

BlocksProjectiles

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

PropertyDefault ValueTypeDescription
Height1c01D World Distance
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

GlobalUpgradable

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

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
Upgrades(required)Multiple StringList of upgrades to apply.
Prerequisites(required)Multiple StringList of required prerequisites.

Aircraft

PropertyDefault ValueTypeDescription
CruiseAltitude1c2561D World Distance
IdealSeparation1c6821D World Distance
RepulsableTrueBooleanWhether the aircraft can be repulsed.
RepulsionSpeed-1IntegerThe speed at which the aircraft is repulsed from other aircraft. Specify -1 for normal movement speed.
RepairBuildingsSet of String
RearmBuildingsSet of String
InitialFacing0Integer
TurnSpeed255Integer
Speed1Integer
MinAirborneAltitude1IntegerMinimum altitude where this aircraft is considered airborne
LandableTerrainTypesSet of String
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
VoiceActionString
AirborneUpgradesMultiple StringThe upgrades to grant to self while airborne.
CruisingUpgradesMultiple StringThe upgrades 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).
LandWhenIdleTrueBooleanWill this actor try to land after it has no more commands?
TurnToLandFalseBooleanDoes this actor need to turn before landing?
LandAltitude0c01D World Distance
MaximumPitch281D World AngleHow fast this actor ascends or descends when using horizontal take off/landing.
AltitudeVelocity0c431D World DistanceHow fast this actor ascends or descends when using vertical take off/landing.
TakeoffSoundStringSound to play when the actor is taking off.
LandingSoundStringSound to play when the actor is landing.

FallsToEarth

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

Requires trait: Aircraft.

PropertyDefault ValueTypeDescription
ExplosionUnitExplodeString
SpinsTrueBoolean
MovesFalseBoolean
Velocity0c431D World Distance

AttackPlane

Requires trait: Aircraft.

PropertyDefault ValueTypeDescription
AttackTurnDelay50IntegerDelay, in game ticks, before turning to attack.
FacingTolerance1Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AttackHeli

PropertyDefault ValueTypeDescription
FacingTolerance1Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AttackBomber

PropertyDefault ValueTypeDescription
BombsprimaryStringArmament name
GunssecondaryStringArmament name
FacingTolerance2Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

FlyAwayOnIdle

Leave the map when idle.

ReturnOnIdle

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

Requires trait: Aircraft.

ThrowsShrapnel

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

PropertyDefault ValueTypeDescription
Weapons(required)Multiple StringThe weapons used for shrapnel.
Pieces3, 10Multiple IntegerThe amount of pieces of shrapnel to expel. Two values indicate a range.
Range2c0, 5c0Multiple 1D World DistanceThe minimum and maximum distances the shrapnel may travel.

StoresResources

Used for silos.

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

ProvidesTechPrerequisite

PropertyDefault ValueTypeDescription
NameString
PrerequisitesMultiple String

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

ActorGroupProxy

Part of the unfinished group-movement system. Attach this to the player actor.

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.

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 'SKIRMISHSTATS' and 'MISSIONOBJECTIVES'.

PropertyDefault ValueTypeDescription
PanelNameString
ExitDelay1400Integerin ms

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
RadarPingDuration250IntegerLength of time (in ticks) to display a location ping in the minimap.
NotificationHarvesterAttackStringThe audio notification type to play.

EnemyWatcher

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

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

AllyRepair

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

PlayerStatistics

Attach this to the player actor to collect observer stats.

UpdatesPlayerStatistics

Attach this to a unit to update observer stats.

ProductionQueue

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

PropertyDefault ValueTypeDescription
Type(required)StringWhat kind of production will be added (e.g. Building, Infantry, Vehicle, ...)
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?
BuildSpeed40IntegerThis percentage value is multiplied with actor cost to translate into build time (lower means faster).
LowPowerSlowdown3IntegerThe build time is multiplied with this value on low power.
ReadyAudioUnitReadyStringNotification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudioNoBuildStringNotification played when you can't train another unit when the build limit exceeded or the exit is jammed. The filename of the audio is defined per faction in notifications.yaml.
QueuedAudioTrainingStringNotification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudioOnHoldStringNotification played when player right-clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
CancelledAudioCancelledStringNotification 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.
RequiresPrerequisitesMultiple 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?

PlaceBeacon

PropertyDefault ValueTypeDescription
Duration750Integer
NotificationTypeSoundsString
NotificationBeaconString
PalettePrefixplayerString

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

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, PowerManager, 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, 50Multiple 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, ...)
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?
BuildSpeed40IntegerThis percentage value is multiplied with actor cost to translate into build time (lower means faster).
LowPowerSlowdown3IntegerThe build time is multiplied with this value on low power.
ReadyAudioUnitReadyStringNotification played when production is complete. The filename of the audio is defined per faction in notifications.yaml.
BlockedAudioNoBuildStringNotification played when you can't train another unit when the build limit exceeded or the exit is jammed. The filename of the audio is defined per faction in notifications.yaml.
QueuedAudioTrainingStringNotification played when user clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudioOnHoldStringNotification played when player right-clicks on the build palette icon. The filename of the audio is defined per faction in notifications.yaml.
CancelledAudioCancelledStringNotification 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.

GlobalUpgradeManager

Attach this to the player actor.

Requires trait: TechTree.

ResourceStorageWarning

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

Requires trait: PlayerResources.

PropertyDefault ValueTypeDescription
AdviceInterval10IntegerInterval, 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.

PlaceBuilding

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

PropertyDefault ValueTypeDescription
PaletteterrainStringPalette to use for rendering the placement sprite.
NewOptionsNotificationDelay10IntegerPlay NewOptionsNotification this many ticks after building placement.
NewOptionsNotificationNewOptionsStringNotification to play after building placement if new construction options are available.

TechTree

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

ConquestVictoryConditions

Requires trait: MissionObjectives.

PropertyDefault ValueTypeDescription
NotificationDelay1500IntegerDelay for the end game notification in milliseconds.
ObjectiveDestroy all opposition!StringDescription of the objective.

RevealsShroud

PropertyDefault ValueTypeDescription
Range0c01D World Distance
TypeFootprintVisibilityTypePossible values are CenterPosition (measure range from the center) and Footprint (measure range from the footprint)

Husk

Spawns remains of a husk actor with the correct facing.

PropertyDefault ValueTypeDescription
AllowedTerrainSet of String

Sellable

Actor can be sold

PropertyDefault ValueTypeDescription
RefundPercent50Integer
SellSoundsMultiple String
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

CaptureNotification

PropertyDefault ValueTypeDescription
NotificationBuildingCapturedString
NewOwnerVoiceTrueBoolean

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.
ChuteSoundchute1.audStringSound to play when dropping.

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

TerrainModifiesDamage

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

TakeCover

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

Requires trait: BodyOrientation.

PropertyDefault ValueTypeDescription
ProneTime100IntegerHow long (in ticks) the actor remains prone.
SpeedModifier50IntegerProne movement speed as a percentage of the normal speed.
DamageTriggers(required)Set of StringDamage types that trigger prone state. Defined on the warheads.
DamageModifiersDictionaryDamage modifiers for each damage type (defined on the warheads) while the unit is prone.
ProneOffset85,0,-1713D World Vector
ProneSequencePrefixprone-String
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

ProductionQueueFromSelection

PropertyDefault ValueTypeDescription
ProductionTabsWidgetString
ProductionPaletteWidgetString

ExternalCapturableBar

Visualize the remaining CaptureCompleteTime from ExternalCapturable: trait.

Requires trait: ExternalCapturable.

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 not set to defend.
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.
EnableStancesTrueBooleanAllow the player to change the unit stance.
MinimumScanTimeInterval3IntegerTicks to wait until next AutoTarget: attempt.
MaximumScanTimeInterval8IntegerTicks to wait until next AutoTarget: attempt.
TargetWhenIdleTrueBoolean
TargetWhenDamagedTrueBoolean

AutoTargetIgnore

Will not get automatically targeted by enemy (like walls)

CashTrickler

Lets the actor generate cash in a set periodic time.

PropertyDefault ValueTypeDescription
Period50IntegerNumber of ticks to wait between giving money.
Amount15IntegerAmount of money to give each time.
ShowTicksTrueBooleanWhether to show the cash tick indicators (+$15 rising from actor).
CaptureAmount0IntegerAmount of money awarded for capturing the actor.

KillsSelf

PropertyDefault ValueTypeDescription
RemoveInsteadFalseBooleanRemove the actor from the world (and destroy it) instead of killing it.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

QuantizeFacingsFromSequence

Derive facings from sprite body sequence.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SequenceidleStringDefines sequence to derive facings from.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

Guard

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

PropertyDefault ValueTypeDescription
VoiceActionString

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.
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.
SearchFromOrderRadius12IntegerSearch radius (in cells) from the last harvest order location to find more resources.
MaxIdleDuration25IntegerMaximum duration of being idle before queueing a Wait activity.
WaitDuration25IntegerDuration to wait before becoming idle again.
HarvestVoiceActionString
DeliverVoiceActionString

CustomSelectionSize

Special case trait for actors that need to define targetable area and screen map bounds manually.

PropertyDefault ValueTypeDescription
CustomBounds(required)Multiple Integer

PowerTooltip

Shown power info on the build palette widget.

AnnounceOnBuild

Play the Build voice of this actor when trained.

PropertyDefault ValueTypeDescription
VoiceBuildStringVoice to use when built/trained.

AmbientSound

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

PropertyDefault ValueTypeDescription
SoundFile(required)String
Interval0IntegerInterval between playing the sound (in ticks).
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

ActorLostNotification

PropertyDefault ValueTypeDescription
NotificationUnitLostString
NotifyAllFalseBoolean

AnnounceOnSeen

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

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

SoundOnDamageTransition

PropertyDefault ValueTypeDescription
DamagedSoundsMultiple StringPlay a random sound from this list when damaged.
DestroyedSoundsMultiple StringPlay a random sound from this list when destroyed.

DeathSounds

Sounds to play when killed.

PropertyDefault ValueTypeDescription
VoiceDieStringDeath notification voice.
VolumeMultiplier1Real NumberMultiply volume with this factor.
DeathTypesSet of StringDamage 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.

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.

Capturable

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

PropertyDefault ValueTypeDescription
TypebuildingStringType listed under Types in Captures: trait of actors that can capture this).
AllowAlliesFalseBoolean
AllowNeutralTrueBoolean
AllowEnemiesTrueBoolean
CaptureThreshold50IntegerHealth percentage the target must be at (or below) before it can be captured.
CancelActivityFalseBoolean

Health

PropertyDefault ValueTypeDescription
HP0IntegerHitPoints
NotifyAppliedDamageTrueBooleanTrigger interfaces such as AnnounceOnKill?
ShapeIHitShape

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.

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

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
TypeStringSet this when using multiple independent flash effects.

MenuPaletteEffect

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.

CanPowerDown

The player can disable the power individually on this actor.

Requires trait: Power.

PropertyDefault ValueTypeDescription
CancelWhenDisabledFalseBooleanRestore power when this trait is disabled.
IndicatorImagepoweroffString
IndicatorSequenceofflineString
IndicatorPalettechromeString
PowerupSoundString
PowerdownSoundString
PowerupSpeechString
PowerdownSpeechString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

AffectedByPowerOutage

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

ScalePowerWithHealth

Scale power amount with the current health.

Requires traits: Health, Power.

RequiresPower

Needs power to operate.

PropertyDefault ValueTypeDescription
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

PowerManager

Requires trait: DeveloperMode.

PropertyDefault ValueTypeDescription
AdviceInterval250Integer
SpeechNotificationLowPowerString

Power

PropertyDefault ValueTypeDescription
Amount0IntegerIf negative, it will drain power. If positive, it will provide power.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

TransformOnCapture

PropertyDefault ValueTypeDescription
IntoActorString
ForceHealthPercentage0Integer
SkipMakeAnimsTrueBoolean

RepairableNear

Requires trait: Health.

PropertyDefault ValueTypeDescription
Buildingsspen, syrdSet of String
CloseEnough4c01D World Distance
VoiceActionString

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

Targetable

Actor can be targeted.

PropertyDefault ValueTypeDescription
TargetTypesSet of StringTarget type. Used for filtering (in)valid targets.
RequiresForceFireFalseBoolean
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

Immobile

PropertyDefault ValueTypeDescription
OccupiesSpaceTrueBoolean

ExternalCaptures

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

PropertyDefault ValueTypeDescription
CaptureTypesbuildingSet of StringTypes of actors that it can capture, as long as the type also exists in the ExternalCapturable Type: trait.
ConsumeActorFalseBooleanDestroy the unit after capturing.
VoiceActionString

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.
TransformSoundsMultiple StringSounds to play when transforming.
NoTransformSoundsMultiple 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

Demolishable

Handle demolitions from C4 explosives.

PropertyDefault ValueTypeDescription
PreventsEjectOnDeathFalseBooleanIf true and this actor has EjectOnDeath, no actor will be spawned.

OpenRA.Mods.Common.Traits.Render

WithRankDecoration

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.
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.
StancesAllyStancePlayer stances who can view the decoration.
RequiresSelectionFalseBooleanShould this be visible only when selected?
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

OpenRA.Mods.D2k.Traits

Carryable

Can be carried by units with the trait Carryall.

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
MinDistance6c01D World DistanceRequired distance away from destination before requesting a pickup. Default is 6 cells.
CarryableUpgradesMultiple StringThe upgrades to grant to self while waiting or being carried.

SpiceBloom

Seeds resources by explosive eruptions after accumulation times.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SpawnActorspicebloom.spawnpointString
GrowthSequencesgrow1, grow2, grow3Multiple String
RespawnDelay1500, 2500Multiple IntegerThe range of time (in ticks) that the spicebloom will take to respawn.
GrowthDelay1000, 3000Multiple IntegerThe range of time (in ticks) that the spicebloom will take to grow.
ResourceTypeSpiceString
GrowthTerrainTypesSet of StringSpice blooms only grow on these terrain types.
WeaponStringThe weapon to use for spice creation.
Pieces2, 12Multiple IntegerThe amount of spice to expel.
Range5IntegerThe maximum distance in cells that spice may be expelled.

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.

FreeActorWithDelivery

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

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

DamagedWithoutFoundation

Reduces health points over time when the actor is placed on unsafe terrain.

Requires trait: Health.

PropertyDefault ValueTypeDescription
WeaponweatheringStringThe weapon to use for causing damage.
SafeTerrainConcreteSet of StringTerrain types on which no damage is caused.
DamageThreshold50IntegerThe percentage of health the actor should keep.

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

Carryall

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

Requires trait: BodyOrientation.

PropertyDefault ValueTypeDescription
AutomaticTrueBooleanSet to false when the carryall should not automatically get new jobs.

FogPaletteFromR8

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name
Filename(required)StringFilename to load
Offset0Int64Palette byte offset
AllowModifiersTrueBoolean
InvertColorFalseBoolean

D2kResourceLayer

Used to render spice with round borders.

Requires traits: BuildingInfluence, ResourceType.

D2kEditorResourceLayer

Used to render spice with round borders.

Requires trait: ResourceType.

PaletteFromR8

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name
Filename(required)StringFilename to load
Offset0Int64Palette byte offset
AllowModifiersTrueBoolean
InvertColorFalseBoolean

BuildableTerrainLayer

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

PropertyDefault ValueTypeDescription
PaletteterrainStringPalette to render the layer sprites in.

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.

WormManager

Controls the spawning of sandworms. Attach this to the world actor.

PropertyDefault ValueTypeDescription
Minimum0IntegerMinimum number of worms
Maximum4IntegerMaximum number of worms
SpawnInterval6000IntegerTime (in ticks) between worm spawn.
WormSignaturesandwormStringName of the actor that will be spawned.
WormSignNotificationWormSignString
WormOwnerPlayerCreepsString

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.
AttackingUpgradesattackingMultiple StringThe upgrades to grant while attacking.
WormAttackSoundWORM.WAVString
WormAttackNotificationWormAttackString
FacingTolerance1Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithDecorationCarryable

Displays a sprite when the carryable actor is waiting for pickup.

Requires trait: Carryable.

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.
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.
StancesAllyStancePlayer stances who can view the decoration.
RequiresSelectionFalseBooleanShould this be visible only when selected?
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

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

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

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

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

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.

WormSpawner

An actor with this trait indicates a valid spawn point for sandworms.

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, 0Multiple IntegerNoise percentage at Range step away from the actor.
Spread3c01D World DistanceRange between falloff steps.
RangeMultiple 1D World DistanceRanges at which each Falloff step is defined. Overrides Spread.
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

OpenRA.Mods.RA.Effects

GpsDot

Attach this to actors to render pictograms while hidden.

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

OpenRA.Mods.RA.Traits

InfiltrateForSupportPower

PropertyDefault ValueTypeDescription
Proxy(required)String

InfiltrateForCash

This structure can be infiltrated causing funds to be stolen.

PropertyDefault ValueTypeDescription
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.
NotificationStringSound the victim will hear when they get robbed.

Infiltrates

PropertyDefault ValueTypeDescription
TypesSet of String
VoiceActionString
ValidStancesEnemy, NeutralStanceWhat diplomatic stances can be infiltrated by this actor.
EnterBehaviourDisposeEnterBehaviourBehaviour when entering the structure. Possible values are Exit, Suicide, Dispose.
NotificationBuildingInfiltratedStringNotification to play when a building is infiltrated.

InfiltrateForPowerOutage

PropertyDefault ValueTypeDescription
Duration500Integer

InfiltrateForExploration

Steal and reset the owner's exploration.

GpsWatcher

Required for GpsPower. Attach this to the player actor.

FrozenUnderFogUpdatedByGps

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

Requires trait: FrozenUnderFog.

MadTank

Requires traits: Explodes, WithFacingSpriteBody.

PropertyDefault ValueTypeDescription
ThumpSequencepistonString
ThumpInterval8Integer
ThumpDamageWeaponMADTankThumpString
ThumpShakeIntensity3Integer
ThumpShakeMultiplier1,02D Real Number
ThumpShakeTime10Integer
ChargeDelay96IntegerMeasured in ticks.
ChargeSoundmadchrg2.audString
DetonationDelay42IntegerMeasured in ticks.
DetonationSoundmadexplo.audString
DetonationWeaponMADTankDetonateString
DriverActore1String
VoiceActionString

Mine

PropertyDefault ValueTypeDescription
CrushClassesSet of String
AvoidFriendlyTrueBoolean
DetonateClassesSet of String

MineImmune

Tag trait for stuff that should not trigger mines.

Chronoshiftable

Can be teleported via Chronoshift power.

PropertyDefault ValueTypeDescription
ExplodeInsteadFalseBooleanShould the actor die instead of being teleported?
ChronoshiftSoundchrono2.audString
ReturnToOriginTrueBooleanShould the actor return to its previous location after the chronoshift wore out?
TimeBarColorFFFFFFColorThe color the bar of the 'return-to-origin' logic has.

ClonesProducedUnits

Creates a free duplicate of produced units.

Requires traits: Exit, Production.

PropertyDefault ValueTypeDescription
CloneableTypes(required)Set of StringUses the "Cloneable" trait to determine whether or not we should clone a produced unit.

ParatroopersPower

PropertyDefault ValueTypeDescription
UnitTypebadrString
SquadSize1Integer
SquadOffset-1536,1536,03D World Vector
QuantizedFacings32IntegerNumber of facings that the delivery aircraft may approach from.
Cordon5c01D World DistanceSpawn and remove the plane this far outside the map.
DropItemsMultiple 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.
BeaconDistanceOffset4c01D World DistanceWeapon range offset to apply during the beacon clock calculation.
ChargeTime0IntegerMeasured in seconds.
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.
PrerequisitesMultiple String
BeginChargeSoundString
EndChargeSoundString
SelectTargetSoundString
InsufficientPowerSoundString
LaunchSoundString
IncomingSoundString
DisplayTimerFalseBoolean
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike and Nuke powers
BeaconPalettePrefixplayerString
BeaconPosterString
BeaconPosterPalettechromeString
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameParatroopersPowerInfoOrderString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

ChronoshiftPower

PropertyDefault ValueTypeDescription
Range1IntegerTarget actor selection radius in cells.
Duration30IntegerSeconds until returning after teleportation.
TargetOverlayPaletteterrainString
OverlaySpriteGroupoverlayString
ValidTileSequencePrefixtarget-valid-String
InvalidTileSequencetarget-invalidString
SourceTileSequencetarget-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.
ChargeTime0IntegerMeasured in seconds.
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.
PrerequisitesMultiple String
BeginChargeSoundString
EndChargeSoundString
SelectTargetSoundString
InsufficientPowerSoundString
LaunchSoundString
IncomingSoundString
DisplayTimerFalseBoolean
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike and Nuke powers
BeaconPalettePrefixplayerString
BeaconPosterString
BeaconPosterPalettechromeString
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameChronoshiftPowerInfoOrderString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

GpsPower

Requires GpsWatcher on the player actor.

PropertyDefault ValueTypeDescription
RevealDelay0Integer
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
ChargeTime0IntegerMeasured in seconds.
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.
PrerequisitesMultiple String
BeginChargeSoundString
EndChargeSoundString
SelectTargetSoundString
InsufficientPowerSoundString
LaunchSoundString
IncomingSoundString
DisplayTimerFalseBoolean
IconPalettechromeStringPalette used for the icon.
DisplayBeaconFalseBooleanBeacons are only supported on the Airstrike and Nuke powers
BeaconPalettePrefixplayerString
BeaconPosterString
BeaconPosterPalettechromeString
DisplayRadarPingFalseBoolean
RadarPingDuration125IntegerMeasured in ticks.
OrderNameGpsPowerInfoOrderString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

WithLandingCraftAnimation

Requires traits: Cargo, WithSpriteBody.

PropertyDefault ValueTypeDescription
OpenTerrainTypesClearSet of String
OpenSequenceopenString
CloseSequencecloseString
UnloadSequenceunloadString

RenderShroudCircle

WithDisguisingInfantryBody

Requires traits: Disguise, RenderSprites.

PropertyDefault ValueTypeDescription
MinIdleDelay30Integer
MaxIdleDelay110Integer
MoveSequencerunString
AttackSequenceString
IdleSequencesMultiple String
StandSequencesstandMultiple String
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

RenderJammerCircle

Cloneable

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

PropertyDefault ValueTypeDescription
Types(required)Set of StringThis unit's cloneable type is:

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 'Enemy' or 'Allied'.
GenericVisibilityNoneStancePlayer stances that the generic name should be shown to.
ShowOwnerRowTrueBooleanShow the actor's owner and their faction flag
IconiconStringSequence of the actor that contains the cameo.
DescriptionString
NameString

Disguise

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

PropertyDefault ValueTypeDescription
VoiceActionString
UpgradesdisguiseMultiple StringUpgrades to grant when disguised.

Minelayer

PropertyDefault ValueTypeDescription
MineminvString
RearmBuildingsfixSet of String
AmmoPoolNameprimaryString
MinefieldDepth1c5121D World Distance

AttackLeap

Dogs use this attack model.

PropertyDefault ValueTypeDescription
Speed0c4261D World DistanceLeap speed (in units/tick).
Angle561D World Angle
FacingTolerance1Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorString
OutsideRangeCursorString
AttackRequiresEnteringCellFalseBooleanDoes the attack type require the attacker to enter the target's cell?
IgnoresVisibilityFalseBooleanDoes not care about shroud or fog. Enables the actor to launch an attack against a target even if he has no visibility of it.
VoiceActionString
UpgradeTypesSet of StringThe upgrade types which can enable or disable this trait.
UpgradeMinEnabledLevel0IntegerThe minimum upgrade level at which this trait is enabled. Defaults to 0 (enabled by default).
UpgradeMaxEnabledLevel2147483647IntegerThe maximum upgrade level at which the trait is enabled. Defaults to UpgradeMaxAcceptedLevel (enabled for all levels greater than UpgradeMinEnabledLevel). Set this to a value smaller than UpgradeMaxAcceptedLevel to disable the trait at higher levels. Use UpgradeMaxAcceptedLevel: 2 (1 more) to be able to extend upgrade time.
UpgradeMaxAcceptedLevel1IntegerThe maximum upgrade level that this trait will accept.

HarvesterHuskModifier

Requires trait: Harvester.

PropertyDefault ValueTypeDescription
FullHuskActorString
FullnessThreshold50Integer

LightPaletteRotator

Palette effect used for blinking "animations" on actors.

PropertyDefault ValueTypeDescription
ExcludePalettesSet of String

ChronoshiftPaletteEffect

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

PropertyDefault ValueTypeDescription
ChronoEffectLength60IntegerMeasured in ticks.

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

OpenRA.Mods.TS.Traits

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?
DiscardExcessResourcesFalseBooleanDiscard resources once silo capacity has been reached.
ShowTicksTrueBoolean
TickLifetime30Integer
TickVelocity2Integer
TickRate10Integer

TSShroudPalette

Adds the hard-coded shroud palette to the game

PropertyDefault ValueTypeDescription
Name(required)StringInternal palette name

WithVoxelWalkerBody

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
TickRate5Integer

WithVoxelWaterBody

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
WaterSequencewaterString
LandSequenceidleString

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.

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

WithPermanentInjury

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

PropertyDefault ValueTypeDescription
TriggeringDamageStageCriticalDamageState
InjuredSequencePrefixcrippled-String

OpenRA.Traits

ActorMap

PropertyDefault ValueTypeDescription
BinSize10IntegerSize of partition bins (cells)

ScreenMap

PropertyDefault ValueTypeDescription
BinSize250IntegerSize of partition bins (world pixels)

ResourceType

PropertyDefault ValueTypeDescription
SequenceresourcesString
VariantsMultiple String
PaletteterrainString
ResourceType1Integer
ValuePerUnit0Integer
MaxDensity10Integer
NameString
TerrainTypeOreString
AllowedTerrainTypesSet of String
AllowUnderActorsFalseBoolean
AllowUnderBuildingsFalseBoolean
AllowOnRampsFalseBoolean
PipColorYellowPipType

Shroud

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

PropertyDefault ValueTypeDescription
FogEnabledTrueBooleanDefault value of the fog checkbox in the lobby.
FogLockedFalseBooleanPrevent the fog enabled state from being changed in the lobby.
ExploredMapEnabledFalseBooleanDefault value of the explore map checkbox in the lobby.
ExploredMapLockedFalseBooleanPrevent the explore map enabled state from being changed in the lobby.

ScreenShaker

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

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

ValidateOrder

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

DrawLineToTarget

PropertyDefault ValueTypeDescription
Delay60Integer

RejectsOrders

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

PropertyDefault ValueTypeDescription
ExceptSet of StringPossible values include Attack, AttackMove, Guard, Move.

PlayerResources

PropertyDefault ValueTypeDescription
SelectableCash2500, 5000, 10000, 20000Multiple IntegerStarting cash options that are available in the lobby options.
DefaultCash5000IntegerDefault starting cash option: should be one of the SelectableCash options.
DefaultCashLockedFalseBooleanForce the DefaultCash option by disabling changes in the lobby.
InsufficientFundsNotificationStringSpeech notification to play when the player does not have any funds.
InsufficientFundsNotificationDelay750IntegerDelay (in ticks) during which warnings will be muted.

FrozenActorLayer

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

Requires trait: Shroud.

PropertyDefault ValueTypeDescription
BinSize10IntegerSize of partition bins (cells)

DeveloperMode

Attach this to the player actor.

PropertyDefault ValueTypeDescription
EnabledFalseBooleanDefault value of the developer mode checkbox in the lobby.
LockedFalseBooleanPrevent the developer mode state from being changed 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.
ShowCombatGeometryFalseBooleanEnable the combat geometry overlay by default.
ShowDebugGeometryFalseBooleanEnable the debug geometry overlay by default.
ShowDepthPreviewFalseBooleanEnable the depth buffer overlay by default.
ShowActorTagsFalseBooleanEnable the actor tags overlay by default.

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

FixedColorPalette

Add this to the World actor definition.

PropertyDefault ValueTypeDescription
BaseterrainStringThe name of the palette to base off.
NameresourcesStringThe name of the resulting palette
RemapIndexMultiple IntegerRemap these indices to pre-defined colors.
Color00000000ColorThe fixed color to remap.
Ramp0.05Real NumberLuminosity range to span.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.

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
RemapIndexMultiple IntegerRemap these indices to player colors.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.
PlayerIndexDictionary

DebugPauseState

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

EditorTilesetFilter

PropertyDefault ValueTypeDescription
RequireTilesetsSet of String
ExcludeTilesetsSet of String

Selectable

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

PropertyDefault ValueTypeDescription
Priority10Integer
BoundsMultiple IntegerBounds for the selectable area.
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