Projectile Purpose
BulletStandard ballistic projectile with gravity, speed, inaccuracy
MissileGuided missile with tracking, jinking, terrain following
LaserZapInstant laser beam
RailgunRailgun beam effect
AreaBeamWide area beam weapon
InstantHitInstant-hit hitscan weapon
GravityBombDropped bomb with gravity
NukeLaunchNuclear missile (special trajectory)
Mod-defined projectile types: RA2 mods add at least one custom projectile type not in OpenRA core: ElectricBolt (procedurally generated segmented lightning bolts with configurable width, distortion, and segment length — see research/openra-ra2-mod-architecture.md § “Tesla Bolt / ElectricBolt System”). The ArcLaserZap projectile used for mind control links is another RA2-specific type. IC’s projectile system must support registration of custom projectile types via WASM (Tier 3) or game module system_pipeline().
Warheads define what happens when a weapon hits. Multiple warheads per weapon.
Warhead Purpose
WarheadBase warhead class
DamageWarheadBase class for damage-dealing warheads
SpreadDamageWarheadDamage with falloff over radius
TargetDamageWarheadDirect damage to target only
HealthPercentageDamageWarheadPercentage-based damage
ChangeOwnerWarheadChanges actor ownership
CreateEffectWarheadCreates visual/sound effects
CreateResourceWarheadCreates resources (like ore)
DestroyResourceWarheadDestroys resources on ground
FireClusterWarheadFires cluster submunitions
FlashEffectWarheadScreen flash effect
FlashTargetsInRadiusWarheadFlashes affected targets
GrantExternalConditionWarheadGrants condition to targets
LeaveSmudgeWarheadCreates terrain smudges
ShakeScreenWarheadScreen shake on impact
Warhead extensibility evidence: RA2 mods extend this list with RadiationWarhead (creates persistent radiation cells in the world-level TintedCellsLayer — not target damage, but environmental contamination), and community mods like Romanovs-Vengeance add temporal displacement, infection, and terrain-modifying warheads. OpenHV adds PeriodicDischargeWarhead (damage over time). IC needs a WarheadRegistry that accepts game-module and WASM-registered warhead types, not just the 15 built-in types.
Trait Purpose
RenderSpritesBase sprite renderer
RenderSpritesEditorOnlySprites only in editor
WithSpriteBodyStandard sprite body
WithFacingSpriteBodySprite body with facing
WithInfantryBodyInfantry-specific animations
WithWallSpriteBodyAuto-connecting wall sprites
WithBridgeSpriteBodyBridge sprite
WithDeadBridgeSpriteBodyDestroyed bridge sprite
WithGateSpriteBodyGate open/close animation
WithCrateBodyCrate sprite
WithChargeSpriteBodyCharge-based sprite change
WithResourceLevelSpriteBodyResource level visualization
Trait Purpose
WithMakeAnimationConstruction animation
WithMakeOverlayConstruction overlay
WithIdleAnimationIdle animation
WithIdleOverlayIdle overlay
WithAttackAnimationAttack animation
WithAttackOverlayAttack overlay
WithMoveAnimationMovement animation
WithHarvestAnimationHarvesting animation
WithHarvestOverlayHarvesting overlay
WithDeathAnimationDeath animation
WithDamageOverlayDamage state overlay
WithAimAnimationAiming animation
WithDockingAnimationDocking animation
WithDockingOverlayDocking overlay
WithDockedOverlayDocked state overlay
WithDeliveryAnimationDelivery animation
WithResupplyAnimationResupply animation
WithBuildingPlacedAnimationPlaced animation
WithBuildingPlacedOverlayPlaced overlay
WithChargeOverlayCharge state overlay
WithProductionDoorOverlayFactory door animation
WithProductionOverlayProduction activity overlay
WithRepairOverlayRepair animation
WithResourceLevelOverlayResource level overlay
WithSwitchableOverlayToggleable overlay
WithSupportPowerActivationAnimationSuperweapon activation
WithSupportPowerActivationOverlaySuperweapon overlay
WithTurretAimAnimationTurret aim animation
WithTurretAttackAnimationTurret attack animation
Trait Purpose
WithMuzzleOverlayMuzzle flash
WithSpriteBarrelVisible weapon barrel
WithSpriteTurretVisible turret sprite
WithParachuteParachute rendering
WithShadowShadow rendering
ContrailContrail effect
FloatingSpriteEmitterFloating sprite particles
LeavesTrailsTrail effects
HoversHovering animation
WithAircraftLandingEffectLanding dust effect
Trait Purpose
WithDecorationGeneric decoration
WithDecorationBaseBase decoration class
WithNameTagDecorationName tag above actor
WithTextDecorationText above actor
WithTextControlGroupDecorationControl group number
WithSpriteControlGroupDecorationControl group sprite
WithBuildingRepairDecorationRepair icon
WithRangeCircleRange circle display
WithProductionIconOverlayProduction icon modification
ProductionIconOverlayManagerManages production icon overlays
Trait Purpose
CashTricklerBarCash trickle progress bar
ProductionBarProduction progress
ReloadArmamentsBarWeapon reload progress
SupportPowerChargeBarSuperweapon charge progress
TimedConditionBarTimed condition remaining
Trait Purpose
WithAmmoPipsDecorationAmmo pips
WithCargoPipsDecorationPassenger pips
WithResourceStoragePipsDecorationResource storage pips
WithStoresResourcesPipsDecorationStored resources pips
Trait Purpose
SelectionDecorationsSelection box rendering
SelectionDecorationsBaseBase selection rendering
IsometricSelectionDecorationsIsometric selection boxes
Trait Purpose
RenderDebugStateDebug state overlay
RenderDetectionCircleDetection radius
RenderJammerCircleJammer radius
RenderMouseBoundsMouse bounds debug
RenderRangeCircleWeapon range debug
RenderShroudCircleShroud range debug
CustomTerrainDebugOverlayTerrain debug overlay
DrawLineToTargetLine to target debug
Trait Purpose
TerrainRendererRenders terrain tiles
ShroudRendererRenders fog of war/shroud
ResourceRendererRenders resource sprites
WeatherOverlayWeather effects (rain, snow)
TerrainLightingGlobal terrain lighting
TerrainGeometryOverlayTerrain cell debug
SmudgeLayerTerrain smudge rendering
RenderPostProcessPassBasePost-processing base
BuildableTerrainOverlayBuildable area overlay
Trait Purpose
PaletteFromFileLoad palette from .pal file
PaletteFromPngPalette from PNG image
PaletteFromGimpOrJascFileGIMP/JASC palette format
PaletteFromRGBAProgrammatic RGBA palette
PaletteFromGrayscaleGenerated grayscale palette
PaletteFromEmbeddedSpritePalettePalette from sprite data
PaletteFromPaletteWithAlphaPalette with alpha modification
PaletteFromPlayerPaletteWithAlphaPlayer palette + alpha
IndexedPaletteIndex-based palette
IndexedPlayerPalettePlayer-colored indexed palette
PlayerColorPalettePlayer team color palette
FixedColorPaletteFixed color palette
ColorPickerPaletteColor picker palette
Trait Purpose
PlayerColorShiftPlayer color application
FixedPlayerColorShiftFixed player color shift
FixedColorShiftFixed color modification
ColorPickerColorShiftColor picker integration
RotationPaletteEffectPalette rotation animation (e.g., water)
CloakPaletteEffectCloak shimmer effect
FlashPostProcessEffectScreen flash post-process
MenuPostProcessEffectMenu screen effect
TintPostProcessEffectColor tint post-process
Trait Purpose
AmbientSoundLooping ambient sounds
AttackSoundsWeapon fire sounds
DeathSoundsDeath sounds
ActorLostNotification“Unit lost” notification
AnnounceOnKillKill announcement
AnnounceOnSeenSighting announcement
CaptureNotificationCapture notification
SoundOnDamageTransitionSound at damage thresholds
VoiceAnnouncementVoice line playback
StartGameNotificationGame start sound
MusicPlaylistMusic track management
Trait Purpose
SupportPowerManagerPlayer-level power management
SupportPowerBase support power class
AirstrikePowerAirstrike superweapon
NukePowerNuclear strike
ParatroopersPowerParadrop reinforcements
SpawnActorPowerSpawn actor (e.g., spy plane)
ProduceActorPowerProduce actor via power
GrantExternalConditionPowerCondition-granting power
DirectionalSupportPowerDirectional targeting (e.g., airstrike corridor)
SelectDirectionalTargetUI for directional targeting
Trait Purpose
CrateBase crate actor
CrateActionBase crate action class
GiveCashCrateActionCash bonus
GiveUnitCrateActionSpawn unit
GiveBaseBuilderCrateActionMCV/base builder
DuplicateUnitCrateActionDuplicate collector
ExplodeCrateActionExplosive trap
HealActorsCrateActionHeal nearby units
LevelUpCrateActionVeterancy level up
RevealMapCrateActionMap reveal
HideMapCrateActionRe-hide map
GrantExternalConditionCrateActionGrant condition
SupportPowerCrateActionGrant support power
CrateSpawnerWorld trait: spawns crates
Trait Purpose
GainsExperienceGains XP from kills
GivesExperienceAwards XP to killer
ExperienceTricklerPassive XP gain over time
ProducibleWithLevelProduced at veterancy level
PlayerExperiencePlayer-wide XP pool
GainsExperienceMultiplierXP gain modifier
GivesExperienceMultiplierXP award modifier
Trait Purpose
ShroudCore shroud/fog state management
FrozenActorLayerFrozen actor ghost rendering
Trait Purpose
AffectsShroudBase for shroud-affecting traits
CreatesShroudCreates shroud around actor
RevealsShroudReveals shroud (sight)
FrozenUnderFogHidden under fog of war
HiddenUnderFogInvisible under fog
HiddenUnderShroudInvisible under shroud
ShroudRendererRenders shroud overlay
PlayerRadarTerrainPlayer-specific radar terrain
WithColoredOverlayColored overlay (e.g., frozen tint)
Trait Purpose
PowerProvides/consumes power
PowerManagerPlayer-level power tracking
PowerMultiplierPower amount modifier
ScalePowerWithHealthPower scales with damage
AffectedByPowerOutageDisabled during power outage
GrantConditionOnPowerStateCondition based on power level
PowerTooltipShows power info
PowerDownBotManagerAI power management
Trait Purpose
AppearsOnRadarVisible on minimap
ProvidesRadarEnables minimap
RadarColorFromTerrainRadar color from terrain type
RadarPingsRadar ping markers
RadarWidgetMinimap UI widget