Skip to content

Instantly share code, notes, and snippets.

@Mailaender
Created April 21, 2014 13:59
Show Gist options
  • Save Mailaender/11143565 to your computer and use it in GitHub Desktop.
Save Mailaender/11143565 to your computer and use it in GitHub Desktop.
sorted by namespace and given headers as well as non-technical type names

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

DeadBuildingState
	LingerTime: 20 # Type: Integer

IonCannonPower

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

PoisonedByTiberium
	Weapon: Tiberium # Type: String
	Resources: Tiberium,BlueTiberium # Type: String[]

ProductionAirdrop

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

WithCargo
	LocalOffset:  # Type: WRange[]. Cargo position relative to turret or body. (forward, right, up) triples
	DisplayTypes:  # Type: String[]

SpawnViceroid

SpawnViceroid
	ViceroidActor: vice # Type: String
	Probability: 10 # Type: Integer
	Owner: Creeps # Type: String
	InfDeath: 6 # Type: Integer

TiberiumRefinery

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

WithFire

WithRoof

WithRoof

DamagedWithoutFoundation

DamagedWithoutFoundation
	Weapon: weathering # Type: String
	SafeTerrain: Concrete # Type: String[]
	DamageThreshold: 50 # Type: Integer

ProductionQueueFromSelection

ProductionQueueFromSelection
	ProductionTabsWidget:  # Type: String

ThrowsShrapnel

ThrowsShrapnel
	Weapons:  # Type: String[]
	Pieces: 3,10 # Type: Int32[]
	Range: 2048,5120 # Type: WRange[]

AcceptsSupplies

Tag trait for SupplyTruck: actors.

AcceptsSupplies

ActorLostNotification

ActorLostNotification
	Notification: UnitLost # Type: String
	NotifyAll: False # Type: Truth Value

PlaceBeacon

PlaceBeacon
	Duration: 750 # Type: Integer
	NotificationType: Sounds # Type: String
	Notification: Beacon # Type: String
	PalettePrefix: player # Type: String

MenuPaletteEffect

MenuPaletteEffect
	FadeLength: 10 # Type: Integer

EjectOnDeath

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

AnnounceOnBuild

AnnounceOnKill

AnnounceOnKill

AppearsOnRadar

AppearsOnRadar
	UseLocation: False # Type: Truth Value

AttackMove

AttackMove

AttackFrontal

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

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

AttackLoyalty
	FacingTolerance: 1 # Type: Integer
	Armaments: primary,secondary # Type: String[]. Armament names
	Cursor: attack # Type: String
	OutsideRangeCursor: attackoutsiderange # Type: String

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)

AttackMedic
	FacingTolerance: 1 # Type: Integer
	Armaments: primary,secondary # Type: String[]. Armament names
	Cursor: attack # Type: String
	OutsideRangeCursor: attackoutsiderange # Type: String

AttackOmni

AttackOmni
	Armaments: primary,secondary # Type: String[]. Armament names
	Cursor: attack # Type: String
	OutsideRangeCursor: attackoutsiderange # Type: String

AttackPopupTurreted

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

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

AttackTurreted
	Armaments: primary,secondary # Type: String[]. Armament names
	Cursor: attack # Type: String
	OutsideRangeCursor: attackoutsiderange # Type: String

AttackWander

AttackWander
	MoveRadius: 4 # Type: Integer

AutoHeal

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

AutoHeal

AutoTarget

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

AutoTargetIgnore

Will not get automatically targeted by enemy (like walls)

AutoTargetIgnore

BaseBuilding

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

BaseBuilding

BelowUnits

BelowUnits

Bridge

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

BridgeLayer
	Bridges: bridge1,bridge2 # Type: String[]

Buildable

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

CaptureNotification
	Notification: BuildingCaptured # Type: String
	NewOwnerVoice: True # Type: Truth Value

Burns

Burns
	Anim: 1 # Type: String
	Damage: 1 # Type: Integer
	Interval: 8 # Type: Integer

C4Demolition

C4Demolition
	C4Delay: 45 # Type: Integer

ExternalCapturable

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.

ExternalCapturableBar

Visualize the remaining CaptureCompleteTime from ExternalCapturable: trait.

ExternalCapturableBar

Capturable

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

ExternalCaptures

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

Cargo
	MaxWeight: 0 # Type: Integer
	PipCount: 0 # Type: Integer
	Types:  # Type: String[]
	InitialUnits:  # Type: String[]

CashTrickler

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

ChronoshiftPaletteEffect

Chronoshiftable

Chronoshiftable
	ExplodeInstead: False # Type: Truth Value
	ChronoshiftSound: chrono2.aud # Type: String

