Skip to content

Instantly share code, notes, and snippets.

@Mailaender
Created May 20, 2015 15:21
Show Gist options
  • Save Mailaender/bbddc2fb073399a3e506 to your computer and use it in GitHub Desktop.
Save Mailaender/bbddc2fb073399a3e506 to your computer and use it in GitHub Desktop.
OpenRA bleed-20150520

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 git-5db63ba of OpenRA.

OpenRA.Mods.Cnc.Traits

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

RenderGunboat

PropertyDefault ValueTypeDescription
TurretprimaryStringTurreted 'Turret' key to display
LeftSequenceleftString
RightSequencerightString
WakeLeftSequencewake-leftString
WakeRightSequencewake-rightString
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.

WithRoof

Provides an overlay for the Tiberian Dawn hover craft.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
SequenceroofString

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
CursorioncannonString
ChargeTime0IntegerMeasured in seconds.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
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
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.

SpawnViceroid

PropertyDefault ValueTypeDescription
ViceroidActorviceString
Probability10Integer
OwnerCreepsString
DeathType6String

ProductionAirdrop

Deliver the unit in production via skylift.

PropertyDefault ValueTypeDescription
ReadyAudioReinforceString
ActorTypec17StringCargo aircraft used.
ProducesMultiple 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.

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

RenderUnitFlying

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

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.
StructureProductionInactiveDelay125IntegerHow long to wait (in ticks) between structure production checks when there is no active production.
StructureProductionActiveDelay10IntegerHow long to wait (in ticks) between structure production checks ticks when actively building things.
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.
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.
BuildingCommonNamesDictionaryTells the AI what building types fall under the same common name.
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.

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.

DevCommands

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

ScriptTriggers

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

LuaScript

Part of the new Lua API.

Requires trait: SpawnMapActors.

PropertyDefault ValueTypeDescription
ScriptsMultiple String

OpenRA.Mods.Common.Traits

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
WeaponStringThe 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.
UnitsMultiple 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
UnitsMultiple 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
UpgradesMultiple StringThe upgrades to apply.
Duration0IntegerDuration of the upgrade (in ticks). Set to 0 for a permanent upgrade.
Range31D World RangeThe 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 RangeThe 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
ProxyStringWhich 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.

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.

Armament

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

Requires trait: AttackBase.

PropertyDefault ValueTypeDescription
NameprimaryString
WeaponStringHas to be defined here and in weapons.yaml.
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 RangeMove the turret backwards when firing.
RecoilRecovery91D World RangeRecoil 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.

Explodes

PropertyDefault ValueTypeDescription
WeaponUnitExplodeString
EmptyWeaponUnitExplodeString
Chance100Integer
DeathTypeMultiple String

GainsExperience

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

Requires trait: Valued.

PropertyDefault ValueTypeDescription
UpgradesDictionaryUpgrades 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
ChevronPaletteeffectStringPalette for the chevron glyph rendered in the selection box.
LevelUpPaletteeffectStringPalette for the level up sprite.

TerrainModifiesDamage

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

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.

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

RepairsBridges

Can enter a BridgeHut to trigger a repair.

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.
InitialActivityStringWhat the unit should start doing. Warning: If this is not a harvester it will break if you use FindResources.
ForceRaceStringForce a specific race variant, overriding the race of the producing actor.
BuildPaletteOrder9999Integer

ThrowsParticle

Requires trait: RenderSimple.

PropertyDefault ValueTypeDescription
AnimString
Offset0,0,03D World VectorInitial position relative to body
MinThrowRange2561D World RangeMinimum distance to throw the particle
MaxThrowRange7681D World RangeMaximum 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

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

BridgeHut

Allows bridges to be targeted for demolition and repair.

BuildingInfluence

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

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

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
TargetTypesMultiple String
RequiresForceFireFalseBoolean

FreeActor

Player recives 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
ActorStringName of the actor.
InitialActivityStringWhat the unit should start doing. Warning: If this is not a harvester it will break if you use FindResources.
SpawnOffset0,02D Cell VectorOffset relative to the top-left cell of the building.
Facing0IntegerWhich direction the unit should face.

Bib

Requires traits: Building, RenderSprites.

PropertyDefault ValueTypeDescription
SequencebibString
PaletteterrainString
HasMinibibFalseBoolean

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.

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.

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

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

Parachutable

Can be paradropped by a ParaDrop actor.

PropertyDefault ValueTypeDescription
KilledOnImpassableTerrainTrueBooleanIf we land on invalid terrain for my actor type should we be killed?
GroundImpactSoundString
GroundCorpseSequencecorpseString
GroundCorpsePaletteeffectString
WaterImpactSoundString
WaterCorpseSequencesmall_splashString
WaterCorpsePaletteeffectString
ParachuteSequenceStringRequires the sub-sequences "open" and "idle".
ParachutePaletteStringOptional, otherwise defaults to the palette the actor is using.
ParachuteShadowPaletteshadowStringUsed to clone the actor with this palette and render it with a visual offset below.
ParachuteOffset0,0,03D World Vector
FallRate13Integer
ShadowSequenceStringAlternative to ParachuteShadowPalette which disables it and allows to set a custom sprite sequence instead.
ShadowPaletteStringOptional, otherwise defaults to the palette the actor is using.

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.

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.

RadarColorFromTerrain

PropertyDefault ValueTypeDescription
TerrainString

SeedsResource

Lets the actor spread resources around it in a circle.

PropertyDefault ValueTypeDescription
Interval75Integer
ResourceTypeOreString
MaxRange100Integer

ShakeOnDeath

PropertyDefault ValueTypeDescription
Intensity10Integer

SmokeTrailWhenDamaged

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

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

Valued

How much the unit is worth.

PropertyDefault ValueTypeDescription
Cost0IntegerUsed in production, but also for bounties so remember to set it > 0 even for NPCs.

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.

AcceptsSupplies

Tag trait for SupplyTruck actors.

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

TargetableAircraft

PropertyDefault ValueTypeDescription
GroundedTargetTypesMultiple String
TargetTypesMultiple StringTarget type. Used for filtering (in)valid targets.
RequiresForceFireFalseBoolean

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 Range
AltitudeVelocity431D World RangeHow fast the helicopter ascends or descends.
CruiseAltitude12801D World Range
IdealSeparation17061D World Range
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?

Plane

PropertyDefault ValueTypeDescription
MaximumPitch281D World Angle
CruiseAltitude12801D World Range
IdealSeparation17061D World Range
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?

ReturnOnIdle

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

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

Aircraft

PropertyDefault ValueTypeDescription
CruiseAltitude12801D World Range
IdealSeparation17061D World Range
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?

Burns

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

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Anim1String
Damage1Integer
Interval8Integer

BlocksProjectiles

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

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.
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
PortOffsetsMultiple 3D World VectorFire port offsets in local coordinates.
PortYawsMultiple 1D World AngleFire port yaw angles.
PortConesMultiple 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.
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.
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.
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.

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

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

AttackMove

Provides access to the attack-move command, which will make the actor automatically engage viable targets while moving to the destination.

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)

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.

Pluggable

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
Offset0,02D Cell VectorFootprint cell offset where a plug can be placed.
UpgradesDictionaryUpgrades to grant for each accepted plug type.

C4Demolition

PropertyDefault ValueTypeDescription
C4Delay45IntegerDelay to demolish the target once the C4 is planted.Measured in game ticks. Default is 1.8 seconds.
Flashes3IntegerNumber of times to flash the target
FlashesDelay4IntegerDelay before the flashing starts
FlashInterval4IntegerInterval between each flash
FlashDuration3IntegerDuration of each flash
VoiceAttackStringVoice 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

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.

Demolishable

Handle demolitions from C4 explosives.

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

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.

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.

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.

GlobalUpgradable

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
UpgradesMultiple String
PrerequisitesMultiple String

IgnoresDisguise

Allows automatic targeting of disguised actors.

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

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.

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.

DisabledOverlay

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

HiddenUnderFog

The actor stays invisible under fog of war.

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.

FrozenUnderFog

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

Requires trait: Building.

PropertyDefault ValueTypeDescription
StartsRevealedFalseBoolean

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.

CloakPaletteEffect

WaterPaletteRotation

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

PropertyDefault ValueTypeDescription
ExcludePalettesMultiple String

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.

LightPaletteRotator

Palette effect used for blinking "animations" on actors.

PropertyDefault ValueTypeDescription
ExcludePalettesMultiple String

NukePaletteEffect

Apply palette full screen rotations during atom bomb explosions. Add this to the world actor.

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

TransformOnPassenger

PropertyDefault ValueTypeDescription
PassengerTypesMultiple String
OnEnterString
OnExitString
SkipMakeAnimsFalseBoolean
BecomeNeutralFalseBoolean

AppearsOnRadar

PropertyDefault ValueTypeDescription
UseLocationFalseBoolean

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.
RaceMultiple StringOnly grant this prerequisite for certain factions.
ResetOnOwnerChangeFalseBooleanShould it recheck everything when it is captured?

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.

ConquestVictoryConditions

Requires trait: MissionObjectives.

PropertyDefault ValueTypeDescription
NotificationDelay1500IntegerDelay for the end game notification in milliseconds.

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 'SKIRMISH_STATS' and 'MISSION_OBJECTIVES'.

PropertyDefault ValueTypeDescription
PanelNameString

PlaceBeacon

PropertyDefault ValueTypeDescription
Duration750Integer
NotificationTypeSoundsString
NotificationBeaconString
PalettePrefixplayerString

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.

TechTree

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

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

PlaceBuilding

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

PropertyDefault ValueTypeDescription
PaletteterrainStringPalette to use for rendering the placement sprite.

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

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.

Husk

Spawns remains of a husk actor with the correct facing.

PropertyDefault ValueTypeDescription
AllowedTerrainMultiple String

PowerManager

Requires trait: DeveloperMode.

PropertyDefault ValueTypeDescription
AdviceInterval250Integer
SpeechNotificationLowPowerString

AffectedByPowerOutage

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

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.

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.

ExternalCapturableBar

Visualize the remaining CaptureCompleteTime from ExternalCapturable: trait.

Requires trait: ExternalCapturable.

Harvester

PropertyDefault ValueTypeDescription
DeliveryBuildingsMultiple String
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.
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.

Invulnerable

This unit cannot be damaged.

ProximityCapturable

Actor can be captured by units in a specified proximity.

PropertyDefault ValueTypeDescription
PermanentFalseBoolean
Range5Integer
MustBeClearFalseBoolean
CaptorTypesVehicle, Tank, InfantryMultiple String

StoresResources

Used for silos.

PropertyDefault ValueTypeDescription
PipCount0IntegerNumber of little squares used to display how filled unit is.
PipColorYellowPipType
Capacity0Integer

Immobile

PropertyDefault ValueTypeDescription
OccupiesSpaceTrueBoolean

TimedUpgradeBar

Visualizes the remaining time for an upgrade.

Requires trait: UpgradeManager.

PropertyDefault ValueTypeDescription
UpgradeStringUpgrade that this bar corresponds to
Color255,255,0,0Color

WithBuildingExplosion

Display explosions over the building footprint when it is destroyed.

Requires trait: Building.

PropertyDefault ValueTypeDescription
SequencebuildingStringExplosion sequence name 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

RenderDetectionCircle

WithCrateBody

Renders crates with both water and land variants.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
ImagescrateMultiple String
XmasImagesMultiple StringEasteregg sequences to use in december.

WithVoxelBarrel

Requires traits: Armament, RenderVoxels, Turreted.

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

WithShadow

Clones the aircraft sprite with another palette below it.

PropertyDefault ValueTypeDescription
PaletteshadowString

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

WithSmoke

Renders an overlay when the actor is taking heavy damage.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
Sequencesmoke_mStringNeeds to define "idle", "loop" and "end" sub-sequences.

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.

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.

WithVoxelBody

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

Requires trait: RenderVoxels.

PropertyDefault ValueTypeDescription
SequenceidleString

RenderRangeCircle

Draw a circle indicating my weapon's range.

Requires trait: AttackBase.

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

WithHarvestAnimation

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

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

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.
Offset0,02D IntegerPixel offset relative to the top-left point of the actor's bounds.
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.

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.

RenderSprites

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.

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.

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.

RenderHarvester

Requires trait: Harvester.

PropertyDefault ValueTypeDescription
ImagesByFullnessharvMultiple String
HarvestSequenceharvestString
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.

WithInfantryBody

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
MinIdleWaitTicks30Integer
MaxIdleWaitTicks110Integer
MoveSequencerunString
AttackSequenceshootString
IdleSequencesMultiple String
StandSequencesstandMultiple String

WithMakeAnimation

Requires traits: Building, RenderBuilding.

PropertyDefault ValueTypeDescription
SequencemakeStringSequence name to use

WithIdleOverlay

Renders a decorative animation on units and buildings.

Requires trait: RenderSprites.

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

ProductionBar

Visualizes the remaining build time of actor produced here.

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

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.

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

WithVoxelTurret

Requires traits: RenderVoxels, Turreted.

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

RenderEditorOnly

Invisible during games.

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.

RenderNameTag

Displays the player name above the unit

PropertyDefault ValueTypeDescription
MaxLength10Integer
FontTinyBoldString

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

RenderSimple

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.

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 RangeRange of the circle

Hovers

Changes the visual Z position periodically.

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

WithDeathAnimation

This actor has a death animation.

Requires trait: RenderSprites.

PropertyDefault ValueTypeDescription
DeathSequencedieStringSequence to play when this actor is killed by a warhead.
DeathSequencePaletteplayerString
DeathPaletteIsPlayerPaletteTrueBooleanCustom death animation palette is a player palette BaseName
UseDeathTypeSuffixTrueBooleanShould DeathType-specific sequences be used (sequence name = DeathSequence + DeathType).
CrushedSequencedie-crushedStringSequence to play when this actor is crushed.
CrushedSequencePaletteeffectString
CrushedPaletteIsPlayerPaletteFalseBooleanCustom crushed animation palette is a player palette BaseName

WithActiveAnimation

Replaces the idle animation of a building.

Requires trait: RenderBuilding.

PropertyDefault ValueTypeDescription
SequenceactiveStringSequence name to use
Interval750Integer
PauseOnLowPowerFalseBoolean

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

RenderBuilding

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.

RenderBuildingSilo

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.

RenderBuildingWall

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.

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

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

RenderUnit

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.

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

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.

EjectOnDeath

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

PropertyDefault ValueTypeDescription
PilotActorE1String
SuccessRate50Integer
ChuteSoundchute1.audString
EjectInAirFalseBoolean
EjectOnGroundFalseBoolean
AllowUnsuitableCellFalseBooleanRisks stuck units when they don't have the Paratrooper trait.

Guard

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

PropertyDefault ValueTypeDescription
VoiceMoveString

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

Mobile

Unit is able to move.

PropertyDefault ValueTypeDescription
TerrainSpeedsDictionarySet 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
TilesetTerrainInfoCached
TilesetMovementClassCached

SupplyTruck

Donate money to actors with the AcceptSupplies trait.

PropertyDefault ValueTypeDescription
Payload500IntegerThe amount of cash the owner recieves.

JamsMissiles

PropertyDefault ValueTypeDescription
Range0Integer
AlliedMissilesTrueBoolean
Chance100Integer

ActorLostNotification

PropertyDefault ValueTypeDescription
NotificationUnitLostString
NotifyAllFalseBoolean

AnnounceOnBuild

Play the Build voice of this actor when trained.

AnnounceOnKill

Play the Kill voice of this actor when eliminating enemies.

PropertyDefault ValueTypeDescription
Interval5IntegerMinimum duration (in seconds) between sound events.

SoundOnDamageTransition

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

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

AmbientSound

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

PropertyDefault ValueTypeDescription
SoundFileString

DeathSounds

Sounds to play when killed.

PropertyDefault ValueTypeDescription
DeathSoundDieStringDeath notification voice.
VolumeMultiplier1Real NumberMultiply volume with this factor.
DeathTypesMultiple StringDeathTypes that this should be used for. If empty, this will be used as the default sound.

CombatDebugOverlay

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

CustomSellValue

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

PropertyDefault ValueTypeDescription
Value0Integer

EngineerRepair

Can instantly repair other actors, but gets consumed afterwards.

EngineerRepairable

Eligible for instant repair.

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.

Huntable

This actor can be targeted by the Hunt activity.

Production

This unit has access to build queues.

PropertyDefault ValueTypeDescription
ProducesMultiple Stringe.g. Infantry, Vehicles, Aircraft, Buildings

GrantUpgradePower

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

AirstrikePower

PropertyDefault ValueTypeDescription
UnitTypebadr.bomberString
SquadSize1Integer
SquadOffset-1536,1536,03D World Vector
QuantizedFacings32Integer
Cordon51201D World Range
CameraActorStringActor to spawn when the aircraft start attacking
CameraRemoveDelay25IntegerAmount of time to keep the camera alive after the aircraft have finished attacking
BeaconDistanceOffset61441D World RangeWeapon range offset to apply during the beacon clock calculation
ChargeTime0IntegerMeasured in seconds.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
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
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.

NukePower

PropertyDefault ValueTypeDescription
MissileWeaponString
SpawnOffset0,0,03D World Vector
FlightDelay400IntegerTravel time - split equally between ascent and descent
FlightVelocity5121D World RangeVisual ascent velocity in WRange / 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
CursornukeString
ChargeTime0IntegerMeasured in seconds.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
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
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.

SupportPowerManager

Attach this to the player actor.

Requires traits: DeveloperMode, TechTree.

SpawnActorPower

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

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

Repairable

This actor can be sent to a structure for repairs.

Requires trait: Health.

PropertyDefault ValueTypeDescription
RepairBuildingsfixMultiple String

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.

GainsStatUpgrades

This actor has properties that upgrade when a specific criteria is met.

PropertyDefault ValueTypeDescription
FirepowerUpgradefirepowerString
FirepowerModifier110, 115, 120, 130Multiple Integer
DamageUpgradedamageString
DamageModifier91, 87, 83, 65Multiple Integer
SpeedUpgradespeedString
SpeedModifier110, 115, 120, 150Multiple Integer
ReloadUpgradereloadString
ReloadModifier95, 90, 85, 75Multiple Integer
InaccuracyUpgradeinaccuracyString
InaccuracyModifier90, 80, 70, 50Multiple Integer

UpgradeManager

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

UpgradeActorsNear

Applies an upgrade to actors within a specified range.

PropertyDefault ValueTypeDescription
UpgradesMultiple StringThe upgrades to grant.
Range30721D World RangeThe range to search for actors to upgrade.
ValidStancesAllyStanceWhat diplomatic stances are affected.
AffectsParentFalseBooleanGrant the upgrades apply to this actor.
EnableSoundString
DisableSoundString

DeployToUpgrade

Requires trait: UpgradeManager.

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

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.

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 RangeSpawn and remove the plane this far outside the map.

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.

ResourceClaimLayer

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

SpawnMPUnits

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

Requires traits: MPStartLocations, MPStartUnits.

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

VoxelNormalsPalette

PropertyDefault ValueTypeDescription
NamenormalsString
TypeTiberianSunNormalTypeCan be TiberianSun or RedAlert2

PaletteFromFile

PropertyDefault ValueTypeDescription
NameStringinternal palette name
TilesetStringIf defined, load the palette only for this tileset.
FilenameStringfilename to load
ShadowIndexMultiple IntegerMap listed indices to shadow. Ignores previous color.
AllowModifiersTrueBoolean

PathFinder

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

ShroudPalette

Adds the hard-coded shroud palette to the game

PropertyDefault ValueTypeDescription
NameshroudStringInternal palette name
FogFalseBooleanPalette type

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.

ResourceLayer

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

Requires trait: ResourceType.

TerrainGeometryOverlay

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

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

PaletteFromRGBA

Creates a single color palette without any base palette file.

PropertyDefault ValueTypeDescription
NameStringinternal palette name
TilesetStringIf defined, load the palette only for this tileset.
R0Integerred color component
G0Integergreen color component
B0Integerblue color component
A255Integeralpha channel (transparency)
AllowModifiersTrueBoolean

PlayerPaletteFromCurrentTileset

PropertyDefault ValueTypeDescription
NameStringinternal palette name
ShadowIndexMultiple IntegerMap listed indices to shadow.
AllowModifiersTrueBooleanApply palette rotatotors or not.

RadarPings

PropertyDefault ValueTypeDescription
FromRadius200Integer
ToRadius15Integer
ShrinkSpeed4Integer
RotationSpeed0.12Real Number

CreateMPPlayers

Attach this to the world actor.

BridgeLayer

PropertyDefault ValueTypeDescription
Bridgesbridge1, bridge2Multiple String

PathfinderDebugOverlay

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

StartGameNotification

PropertyDefault ValueTypeDescription
NotificationStartGameString

PaletteFromCurrentTileset

Loads the palette specified in the tileset definition

PropertyDefault ValueTypeDescription
NameStringinternal palette name
ShadowIndexMultiple IntegerMap listed indices to shadow. Ignores previous color.
AllowModifiersTrueBoolean

SpawnMapActors

Spawns the initial units for each player upon game start.

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
SmokePaletteeffectString
PaletteterrainString

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.

MPStartLocations

PropertyDefault ValueTypeDescription
InitialExploreRange51201D World Range

ParaDrop

This unit can spawn and eject other actors while flying.

Requires trait: Cargo.

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

ProximityCaptor

Actor can capture ProximityCapturable actors.

PropertyDefault ValueTypeDescription
TypesMultiple String

Transforms

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

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

Plug

PropertyDefault ValueTypeDescription
TypeStringPlug type (matched against Upgrades in Pluggable)

CaptureNotification

PropertyDefault ValueTypeDescription
NotificationBuildingCapturedString
NewOwnerVoiceTrueBoolean

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.

CustomBuildTimeValue

Overrides the build time calculated by actor value.

PropertyDefault ValueTypeDescription
Value0IntegerMeasured in ticks.

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.

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.

IgnoresCloak

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

RepairableNear

Requires trait: Health.

PropertyDefault ValueTypeDescription
Buildingsspen, syrdMultiple String
CloseEnough4Integer

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

TargetableUnit

Actor can be targeted.

PropertyDefault ValueTypeDescription
TargetTypesMultiple StringTarget type. Used for filtering (in)valid targets.
RequiresForceFireFalseBoolean

ProductionQueueFromSelection

PropertyDefault ValueTypeDescription
ProductionTabsWidgetString
ProductionPaletteWidgetString

OpenRA.Mods.D2k.Traits

DamagedWithoutFoundation

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

Requires trait: Health.

PropertyDefault ValueTypeDescription
WeaponweatheringString
SafeTerrainConcreteMultiple String
DamageThreshold50Integer

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.
TerrainTypesMultiple 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
ProducesMultiple Stringe.g. Infantry, Vehicles, Aircraft, Buildings

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
DeliveringActorStringName 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.
ActorStringName of the actor.
InitialActivityStringWhat the unit should start doing. Warning: If this is not a harvester it will break if you use FindResources.
SpawnOffset0,02D Cell VectorOffset relative to the top-left cell of the building.
Facing0IntegerWhich direction the unit should face.

Carryable

Can be carried by units with the trait Carryall.

PropertyDefault ValueTypeDescription
MinDistance6IntegerRequired distance away from destination before requesting a pickup.

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

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.
Offset0,02D IntegerPixel offset relative to the top-left point of the actor's bounds.
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.

WithAttackOverlay

Rendered together with an attack.

Requires trait: RenderSprites.

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

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

BuildableTerrainLayer

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

FogPaletteFromR8

PropertyDefault ValueTypeDescription
NameStringInternal palette name
FilenameStringFilename to load
Offset0Int64Palette byte offset
AllowModifiersTrueBoolean
InvertColorFalseBoolean

PaletteFromR8

PropertyDefault ValueTypeDescription
NameStringInternal palette name
FilenameStringFilename 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
NameStringInternal palette name
BasePaletteStringThe 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.

D2kEditorResourceLayer

Used to render spice with round borders.

Requires trait: ResourceType.

D2kResourceLayer

Used to render spice with round borders.

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

Sandworm

Requires traits: AttackBase, Mobile, RenderUnit.

PropertyDefault ValueTypeDescription
TargetRescanInterval32IntegerTime between rescanning for targets (in ticks).
MaxSearchRadius276481D World RangeThe radius in which the worm "searches" for targets.
IgnoreNoiseAttackRange30721D World RangeThe 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).
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

WormSpawner

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

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.

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.

ThrowsShrapnel

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

PropertyDefault ValueTypeDescription
WeaponsMultiple String
Pieces3, 10Multiple Integer
Range2048, 5120Multiple 1D World Range

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

InvulnerabilityUpgrade

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.

OpenRA.Mods.RA.Effects

GpsDot

PropertyDefault ValueTypeDescription
StringInfantryString
IndicatorPalettePrefixplayerString

OpenRA.Mods.RA.Traits

AttackLeap

Dogs use this attack model.

PropertyDefault ValueTypeDescription
Speed4261D World RangeLeap 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.
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.

Fake

Display a sprite tag "fake" when selected.

ClonesProducedUnits

Creates a free duplicate of produced units.

Requires traits: Exit, Production.

PropertyDefault ValueTypeDescription
CloneableTypesMultiple StringUses the "Cloneable" trait to determine whether or not we should clone a produced unit.

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.

InfiltrateForSupportPower

PropertyDefault ValueTypeDescription
ProxyString

Infiltrates

PropertyDefault ValueTypeDescription
TypesMultiple String

InfiltrateForPowerOutage

PropertyDefault ValueTypeDescription
Duration750Integer

ChronoshiftPaletteEffect

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

PropertyDefault ValueTypeDescription
ChronoEffectLength60IntegerMeasured in ticks.

ChronoshiftPower

PropertyDefault ValueTypeDescription
Range1IntegerTarget actor selection radius in cells.
Duration30IntegerSeconds until returning after teleportation.
KillCargoTrueBoolean
ChargeTime0IntegerMeasured in seconds.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
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
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
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
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 RangeSpawn 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 RangeWeapon range offset to apply during the beacon clock calculation.
ChargeTime0IntegerMeasured in seconds.
IconString
DescriptionString
LongDescString
AllowMultipleFalseBoolean
OneShotFalseBoolean
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
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.

Cloneable

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

PropertyDefault ValueTypeDescription
TypesMultiple StringThis unit's cloneable type is:

DemoTruck

Requires trait: Explodes.

HarvesterHuskModifier

Requires trait: Harvester.

PropertyDefault ValueTypeDescription
FullHuskActorString
FullnessThreshold50Integer

LeavesHusk

Spawn another actor immediately upon death.

PropertyDefault ValueTypeDescription
HuskActorString

RenderJammerCircle

RenderShroudCircle

WithDisguisingInfantryBody

Requires traits: Disguise, RenderSprites.

PropertyDefault ValueTypeDescription
MinIdleWaitTicks30Integer
MaxIdleWaitTicks110Integer
MoveSequencerunString
AttackSequenceshootString
IdleSequencesMultiple String
StandSequencesstandMultiple String

RenderUnitReload

Requires traits: Armament, AttackBase.

PropertyDefault ValueTypeDescription
ArmamentprimaryStringArmament name
AimSequenceaimStringDisplayed while targeting.
EmptyPrefixempty-StringShown while reloading.
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.

RenderLandingCraft

Requires trait: Cargo.

PropertyDefault ValueTypeDescription
OpenTerrainTypesClearMultiple String
OpenAnimopenString
UnloadAnimunloadString
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.

WithDecorationDisguised

Requires trait: Disguise.

PropertyDefault ValueTypeDescription
RequireDisguiseTrueBooleanRequire an active disguise to render this decoration?
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.
Offset0,02D IntegerPixel offset relative to the top-left point of the actor's bounds.
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.

TargetableSubmarine

Requires trait: Cloak.

PropertyDefault ValueTypeDescription
CloakedTargetTypesMultiple String
TargetTypesMultiple StringTarget type. Used for filtering (in)valid targets.
RequiresForceFireFalseBoolean

Chronoshiftable

Can be teleported via Chronoshift power.

PropertyDefault ValueTypeDescription
ExplodeInsteadFalseBoolean
ChronoshiftSoundchrono2.audString

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.

Minelayer

PropertyDefault ValueTypeDescription
MineminvString
RearmBuildingsfixMultiple String
AmmoPoolNameprimaryString
MinefieldDepth1.5Real Number

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.

MadTank

Requires traits: Explodes, RenderUnit.

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

Mine

PropertyDefault ValueTypeDescription
CrushClassesMultiple String
AvoidFriendlyTrueBoolean
DetonateClassesMultiple String

MineImmune

Tag trait for stuff that should not trigger mines.

OpenRA.Mods.TS.Traits

WithProductionDoorOverlay

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

Requires traits: Building, RenderSprites.

PropertyDefault ValueTypeDescription
Sequencebuild-doorString

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

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

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.

PlayerResources

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

FrozenActorLayer

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

DeveloperMode

Attach this to the player actor.

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

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

ScreenShaker

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

ActorMap

PropertyDefault ValueTypeDescription
BinSize10IntegerSize of partition bins (cells)

Country

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

ResourceType

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

ScreenMap

PropertyDefault ValueTypeDescription
BinSize250IntegerSize of partition bins (world pixels)

Shroud

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

Armor

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

PropertyDefault ValueTypeDescription
TypeString

BodyOrientation

PropertyDefault ValueTypeDescription
QuantizedFacings-1IntegerNumber of facings for gameplay calculations. -1 indicates auto-detection from another trait
CameraPitch1131D World AngleCamera pitch for rotation calculations

EditorAppearance

PropertyDefault ValueTypeDescription
RelativeToTopLeftFalseBoolean
UseTerrainPaletteFalseBoolean

EditorTilesetFilter

PropertyDefault ValueTypeDescription
RequireTilesetsMultiple String
ExcludeTilesetsMultiple String

RejectsOrders

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

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

ValidateOrder

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

DebugPauseState

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

DrawLineToTarget

PropertyDefault ValueTypeDescription
Ticks60Integer

RevealsShroud

PropertyDefault ValueTypeDescription
Range01D World Range

Selectable

PropertyDefault ValueTypeDescription
SelectableTrueBoolean
Priority10Integer
BoundsMultiple Integer
VoiceString

SelectionDecorations

PropertyDefault ValueTypeDescription
PalettechromeString

Health

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

CreatesShroud

PropertyDefault ValueTypeDescription
Range01D World Range
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment