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

OpenRA.Mods.Cnc.Traits

AttackPopupTurreted

Actor's turret rises from the ground before attacking.

Requires traits: Building, RenderBuilding, Turreted.

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.
Armamentsprimary, secondaryMultiple StringArmament names
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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.

ProductionAirdrop

Deliver the unit in production via skylift.

PropertyDefault ValueTypeDescription
ReadyAudioReinforceString
ActorTypec17StringCargo aircraft used.
Produces(required)Multiple Stringe.g. Infantry, Vehicles, Aircraft, Buildings

PoisonedByTiberium

PropertyDefault ValueTypeDescription
WeaponTiberiumString
ResourcesTiberium, BlueTiberiumMultiple String
UpgradeTypesMultiple 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 trait: 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.
DisplayTypesMultiple StringPassenger CargoType to display.

WithDeliveryAnimation

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

Requires trait: RenderBuilding.

PropertyDefault ValueTypeDescription
ActiveSequenceactiveString
IdleSequenceidleString

WithGunboatBody

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

WithReloadingTurret

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

Requires traits: AmmoPool, Armament, 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
UpgradeTypesMultiple 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.

WithRoof

Provides an overlay for the Tiberian Dawn hover craft.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SequenceroofString

SpawnViceroid

PropertyDefault ValueTypeDescription
ViceroidActorviceString
Probability10Integer
OwnerCreepsString
DeathTypeTiberiumDeathString

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

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.

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.
BuildingQueuesBuildingMultiple StringProduction queues AI uses for buildings.
DefenseQueuesDefenseMultiple 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.
StructureProductionInactiveDelay125IntegerDelay (in ticks) between structure production checks when there is no active production. A StructureProductionRandomBonusDelay is added to this.
StructureProductionActiveDelay10IntegerDelay (in ticks) between structure production checks when actively building things. A StructureProductionRandomBonusDelay is added to this.
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.
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.
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.
UnitQueuesVehicle, Infantry, Plane, Ship, AircraftMultiple 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.
BuildingFractionsDictionaryWhat buildings to the AI should build. What % of the total base must be this type of building.
UnitsCommonNamesDictionaryTells the AI what unit types fall under the same common name. Only supported entry is Mcv.
BuildingCommonNamesDictionaryTells 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 max limits n. What is the limit of the building.
PowerDecisions(Collection)List`1Tells the AI how to use its support powers.

OpenRA.Mods.Common.Commands

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.

HelpCommand

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

PlayerCommands

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

OpenRA.Mods.Common.Effects

Contrail

Draw a colored contrail behind this actor when they move.

PropertyDefault ValueTypeDescription
Offset0,0,03D World VectorPosition relative to body
TrailLength25IntegerMeasured in pixels.
Color255,255,255,255ColorRGB color of the contrail.
UsePlayerColorTrueBooleanUse player remap color instead of a custom color?

OpenRA.Mods.Common.Scripting

LuaScript

Part of the new Lua API.

Requires trait: SpawnMapActors.

PropertyDefault ValueTypeDescription
ScriptsMultiple String

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
UpgradesMultiple StringUpgrades that can be granted from the scripts.

OpenRA.Mods.Common.Traits

AcceptsSupplies

Tag trait for SupplyTruck actors.

Aircraft

PropertyDefault ValueTypeDescription
CruiseAltitude12801D World Distance
IdealSeparation17061D 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.
RepairBuildingsfixMultiple String
RearmBuildingshpad, afldMultiple String
InitialFacing0Integer
ROT255Integer
Speed1Integer
LandableTerrainTypesMultiple String
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
VoiceActionString

AttackBomber

PropertyDefault ValueTypeDescription
BombsprimaryStringArmament name
GunssecondaryStringArmament name
FacingTolerance2Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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.

AttackPlane

PropertyDefault ValueTypeDescription
AttackTurnDelay50IntegerDelay, in game ticks, before turning to attack.
FacingTolerance1Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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.

FallsToEarth

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

PropertyDefault ValueTypeDescription
ExplosionUnitExplodeString
SpinsTrueBoolean
MovesFalseBoolean
Velocity431D World Distance

FlyAwayOnIdle

Leave the map when idle.

Helicopter

PropertyDefault ValueTypeDescription
LandWhenIdleTrueBooleanAllow the helicopter land after it has no more commands.
TurnToLandFalseBooleanAllow the helicopter turn before landing.
LandAltitude01D World Distance
AltitudeVelocity431D World DistanceHow fast the helicopter ascends or descends.
TakeoffSoundString
LandingSoundString
CruiseAltitude12801D World Distance
IdealSeparation17061D 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.
RepairBuildingsfixMultiple String
RearmBuildingshpad, afldMultiple String
InitialFacing0Integer
ROT255Integer
Speed1Integer
LandableTerrainTypesMultiple String
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
VoiceActionString

Plane

PropertyDefault ValueTypeDescription
MaximumPitch281D World Angle
CruiseAltitude12801D World Distance
IdealSeparation17061D 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.
RepairBuildingsfixMultiple String
RearmBuildingshpad, afldMultiple String
InitialFacing0Integer
ROT255Integer
Speed1Integer
LandableTerrainTypesMultiple String
MoveIntoShroudTrueBooleanCan the actor be ordered to move in to shroud?
VoiceActionString

ReturnOnIdle

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

TargetableAircraft

PropertyDefault ValueTypeDescription
GroundedTargetTypesMultiple String
TargetTypesMultiple StringTarget type. Used for filtering (in)valid targets.
RequiresForceFireFalseBoolean
UpgradeTypesMultiple 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.

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

AppearsOnRadar

PropertyDefault ValueTypeDescription
UseLocationFalseBoolean

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.
Recoil01D World DistanceMove the turret backwards when firing.
RecoilRecovery91D World DistanceRecoil recovery per-frame
MuzzleSequenceStringMuzzle flash sequence to render
MuzzlePaletteeffectStringPalette to render Muzzle flash sequence in
MuzzleSplitFacings0IntegerUse multiple muzzle images if non-zero
UpgradeTypesMultiple 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.

Armor

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

PropertyDefault ValueTypeDescription
TypeString

AttackCharge

Charges up before being able to attack.

PropertyDefault ValueTypeDescription
MaxCharges1IntegerHow many charges this actor has to attack with, once charged.
ReloadTime120IntegerReload 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
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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.

AttackMedic

Give the unit a "heal-weapon" that attacks friendly targets if they are damaged. It conflicts with any other weapon or Attack*: trait because it will hurt friendlies during the heal process then. It also won't work with buildings (use RepairsUnits: for them)

PropertyDefault ValueTypeDescription
FacingTolerance1Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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.

AttackOmni

PropertyDefault ValueTypeDescription
Armamentsprimary, secondaryMultiple StringArmament names
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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
TicksToWaitBeforeReducingMoveRadius5IntegerNumber of ticks to wait before decreasing the effective move radius.
MinMoveDelayInTicks0IntegerMimimum ammount of ticks the actor will sit idly before starting to wander.
MaxMoveDelayInTicks0IntegerMaximum ammount of ticks the actor will sit idly before starting to wander.

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

AutoHeal

Used together with AttackMedic: to make the healer do it's job automatically to nearby units.

Requires trait: AttackBase.

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.
InitialStanceAttackAnythingUnitStancePossible values are HoldFire, ReturnFire, Defend and AttackAnything.
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)

BlocksProjectiles

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

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

BaseBuilding

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

BaseProvider

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

PropertyDefault ValueTypeDescription
Range10Integer
Cooldown0Integer
InitialDelay0Integer

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.

GivesBuildableArea

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

Building

PropertyDefault ValueTypeDescription
TerrainTypesMultiple 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

BuildingInfluence

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

Exit

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

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

FreeActor

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

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.

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.
NodeTypeswallMultiple StringLineBuildNode 'Types' to attach to.

LineBuildNode

LineBuild actors attach to LineBuildNodes.

PropertyDefault ValueTypeDescription
TypeswallMultiple StringThis actor is of LineBuild 'NodeType'...

PrimaryBuilding

Used together with ClassicProductionQueue.

RallyPoint

Used to waypoint units after production or repair is finished.

PropertyDefault ValueTypeDescription
RallyPoint1,32D Cell Vector
IndicatorPalettePrefixplayerString

Refinery

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?
ShowTicksTrueBoolean
TickLifetime30Integer
TickVelocity2Integer
TickRate10Integer

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 interal repairing player name.
UpgradeTypesMultiple 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.

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.

Reservable

Reserve landing places for aircraft.

TargetableBuilding

Requires trait: Building.

PropertyDefault ValueTypeDescription
TargetTypes(required)Multiple String
RequiresForceFireFalseBoolean

Burns

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

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Anim1String
Damage1Integer
Interval8Integer

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
VoiceActionStringVoice string when planting explosive charges.

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
CaptureThreshold0.5Real NumberHealth percentage the target must be at (or below) before it can be captured.
CancelActivityFalseBoolean

CaptureNotification

PropertyDefault ValueTypeDescription
NotificationBuildingCapturedString
NewOwnerVoiceTrueBoolean

Captures

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

PropertyDefault ValueTypeDescription
CaptureTypesbuildingMultiple 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.
SabotageHPRemoval0.5Real NumberOnly used if Sabotage=true. Sabotage damage expressed as a percentage of enemy health removed.
VoiceActionString

Cargo

This actor can transport Passenger actors.

PropertyDefault ValueTypeDescription
MaxWeight0IntegerThe maximum sum of Passenger.Weight that this actor can support.
PipCount0IntegerNumber of pips to display when this actor is selected.
TypesMultiple 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?
UnloadTerrainTypesMultiple 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.

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.

Cloak

This unit can cloak and uncloak in specific situations.

PropertyDefault ValueTypeDescription
InitialDelay10IntegerMeasured in game ticks.
CloakDelay30IntegerMeasured in game ticks.
UncloakOnAttackTrueBoolean
UncloakOnMoveFalseBoolean
UncloakOnUnloadTrueBoolean
UncloakOnInfiltrateTrueBoolean
UncloakOnDemolishTrueBoolean
CloakSoundString
UncloakSoundString
PalettecloakString
CloakTypesCloakMultiple String
UpgradeTypesMultiple 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.

CombatDebugOverlay

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

Crate

Requires trait: RenderSprites.

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

CrateAction

PropertyDefault ValueTypeDescription
SelectionShares10IntegerChance of getting this crate, assuming the collector is compatible.
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, WaterMultiple StringThe list of unit target types we are allowed to duplicate.
ValidRacesMultiple StringWhich races 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.

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.

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

GiveUnitCrateAction

Spawns units when collected.

PropertyDefault ValueTypeDescription
Units(required)Multiple StringThe list of units to spawn.
ValidRacesMultiple StringRaces 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.

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

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.

HideMapCrateAction

Hides the entire map in shroud.

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.

LevelUpCrateAction

Gives experience levels to the collector.

PropertyDefault ValueTypeDescription
Levels1IntegerNumber of experience levels to give.
Range31D 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.

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.

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.

CreatesShroud

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

Crushable

This actor is crushable.

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

CustomBuildTimeValue

Overrides the build time calculated by actor value.

PropertyDefault ValueTypeDescription
Value(required)IntegerMeasured in ticks.

CustomSelectionSize

Special case trait for unselectable actors that need to define targetable area bounds for special cases like C4, engineer repair and tooltips. Examples: bridge huts and crates.

PropertyDefault ValueTypeDescription
CustomBounds(required)Multiple Integer

CustomSellValue

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

PropertyDefault ValueTypeDescription
Value(required)Integer

Demolishable

Handle demolitions from C4 explosives.

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

DetectCloaked

Actor can reveal Cloak actors in a specified range.

PropertyDefault ValueTypeDescription
CloakTypesCloakMultiple StringSpecific cloak classifications I can reveal.
Range5IntegerMeasured in cells.
UpgradeTypesMultiple 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.

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.

EmitInfantryOnSell

Spawn new actors when sold.

PropertyDefault ValueTypeDescription
ValuePercent40Real Number
MinHpPercent30Real Number
ActorTypese1Multiple StringBe sure to use lowercase. Default value is "e1".
RacesMultiple StringSpawns actors only if the selling player's race is in this list.Leave empty to allow all races by default.

EngineerRepair

Can instantly repair other actors, but gets consumed afterwards.

PropertyDefault ValueTypeDescription
VoiceActionString

EngineerRepairable

Eligible for instant repair.

Explodes

This actor explodes when killed.

PropertyDefault ValueTypeDescription
WeaponUnitExplodeStringWeapon 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.
DeathTypeMultiple StringDeathType(s) to apply upon explosion.

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.

ExternalCapturableBar

Visualize the remaining CaptureCompleteTime from ExternalCapturable: trait.

Requires trait: ExternalCapturable.

ExternalCaptures

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

PropertyDefault ValueTypeDescription
CaptureTypesbuildingMultiple 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

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?

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.

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.

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.

Guard

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

PropertyDefault ValueTypeDescription
VoiceActionString

Guardable

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

PropertyDefault ValueTypeDescription
Range2IntegerMaximum range that guarding actors will maintain. Measured in cells.

Harvester

Requires trait: Mobile.

PropertyDefault ValueTypeDescription
DeliveryBuildingsMultiple 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.
LoadTicksPerBale4Integer
UnloadTicksPerBale4IntegerHow fast it can dump it's carryage.
PipCount7IntegerHow many squares to show the fill level.
HarvestFacings0Integer
ResourcesMultiple 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.
HarvestVoiceActionString
DeliverVoiceActionString

Huntable

This actor can be targeted by the Hunt activity.

Husk

Spawns remains of a husk actor with the correct facing.

PropertyDefault ValueTypeDescription
AllowedTerrainMultiple String

IgnoresCloak

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

IgnoresDisguise

Allows automatic targeting of disguised actors.

Immobile

PropertyDefault ValueTypeDescription
OccupiesSpaceTrueBoolean

ScaredyCat

Makes the unit automatically run around when taking damage.

Requires trait: Mobile.

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

TakeCover

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

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

TerrainModifiesDamage

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

JamsMissiles

PropertyDefault ValueTypeDescription
Range0Integer
AlliedMissilesTrueBoolean
Chance100Integer

KillsSelf

PropertyDefault ValueTypeDescription
RemoveInsteadFalseBooleanRemove the actor from the world (and destroy it) instead of killing it.
UpgradeTypesMultiple 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.

Mobile

Unit is able to move.

PropertyDefault ValueTypeDescription
TerrainSpeeds(required)DictionarySet Water: 0 for ground units and lower the value on rough terrain.
CrushesMultiple Stringe.g. crate, wall, infantry
WaitAverage5Integer
WaitSpread2Integer
InitialFacing0Integer
ROT255IntegerRate of Turning
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

AlwaysVisible

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

DisabledOverlay

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

FrozenUnderFog

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

Requires trait: Building.

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

HiddenUnderFog

The actor stays invisible under fog of war.

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

HiddenUnderShroud

The actor stays invisible under the shroud.

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

UpgradeOverlay

Display a colored overlay when a timed upgrade is active.

PropertyDefault ValueTypeDescription
PaletteinvulnStringPalette to use when rendering the overlay
UpgradeTypesMultiple 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.

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.

InaccuracyMultiplier

The inaccuracy of this actor is multipled 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.

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.

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.

CloakPaletteEffect

FlashPaletteEffect

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

PropertyDefault ValueTypeDescription
ExcludePalettescursor, chrome, colorpicker, fog, shroudMultiple String
Length20IntegerMeasured in ticks.
Color255,255,255,255Color
TypeStringSet this when using multiple independent flash effects.

GlobalLightingPaletteEffect

Used for day/night effects.

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

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.

WaterPaletteRotation

Palette effect used for sprinkle "animations" on terrain tiles.

PropertyDefault ValueTypeDescription
ExcludePalettesMultiple String

ParaDrop

This unit can spawn and eject other actors while flying.

Requires trait: Cargo.

PropertyDefault ValueTypeDescription
DropRange40961D World DistanceDistance around the drop-point to unload troops.
ChuteSoundchute1.audStringSound to play when dropping.

Parachutable

Can be paradropped by a ParaDrop actor.

PropertyDefault ValueTypeDescription
KilledOnImpassableTerrainTrueBooleanIf we land on invalid terrain for my actor type should we be killed?
CorpseSequenceCollectionexplosionStringGroup 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.

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.
AlternateTransportScanRange56321D World DistanceRange from self for looking for an alternate transport (default: 5.5 cells).
GrantUpgradesMultiple StringUpgrade types to grant to transport.
VoiceActionString

ActorGroupProxy

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

AllyRepair

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

BaseAttackNotifier

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

PropertyDefault ValueTypeDescription
NotifyInterval30IntegerMinimum duration (in seconds) between notification events.
RadarPingColor255,255,0,0Color
RadarPingDuration250IntegerLength of time (in ticks) to display a location ping in the minimap.
NotificationBaseAttackStringThe audio notification type to play.

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 contructed, 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.
RaceMultiple StringOnly enable this queue for certain factions
StickyTrueBooleanShould the prerequisite remain enabled if the owner changes?
BuildSpeed0.4Real NumberThis value is used to translate the unit cost into build time.
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.

ConquestVictoryConditions

Requires trait: MissionObjectives.

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

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.

GlobalUpgradeManager

Attach this to the player actor.

Requires trait: TechTree.

HarvesterAttackNotifier

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

PropertyDefault ValueTypeDescription
NotifyInterval30IntegerMinimum duration (in seconds) between notification events.
RadarPingColor255,255,0,0Color
RadarPingDuration250IntegerLength of time (in ticks) to display a location ping in the minimap.
NotificationHarvesterAttackStringThe audio notification type to play.

MissionObjectives

PropertyDefault ValueTypeDescription
CooperativeFalseBooleanSet this to true if multiple cooperative players have a distinct set of objectives that each of them has to complete to win the game. This is mainly useful for multiplayer coop missions. Do not use this for skirmish team games.
EarlyGameOverFalseBooleanIf set to true, this setting causes the game to end immediately once the first player (or team of cooperative players) fails or completes his objectives. If set to false, players that fail their objectives will stick around and become observers.
GameOverDelay1500IntegerDelay between the game over condition being met, and the game actually ending, in milliseconds.

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

PlaceBeacon

PropertyDefault ValueTypeDescription
Duration750Integer
NotificationTypeSoundsString
NotificationBeaconString
PalettePrefixplayerString

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.

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.
RaceMultiple StringOnly enable this queue for certain factions
StickyTrueBooleanShould the prerequisite remain enabled if the owner changes?
BuildSpeed0.4Real NumberThis value is used to translate the unit cost into build time.
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.
FactionsMultiple StringOnly grant this prerequisite for certain factions.
ResetOnOwnerChangeFalseBooleanShould it recheck everything when it is captured?

ProvidesTechPrerequisite

PropertyDefault ValueTypeDescription
NameString
PrerequisitesMultiple String

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
TicksToHold7500IntegerAmount of time (in game ticks) that the player has to hold all the strategic points. Defaults to 5 minutes.
ResetOnHoldLostTrueBooleanShould the timer reset when the player loses hold of a strategic point.
RatioRequired0.5Real NumberPercentage 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

TechTree

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

Plug

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

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.

AffectedByPowerOutage

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

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

RequiresPower

Needs power to operate.

ScalePowerWithHealth

Scale power amount with the current health.

Requires traits: Health, Power.

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?

Production

This unit has access to build queues.

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

ProductionQueueFromSelection

PropertyDefault ValueTypeDescription
ProductionTabsWidgetString
ProductionPaletteWidgetString

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
Range0IntegerRange for jamming.

ProximityCaptor

Actor can capture ProximityCapturable actors.

PropertyDefault ValueTypeDescription
Types(required)Multiple String

ProximityCapturable

Actor can be captured by units in a specified proximity.

PropertyDefault ValueTypeDescription
PermanentFalseBoolean
Range5Integer
MustBeClearFalseBoolean
CaptorTypesVehicle, Tank, InfantryMultiple String

RadarColorFromTerrain

PropertyDefault ValueTypeDescription
TerrainString

AutoSelectionSize

Requires trait: RenderSprites.

Hovers

Changes the visual Z position periodically.

PropertyDefault ValueTypeDescription
OffsetModifier-43IntegerAmount of Z axis changes in world units.

LeavesTrails

Renders a sprite effect when leaving a cell.

PropertyDefault ValueTypeDescription
ImageString
PaletteeffectString
TerrainTypesMultiple StringOnly do so when the terrain types match with the previous cell.

ProductionBar

Visualizes the remaining build time of actor produced here.

PropertyDefault ValueTypeDescription
ProductionTypeStringProduction queue type, for actors with multiple queues.
Color255,135,206,235Color

RenderBuilding

Render trait for stationary objects that can be placed from the build palette.

Requires trait: Building.

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

RenderBuildingCharge

Used for tesla coil and obelisk.

Requires trait: Building.

PropertyDefault ValueTypeDescription
ChargeSequenceactiveStringSequence to use for building charge animation.
PauseOnLowPowerFalseBoolean
SequenceidleString
ImageStringThe sequence name that defines the actor sprites. Defaults to the actor name.
RaceImagesDictionaryA dictionary of race-specific image overrides.
PaletteStringCustom palette name
PlayerPaletteplayerStringCustom PlayerColorPalette: BaseName
Scale1Real NumberChange the sprite image size.

RenderBuildingSilo

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

Requires trait: Building.

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

RenderBuildingTurreted

Requires traits: Building, Turreted.

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

RenderBuildingWall

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

Requires trait: Building.

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

RenderDetectionCircle

Requires trait: DetectCloaked.

RenderNameTag

Displays the player name above the unit

PropertyDefault ValueTypeDescription
MaxLength10Integer
FontTinyBoldString

RenderRangeCircle

Draw a circle indicating my weapon's range.

Requires trait: AttackBase.

PropertyDefault ValueTypeDescription
RangeCircleTypeString
FallbackRange01D World DistanceRange to draw if no armaments are available

RenderSimple

Basic render trait for immobile actors. Deprecated, use RenderSprites + WithSpriteBody instead.

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

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

RenderSpritesEditorOnly

Invisible during games.

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

RenderVoxels

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

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
SelectionBoxColor255,255,255,255Color

SupportPowerChargeBar

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

PropertyDefault ValueTypeDescription
Color255,255,0,255Color

TimedUpgradeBar

Visualizes the remaining time for an upgrade.

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
Upgrade(required)StringUpgrade that this bar corresponds to
Color255,255,0,0Color

WithActiveAnimation

Replaces the idle animation of a building.

Requires trait: RenderBuilding.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
Interval750Integer
PauseOnLowPowerFalseBoolean

WithAttackAnimation

Requires traits: Armament, AttackBase, WithSpriteBody.

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

WithBarrel

Renders barrels for units with the Turreted trait.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SequencebarrelStringSequence name to use
ArmamentprimaryStringArmament to use for recoil
BarrelfirstStringTurreted 'Barrel' key to display
LocalOffset0,0,03D World VectorVisual offset

WithBuildingExplosion

Display explosions over the building footprint when it is destroyed.

Requires trait: Building.

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

WithBuildingPlacedAnimation

Changes the animation when the actor constructed a building.

Requires trait: RenderSimple.

PropertyDefault ValueTypeDescription
SequencebuildStringSequence name to use

WithBuildingPlacedOverlay

Rendered when the actor constructed a building.

Requires trait: 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

WithChargeOverlay

Rendered together with AttackCharge.

Requires trait: RenderSprites.

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

WithCrateBody

Renders crates with both water and land variants.

Requires trait: RenderSprites.

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

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
DeathTypes(Collection)DictionaryDeath animation to use for each damage type (defined on the warheads). Is only used if UseDeathTypeSuffix is `True`.

WithDecoration

Displays a custom animation if conditions are satisfied.

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.
ReferencePointTopReferencePointsPoint in the actor's bounding box used as reference for offsetting the decoration image.Possible values are any combination of Top, VCenter, Bottom and Left, HCenter, Right separated by a comma.
Offset0,02D IntegerPixel offset relative to the actor's bounding box' reference point.
ZOffset1IntegerThe Z offset to apply when rendering this decoration.
Scale1Real NumberVisual scale of the image.
ShowToAlliesTrueBooleanShould this be visible to allied players?
ShowToEnemiesFalseBooleanShould this be visible to enemy players?
UpgradeTypesMultiple 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.

WithDockingAnimation

Requires traits: Harvester, WithSpriteBody.

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

WithDockingOverlay

Rendered when a harvester is docked.

Requires trait: 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

WithFacingSpriteBody

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
StartSequenceStringAnimation to play when the actor is created.
SequenceidleStringAnimation to play when the actor is idle.
UpgradeTypesMultiple 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.

WithHarvestAnimation

Requires traits: Harvester, WithSpriteBody.

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

WithHarvestOverlay

Displays an overlay whenever resources are harvested by the actor.

Requires trait: RenderSprites.

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

WithIdleOverlay

Renders a decorative animation on units and buildings.

Requires trait: 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
UpgradeTypesMultiple 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.

WithInfantryBody

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
MinIdleWaitTicks30Integer
MaxIdleWaitTicks110Integer
MoveSequencerunString
AttackSequenceString
IdleSequencesMultiple String
StandSequencesstandMultiple String
UpgradeTypesMultiple 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.

WithMakeAnimation

Replaces the sprite during construction.

Requires traits: Building, RenderBuilding.

PropertyDefault ValueTypeDescription
SequencemakeStringSequence name to use

WithMoveAnimation

Requires trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
MoveSequencemoveStringDisplayed while moving.

WithMuzzleFlash

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

WithParachute

Renders a parachute on units.

Requires trait: 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.
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.
UpgradeTypesMultiple 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.

WithProductionDoorOverlay

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

Requires traits: Building, RenderSprites.

PropertyDefault ValueTypeDescription
Sequencebuild-doorString

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 trait: 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

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.
Color128,255,255,255ColorColor of the circle
Range01D World DistanceRange of the circle

WithRepairAnimation

Replaces the building animation when it repairs a unit.

Requires trait: RenderBuilding.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
PauseOnLowPowerFalseBoolean

WithRepairOverlay

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

Requires trait: 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

WithResources

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

Requires trait: RenderSimple.

PropertyDefault ValueTypeDescription
SequenceresourcesStringSequence name to use

WithRotor

Displays a helicopter rotor overlay.

Requires trait: RenderSprites.

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

WithShadow

Clones the aircraft sprite with another palette below it.

PropertyDefault ValueTypeDescription
PaletteshadowString

WithSmoke

Renders an overlay when the actor is taking heavy damage.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Sequencesmoke_mString
IdleSequenceidleString
LoopSequenceloopString
EndSequenceendString

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

WithTurret

Renders turrets for units with the Turreted trait.

Requires traits: RenderSprites, Turreted.

PropertyDefault ValueTypeDescription
SequenceturretStringSequence name to use
AimSequenceStringSequence name to use when prepared to fire
TurretprimaryStringTurreted 'Turret' key to display
RecoilsTrueBooleanRender recoil
UpgradeTypesMultiple 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.

WithVoxelBarrel

Requires traits: Armament, RenderVoxels, Turreted.

PropertyDefault ValueTypeDescription
SequencebarrelStringVoxel sequence name to use
ArmamentprimaryStringArmament to use for recoil
LocalOffset0,0,03D World VectorVisual offset

WithVoxelBody

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

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
SequenceidleString

WithVoxelTurret

Requires traits: RenderVoxels, Turreted.

PropertyDefault ValueTypeDescription
SequenceturretStringVoxel sequence name to use
TurretprimaryStringTurreted 'Turret' key to display

Repairable

This actor can be sent to a structure for repairs.

Requires trait: Health.

PropertyDefault ValueTypeDescription
RepairBuildingsfixMultiple String
VoiceActionString

RepairableNear

Requires trait: Health.

PropertyDefault ValueTypeDescription
Buildingsspen, syrdMultiple String
CloseEnough4Integer

RepairsBridges

Can enter a BridgeHut to trigger a repair.

PropertyDefault ValueTypeDescription
VoiceActionString

RevealsShroud

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

SeedsResource

Lets the actor spread resources around it in a circle.

PropertyDefault ValueTypeDescription
Interval75Integer
ResourceTypeOreString
MaxRange100Integer

SelfHealing

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

Requires trait: Health.

PropertyDefault ValueTypeDescription
Step5Integer
Ticks5Integer
HealIfBelow0.5Real Number
DamageCooldown0Integer
UpgradeTypesMultiple 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.

Sellable

Actor can be sold

PropertyDefault ValueTypeDescription
RefundPercent50Integer
SellSoundsMultiple String
UpgradeTypesMultiple 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.

ShakeOnDeath

PropertyDefault ValueTypeDescription
Intensity10Integer

SmokeTrailWhenDamaged

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

ActorLostNotification

PropertyDefault ValueTypeDescription
NotificationUnitLostString
NotifyAllFalseBoolean

AmbientSound

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

PropertyDefault ValueTypeDescription
SoundFile(required)String

AnnounceOnBuild

Play the Build voice of this actor when trained.

PropertyDefault ValueTypeDescription
VoiceBuildStringVoice to use when built/trained.

AnnounceOnKill

Play the Kill voice of this actor when eliminating enemies.

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

AnnounceOnSeen

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

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

DeathSounds

Sounds to play when killed.

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

SoundOnDamageTransition

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

StoresResources

Used for silos.

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

SupplyTruck

Donate money to actors with the AcceptSupplies trait.

PropertyDefault ValueTypeDescription
Payload500IntegerThe amount of cash the owner recieves.
VoiceActionString

AirstrikePower

PropertyDefault ValueTypeDescription
UnitTypebadr.bomberString
SquadSize1Integer
SquadOffset-1536,1536,03D World Vector
QuantizedFacings32Integer
Cordon51201D World Distance
CameraActorStringActor to spawn when the aircraft start attacking
CameraRemoveDelay25IntegerAmount of time to keep the camera alive after the aircraft have finished attacking
BeaconDistanceOffset61441D 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
UpgradeTypesMultiple 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
GrantUpgradeSoundironcur9.audString
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
UpgradeTypesMultiple 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

PropertyDefault ValueTypeDescription
MissileWeaponString
SpawnOffset0,0,03D World Vector
FlightDelay400IntegerTravel time - split equally between ascent and descent
FlightVelocity5121D 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
FlashTypeString
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
UpgradeTypesMultiple 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
EffectSequenceString
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
UpgradeTypesMultiple 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.

TargetableUnit

Actor can be targeted.

PropertyDefault ValueTypeDescription
TargetTypesMultiple StringTarget type. Used for filtering (in)valid targets.
RequiresForceFireFalseBoolean
UpgradeTypesMultiple 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 trait: WithSpriteBody.

PropertyDefault ValueTypeDescription
Anim(required)String
Offset0,0,03D World VectorInitial position relative to body
MinThrowRange2561D World DistanceMinimum distance to throw the particle
MaxThrowRange7681D 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)
ROT15Real NumberMaximum rotation rate

ThrowsShrapnel

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

PropertyDefault ValueTypeDescription
Weapons(required)Multiple String
Pieces3, 10Multiple Integer
Range2048, 5120Multiple 1D World Distance

Tooltip

Shown in the build palette widget.

PropertyDefault ValueTypeDescription
DescriptionString
NameString
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.

TransformOnCapture

PropertyDefault ValueTypeDescription
IntoActorString
ForceHealthPercentage0Integer
SkipMakeAnimsTrueBoolean

TransformOnPassenger

PropertyDefault ValueTypeDescription
PassengerTypes(required)Multiple String
OnEnterString
OnExitString
SkipMakeAnimsFalseBoolean
BecomeNeutralFalseBoolean

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

Turreted

PropertyDefault ValueTypeDescription
TurretprimaryString
ROT255IntegerRate of Turning
InitialFacing128Integer
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

DeployToUpgrade

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
Upgrades(required)Multiple StringThe upgrades to grant when deploying and revoke when undeploying.
AllowedTerrainTypesMultiple StringThe terrain types that this actor can deploy on to receive these upgrades.Leave empty to allow any.
DeployCursordeployStringCursor to display when able to (un)deploy the actor.
DeployBlockedCursordeploy-blockedStringCursor to display when unable to (un)deploy the actor.

DisableUpgrade

PropertyDefault ValueTypeDescription
UpgradeTypesMultiple 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.

UpgradeActorsNear

Applies an upgrade to actors within a specified range.

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

UpgradeManager

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

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.

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.
ReferencePointTopReferencePointsPoint on the production icon's used as reference for offsetting the overlay. Possible values are any combination of Top, VCenter, Bottom and Left, HCenter, Right separated by a comma.
Offset0,02D IntegerPixel offset relative to the icon's reference point.
Scale1Real NumberVisual scale of the overlay.

Voiced

This actor has a voice.

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

BridgeLayer

PropertyDefault ValueTypeDescription
Bridgesbridge1, bridge2Multiple String

CrateSpawner

PropertyDefault ValueTypeDescription
Minimum1IntegerMinimum number of crates
Maximum255IntegerMaximum number of crates
SpawnInterval180IntegerAverage time (seconds) between crate spawn
ValidGroundClear, Rough, Road, Ore, BeachMultiple StringWhich terrain types can we drop on?
ValidWaterWaterMultiple StringWhich terrain types count as water?
WaterChance0.2Real NumberChance 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.
Cordon51201D World DistanceSpawn and remove the plane this far outside the map.

CreateMPPlayers

Attach this to the world actor.

DomainIndex

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

EditorActorLayer

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

PropertyDefault ValueTypeDescription
BinSize250IntegerSize of partition bins (world pixels)

EditorResourceLayer

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

Requires trait: ResourceType.

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.

MPStartLocations

PropertyDefault ValueTypeDescription
InitialExploreRange51201D World Distance

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.
RacesMultiple StringOnly available when selecting this faction. 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

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.

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

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

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.

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

PathFinder

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

PathfinderDebugOverlay

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

PlayerPaletteFromCurrentTileset

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

RadarPings

PropertyDefault ValueTypeDescription
FromRadius200Integer
ToRadius15Integer
ShrinkSpeed4Integer
RotationSpeed0.12Real Number

ResourceClaimLayer

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

ResourceLayer

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

Requires traits: BuildingInfluence, ResourceType.

ShroudPalette

Adds the hard-coded shroud palette to the game

PropertyDefault ValueTypeDescription
NameshroudStringInternal palette name
FogFalseBooleanPalette type

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

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

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.

SpawnMapActors

Spawns the initial units for each player upon game start.

StartGameNotification

PropertyDefault ValueTypeDescription
NotificationStartGameString

TerrainGeometryOverlay

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

VoxelNormalsPalette

PropertyDefault ValueTypeDescription
NamenormalsString
TypeTiberianSunNormalTypeCan be TiberianSun or RedAlert2

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.
ReferencePointTopReferencePointsPoint in the actor's bounding box used as reference for offsetting the decoration image.Possible values are any combination of Top, VCenter, Bottom and Left, HCenter, Right separated by a comma.
Offset0,02D IntegerPixel offset relative to the actor's bounding box' reference point.
ZOffset1IntegerThe Z offset to apply when rendering this decoration.
Scale1Real NumberVisual scale of the image.
ShowToAlliesTrueBooleanShould this be visible to allied players?
ShowToEnemiesFalseBooleanShould this be visible to enemy players?
UpgradeTypesMultiple 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

AttackSwallow

Sandworms use this attack model.

PropertyDefault ValueTypeDescription
ReturnTime60IntegerThe number of ticks it takes to return underground.
AttackTime30IntegerThe number of ticks it takes to get in place under the target to attack.
WormAttackSoundWorm.wavString
WormAttackNotificationWormAttackString
FacingTolerance1Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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.

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.
Spread30721D World DistanceRange between falloff steps.
RangeMultiple 1D World DistanceRanges at which each Falloff step is defined. Overrides Spread.
UpgradeTypesMultiple 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.

DamagedWithoutFoundation

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

Requires trait: Health.

PropertyDefault ValueTypeDescription
WeaponweatheringString
SafeTerrainConcreteMultiple String
DamageThreshold50Integer

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.

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

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

Carryable

Can be carried by units with the trait Carryall.

PropertyDefault ValueTypeDescription
MinDistance61441D World DistanceRequired distance away from destination before requesting a pickup. Default is 6 cells.

Carryall

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

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

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.

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

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.
ReferencePointTopReferencePointsPoint in the actor's bounding box used as reference for offsetting the decoration image.Possible values are any combination of Top, VCenter, Bottom and Left, HCenter, Right separated by a comma.
Offset0,02D IntegerPixel offset relative to the actor's bounding box' reference point.
ZOffset1IntegerThe Z offset to apply when rendering this decoration.
Scale1Real NumberVisual scale of the image.
ShowToAlliesTrueBooleanShould this be visible to allied players?
ShowToEnemiesFalseBooleanShould this be visible to enemy players?
UpgradeTypesMultiple 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.

WithDeliveryOverlay

Rendered when ProductionAirdrop is in progress.

Requires trait: 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

Sandworm

Requires traits: AttackBase, Mobile, WithSpriteBody.

PropertyDefault ValueTypeDescription
TargetRescanInterval32IntegerTime between rescanning for targets (in ticks).
MaxSearchRadius276481D World DistanceThe radius in which the worm "searches" for targets.
IgnoreNoiseAttackRange30721D World DistanceThe range at which the worm launches an attack regardless of noise levels.
ChanceToDisappear80IntegerThe chance this actor has of disappearing after it attacks (in %).
IdleSequenceidleStringName of the sequence that is used when the actor is idle or moving (not attacking).
MouthSequencemouthStringName of the sequence that is used when the actor is attacking.
BurrowedSequenceburrowedStringName of the sequence that is used when the actor is burrowed.
WanderMoveRadius1Integer
TicksToWaitBeforeReducingMoveRadius5IntegerNumber of ticks to wait before decreasing the effective move radius.
MinMoveDelayInTicks0IntegerMimimum ammount of ticks the actor will sit idly before starting to wander.
MaxMoveDelayInTicks0IntegerMaximum ammount of ticks the actor will sit idly before starting to wander.

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
BarColor255,255,165,0Color

BuildableTerrainLayer

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

PropertyDefault ValueTypeDescription
PaletteterrainStringPalette to render the layer sprites in.

D2kEditorResourceLayer

Used to render spice with round borders.

Requires trait: ResourceType.

D2kResourceLayer

Used to render spice with round borders.

Requires traits: BuildingInfluence, ResourceType.

FogPaletteFromR8

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

PaletteFromR8

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

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
Minimum2IntegerMinimum number of worms
Maximum4IntegerMaximum number of worms
SpawnInterval3000IntegerTime (in ticks) between worm spawn.
WormSignaturesandwormStringName of the actor that will be spawned.
WormSignNotificationWormSignString
WormOwnerPlayerCreepsString

WormSpawner

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

OpenRA.Mods.RA.Effects

GpsDot

PropertyDefault ValueTypeDescription
StringInfantryString
IndicatorPalettePrefixplayerString

OpenRA.Mods.RA.Traits

AttackLeap

Dogs use this attack model.

PropertyDefault ValueTypeDescription
Speed4261D World DistanceLeap speed (in units/tick).
Angle561D World Angle
FacingTolerance1Integer
Armamentsprimary, secondaryMultiple StringArmament names
CursorattackString
OutsideRangeCursorattackoutsiderangeString
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
UpgradeTypesMultiple 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.

ClonesProducedUnits

Creates a free duplicate of produced units.

Requires traits: Exit, Production.

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

Fake

Display a sprite tag "fake" when selected.

Chronoshiftable

Can be teleported via Chronoshift power.

PropertyDefault ValueTypeDescription
ExplodeInsteadFalseBoolean
ChronoshiftSoundchrono2.audString

Cloneable

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

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

DemoTruck

Requires trait: Explodes.

PropertyDefault ValueTypeDescription
VoiceActionString

DisguiseToolTip

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

Requires trait: Disguise.

PropertyDefault ValueTypeDescription
DescriptionString
NameString
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.

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.

HarvesterHuskModifier

Requires trait: Harvester.

PropertyDefault ValueTypeDescription
FullHuskActorString
FullnessThreshold50Integer

InfiltrateForCash

This structure can be infiltrated causing funds to be stolen.

PropertyDefault ValueTypeDescription
Percentage50Integer
Minimum500Integer
SoundToVictimcredit1.audString

InfiltrateForExploration

Steal and reset the owner's exploration.

InfiltrateForPowerOutage

PropertyDefault ValueTypeDescription
Duration750Integer

InfiltrateForSupportPower

PropertyDefault ValueTypeDescription
Proxy(required)String

Infiltrates

PropertyDefault ValueTypeDescription
TypesMultiple String
VoiceActionString
ValidStancesEnemy, NeutralStanceWhat diplomatic stances can be infiltrated by this actor.

LeavesHusk

Spawn another actor immediately upon death.

PropertyDefault ValueTypeDescription
HuskActor(required)String

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
CrushClassesMultiple String
AvoidFriendlyTrueBoolean
DetonateClassesMultiple String

MineImmune

Tag trait for stuff that should not trigger mines.

Minelayer

PropertyDefault ValueTypeDescription
MineminvString
RearmBuildingsfixMultiple String
AmmoPoolNameprimaryString
MinefieldDepth1.5Real Number

ChronoshiftPaletteEffect

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

PropertyDefault ValueTypeDescription
ChronoEffectLength60IntegerMeasured in ticks.

LightPaletteRotator

Palette effect used for blinking "animations" on actors.

PropertyDefault ValueTypeDescription
ExcludePalettesMultiple String

PortableChrono

PropertyDefault ValueTypeDescription
ChargeTime20IntegerCooldown in seconds 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.
Pips2IntegerDisplay rectangles indicating the current charge status
DeployCursordeployStringCursor to display when able to deploy the actor.
DeployBlockedCursordeploy-blockedStringCursor to display when unable to deploy the actor.
VoiceActionString

RenderJammerCircle

RenderShroudCircle

WithDisguisingInfantryBody

Requires traits: Disguise, RenderSprites.

PropertyDefault ValueTypeDescription
MinIdleWaitTicks30Integer
MaxIdleWaitTicks110Integer
MoveSequencerunString
AttackSequenceString
IdleSequencesMultiple String
StandSequencesstandMultiple String
UpgradeTypesMultiple 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
OpenTerrainTypesClearMultiple String
OpenSequenceopenString
CloseSequencecloseString
UnloadSequenceunloadString

ChronoshiftPower

PropertyDefault ValueTypeDescription
Range1IntegerTarget actor selection radius in cells.
Duration30IntegerSeconds until returning after teleportation.
KillCargoTrueBoolean
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
UpgradeTypesMultiple 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.

GpsWatcher

Required for GpsPower. Attach this to the player actor.

GpsPower

PropertyDefault ValueTypeDescription
RevealDelay0Integer
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
UpgradeTypesMultiple 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.

ParatroopersPower

PropertyDefault ValueTypeDescription
UnitTypebadrString
SquadSize1Integer
SquadOffset-1536,1536,03D World Vector
QuantizedFacings32IntegerNumber of facings that the delivery aircraft may approach from.
Cordon51201D 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.
BeaconDistanceOffset40961D 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
UpgradeTypesMultiple 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.

TargetableSubmarine

Requires trait: Cloak.

PropertyDefault ValueTypeDescription
CloakedTargetTypesMultiple String
TargetTypesMultiple StringTarget type. Used for filtering (in)valid targets.
RequiresForceFireFalseBoolean
UpgradeTypesMultiple 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.TS.Traits

TiberianSunRefinery

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?
ShowTicksTrueBoolean
TickLifetime30Integer
TickVelocity2Integer
TickRate10Integer

WithPermanentInjury

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

PropertyDefault ValueTypeDescription
TriggeringDamageStageCriticalDamageState
InjuredSequencePrefixcrippled-String

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.

WithVoxelWalkerBody

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
TickRate5Integer

WithVoxelWaterBody

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
WaterSequencewaterString
LandSequenceidleString

TSShroudPalette

Adds the hard-coded shroud palette to the game

PropertyDefault ValueTypeDescription
NameshroudStringInternal palette name

OpenRA.Traits

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.

DebugPauseState

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

DrawLineToTarget

PropertyDefault ValueTypeDescription
Ticks60Integer

EditorTilesetFilter

PropertyDefault ValueTypeDescription
RequireTilesetsMultiple String
ExcludeTilesetsMultiple String

Health

PropertyDefault ValueTypeDescription
HP0IntegerHitPoints
Radius4261D World DistancePhysical size of the unit used for damage calculations. Impacts within this radius apply full damage.
NotifyAppliedDamageTrueBooleanTrigger interfaces such as AnnounceOnKill?

DeveloperMode

Attach this to the player actor.

PropertyDefault ValueTypeDescription
Cash20000Integer
ResourceGrowth100Integer
FastBuildFalseBoolean
FastChargeFalseBoolean
DisableShroudFalseBoolean
PathDebugFalseBoolean
UnlimitedPowerFalseBoolean
BuildAnywhereFalseBoolean
ShowCombatGeometryFalseBoolean
ShowDebugGeometryFalseBoolean

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.
Color0,0,0HSLColorThe fixed color to remap.
Ramp0.05Real NumberLuminosity range to span.
AllowModifiersTrueBooleanAllow palette modifiers to change the palette.

FrozenActorLayer

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

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

PlayerResources

PropertyDefault ValueTypeDescription
SelectableCash2500, 5000, 10000, 20000Multiple Integer
DefaultCash5000Integer
AdviceInterval250Integer

RejectsOrders

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

PropertyDefault ValueTypeDescription
ExceptMultiple StringPossible values include Attack, AttackMove, Guard, Move.

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

ValidateOrder

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

ActorMap

PropertyDefault ValueTypeDescription
BinSize10IntegerSize of partition bins (cells)

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.
RandomFactionMembersMultiple StringPick a random faction as the player's facton out of this list.
SideStringThe side that the faction belongs to. For example, England belongs to the 'Allies' side.
DescriptionString
SelectableTrueBoolean

ResourceType

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

ScreenMap

PropertyDefault ValueTypeDescription
BinSize250IntegerSize of partition bins (world pixels)

ScreenShaker

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

Shroud

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