Cloak

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

ConquestVictoryConditions
	NotificationDelay: 1500 # Type: Integer. Milliseconds

MustBeDestroyed

Tag trait for things that must be destroyed for a short game to end.

MustBeDestroyed

ConquestObjectivesPanel

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

ContainsCrate

Crate

Crate
	Lifetime: 5 # Type: Integer
	TerrainTypes:  # Type: String[]

CrateAction

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

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

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

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

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

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

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

CreateMPPlayers

CrushableInfantry

CrushableInfantry
	CrushSound: squish2.aud # Type: String
	CorpseSequence: die-crushed # Type: String
	CrushClasses: infantry # Type: String[]
	WarnProbability: 75 # Type: Integer

DemoTruck

DemoTruck

DetectCloaked

DetectCloaked
	CloakTypes: Cloak # Type: String[]
	Range: 5 # Type: Integer

Contrail

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

EmitCargoOnSell

EmitInfantryOnSell

EmitInfantryOnSell
	ValuePercent: 40 # Type: Real Number
	MinHpPercent: 30 # Type: Real Number
	ActorTypes: e1 # Type: String[]

EngineerRepair

EngineerRepair

EngineerRepairable

EngineerRepairable

Explodes

Explodes
	Weapon: UnitExplode # Type: String
	EmptyWeapon: UnitExplode # Type: String
	Chance: 100 # Type: Integer
	InfDeath:  # Type: Int32[]

Fake

Fake

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

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

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

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

GivesBounty

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

GivesExperience
	Experience: -1 # Type: Integer. If -1, use the value of the unit cost.

Guard

Guard

Guardable

Guardable
	Range: 2 # Type: Integer

Harvester

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

HarvesterHuskModifier
	FullHuskActor:  # Type: String
	FullnessThreshold: 50 # Type: Integer

Husk

Husk
	AllowedTerrain:  # Type: String[]

InfiltrateForSupportPower

InfiltrateForSupportPower
	Proxy:  # Type: String

Invulnerable

Invulnerable

IronCurtainable

IronCurtainable

JamsMissiles

JamsMissiles
	Range: 0 # Type: Integer
	AlliedMissiles: True # Type: Truth Value
	Chance: 100 # Type: Integer

LeavesHusk

LeavesHusk
	HuskActor:  # Type: String

Captures

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.

LightPaletteRotator

Palette effect used for blinking "animations" on actors.

LightPaletteRotator
	ExcludePalettes:  # Type: String[]

LimitedAmmo

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

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

MPStartLocations
	InitialExploreRange: 5120 # Type: WRange

Mine

Mine
	CrushClasses:  # Type: String[]
	AvoidFriendly: True # Type: Truth Value
	DetonateClasses:  # Type: String[]

MineImmune

MineImmune

Minelayer

Minelayer
	Mine: minv # Type: String
	RearmBuildings: fix # Type: String[]
	MinefieldDepth: 1.5 # Type: Real Number

FrozenUnderFog

FrozenUnderFog
	StartsRevealed: False # Type: Truth Value

HiddenUnderFog

HiddenUnderFog

NukePaletteEffect

NukePaletteEffect

LoadWidgetAtGameStart

LoadWidgetAtGameStart
	Widget:  # Type: String
	ClearRoot: True # Type: Truth Value

OreRefinery

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

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.

PaletteFromCurrentTileset

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

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

PaletteFromRGBA

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

ParaDrop
	LZRange: 4 # Type: Integer
	ChuteSound: chute1.aud # Type: String

ParachuteAttachment

ParachuteAttachment
	ParachuteSprite: parach # Type: String
	Offset: 0,0,0 # Type: WVec

Passenger

Passenger
	CargoType:  # Type: String
	PipType: Green # Type: PipType
	Weight: 1 # Type: Integer

PlayerStatistics

PlayerStatistics

UpdatesPlayerStatistics

UpdatesPlayerStatistics

ActorGroupProxy

ActorGroupProxy

AllyRepair

AllyRepair

ClassicProductionQueue

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

PlaceBuilding

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.

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

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

RadarPings
	FromRadius: 200 # Type: Integer
	ToRadius: 15 # Type: Integer
	ShrinkSpeed: 4 # Type: Integer
	RotationSpeed: 0.12 # Type: Real Number

TechTree

TechTree

ProvidesCustomPrerequisite

ProvidesCustomPrerequisite
	Prerequisite:  # Type: String

PrimaryBuilding

Used together with ClassicProductionQueue.

PrimaryBuilding

Production

This unit has access to build queues.

Production
	Produces:  # Type: String[]. e.g. Infantry, Vehicles, Aircraft, Buildings

