OpenRA Traits by Category - guidebee/OpenRA GitHub Wiki
Yes, there are categories for the traits in OpenRA. Let me categorize them based on their functionality and purpose:
- ExistsInWorld
- Health
- Armor
- HitShape
- Tooltip
- ScriptTriggers
- Interactable
- Selectable
- SelectionDecorations
- Huntable
- OwnerLostAction
- MustBeDestroyed
- UpdatesPlayerStatistics
- MapEditorData
- SpriteActor
- RenderSprites
- BodyOrientation
- QuantizeFacingsFromSequence
- ClassicFacingSpriteActor
- ClassicFacingBodyOrientation
- WithSpriteBody
- WithFacingSpriteBody
- WithWallSpriteBody
- WithIdleOverlay
- WithInfantryBody
- WithDeathAnimation
- WithDecoration
- WithColoredOverlay
- WithDamageOverlay
- WithSpriteControlGroupDecoration
- WithParachute
- WithShadow
- WithCrateBody
- DrawLineToTarget
- WithCargoPipsDecoration
- WithBuildingRepairDecoration
- Mobile
- Immobile
- Aircraft
- Chronoshiftable
- Parachutable
- FallsToEarth
- AttackFrontal
- Armament
- AutoTarget
- AutoTargetPriority
- AttackMove
- TakeCover
- FireWarheadsOnDeath
- GivesExperience
- GainsExperience
- DamageMultiplier
- FirepowerMultiplier
- SpeedMultiplier
- ReloadDelayMultiplier
- HandicapFirepowerMultiplier
- HandicapDamageMultiplier
- DetectCloaked
- RenderRangeCircle
- Targetable
- AppearsOnRadar
- HiddenUnderFog
- FrozenUnderFog
- FrozenUnderFogUpdatedByGps
- RevealsShroud
- RevealOnDeath
- GpsDot
- AppearsOnMapPreview
- RadarColorFromTerrain
- CombatDebugOverlay
- RenderDebugState
- Building
- BasicBuilding
- RequiresBuildableArea
- GivesBuildableArea
- ActorPreviewPlaceBuildingPreview
- FootprintPlaceBuildingPreview
- WithMakeAnimation
- LineBuild
- LineBuildNode
- SoundOnDamageTransition
- ShakeOnDeath
- RepairableBuilding
- InstantlyRepairable
- Demolishable
- IronCurtainable
- Cloak
- Guard
- Guardable
- EjectOnDeath
- Crushable
- Hovers
- DeathSounds
- Voiced
- Cloneable
- EdibleByLeap
- ScaredyCat
- Wanders
- AlwaysVisible
- SpawnActorOnDeath
- SpawnActorsOnSell
- ProximityCaptor
- Power
- DisableOnLowPower
- DisableOnLowPowerOrPowerDown
- DisabledByPowerOutage
- AffectedByPowerOutage
- PowerMultiplier
- HandicapProductionTimeMultiplier
- AcceptsDeliveredCash
- Valued
- GivesBounty
- StoresResources (not directly in the file but referenced)
- GrantCondition
- GrantConditionOnDamageState
- GrantConditionOnPowerState
- GrantConditionOnPrerequisite
- GrantConditionOnTileSet
- ExternalCondition
- TimedConditionBar
- ToggleConditionOnOrder
- ChangesHealth
- Capturable
- CaptureManager
- CapturableProgressBar
- CapturableProgressBlink
- CaptureNotification
- TransformOnCapture
- InfiltrateForTransform
- InfiltrateForDecoration
- InfiltrateForPowerOutage
- Passenger
- Cargo (not directly in the file but referenced)
- Repairable
- RepairableNear
- Defense
- Wall
- ScienceBuilding
- TechBuilding
- FakeBuilding
- InfiltratableFake
- CivBuilding
- CivField
- CivHaystackOrIgloo
- DesertCivBuilding
- Bridge
- PrimaryBuilding
- AmmoBox
- Vehicle
- TrackedVehicle
- Infantry
- Soldier
- CivInfantry
- ArmedCivilian
- Ship
- Submarine
- NeutralPlane
- Plane
- Helicopter
- Tree
- TreeHusk
- Box
- Rock
- BasicHusk
- Husk
- PlaneHusk
- HelicopterHusk
- Crate
- Mine
- PlayerHandicaps
- GlobalBounty
- ActorLostNotification
- Sellable
- CommandBarBlacklist
This categorization helps understand how traits are organized functionally in the OpenRA engine. Many traits interact with each other across categories to create complex behaviors. The inheritance system (using the Inherits:
keyword) allows for composition of these traits to define different unit and structure types.