This documentation is aimed at modders. It displays all traits with default values and developer commentary. Please do not edit it directly, but add new [Desc("String")]
tags to the source code. This file has been automatically generated for version {DEV_VERSION} of OpenRA.
DeadBuildingState
LingerTime: 20 # Type: Integer
IonCannonPower
CameraActor: # Type: String. Actor to spawn when the attack starts
CameraRemoveDelay: 25 # Type: Integer. Amount of time to keep the camera alive
ChargeTime: 0 # Type: Integer
Icon: # Type: String
Description: # Type: String
LongDesc: # Type: String
AllowMultiple: False # Type: Truth Value
OneShot: False # Type: Truth Value
BeginChargeSound: # Type: String
EndChargeSound: # Type: String
SelectTargetSound: # Type: String
InsufficientPowerSound: # Type: String
LaunchSound: # Type: String
IncomingSound: # Type: String
DisplayTimer: False # Type: Truth Value
DisplayBeacon: False # Type: Truth Value
BeaconDuration: 250 # Type: Integer
BeaconPalettePrefix: player # Type: String
BeaconPoster: # Type: String
BeaconPosterPalette: chrome # Type: String
DisplayRadarPing: False # Type: Truth Value
OrderName: IonCannonPowerInfoOrder # Type: String
PoisonedByTiberium
Weapon: Tiberium # Type: String
Resources: Tiberium,BlueTiberium # Type: String[]
Deliver the unit in production via skylift.
ProductionAirdrop
ReadyAudio: Reinforce # Type: String
ActorType: c17 # Type: String. Cargo aircraft used.
Produces: # Type: String[]. e.g. Infantry, Vehicles, Aircraft, Buildings
WithCargo
LocalOffset: # Type: WRange[]. Cargo position relative to turret or body. (forward, right, up) triples
DisplayTypes: # Type: String[]
SpawnViceroid
ViceroidActor: vice # Type: String
Probability: 10 # Type: Integer
Owner: Creeps # Type: String
InfDeath: 6 # Type: Integer
TiberiumRefinery
DockOffset: 1,2 # Type: int2
ShowTicks: True # Type: Truth Value
TickLifetime: 30 # Type: Integer
TickVelocity: 2 # Type: Integer
TickRate: 10 # Type: Integer
DockAngle: 64 # Type: Integer
WithFire
WithRoof
DamagedWithoutFoundation
Weapon: weathering # Type: String
SafeTerrain: Concrete # Type: String[]
DamageThreshold: 50 # Type: Integer
ProductionQueueFromSelection
ProductionTabsWidget: # Type: String
ThrowsShrapnel
Weapons: # Type: String[]
Pieces: 3,10 # Type: Int32[]
Range: 2048,5120 # Type: WRange[]
Tag trait for SupplyTruck: actors.
AcceptsSupplies
ActorLostNotification
Notification: UnitLost # Type: String
NotifyAll: False # Type: Truth Value
PlaceBeacon
Duration: 750 # Type: Integer
NotificationType: Sounds # Type: String
Notification: Beacon # Type: String
PalettePrefix: player # Type: String
MenuPaletteEffect
FadeLength: 10 # Type: Integer
Eject a ground soldier or a paratrooper while in the air.
EjectOnDeath
PilotActor: E1 # Type: String
SuccessRate: 50 # Type: Integer
ChuteSound: chute1.aud # Type: String
EjectInAir: False # Type: Truth Value
EjectOnGround: False # Type: Truth Value
AnnounceOnBuild
AnnounceOnKill
AppearsOnRadar
UseLocation: False # Type: Truth Value
AttackMove
Unit got to face the target
AttackFrontal
FacingTolerance: 1 # Type: Integer
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
AttackLeap
Speed: 426 # Type: WRange. Leap speed (in units/tick).
Angle: 56 # Type: WAngle
FacingTolerance: 1 # Type: Integer
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
AttackLoyalty
FacingTolerance: 1 # Type: Integer
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
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)
AttackMedic
FacingTolerance: 1 # Type: Integer
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
AttackOmni
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
AttackPopupTurreted
CloseDelay: 125 # Type: Integer
DefaultFacing: 0 # Type: Integer
ClosedDamageMultiplier: 0.5 # Type: Real Number
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
AttackCharge
MaxCharges: 1 # Type: Integer
ReloadTime: 120 # Type: Integer. Reload time (for all charges).
InitialChargeDelay: 22 # Type: Integer. Delay for first charge. Needs to match FireDelay for Obelisk.
ChargeDelay: 3 # Type: Integer. Delay for additional charges if MaxCharge is larger than 1.
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
AttackTurreted
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
AttackWander
MoveRadius: 4 # Type: Integer
Used together with AttackMedic: to make the healer do it's job automatically to nearby units.
AutoHeal
The actor will automatically engage the enemy when it is in range.
AutoTarget
AllowMovement: True # Type: Truth Value. It will try to hunt down the enemy if it is not set to defend.
ScanRadius: -1 # Type: Integer. Set to a value >1 to override weapons maximum range for this.
InitialStance: AttackAnything # Type: UnitStance
MinimumScanTimeInterval: 3 # Type: Integer. Ticks to wait until next AutoTarget: attempt.
MaximumScanTimeInterval: 8 # Type: Integer. Ticks to wait until next AutoTarget: attempt.
TargetWhenIdle: True # Type: Truth Value
TargetWhenDamaged: True # Type: Truth Value
EnableStances: True # Type: Truth Value
Will not get automatically targeted by enemy (like walls)
AutoTargetIgnore
Tag trait for construction yard and MCVs. Used by the cycle bases hotkey to identify actors.
BaseBuilding
BelowUnits
Bridge
Long: False # Type: Truth Value
RepairPropagationDelay: 20 # Type: Integer. Delay (in ticks) between repairing adjacent spans in long bridges
Template: 0 # Type: UInt16
DamagedTemplate: 0 # Type: UInt16
DestroyedTemplate: 0 # Type: UInt16
DestroyedPlusNorthTemplate: 0 # Type: UInt16
DestroyedPlusSouthTemplate: 0 # Type: UInt16
DestroyedPlusBothTemplate: 0 # Type: UInt16
ShorePieces: br1,br2 # Type: String[]
NorthOffset: # Type: Int32[]
SouthOffset: # Type: Int32[]
BridgeLayer
Bridges: bridge1,bridge2 # Type: String[]
Buildable
Prerequisites: # Type: String[]
Owner: # Type: String[]
Queue: # Type: String
Hidden: False # Type: Truth Value
BuildLimit: 0 # Type: Integer
BuildPaletteOrder: 9999 # Type: Integer
Hotkey: UNKNOWN None # Type: Hotkey
CaptureNotification
Notification: BuildingCaptured # Type: String
NewOwnerVoice: True # Type: Truth Value
Burns
Anim: 1 # Type: String
Damage: 1 # Type: Integer
Interval: 8 # Type: Integer
C4Demolition
C4Delay: 45 # Type: Integer
This actor can be captured by a unit with ExternalCaptures: trait.
ExternalCapturable
Type: building # Type: String. Type of actor (the ExternalCaptures: trait defines what Types it can capture).
AllowAllies: False # Type: Truth Value
AllowNeutral: True # Type: Truth Value
AllowEnemies: True # Type: Truth Value
CaptureCompleteTime: 15 # Type: Integer
# Seconds it takes to change the owner.
# You might want to add a ExternalCapturableBar: trait, too.
Visualize the remaining CaptureCompleteTime from ExternalCapturable: trait.
ExternalCapturableBar
This actor can be captured by a unit with Captures: trait.
Capturable
Type: building # Type: String. Type of actor (the Captures: trait defines what Types it can capture).
AllowAllies: False # Type: Truth Value
AllowNeutral: True # Type: Truth Value
AllowEnemies: True # Type: Truth Value
CaptureThreshold: 0.5 # Type: Real Number. Health percentage the target must be at (or below) before it can be captured.
CancelActivity: False # Type: Truth Value
This actor can capture other actors which have the ExternalCapturable: trait.
ExternalCaptures
CaptureTypes: building # Type: String[]. Types of actors that it can capture, as long as the type also exists in the ExternalCapturable Type: trait.
ConsumeActor: False # Type: Truth Value. Destroy the unit after capturing.
Cargo
MaxWeight: 0 # Type: Integer
PipCount: 0 # Type: Integer
Types: # Type: String[]
InitialUnits: # Type: String[]
Lets the actor generate cash in a set periodic time.
CashTrickler
Period: 50 # Type: Integer. Number of ticks to wait between giving money.
Amount: 15 # Type: Integer. Amount of money to give each time.
ShowTicks: True # Type: Truth Value. Whether to show the cash tick indicators (+$15 rising from actor).
CaptureAmount: 0 # Type: Integer. Amount of money awarded for capturing the actor.
ChronoshiftPaletteEffect
Chronoshiftable
ExplodeInstead: False # Type: Truth Value
ChronoshiftSound: chrono2.aud # Type: String
Cloak
InitialDelay: 10 # Type: Integer
CloakDelay: 30 # Type: Integer
UncloakOnMove: False # Type: Truth Value
UncloakOnUnload: False # Type: Truth Value
RequiresCrate: False # Type: Truth Value
CloakSound: # Type: String
UncloakSound: # Type: String
Palette: cloak # Type: String
CloakTypes: Cloak # Type: String[]
ConquestVictoryConditions
NotificationDelay: 1500 # Type: Integer. Milliseconds
Tag trait for things that must be destroyed for a short game to end.
MustBeDestroyed
Provides game mode information for players/observers. Goes on WorldActor - observers don't have a player it can live on.
ConquestObjectivesPanel
ObjectivesPanel: # Type: String
ContainsCrate
Crate
Lifetime: 5 # Type: Integer
TerrainTypes: # Type: String[]
CrateAction
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
CrateSpawner
Minimum: 1 # Type: Integer. Minimum number of crates
Maximum: 255 # Type: Integer. Maximum number of crates
SpawnInterval: 180 # Type: Integer. Average time (seconds) between crate spawn
ValidGround: Clear,Rough,Road,Ore,Beach # Type: String[]. Which terrain types can we drop on?
ValidWater: Water # Type: String[]. Which terrain types count as water?
WaterChance: 0.2 # Type: Real Number. Chance of generating a water crate instead of a land crate
DeliveryAircraft: # Type: String. If a DeliveryAircraft: is specified, then this actor will deliver crates
CrateActors: crate # Type: String[]. Crate actors to drop
CrateActorShares: 10 # Type: Int32[]. Chance of each crate actor spawning
ExplodeCrateAction
Weapon: # Type: String
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
GiveCashCrateAction
Amount: 2000 # Type: Integer
UseCashTick: False # Type: Truth Value
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
HideMapCrateAction
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
LevelUpCrateAction
Levels: 1 # Type: Integer
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
RevealMapCrateAction
IncludeAllies: False # Type: Truth Value
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
CreateMPPlayers
CrushableInfantry
CrushSound: squish2.aud # Type: String
CorpseSequence: die-crushed # Type: String
CrushClasses: infantry # Type: String[]
WarnProbability: 75 # Type: Integer
DemoTruck
DetectCloaked
CloakTypes: Cloak # Type: String[]
Range: 5 # Type: Integer
Contrail
Offset: 0,0,0 # Type: WVec. Position relative to body
TrailLength: 25 # Type: Integer
Color: 255,255,255,255 # Type: Color
UsePlayerColor: True # Type: Truth Value
EmitCargoOnSell
EmitInfantryOnSell
ValuePercent: 40 # Type: Real Number
MinHpPercent: 30 # Type: Real Number
ActorTypes: e1 # Type: String[]
EngineerRepair
EngineerRepairable
Explodes
Weapon: UnitExplode # Type: String
EmptyWeapon: UnitExplode # Type: String
Chance: 100 # Type: Integer
InfDeath: # Type: Int32[]
Fake
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, ...
FreeActor
Actor: # Type: String. Name of actor (use HARV if this trait is for refineries)
InitialActivity: # Type: String
# What the unit should start doing. Warning: If this is not a harvester
# it will break if you use FindResources.
SpawnOffset: 0,0 # Type: int2. Offset relative to structure-center in 2D (e.g. 1, 2)
Facing: 0 # Type: Integer. Which direction the unit should face.
GainsExperience
CostThreshold: 2,4,8,16 # Type: Single[]. XP requirements for each level, as multiples of our own cost.
FirepowerModifier: 1,1,1,15,1,2,1,5 # Type: Single[]
ArmorModifier: 1,1,1,2,1,3,1,5 # Type: Single[]
SpeedModifier: 1,1,1,15,1,2,1,5 # Type: Decimal[]
GainsUnitUpgrades
FirepowerMaxLevel: 15 # Type: Integer
FirepowerModifier: 0.2 # Type: Real Number
ArmorMaxLevel: 15 # Type: Integer
ArmorModifier: 0.2 # Type: Real Number
SpeedMaxLevel: 15 # Type: Integer
SpeedModifier: 0,2 # Type: Real Number
You get money for playing this actor.
GivesBounty
Percentage: 10 # Type: Integer. Calculated by Cost or CustomSellValue so they have to be set to avoid crashes.
LevelMod: 125 # Type: Integer. Higher ranked units give higher bounties.
Stances: Neutral,Enemy # Type: Stance[]. Destroying creeps and enemies is rewarded.
GivesExperience
Experience: -1 # Type: Integer. If -1, use the value of the unit cost.
Guard
Guardable
Range: 2 # Type: Integer
Harvester
DeliveryBuildings: # Type: String[]
Capacity: 28 # Type: Integer
LoadTicksPerBale: 4 # Type: Integer
UnloadTicksPerBale: 4 # Type: Integer
PipCount: 7 # Type: Integer
HarvestFacings: 0 # Type: Integer
Resources: # Type: String[]
FullyLoadedSpeed: 0,85 # Type: Real Number
SearchFromProcRadius: 24 # Type: Integer
SearchFromOrderRadius: 12 # Type: Integer
HarvesterHuskModifier
FullHuskActor: # Type: String
FullnessThreshold: 50 # Type: Integer
Husk
AllowedTerrain: # Type: String[]
InfiltrateForSupportPower
Proxy: # Type: String
Invulnerable
IronCurtainable
JamsMissiles
Range: 0 # Type: Integer
AlliedMissiles: True # Type: Truth Value
Chance: 100 # Type: Integer
LeavesHusk
HuskActor: # Type: String
This actor can capture other actors which have the Capturable: trait.
Captures
CaptureTypes: building # Type: String[]. Types of actors that it can capture, as long as the type also exists in the Capturable Type: trait.
Sabotage: True # Type: Truth Value. Unit will do damage to the actor instead of capturing it. Unit is destroyed when sabotaging.
SabotageHPRemoval: 0.5 # Type: Real Number. Only used if Sabotage=true. Sabotage damage expressed as a percentage of enemy health removed.
Palette effect used for blinking "animations" on actors.
LightPaletteRotator
ExcludePalettes: # Type: String[]
LimitedAmmo
Ammo: 0 # Type: Integer
PipCount: 0 # Type: Integer. Defaults to value in Ammo.
ReloadTicks: 50 # Type: Integer. Time to reload measured in ticks.
MadTank
ThumpSequence: piston # Type: String
ThumpInterval: 8 # Type: Integer
ThumpDamageWeapon: MADTankThump # Type: String
ThumpShakeIntensity: 3 # Type: Integer
ThumpShakeMultiplier: (1,0) # Type: float2
ThumpShakeTime: 10 # Type: Integer
ChargeDelay: 96 # Type: Integer
ChargeSound: madchrg2.aud # Type: String
DetonationDelay: 42 # Type: Integer
DetonationSound: madexplo.aud # Type: String
DetonationWeapon: MADTankDetonate # Type: String
DriverActor: e1 # Type: String
MPStartLocations
InitialExploreRange: 5120 # Type: WRange
Mine
CrushClasses: # Type: String[]
AvoidFriendly: True # Type: Truth Value
DetonateClasses: # Type: String[]
MineImmune
Minelayer
Mine: minv # Type: String
RearmBuildings: fix # Type: String[]
MinefieldDepth: 1.5 # Type: Real Number
FrozenUnderFog
StartsRevealed: False # Type: Truth Value
HiddenUnderFog
HiddenUnderFog
NukePaletteEffect
LoadWidgetAtGameStart
Widget: # Type: String
ClearRoot: True # Type: Truth Value
OreRefinery
DockOffset: 1,2 # Type: int2
ShowTicks: True # Type: Truth Value
TickLifetime: 30 # Type: Integer
TickVelocity: 2 # Type: Integer
TickRate: 10 # Type: Integer
DockAngle: 64 # Type: Integer
PlayerPaletteFromCurrentTileset
Name: # Type: String. internal palette name
ShadowIndex: # Type: Int32[]. Map listed indices to shadow.
AllowModifiers: True # Type: Truth Value. Apply palette rotatotors or not.
Loads the palette specified in the tileset definition
PaletteFromCurrentTileset
Name: # Type: String. internal palette name
ShadowIndex: # Type: Int32[]. Map listed indices to shadow. Ignores previous color.
AllowModifiers: True # Type: Truth Value
PaletteFromFile
Name: # Type: String. internal palette name
Tileset: # Type: String. If defined, load the palette only for this tileset.
Filename: # Type: String. filename to load
ShadowIndex: # Type: Int32[]. Map listed indices to shadow. Ignores previous color.
AllowModifiers: True # Type: Truth Value
Creates a single color palette without any base palette file.
PaletteFromRGBA
Name: # Type: String. internal palette name
Tileset: # Type: String. If defined, load the palette only for this tileset.
R: 0 # Type: Integer. red color component
G: 0 # Type: Integer. green color component
B: 0 # Type: Integer. blue color component
A: 255 # Type: Integer. alpha channel (transparency)
AllowModifiers: True # Type: Truth Value
ParaDrop
LZRange: 4 # Type: Integer
ChuteSound: chute1.aud # Type: String
ParachuteAttachment
ParachuteSprite: parach # Type: String
Offset: 0,0,0 # Type: WVec
Passenger
CargoType: # Type: String
PipType: Green # Type: PipType
Weight: 1 # Type: Integer
PlayerStatistics
UpdatesPlayerStatistics
ActorGroupProxy
AllyRepair
Attach this to the world 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.
ClassicProductionQueue
SpeedUp: False # Type: Truth Value
# If you build more actors of the same type,
# the same queue will get its build time lowered for every actor produced there.
BuildTimeSpeedReduction: 100,85,75,65,60,55,50 # Type: Int32[]
# Every time another production building of the same queue is
# contructed, the build times of all actors in the queue
# decreased by a percentage of the original time.
Type: # Type: String. What kind of production will be added (e.g. Building, Infantry, Vehicle, ...)
Group: # Type: String. Group queues from separate buildings together into the same tab.
BuildSpeed: 0.4 # Type: Real Number. This value is used to translate the unit cost into build time.
LowPowerSlowdown: 3 # Type: Integer. The build time is multiplied with this value on low power.
ReadyAudio: UnitReady # Type: String
# Notification played when production is complete.
# The filename of the audio is defined per faction in notifications.yaml.
BlockedAudio: NoBuild # Type: String
# Notification 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.
QueuedAudio: Training # Type: String
# Notification played when user clicks on the build palette icon.
# The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudio: OnHold # Type: String
# Notification played when player right-clicks on the build palette icon.
# The filename of the audio is defined per faction in notifications.yaml.
CancelledAudio: Cancelled # Type: String
# Notification played when player right-clicks on a build palette icon that is already on hold.
# The filename of the audio is defined per faction in notifications.yaml.
PlaceBuilding
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.
ProductionQueue
Type: # Type: String. What kind of production will be added (e.g. Building, Infantry, Vehicle, ...)
Group: # Type: String. Group queues from separate buildings together into the same tab.
BuildSpeed: 0.4 # Type: Real Number. This value is used to translate the unit cost into build time.
LowPowerSlowdown: 3 # Type: Integer. The build time is multiplied with this value on low power.
ReadyAudio: UnitReady # Type: String
# Notification played when production is complete.
# The filename of the audio is defined per faction in notifications.yaml.
BlockedAudio: NoBuild # Type: String
# Notification 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.
QueuedAudio: Training # Type: String
# Notification played when user clicks on the build palette icon.
# The filename of the audio is defined per faction in notifications.yaml.
OnHoldAudio: OnHold # Type: String
# Notification played when player right-clicks on the build palette icon.
# The filename of the audio is defined per faction in notifications.yaml.
CancelledAudio: Cancelled # Type: String
# Notification played when player right-clicks on a build palette icon that is already on hold.
# The filename of the audio is defined per faction in notifications.yaml.
PortableChrono
ChargeTime: 20 # Type: Integer. Cooldown in seconds until the unit can teleport.
HasDistanceLimit: True # Type: Truth Value. Can the unit teleport only a certain distance?
MaxDistance: 12 # Type: Integer. The maximum distance in cells this unit can teleport (only used if HasDistanceLimit = true).
ChronoshiftSound: chrotnk1.aud # Type: String. Sound to play when teleporting.
RadarPings
FromRadius: 200 # Type: Integer
ToRadius: 15 # Type: Integer
ShrinkSpeed: 4 # Type: Integer
RotationSpeed: 0.12 # Type: Real Number
TechTree
ProvidesCustomPrerequisite
Prerequisite: # Type: String
Used together with ClassicProductionQueue.
PrimaryBuilding
This unit has access to build queues.
Production
Produces: # Type: String[]. e.g. Infantry, Vehicles, Aircraft, Buildings
Where the unit should leave the building. Multiples are allowed if IDs are added: Exit@2, ...
Exit
SpawnOffset: 0,0,0 # Type: WVec. Offset at which that the exiting actor is spawned
ExitCell: 0,0 # Type: CVec. Cell offset where the exiting actor enters the ActorMap
Facing: -1 # Type: Integer
MoveIntoWorld: True # Type: Truth Value
Visualizes the remaining build time of actor produced here.
ProductionBar
ProductionType: # Type: String. Production queue type, for actors with multiple queues.
ProvidesRadar
JamsRadar
Range: 0 # Type: Integer
ProximityCaptor
Types: # Type: String[]
ProximityCapturable
Permanent: False # Type: Truth Value
Range: 5 # Type: Integer
MustBeClear: False # Type: Truth Value
CaptorTypes: Vehicle,Tank,Infantry # Type: String[]
RadarColorFromTerrain
Terrain: # Type: String
Used to waypoint units after production or repair is finished.
RallyPoint
RallyPoint: 1,3 # Type: Int32[]
IndicatorPalettePrefix: player # Type: String
Unit will reload its limited ammo itself.
Reloads
Count: 0 # Type: Integer. How much ammo is reloaded after a certain period.
Period: 50 # Type: Integer. How long it takes to do so.
RenderDetectionCircle
RenderJammerCircle
RenderRangeCircle
RangeCircleType: # Type: String
FallbackRange: 0 # Type: WRange. Range to draw if no armaments are available
Repairable
RepairBuildings: fix # Type: String[]
RepairableNear
Buildings: spen,syrd # Type: String[]
CloseEnough: 4 # Type: Integer
RepairsUnits
ValuePercentage: 20 # Type: Integer
HpPerStep: 10 # Type: Integer
Interval: 24 # Type: Integer
Reservable
ScaredyCat
PanicLength: 250 # Type: Integer
PanicSpeedModifier: 2 # Type: Real Number
AttackPanicChance: 20 # Type: Integer
SeedsResource
Interval: 75 # Type: Integer
ResourceType: Ore # Type: String
MaxRange: 100 # Type: Integer
AnimationInterval: 750 # Type: Integer
SelfHealing
Step: 5 # Type: Integer
Ticks: 5 # Type: Integer
HealIfBelow: 0.5 # Type: Real Number
DamageCooldown: 0 # Type: Integer
RequiresTech: # Type: String
SelfHealingTech
Type: # Type: String
Building can be sold
Sellable
RefundPercent: 50 # Type: Integer
Adds the hard-coded shroud palette to the game
ShroudPalette
Name: shroud # Type: String. Internal palette name
Fog: False # Type: Truth Value. Palette type
SmokeTrailWhenDamaged
Offset: 0,0,0 # Type: WVec. Position relative to body
Interval: 3 # Type: Integer
Sprite: smokey # Type: String
MinDamage: Heavy # Type: DamageState
SpawnMPUnits
SpawnMapActors
DisguiseToolTip
Description: # Type: String
Name: # Type: String
Icon: icon # Type: String. Sequence of the actor that contains the cameo.
Disguise
IgnoresDisguise
StoresOre
PipCount: 0 # Type: Integer. Number of little squares used to display how filled unit is.
PipColor: Yellow # Type: PipType
Capacity: 0 # Type: Integer
StrategicPoint
StrategicVictoryConditions
TicksToHold: 7500 # Type: Integer
ResetOnHoldLost: True # Type: Truth Value
RatioRequired: 0.5 # Type: Real Number
Donate money to building if it has the AcceptSupplies: trait.
SupplyTruck
Payload: 500 # Type: Integer. The amount of cash the owner of the building recieves.
AirstrikePower
UnitType: badr.bomber # Type: String
SquadSize: 1 # Type: Integer
SquadOffset: -1536,1536,0 # Type: WVec
QuantizedFacings: 32 # Type: Integer
Cordon: 5120 # Type: WRange
FlareActor: # Type: String. Actor to spawn when the aircraft first enter the map
FlareRemoveDelay: 25 # Type: Integer. Amount of time to keep the flare alive after the aircraft have finished attacking
CameraActor: # Type: String. Actor to spawn when the aircraft start attacking
CameraRemoveDelay: 25 # Type: Integer. Amount of time to keep the camera alive after the aircraft have finished attacking
ChargeTime: 0 # Type: Integer
Icon: # Type: String
Description: # Type: String
LongDesc: # Type: String
AllowMultiple: False # Type: Truth Value
OneShot: False # Type: Truth Value
BeginChargeSound: # Type: String
EndChargeSound: # Type: String
SelectTargetSound: # Type: String
InsufficientPowerSound: # Type: String
LaunchSound: # Type: String
IncomingSound: # Type: String
DisplayTimer: False # Type: Truth Value
DisplayBeacon: False # Type: Truth Value
BeaconDuration: 250 # Type: Integer
BeaconPalettePrefix: player # Type: String
BeaconPoster: # Type: String
BeaconPosterPalette: chrome # Type: String
DisplayRadarPing: False # Type: Truth Value
OrderName: AirstrikePowerInfoOrder # Type: String
ChronoshiftPower
Range: 1 # Type: Integer
Duration: 30 # Type: Integer
KillCargo: True # Type: Truth Value
ChargeTime: 0 # Type: Integer
Icon: # Type: String
Description: # Type: String
LongDesc: # Type: String
AllowMultiple: False # Type: Truth Value
OneShot: False # Type: Truth Value
BeginChargeSound: # Type: String
EndChargeSound: # Type: String
SelectTargetSound: # Type: String
InsufficientPowerSound: # Type: String
LaunchSound: # Type: String
IncomingSound: # Type: String
DisplayTimer: False # Type: Truth Value
DisplayBeacon: False # Type: Truth Value
BeaconDuration: 250 # Type: Integer
BeaconPalettePrefix: player # Type: String
BeaconPoster: # Type: String
BeaconPosterPalette: chrome # Type: String
DisplayRadarPing: False # Type: Truth Value
OrderName: ChronoshiftPowerInfoOrder # Type: String
GpsWatcher
GpsPower
RevealDelay: 0 # Type: Integer
ChargeTime: 0 # Type: Integer
Icon: # Type: String
Description: # Type: String
LongDesc: # Type: String
AllowMultiple: False # Type: Truth Value
OneShot: False # Type: Truth Value
BeginChargeSound: # Type: String
EndChargeSound: # Type: String
SelectTargetSound: # Type: String
InsufficientPowerSound: # Type: String
LaunchSound: # Type: String
IncomingSound: # Type: String
DisplayTimer: False # Type: Truth Value
DisplayBeacon: False # Type: Truth Value
BeaconDuration: 250 # Type: Integer
BeaconPalettePrefix: player # Type: String
BeaconPoster: # Type: String
BeaconPosterPalette: chrome # Type: String
DisplayRadarPing: False # Type: Truth Value
OrderName: GpsPowerInfoOrder # Type: String
IronCurtainPower
Duration: 10 # Type: Integer
Range: 1 # Type: Integer
ChargeTime: 0 # Type: Integer
Icon: # Type: String
Description: # Type: String
LongDesc: # Type: String
AllowMultiple: False # Type: Truth Value
OneShot: False # Type: Truth Value
BeginChargeSound: # Type: String
EndChargeSound: # Type: String
SelectTargetSound: # Type: String
InsufficientPowerSound: # Type: String
LaunchSound: # Type: String
IncomingSound: # Type: String
DisplayTimer: False # Type: Truth Value
DisplayBeacon: False # Type: Truth Value
BeaconDuration: 250 # Type: Integer
BeaconPalettePrefix: player # Type: String
BeaconPoster: # Type: String
BeaconPosterPalette: chrome # Type: String
DisplayRadarPing: False # Type: Truth Value
OrderName: IronCurtainPowerInfoOrder # Type: String
NukePower
MissileWeapon: # Type: String
SpawnOffset: 0,0,0 # Type: WVec
FlightDelay: 400 # Type: Integer. Travel time - split equally between ascent and descent
FlightVelocity: 512 # Type: WRange. Visual ascent velocity in WRange / tick
SkipAscent: False # Type: Truth Value. Descend immediately on the target, with half the FlightDelay
BeaconRemoveAdvance: 25 # Type: Integer. Amount of time before detonation to remove the beacon
CameraActor: # Type: String. Actor to spawn before detonation
CameraSpawnAdvance: 25 # Type: Integer. Amount of time before detonation to spawn the camera
CameraRemoveDelay: 25 # Type: Integer. Amount of time after detonation to remove the camera
ChargeTime: 0 # Type: Integer
Icon: # Type: String
Description: # Type: String
LongDesc: # Type: String
AllowMultiple: False # Type: Truth Value
OneShot: False # Type: Truth Value
BeginChargeSound: # Type: String
EndChargeSound: # Type: String
SelectTargetSound: # Type: String
InsufficientPowerSound: # Type: String
LaunchSound: # Type: String
IncomingSound: # Type: String
DisplayTimer: False # Type: Truth Value
DisplayBeacon: False # Type: Truth Value
BeaconDuration: 250 # Type: Integer
BeaconPalettePrefix: player # Type: String
BeaconPoster: # Type: String
BeaconPosterPalette: chrome # Type: String
DisplayRadarPing: False # Type: Truth Value
OrderName: NukePowerInfoOrder # Type: String
ParatroopersPower
DropItems: # Type: String[]
UnitType: badr # Type: String
FlareType: flare # Type: String
FlareTime: 3000 # Type: Integer
ChargeTime: 0 # Type: Integer
Icon: # Type: String
Description: # Type: String
LongDesc: # Type: String
AllowMultiple: False # Type: Truth Value
OneShot: False # Type: Truth Value
BeginChargeSound: # Type: String
EndChargeSound: # Type: String
SelectTargetSound: # Type: String
InsufficientPowerSound: # Type: String
LaunchSound: # Type: String
IncomingSound: # Type: String
DisplayTimer: False # Type: Truth Value
DisplayBeacon: False # Type: Truth Value
BeaconDuration: 250 # Type: Integer
BeaconPalettePrefix: player # Type: String
BeaconPoster: # Type: String
BeaconPosterPalette: chrome # Type: String
DisplayRadarPing: False # Type: Truth Value
OrderName: ParatroopersPowerInfoOrder # Type: String
SonarPulsePower
ChargeTime: 0 # Type: Integer
Icon: # Type: String
Description: # Type: String
LongDesc: # Type: String
AllowMultiple: False # Type: Truth Value
OneShot: False # Type: Truth Value
BeginChargeSound: # Type: String
EndChargeSound: # Type: String
SelectTargetSound: # Type: String
InsufficientPowerSound: # Type: String
LaunchSound: # Type: String
IncomingSound: # Type: String
DisplayTimer: False # Type: Truth Value
DisplayBeacon: False # Type: Truth Value
BeaconDuration: 250 # Type: Integer
BeaconPalettePrefix: player # Type: String
BeaconPoster: # Type: String
BeaconPosterPalette: chrome # Type: String
DisplayRadarPing: False # Type: Truth Value
OrderName: SonarPulsePowerInfoOrder # Type: String
SpyPlanePower
RevealTime: 6 # Type: Integer
ChargeTime: 0 # Type: Integer
Icon: # Type: String
Description: # Type: String
LongDesc: # Type: String
AllowMultiple: False # Type: Truth Value
OneShot: False # Type: Truth Value
BeginChargeSound: # Type: String
EndChargeSound: # Type: String
SelectTargetSound: # Type: String
InsufficientPowerSound: # Type: String
LaunchSound: # Type: String
IncomingSound: # Type: String
DisplayTimer: False # Type: Truth Value
DisplayBeacon: False # Type: Truth Value
BeaconDuration: 250 # Type: Integer
BeaconPalettePrefix: player # Type: String
BeaconPoster: # Type: String
BeaconPosterPalette: chrome # Type: String
DisplayRadarPing: False # Type: Truth Value
OrderName: SpyPlanePowerInfoOrder # Type: String
SupportPowerChargeBar
SupportPowerManager
TakeCover
ProneTime: 100 # Type: Integer
ProneDamage: 0.5 # Type: Real Number
ProneSpeed: 0,5 # Type: Real Number
ProneOffset: 85,0,-171 # Type: WVec
Turret: primary # Type: String
ROT: 255 # Type: Integer. Rate of Turning
InitialFacing: 128 # Type: Integer
AlignWhenIdle: False # Type: Truth Value
Offset: 0,0,0 # Type: WVec. Muzzle position relative to turret or body. (forward, right, up) triples
RenderInfantryProne
MinIdleWaitTicks: 30 # Type: Integer
MaxIdleWaitTicks: 110 # Type: Integer
IdleAnimations: # Type: String[]
StandAnimations: stand # Type: String[]
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
TargetableBuilding
TargetTypes: # Type: String[]
RequiresForceFire: False # Type: Truth Value
TargetableSubmarine
CloakedTargetTypes: # Type: String[]
TargetTypes: # Type: String[]
RequiresForceFire: False # Type: Truth Value
TargetableUnit
TargetTypes: # Type: String[]
RequiresForceFire: False # Type: Truth Value
TeslaInstantKills
ThrowsParticle
Anim: # Type: String
Offset: 0,0,0 # Type: WVec. Initial position relative to body
MinThrowRange: 256 # Type: WRange. Minimum distance to throw the particle
MaxThrowRange: 768 # Type: WRange. Maximum distance to throw the particle
MinThrowAngle: 85 # Type: WAngle. Minimum angle to throw the particle
MaxThrowAngle: 170 # Type: WAngle. Maximum angle to throw the particle
Velocity: 75 # Type: Integer. Speed to throw the particle (horizontal WPos/tick)
ROT: 15 # Type: Real Number. Maximum rotation rate
TransformOnCapture
IntoActor: # Type: String
ForceHealthPercentage: 0 # Type: Integer
SkipMakeAnims: True # Type: Truth Value
TransformOnPassenger
PassengerTypes: # Type: String[]
OnEnter: # Type: String
OnExit: # Type: String
SkipMakeAnims: False # Type: Truth Value
BecomeNeutral: False # Type: Truth Value
Transforms
IntoActor: # Type: String
Offset: 0,0 # Type: int2
Facing: 96 # Type: Integer
TransformSounds: # Type: String[]
NoTransformSounds: # Type: String[]
Turreted
Turret: primary # Type: String
ROT: 255 # Type: Integer. Rate of Turning
InitialFacing: 128 # Type: Integer
AlignWhenIdle: False # Type: Truth Value
Offset: 0,0,0 # Type: WVec. Muzzle position relative to turret or body. (forward, right, up) triples
How much the unit is worth.
Valued
Cost: 0 # Type: Integer. Used in production, but also for bounties so remember to set it > 0 even for NPCs.
Palette effect used for sprinkle "animations" on terrain tiles.
WaterPaletteRotation
ExcludePalettes: # Type: String[]
ChooseBuildTabOnSelect
ResourceClaimLayer
PlayMusicOnMapLoad
Music: # Type: String
Loop: False # Type: Truth Value
SmudgeLayer
Type: Scorch # Type: String
Sequence: scorch # Type: String
SmokePercentage: 25 # Type: Integer
SmokeType: smoke_m # Type: String
BaseAttackNotifier
NotifyInterval: 30 # Type: Integer
RadarPingColor: 255,255,0,0 # Type: Color
RadarPingDuration: 250 # Type: Integer
HarvesterAttackNotifier
NotifyInterval: 30 # Type: Integer
RadarPingColor: 255,255,0,0 # Type: Color
RadarPingDuration: 250 # Type: Integer
InfiltrateForExploration
InfiltrateForCash
Percentage: 50 # Type: Integer
Minimum: 500 # Type: Integer
SoundToVictim: credit1.aud # Type: String
RenderShroudCircle
CloakPaletteEffect
Infiltratable
Type: # Type: String
Infiltrates
Types: Cash,SupportPower,Exploration # Type: String[]
Allows you to attach weapons to the unit (use @IdentifierSuffix for > 1)
Armament
Name: primary # Type: String
Weapon: # Type: String. Has to be defined here and in weapons.yaml.
Turret: primary # Type: String
FireDelay: 0 # Type: Integer. Time (in frames) until the weapon can fire again.
LocalOffset: # Type: WRange[]. Muzzle position relative to turret or body. (forward, right, up) triples
LocalYaw: # Type: WAngle[]. Muzzle yaw relative to turret or body.
Recoil: 0 # Type: WRange. Move the turret backwards when firing.
RecoilRecovery: 9 # Type: WRange. Recoil recovery per-frame
MuzzleSequence: # Type: String. Muzzle flash sequence to render
MuzzleSplitFacings: 0 # Type: Integer. Use multiple muzzle images if non-zero
RepairsBridges
BridgeHut
VoxelNormalsPalette
Name: normals # Type: String
Type: TiberianSun # Type: NormalType
DomainIndex
MPStartUnits
Class: none # Type: String
Races: # Type: String[]
BaseActor: # Type: String
SupportActors: # Type: String[]
InnerSupportRadius: 2 # Type: Integer. Inner radius for spawning support actors
OuterSupportRadius: 4 # Type: Integer. Outer radius for spawning support actors
Shown in the build palette widget.
Tooltip
Description: # Type: String
Name: # Type: String
Icon: icon # Type: String. Sequence of the actor that contains the cameo.
CombatDebugOverlay
PathfinderDebugOverlay
AttackBomber
Bombs: primary # Type: String. Armament name
Guns: secondary # Type: String. Armament name
FacingTolerance: 2 # Type: Integer
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
ShroudRenderer
Sequence: shroud # Type: String
Variants: shroud # Type: String[]
Index: 12,9,8,3,1,6,4,2,13,11,7,14 # Type: Int32[]
# Bitfield of shroud directions for each frame. Lower four bits are
# corners clockwise from TL; upper four are edges clockwise from top
UseExtendedIndex: False # Type: Truth Value. Use the upper four bits when calculating frame
ShroudColor: 12 # Type: Integer. Palette index for synthesized unexplored tile
ShroudBlend: Alpha # Type: BlendMode
Handle demolitions from C4 explosives.
Demolishable
Use together with CanPowerDown/RequiresPower on buildings or Husk for vehicles.
DisabledOverlay
Immobile
OccupiesSpace: True # Type: Truth Value
BuildableTerrainLayer
RemoveImmediately
AttackFollow
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
AttackGarrisoned
PortOffsets: # Type: WRange[]. Fire port offsets in local coordinates
PortYaws: # Type: WAngle[]. Fire port yaw angles
PortCones: # Type: WAngle[]. Fire port yaw cone angle
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
StartGameNotification
Notification: StartGame # Type: String
PaletteFromR8
Name: # Type: String. Internal palette name
Filename: # Type: String. Filename to load
Offset: 0 # Type: Int64. Palette byte offset
AllowModifiers: True # Type: Truth Value
InvertColor: False # Type: Truth Value
FogPaletteFromR8
Name: # Type: String. Internal palette name
Filename: # Type: String. Filename to load
Offset: 0 # Type: Int64. Palette byte offset
AllowModifiers: True # Type: Truth Value
InvertColor: False # Type: Truth Value
Huntable
HackyAI
Name: Unnamed Bot # Type: String
SquadSize: 8 # Type: Integer
AssignRolesInterval: 20 # Type: Integer
RushInterval: 600 # Type: Integer
AttackForceInterval: 30 # Type: Integer
ExcessPowerFactor: 1.2 # Type: Real Number. By what factor should power output exceed power consumption.
MinimumExcessPower: 50 # Type: Integer. By what minimum amount should power output exceed power consumption.
IdleBaseUnitsMaximum: 12 # Type: Integer. Only produce units as long as there are less than this amount of units idling inside the base.
RushAttackScanRadius: 15 # Type: Integer. Radius in cells around enemy BaseBuilder (Construction Yard) where AI scans for targets to rush.
ProtectUnitScanRadius: 15 # Type: Integer. Radius in cells around the base that should be scanned for units to be protected.
RallyPointScanRadius: 8 # Type: Integer. Radius in cells around a factory scanned for rally points by the AI.
RallypointTestBuilding: fact # Type: String
UnitQueues: Vehicle,Infantry,Plane,Ship,Aircraft # Type: String[]
ShouldRepairBuildings: True # Type: Truth Value
UnitsToBuild: # Type: Dictionary<String,Real Number>
BuildingFractions: # Type: Dictionary<String,Real Number>
UnitsCommonNames: # Type: Dictionary<String,String[]>
BuildingCommonNames: # Type: Dictionary<String,String[]>
BuildingLimits: # Type: Dictionary<String,Integer>
Aircraft
CruiseAltitude: 1280 # Type: WRange
RepairBuildings: fix # Type: String[]
RearmBuildings: hpad,afld # Type: String[]
InitialFacing: 128 # Type: Integer
ROT: 255 # Type: Integer
Speed: 1 # Type: Integer
LandableTerrainTypes: # Type: String[]
AttackHeli
FacingTolerance: 1 # Type: Integer
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
AttackPlane
FacingTolerance: 1 # Type: Integer
Armaments: primary,secondary # Type: String[]. Armament names
Cursor: attack # Type: String
OutsideRangeCursor: attackoutsiderange # Type: String
FallsToEarth
Explosion: UnitExplode # Type: String
Spins: True # Type: Truth Value
Moves: False # Type: Truth Value
Velocity: 43 # Type: WRange
Helicopter
IdealSeparation: 1706 # Type: WRange
LandWhenIdle: True # Type: Truth Value
LandAltitude: 0 # Type: WRange
AltitudeVelocity: 43 # Type: WRange
CruiseAltitude: 1280 # Type: WRange
RepairBuildings: fix # Type: String[]
RearmBuildings: hpad,afld # Type: String[]
InitialFacing: 128 # Type: Integer
ROT: 255 # Type: Integer
Speed: 1 # Type: Integer
LandableTerrainTypes: # Type: String[]
Plane
MaximumPitch: 28 # Type: WAngle
CruiseAltitude: 1280 # Type: WRange
RepairBuildings: fix # Type: String[]
RearmBuildings: hpad,afld # Type: String[]
InitialFacing: 128 # Type: Integer
ROT: 255 # Type: Integer
Speed: 1 # Type: Integer
LandableTerrainTypes: # Type: String[]
ReturnOnIdle
FlyAwayOnIdle
TargetableAircraft
GroundedTargetTypes: # Type: String[]
TargetTypes: # Type: String[]
RequiresForceFire: False # Type: Truth Value
Remove this trait to limit base-walking by cheap or defensive buildings.
GivesBuildableArea
Building
Power: 0 # Type: Integer. If negative, it will drain power, if positive, it will provide power.
TerrainTypes: # Type: String[]. Where you are allowed to place the building (Water, Clear, ...)
Adjacent: 2 # Type: Integer. The range to the next building it can be constructed. Set it higher for walls.
Footprint: x # Type: String. x means space it blocks, _ is a part that is passable by actors.
Dimensions: 1,1 # Type: int2
RequiresBaseProvider: False # Type: Truth Value
AllowInvalidPlacement: False # Type: Truth Value
BuildSounds: placbldg.aud,build5.aud # Type: String[]
SellSounds: cashturn.aud # Type: String[]
BuildingInfluence
CanPowerDown
Allow a non-standard sell/repair value to avoid buy-sell exploits.
CustomSellValue
Value: 0 # Type: Integer
Overrides the build time calculated by actor value.
CustomBuildTimeValue
Value: 0 # Type: Integer
Place the second actor in line to build more of the same at once (used for walls).
LineBuild
Range: 5 # Type: Integer. The maximum allowed length of the line.
NodeTypes: wall # Type: String[]. LineBuildNode 'Types' to attach to.
PowerManager
AdviceInterval: 250 # Type: Integer
Building can be repaired by the repair button.
RepairableBuilding
RepairPercent: 20 # Type: Integer
RepairInterval: 24 # Type: Integer
RepairStep: 7 # Type: Integer
IndicatorPalettePrefix: player # Type: String
RequiresPower
ShakeOnDeath
Intensity: 10 # Type: Integer
SoundOnDamageTransition
DamagedSound: # Type: String
DestroyedSound: # Type: String
Wall
CrushClasses: # Type: String[]
CrushSound: # Type: String
BaseProvider
Range: 10 # Type: Integer
Cooldown: 0 # Type: Integer
InitialDelay: 0 # Type: Integer
Bib
Sequence: bib # Type: String
Palette: terrain # Type: String
HasMinibib: False # Type: Truth Value
LaysTerrain
Template: 0 # Type: UInt16. The terrain template to place. If the template is PickAny, thenthe actor footprint will be filled with this tile.
TerrainTypes: # Type: String[]. The terrain types that this template will be placed on
Offset: 0,0 # Type: CVec. Offset relative to the actor TopLeft. Not used if the template is PickAny
LineBuild actors attach to LineBuildNodes.
LineBuildNode
Types: wall # Type: String[]. This actor is of LineBuild 'NodeType'...
UnitUpgradeCrateAction
Upgrade: # Type: Nullable`1
Levels: 1 # Type: Integer
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
CloakCrateAction
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
GiveMcvCrateAction
NoBaseSelectionShares: 1000 # Type: Integer
Unit: # Type: String
Owner: # Type: String
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
GiveUnitCrateAction
Unit: # Type: String
Owner: # Type: String
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
HealUnitsCrateAction
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
SupportPowerCrateAction
Proxy: # Type: String
SelectionShares: 10 # Type: Integer. Chance of getting this crate, assuming the collector is compatible.
Effect: # Type: String. An animation defined in sequence yaml(s) to draw.
Notification: # Type: String. Audio clip to play when the crate is collected.
ExcludedActorTypes: # Type: String[]
GpsDot
String: Infantry # Type: String
IndicatorPalettePrefix: player # Type: String
Unit is able to move.
Mobile
TerrainSpeeds: # Type: Dictionary<String,TerrainInfo>. Set Water: 0 for ground units and lower the value on rough terrain.
Crushes: # Type: String[]. e.g. crate, wall, infantry
WaitAverage: 5 # Type: Integer
WaitSpread: 2 # Type: Integer
InitialFacing: 128 # Type: Integer
ROT: 255 # Type: Integer. Rate of Turning
Speed: 1 # Type: Integer
OnRails: False # Type: Truth Value
SharesCell: False # Type: Truth Value. Allow multiple (infantry) units in one cell.
PathFinder
RenderBuilding
HasMakeAnimation: True # Type: Truth Value
PauseOnLowPower: False # Type: Truth Value
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderBuildingCharge
ChargeAudio: # Type: String. Sound to play when building charges.
ChargeSequence: active # Type: String. Sequence to use for building charge animation.
HasMakeAnimation: True # Type: Truth Value
PauseOnLowPower: False # Type: Truth Value
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderBuildingSilo
HasMakeAnimation: True # Type: Truth Value
PauseOnLowPower: False # Type: Truth Value
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderBuildingTurreted
HasMakeAnimation: True # Type: Truth Value
PauseOnLowPower: False # Type: Truth Value
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderBuildingWall
Type: wall # Type: String
Sequence: idle # Type: String
HasMakeAnimation: True # Type: Truth Value
PauseOnLowPower: False # Type: Truth Value
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderBuildingWarFactory
HasMakeAnimation: True # Type: Truth Value
PauseOnLowPower: False # Type: Truth Value
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderEditorOnly
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderFlare
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderHarvester
ImagesByFullness: harv # Type: String[]
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderInfantry
MinIdleWaitTicks: 30 # Type: Integer
MaxIdleWaitTicks: 110 # Type: Integer
IdleAnimations: # Type: String[]
StandAnimations: stand # Type: String[]
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderInfantryPanic
MinIdleWaitTicks: 30 # Type: Integer
MaxIdleWaitTicks: 110 # Type: Integer
IdleAnimations: # Type: String[]
StandAnimations: stand # Type: String[]
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderDisguise
MinIdleWaitTicks: 30 # Type: Integer
MaxIdleWaitTicks: 110 # Type: Integer
IdleAnimations: # Type: String[]
StandAnimations: stand # Type: String[]
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderLandingCraft
OpenTerrainTypes: Clear # Type: String[]
OpenAnim: open # Type: String
UnloadAnim: unload # Type: String
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderUnit
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RenderUnitReload
Armament: primary # Type: String. Armament name
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
WithBuildingExplosion
WithMuzzleFlash
IgnoreOffset: False # Type: Truth Value. Ignore the weapon position, and always draw relative to the center of the actor
RenderNameTag
MaxLength: 10 # Type: Integer
WithRotor
Sequence: rotor # Type: String. Sequence name to use when flying
GroundSequence: slow-rotor # Type: String. Sequence name to use when landed
Offset: 0,0,0 # Type: WVec. Position relative to body
Id: rotor # Type: String
WithShadow
WithSmoke
WithTurret
Sequence: turret # Type: String. Sequence name to use
AimSequence: # Type: String. Sequence name to use when prepared to fire
Turret: primary # Type: String. Turreted 'Turret' key to display
Recoils: True # Type: Truth Value. Render recoil
RenderVoxels
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
NormalsPalette: normals # Type: String
Scale: 10 # Type: Real Number. Change the image size.
LightPitch: 142 # Type: WAngle
LightYaw: 682 # Type: WAngle
LightAmbientColor: 0,6,0,6,0,6 # Type: Single[]
LightDiffuseColor: 0,4,0,4,0,4 # Type: Single[]
WithVoxelTurret
Sequence: turret # Type: String. Voxel sequence name to use
Turret: primary # Type: String. Turreted 'Turret' key to display
WithVoxelBody
WithVoxelBarrel
Sequence: barrel # Type: String. Voxel sequence name to use
Armament: primary # Type: String. Armament to use for recoil
LocalOffset: 0,0,0 # Type: WVec. Visual offset
WithVoxelWalkerBody
TickRate: 5 # Type: Integer
WithResources
Sequence: resources # Type: String. Sequence name to use
WithHarvestAnimation
Sequence: harvest # Type: String. Sequence name to use
Offset: 0,0,0 # Type: WVec. Position relative to body
WithIdleOverlay
Sequence: idle-overlay # Type: String. Sequence name to use
Offset: 0,0,0 # Type: WVec. Position relative to body
PauseOnLowPower: False # Type: Truth Value
WithCrateBody
Images: crate # Type: String[]
XmasImages: # Type: String[]
WithBuildingPlacedAnimation
Sequence: build # Type: String. Sequence name to use
RenderGunboat
Turret: primary # Type: String. Turreted 'Turret' key to display
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
WithCrumbleOverlay
Sequence: crumble-overlay # Type: String. Sequence name to use
WithBuildingPlacedOverlay
Sequence: crane-overlay # Type: String. Sequence name to use
Offset: 0,0,0 # Type: WVec. Position relative to body
WithProductionOverlay
Sequence: production-overlay # Type: String. Sequence name to use
Offset: 0,0,0 # Type: WVec. Position relative to body
LuaScriptEvents
LuaScriptInterface
LuaScripts: # Type: String[]
Armor
Type: # Type: String
CreatesShroud
Range: 0 # Type: WRange
DrawLineToTarget
Ticks: 60 # Type: Integer
EditorAppearance
RelativeToTopLeft: False # Type: Truth Value
UseTerrainPalette: False # Type: Truth Value
EditorTilesetFilter
RequireTilesets: # Type: String[]
ExcludeTilesets: # Type: String[]
Health
HP: 0 # Type: Integer
Radius: 426 # Type: WRange. Physical size of the unit used for damage calculations. Impacts within this radius apply full damage
RejectsOrders
Except: # Type: String[]
DeveloperMode
Cash: 20000 # Type: Integer
ResourceGrowth: 100 # Type: Integer
FastBuild: False # Type: Truth Value
FastCharge: False # Type: Truth Value
DisableShroud: False # Type: Truth Value
PathDebug: False # Type: Truth Value
UnlimitedPower: False # Type: Truth Value
BuildAnywhere: False # Type: Truth Value
ShowCombatGeometry: False # Type: Truth Value
ShowDebugGeometry: False # Type: Truth Value
PlayerResources
SelectableCash: 2500,5000,10000,20000 # Type: Int32[]
DefaultCash: 5000 # Type: Integer
AdviceInterval: 250 # Type: Integer
RenderSimple
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
RevealsShroud
Range: 0 # Type: WRange
Selectable
Selectable: True # Type: Truth Value
Priority: 10 # Type: Integer
Bounds: # Type: Int32[]
Voice: # Type: String
SelectionDecorations
ValidateOrder
Country
Name: # Type: String
Race: # Type: String
Selectable: True # Type: Truth Value
ResourceLayer
ResourceType
EditorSprite: # Type: String
Variants: # Type: String[]
Palette: terrain # Type: String
ResourceType: 1 # Type: Integer
ValuePerUnit: 0 # Type: Integer
MaxDensity: 10 # Type: Integer
Name: # Type: String
TerrainType: Ore # Type: String
AllowedTerrainTypes: # Type: String[]
AllowUnderActors: False # Type: Truth Value
PipColor: Yellow # Type: PipType
ScreenShaker
MinMultiplier: (-3,-3) # Type: float2
MaxMultiplier: (3,3) # Type: float2
Shroud
DebugPauseState
RenderSprites
Image: # Type: String. Defaults to the actor name.
Palette: # Type: String. Custom palette name
PlayerPalette: player # Type: String. Custom PlayerColorPalette: BaseName
Scale: 1 # Type: Real Number. Change the sprite image size.
BodyOrientation
QuantizedFacings: -1 # Type: Integer. Number of facings for gameplay calculations. -1 indiciates auto-detection from sequence
CameraPitch: 113 # Type: WAngle. Camera pitch for rotation calculations
FrozenActorLayer
Add this to the Player actor definition.
PlayerColorPalette
BasePalette: # Type: String. The name of the palette to base off.
BaseName: player # Type: String. The prefix for the resulting player palettes
RemapIndex: # Type: Int32[]. Remap these indices to player colors.
Ramp: 0.05 # Type: Real Number. Luminosity range to span.
AllowModifiers: True # Type: Truth Value. Allow palette modifiers to change the palette.
Add this to the Player actor definition.
PlayerHighlightPalette
BaseName: highlight # Type: String. The prefix for the resulting player palettes
ScreenMap
BinSize: 250 # Type: Integer. Size of partition bins (world pixels)
ActorMap
BinSize: 10 # Type: Integer. Size of partition bins (cells)
D2kResourceLayer