Exit

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

ProductionBar

Visualizes the remaining build time of actor produced here.

ProductionBar
	ProductionType:  # Type: String. Production queue type, for actors with multiple queues.

ProvidesRadar

ProvidesRadar

JamsRadar

JamsRadar
	Range: 0 # Type: Integer

ProximityCaptor

ProximityCaptor
	Types:  # Type: String[]

ProximityCapturable

ProximityCapturable
	Permanent: False # Type: Truth Value
	Range: 5 # Type: Integer
	MustBeClear: False # Type: Truth Value
	CaptorTypes: Vehicle,Tank,Infantry # Type: String[]

RadarColorFromTerrain

RadarColorFromTerrain
	Terrain:  # Type: String

RallyPoint

Used to waypoint units after production or repair is finished.

RallyPoint
	RallyPoint: 1,3 # Type: Int32[]
	IndicatorPalettePrefix: player # Type: String

Reloads

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

RenderDetectionCircle

RenderJammerCircle

RenderJammerCircle

RenderRangeCircle

RenderRangeCircle
	RangeCircleType:  # Type: String
	FallbackRange: 0 # Type: WRange. Range to draw if no armaments are available

Repairable

Repairable
	RepairBuildings: fix # Type: String[]

RepairableNear

RepairableNear
	Buildings: spen,syrd # Type: String[]
	CloseEnough: 4 # Type: Integer

RepairsUnits

RepairsUnits
	ValuePercentage: 20 # Type: Integer
	HpPerStep: 10 # Type: Integer
	Interval: 24 # Type: Integer

Reservable

Reservable

ScaredyCat

ScaredyCat
	PanicLength: 250 # Type: Integer
	PanicSpeedModifier: 2 # Type: Real Number
	AttackPanicChance: 20 # Type: Integer

SeedsResource

SeedsResource
	Interval: 75 # Type: Integer
	ResourceType: Ore # Type: String
	MaxRange: 100 # Type: Integer
	AnimationInterval: 750 # Type: Integer

SelfHealing

SelfHealing
	Step: 5 # Type: Integer
	Ticks: 5 # Type: Integer
	HealIfBelow: 0.5 # Type: Real Number
	DamageCooldown: 0 # Type: Integer
	RequiresTech:  # Type: String

SelfHealingTech

SelfHealingTech
	Type:  # Type: String

Sellable

Building can be sold

Sellable
	RefundPercent: 50 # Type: Integer

ShroudPalette

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

SmokeTrailWhenDamaged
	Offset: 0,0,0 # Type: WVec. Position relative to body
	Interval: 3 # Type: Integer
	Sprite: smokey # Type: String
	MinDamage: Heavy # Type: DamageState

SpawnMPUnits

SpawnMPUnits

SpawnMapActors

SpawnMapActors

DisguiseToolTip

DisguiseToolTip
	Description:  # Type: String
	Name:  # Type: String
	Icon: icon # Type: String. Sequence of the actor that contains the cameo.

Disguise

Disguise

IgnoresDisguise

IgnoresDisguise

StoresOre

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

StrategicPoint

StrategicVictoryConditions

StrategicVictoryConditions
	TicksToHold: 7500 # Type: Integer
	ResetOnHoldLost: True # Type: Truth Value
	RatioRequired: 0.5 # Type: Real Number

SupplyTruck

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

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

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

GpsWatcher

GpsPower

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

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

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

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

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

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

SupportPowerChargeBar

SupportPowerManager

SupportPowerManager

TakeCover

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

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

TargetableBuilding
	TargetTypes:  # Type: String[]
	RequiresForceFire: False # Type: Truth Value

TargetableSubmarine

TargetableSubmarine
	CloakedTargetTypes:  # Type: String[]
	TargetTypes:  # Type: String[]
	RequiresForceFire: False # Type: Truth Value

TargetableUnit

TargetableUnit
	TargetTypes:  # Type: String[]
	RequiresForceFire: False # Type: Truth Value

TeslaInstantKills

TeslaInstantKills

ThrowsParticle

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

TransformOnCapture
	IntoActor:  # Type: String
	ForceHealthPercentage: 0 # Type: Integer
	SkipMakeAnims: True # Type: Truth Value

TransformOnPassenger

TransformOnPassenger
	PassengerTypes:  # Type: String[]
	OnEnter:  # Type: String
	OnExit:  # Type: String
	SkipMakeAnims: False # Type: Truth Value
	BecomeNeutral: False # Type: Truth Value

Transforms

Transforms
	IntoActor:  # Type: String
	Offset: 0,0 # Type: int2
	Facing: 96 # Type: Integer
	TransformSounds:  # Type: String[]
	NoTransformSounds:  # Type: String[]

Turreted

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

Valued

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.

WaterPaletteRotation

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

WaterPaletteRotation
	ExcludePalettes:  # Type: String[]

ChooseBuildTabOnSelect

ChooseBuildTabOnSelect

ResourceClaimLayer

ResourceClaimLayer

PlayMusicOnMapLoad

PlayMusicOnMapLoad
	Music:  # Type: String
	Loop: False # Type: Truth Value

SmudgeLayer

SmudgeLayer
	Type: Scorch # Type: String
	Sequence: scorch # Type: String
	SmokePercentage: 25 # Type: Integer
	SmokeType: smoke_m # Type: String

BaseAttackNotifier

BaseAttackNotifier
	NotifyInterval: 30 # Type: Integer
	RadarPingColor: 255,255,0,0 # Type: Color
	RadarPingDuration: 250 # Type: Integer

HarvesterAttackNotifier

HarvesterAttackNotifier
	NotifyInterval: 30 # Type: Integer
	RadarPingColor: 255,255,0,0 # Type: Color
	RadarPingDuration: 250 # Type: Integer

InfiltrateForExploration

InfiltrateForExploration

InfiltrateForCash

InfiltrateForCash
	Percentage: 50 # Type: Integer
	Minimum: 500 # Type: Integer
	SoundToVictim: credit1.aud # Type: String

RenderShroudCircle

RenderShroudCircle

CloakPaletteEffect

CloakPaletteEffect

Infiltratable

Infiltratable
	Type:  # Type: String

Infiltrates

Infiltrates
	Types: Cash,SupportPower,Exploration # Type: String[]

Armament

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

RepairsBridges

BridgeHut

BridgeHut

VoxelNormalsPalette

VoxelNormalsPalette
	Name: normals # Type: String
	Type: TiberianSun # Type: NormalType

DomainIndex

DomainIndex

MPStartUnits

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

Tooltip

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

CombatDebugOverlay

PathfinderDebugOverlay

PathfinderDebugOverlay

AttackBomber

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

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

Demolishable

Handle demolitions from C4 explosives.

Demolishable

DisabledOverlay

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

DisabledOverlay

Immobile

Immobile
	OccupiesSpace: True # Type: Truth Value

BuildableTerrainLayer

BuildableTerrainLayer

RemoveImmediately

RemoveImmediately

AttackFollow

AttackFollow
	Armaments: primary,secondary # Type: String[]. Armament names
	Cursor: attack # Type: String
	OutsideRangeCursor: attackoutsiderange # Type: String

AttackGarrisoned

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

StartGameNotification
	Notification: StartGame # Type: String

PaletteFromR8

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

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

Huntable

HackyAI

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

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

AttackHeli
	FacingTolerance: 1 # Type: Integer
	Armaments: primary,secondary # Type: String[]. Armament names
	Cursor: attack # Type: String
	OutsideRangeCursor: attackoutsiderange # Type: String

AttackPlane

AttackPlane
	FacingTolerance: 1 # Type: Integer
	Armaments: primary,secondary # Type: String[]. Armament names
	Cursor: attack # Type: String
	OutsideRangeCursor: attackoutsiderange # Type: String

FallsToEarth

FallsToEarth
	Explosion: UnitExplode # Type: String
	Spins: True # Type: Truth Value
	Moves: False # Type: Truth Value
	Velocity: 43 # Type: WRange

Helicopter

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

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

ReturnOnIdle

FlyAwayOnIdle

FlyAwayOnIdle

TargetableAircraft

TargetableAircraft
	GroundedTargetTypes:  # Type: String[]
	TargetTypes:  # Type: String[]
	RequiresForceFire: False # Type: Truth Value

GivesBuildableArea

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

GivesBuildableArea

Building

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

BuildingInfluence

CanPowerDown

CanPowerDown

CustomSellValue

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

CustomSellValue
	Value: 0 # Type: Integer

CustomBuildTimeValue

Overrides the build time calculated by actor value.

CustomBuildTimeValue
	Value: 0 # Type: Integer

LineBuild

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

PowerManager
	AdviceInterval: 250 # Type: Integer

RepairableBuilding

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

RequiresPower

ShakeOnDeath

ShakeOnDeath
	Intensity: 10 # Type: Integer

SoundOnDamageTransition

SoundOnDamageTransition
	DamagedSound:  # Type: String
	DestroyedSound:  # Type: String

Wall

Wall
	CrushClasses:  # Type: String[]
	CrushSound:  # Type: String

BaseProvider

BaseProvider
	Range: 10 # Type: Integer
	Cooldown: 0 # Type: Integer
	InitialDelay: 0 # Type: Integer

Bib

Bib
	Sequence: bib # Type: String
	Palette: terrain # Type: String
	HasMinibib: False # Type: Truth Value

LaysTerrain

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

LineBuildNode

LineBuild actors attach to LineBuildNodes.

LineBuildNode
	Types: wall # Type: String[]. This actor is of LineBuild 'NodeType'...

UnitUpgradeCrateAction

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

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

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

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

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

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

GpsDot
	String: Infantry # Type: String
	IndicatorPalettePrefix: player # Type: String

Mobile

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

PathFinder

RenderBuilding

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

WithBuildingExplosion

WithMuzzleFlash

WithMuzzleFlash
	IgnoreOffset: False # Type: Truth Value. Ignore the weapon position, and always draw relative to the center of the actor

RenderNameTag

RenderNameTag
	MaxLength: 10 # Type: Integer

WithRotor

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

WithShadow

WithSmoke

WithSmoke

WithTurret

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

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

WithVoxelTurret
	Sequence: turret # Type: String. Voxel sequence name to use
	Turret: primary # Type: String. Turreted 'Turret' key to display

WithVoxelBody

WithVoxelBody

WithVoxelBarrel

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

WithVoxelWalkerBody
	TickRate: 5 # Type: Integer

WithResources

WithResources
	Sequence: resources # Type: String. Sequence name to use

WithHarvestAnimation

WithHarvestAnimation
	Sequence: harvest # Type: String. Sequence name to use
	Offset: 0,0,0 # Type: WVec. Position relative to body

WithIdleOverlay

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

WithCrateBody
	Images: crate # Type: String[]
	XmasImages:  # Type: String[]

WithBuildingPlacedAnimation

WithBuildingPlacedAnimation
	Sequence: build # Type: String. Sequence name to use

RenderGunboat

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

WithCrumbleOverlay
	Sequence: crumble-overlay # Type: String. Sequence name to use

WithBuildingPlacedOverlay

WithBuildingPlacedOverlay
	Sequence: crane-overlay # Type: String. Sequence name to use
	Offset: 0,0,0 # Type: WVec. Position relative to body

WithProductionOverlay

WithProductionOverlay
	Sequence: production-overlay # Type: String. Sequence name to use
	Offset: 0,0,0 # Type: WVec. Position relative to body

LuaScriptEvents

LuaScriptEvents

LuaScriptInterface

LuaScriptInterface
	LuaScripts:  # Type: String[]

Armor

Armor
	Type:  # Type: String

CreatesShroud

CreatesShroud
	Range: 0 # Type: WRange

DrawLineToTarget

DrawLineToTarget
	Ticks: 60 # Type: Integer

EditorAppearance

EditorAppearance
	RelativeToTopLeft: False # Type: Truth Value
	UseTerrainPalette: False # Type: Truth Value

EditorTilesetFilter

EditorTilesetFilter
	RequireTilesets:  # Type: String[]
	ExcludeTilesets:  # Type: String[]

Health

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

RejectsOrders
	Except:  # Type: String[]

DeveloperMode

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

PlayerResources
	SelectableCash: 2500,5000,10000,20000 # Type: Int32[]
	DefaultCash: 5000 # Type: Integer
	AdviceInterval: 250 # Type: Integer

RenderSimple

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

RevealsShroud
	Range: 0 # Type: WRange

Selectable

Selectable
	Selectable: True # Type: Truth Value
	Priority: 10 # Type: Integer
	Bounds:  # Type: Int32[]
	Voice:  # Type: String

SelectionDecorations

SelectionDecorations

ValidateOrder

ValidateOrder

Country

Country
	Name:  # Type: String
	Race:  # Type: String
	Selectable: True # Type: Truth Value

ResourceLayer

ResourceLayer

ResourceType

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

ScreenShaker
	MinMultiplier: (-3,-3) # Type: float2
	MaxMultiplier: (3,3) # Type: float2

Shroud

Shroud

DebugPauseState

DebugPauseState

RenderSprites

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

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

FrozenActorLayer

PlayerColorPalette

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.

PlayerHighlightPalette

Add this to the Player actor definition.

PlayerHighlightPalette
	BaseName: highlight # Type: String. The prefix for the resulting player palettes

ScreenMap

ScreenMap
	BinSize: 250 # Type: Integer. Size of partition bins (world pixels)

ActorMap

ActorMap
	BinSize: 10 # Type: Integer. Size of partition bins (cells)

D2kResourceLayer

D2kResourceLayer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment