Files
OpenRA/mods/ra/rules/defaults.yaml
atlimit8 bbd54cb32f Added IDisabledTrait & rewrote upgrade code using a level-based approach.
Upgradeable traits are notified whenever an upgrade of their declared types are granted or revoked.  The traits maintain their own internal level counter, which is then used to enable or disable the trait functionality.  A trait can register for multiple upgrade types which then all affect the internal level counter.

	IDisabledTrait for identifying (and filtering) disabled traits
	UpgradableTrait provides an abstract base for traits to support upgrade levels
	Added IDisabledTrait support to GlobalButtonOrderGenerator

	Includes rework by pchote with alterations.
2014-11-26 05:45:26 -06:00

684 lines
12 KiB
YAML

^Vehicle:
AppearsOnRadar:
Mobile:
Crushes: mine, crate
TerrainSpeeds:
Clear: 80
Rough: 40
Road: 100
Bridge: 100
Ore: 70
Gems: 70
Beach: 40
ROT: 5
SelectionDecorations:
Selectable:
Voice: VehicleVoice
TargetableUnit:
TargetTypes: Ground, Repair, Vehicle
Repairable:
Chronoshiftable:
Passenger:
CargoType: Vehicle
AttackMove:
HiddenUnderFog:
GainsExperience:
GivesExperience:
DrawLineToTarget:
ActorLostNotification:
ProximityCaptor:
Types: Vehicle
GivesBounty:
GpsDot:
String: Vehicle
WithSmoke:
UpdatesPlayerStatistics:
CombatDebugOverlay:
Guard:
Guardable:
BodyOrientation:
Tooltip:
GenericName: Vehicle
EjectOnDeath:
PilotActor: e1
SuccessRate: 20
EjectOnGround: true
EjectInAir: false
AllowUnsuitableCell: false
Huntable:
Capturable:
Type: vehicle
CaptureThreshold: 1
CancelActivity: True
CaptureNotification:
Notification: UnitStolen
ScriptTriggers:
GainsStatUpgrades:
SelfHealing@ELITE:
Step: 2
Ticks: 100
HealIfBelow: 1
DamageCooldown: 125
UpgradeTypes: selfheal
UpgradeMinEnabledLevel: 1
UpgradeManager:
UpgradeOverlay@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
InvulnerabilityUpgrade@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
UpgradeMaxAcceptedLevel: 2
TimedUpgradeBar:
Upgrade: invulnerability
^Tank:
AppearsOnRadar:
Mobile:
Crushes: wall, mine, crate
TerrainSpeeds:
Clear: 80
Rough: 70
Road: 100
Bridge: 100
Ore: 70
Gems: 70
Beach: 70
ROT: 5
SelectionDecorations:
Selectable:
Voice: VehicleVoice
TargetableUnit:
TargetTypes: Ground, C4, Repair, Tank
Repairable:
Chronoshiftable:
Passenger:
CargoType: Vehicle
AttackMove:
HiddenUnderFog:
GainsExperience:
GivesExperience:
DrawLineToTarget:
ActorLostNotification:
ProximityCaptor:
Types: Tank
GivesBounty:
GpsDot:
String: Vehicle
WithSmoke:
UpdatesPlayerStatistics:
CombatDebugOverlay:
Guard:
Guardable:
BodyOrientation:
Tooltip:
GenericName: Tank
EjectOnDeath:
PilotActor: e1
SuccessRate: 20
EjectOnGround: true
EjectInAir: false
AllowUnsuitableCell: false
Huntable:
Capturable:
Type: vehicle
CaptureThreshold: 1
CancelActivity: True
CaptureNotification:
Notification: UnitStolen
ScriptTriggers:
GainsStatUpgrades:
SelfHealing@ELITE:
Step: 2
Ticks: 100
HealIfBelow: 1
DamageCooldown: 125
UpgradeTypes: selfheal
UpgradeMinEnabledLevel: 1
UpgradeManager:
UpgradeOverlay@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
InvulnerabilityUpgrade@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
UpgradeMaxAcceptedLevel: 2
TimedUpgradeBar:
Upgrade: invulnerability
^Infantry:
AppearsOnRadar:
Health:
Radius: 128
Armor:
Type: None
RevealsShroud:
Range: 4c0
Mobile:
Crushes: mine, crate
SharesCell: true
TerrainSpeeds:
Clear: 90
Rough: 80
Road: 100
Bridge: 100
Ore: 80
Gems: 80
Beach: 80
SelectionDecorations:
Selectable:
Voice: GenericVoice
TargetableUnit:
TargetTypes: Ground, Infantry, Disguise
RenderInfantry:
WithDeathAnimation:
AutoTarget:
AttackMove:
Passenger:
CargoType: Infantry
HiddenUnderFog:
GainsExperience:
GivesExperience:
DrawLineToTarget:
ActorLostNotification:
ProximityCaptor:
Types: Infantry
GivesBounty:
GpsDot:
String: Infantry
Crushable:
CrushSound: squishy2.aud
UpdatesPlayerStatistics:
CombatDebugOverlay:
Guard:
Guardable:
BodyOrientation:
Tooltip:
GenericName: Soldier
SelfHealing@HOSPITAL:
Step: 5
Ticks: 100
HealIfBelow: 1
DamageCooldown: 125
UpgradeTypes: hospitalheal
UpgradeMinEnabledLevel: 1
GlobalUpgradable:
Upgrades: hospitalheal
Prerequisites: hosp
Huntable:
ScriptTriggers:
DeathSounds@NORMAL:
DeathTypes: 1, 2, 3, 4
DeathSounds@BURNED:
DeathSound: Burned
DeathTypes: 5
DeathSounds@ZAPPED:
DeathSound: Zapped
DeathTypes: 6
Parachutable:
ParachuteOffset: 0,0,427
KilledOnImpassableTerrain: true
ParachuteSequence: parach
ShadowSequence: parach-shadow
GroundImpactSound: squishy2.aud
WaterImpactSound: splash9.aud
Cloneable:
Types: Infantry
GainsStatUpgrades:
SelfHealing@ELITE:
Step: 2
Ticks: 100
HealIfBelow: 1
DamageCooldown: 125
UpgradeTypes: selfheal
UpgradeMinEnabledLevel: 1
UpgradeManager:
^Ship:
AppearsOnRadar:
Mobile:
Crushes: crate
TerrainSpeeds:
Water: 100
SelectionDecorations:
Selectable:
Voice: VehicleVoice
TargetableUnit:
TargetTypes: Ground, Water, Repair
HiddenUnderFog:
AttackMove:
GainsExperience:
GivesExperience:
DrawLineToTarget:
ActorLostNotification:
Notification: NavalUnitLost
ProximityCaptor:
Types: Ship
GivesBounty:
GpsDot:
String: Ship
WithSmoke:
UpdatesPlayerStatistics:
CombatDebugOverlay:
Guard:
Guardable:
BodyOrientation:
Tooltip:
GenericName: Ship
Huntable:
ScriptTriggers:
GainsStatUpgrades:
SelfHealing@ELITE:
Step: 2
Ticks: 100
HealIfBelow: 1
DamageCooldown: 125
UpgradeTypes: selfheal
UpgradeMinEnabledLevel: 1
UpgradeManager:
UpgradeOverlay@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
InvulnerabilityUpgrade@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
UpgradeMaxAcceptedLevel: 2
TimedUpgradeBar:
Upgrade: invulnerability
UpgradeMinEnabledLevel: 1
^Plane:
AppearsOnRadar:
UseLocation: true
SelectionDecorations:
Selectable:
Voice: GenericVoice
TargetableAircraft:
TargetTypes: Air
GroundedTargetTypes: Ground, Repair
HiddenUnderFog:
AttackMove:
Guard:
Guardable:
GainsExperience:
GivesExperience:
DrawLineToTarget:
ActorLostNotification:
Notification: AirUnitLost
ProximityCaptor:
Types: Plane
EjectOnDeath:
PilotActor: E1
SuccessRate: 50
EjectOnGround: false
EjectInAir: true
AllowUnsuitableCell: true
GivesBounty:
GpsDot:
String: Plane
UpdatesPlayerStatistics:
CombatDebugOverlay:
BodyOrientation:
Tooltip:
GenericName: Plane
Huntable:
ScriptTriggers:
GainsStatUpgrades:
SelfHealing@ELITE:
Step: 2
Ticks: 100
HealIfBelow: 1
DamageCooldown: 125
UpgradeTypes: selfheal
UpgradeMinEnabledLevel: 1
UpgradeManager:
UpgradeOverlay@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
InvulnerabilityUpgrade@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
UpgradeMaxAcceptedLevel: 2
TimedUpgradeBar:
Upgrade: invulnerability
^Helicopter:
Inherits: ^Plane
Tooltip:
GenericName: Helicopter
GpsDot:
String: Helicopter
^Building:
AppearsOnRadar:
SelectionDecorations:
Selectable:
Priority: 3
TargetableBuilding:
TargetTypes: Ground, C4, DetonateAttack, Structure
Building:
Dimensions: 1,1
Footprint: x
TerrainTypes: Clear,Road
RequiresBaseProvider: True
GivesBuildableArea:
ExternalCapturable:
ExternalCapturableBar:
SoundOnDamageTransition:
DamagedSound: kaboom1.aud
DestroyedSound: kaboom22.aud
RenderBuilding:
WithMakeAnimation:
WithBuildingExplosion:
RepairableBuilding:
EngineerRepairable:
EmitInfantryOnSell:
ActorTypes: e1,e1,e1,e1,e1,e1,e1,e1,e1,e1,e1,e1,e1,e1,e1,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,e6,e6,e6,e6,e6
MustBeDestroyed:
GivesExperience:
CaptureNotification:
EditorAppearance:
RelativeToTopLeft: true
ShakeOnDeath:
ProximityCaptor:
Types: Building
Sellable:
SellSounds: cashturn.aud
AcceptsSupplies:
GivesBounty:
UpdatesPlayerStatistics:
CombatDebugOverlay:
Guardable:
Range: 3
BodyOrientation:
FrozenUnderFog:
Tooltip:
GenericName: Structure
GpsDot:
String: Structure
Huntable:
Demolishable:
ScriptTriggers:
UpgradeManager:
UpgradeOverlay@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
InvulnerabilityUpgrade@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
UpgradeMaxAcceptedLevel: 2
TimedUpgradeBar:
Upgrade: invulnerability
^Defense:
Inherits: ^Building
TargetableBuilding:
TargetTypes: Ground, C4, DetonateAttack, Structure, Defense
-MustBeDestroyed:
^Wall:
AppearsOnRadar:
Building:
Dimensions: 1,1
Footprint: x
BuildSounds: placbldg.aud
Adjacent: 7
TerrainTypes: Clear,Road
SoundOnDamageTransition:
DamagedSound: sandbag2.aud
DestroyedSound: sandbag2.aud
Crushable:
CrushClasses: wall
BlocksBullets:
LineBuild:
Range: 8
NodeTypes: wall
LineBuildNode:
Types: wall
TargetableBuilding:
TargetTypes: Ground, DetonateAttack
RenderBuildingWall:
Palette: terrain
GivesExperience:
EditorAppearance:
RelativeToTopLeft: true
UseTerrainPalette: true
AutoTargetIgnore:
ProximityCaptor:
Types: Wall
Sellable:
SellSounds: cashturn.aud
Guardable:
BodyOrientation:
FrozenUnderFog:
ScriptTriggers:
^TechBuilding:
Inherits: ^Building
-RepairableBuilding:
-EngineerRepairable:
Health:
HP: 400
Armor:
Type: Wood
Tooltip:
Name: Civilian Building
GenericVisibility: None
ProximityCaptor:
Types: CivilianBuilding
-WithMakeAnimation:
-AcceptsSupplies:
-GivesBuildableArea:
-Sellable:
-ExternalCapturable:
-ExternalCapturableBar:
FrozenUnderFog:
StartsRevealed: true
-GpsDot:
-MustBeDestroyed:
^AmmoBox:
Inherits: ^TechBuilding
Selectable:
Priority: 0
Health:
HP: 10
Explodes:
Weapon: UnitExplode
Tooltip:
Name: Ammo Box
AutoTargetIgnore:
Armor:
Type: Light
TargetableBuilding:
TargetTypes: Ground, DetonateAttack
^CivInfantry:
Inherits: ^Infantry
Selectable:
Voice: CivilianMaleVoice
Bounds: 12,17,0,-9
Valued:
Cost: 70
Tooltip:
Name: Civilian
GenericVisibility: None
Health:
HP: 20
Mobile:
Speed: 56
RevealsShroud:
Range: 2c0
Armament:
Weapon: Pistol
AttackFrontal:
ProximityCaptor:
Types: CivilianInfantry
RenderInfantry:
ScaredyCat:
^CivBuilding:
Inherits: ^TechBuilding
RenderBuilding:
Palette: terrain
EditorAppearance:
UseTerrainPalette: true
^CivField:
Inherits: ^CivBuilding
-Selectable:
Tooltip:
Name: Field
-TargetableBuilding:
-Demolishable:
ProximityCaptor:
Types: CivilianField
^Tree:
Tooltip:
Name: Tree
RenderBuilding:
Palette: terrain
Building:
Footprint: x
Dimensions: 1,1
AppearsOnRadar:
RadarColorFromTerrain:
Terrain: Tree
EditorAppearance:
RelativeToTopLeft: true
UseTerrainPalette: true
ProximityCaptor:
Types: Tree
Health:
HP: 500
DeadBuildingState:
Armor:
Type: Wood
AutoTargetIgnore:
BodyOrientation:
FrozenUnderFog:
StartsRevealed: true
ScriptTriggers:
^Husk:
Husk:
AllowedTerrain: Clear, Rough, Road, Ore, Gems, Beach
RenderUnit:
Health:
HP: 280
Armor:
Type: Heavy
HiddenUnderFog:
Burns:
Damage: 2
ProximityCaptor:
Types: Husk
BodyOrientation:
Chronoshiftable:
TargetableUnit:
TargetTypes: Ground
RequiresForceFire: true
Tooltip:
GenericName: Destroyed Vehicle
AutoTargetIgnore:
Capturable:
Type: husk
AllowAllies: true
CaptureThreshold: 1.0
TransformOnCapture:
ForceHealthPercentage: 25
DisabledOverlay:
ScriptTriggers:
^HelicopterHusk:
Inherits: ^Husk
-Husk:
-Burns:
FallsToEarth:
Spins: True
Moves: False
-TargetableUnit:
-Capturable:
-TransformOnCapture:
^PlaneHusk:
Inherits: ^Husk
-Husk:
-Burns:
FallsToEarth:
Spins: False
Moves: True
-TargetableUnit:
-Capturable:
-TransformOnCapture:
^Bridge:
Tooltip:
Name: Bridge
TargetableBuilding:
TargetTypes: Ground, Water
RequiresForceFire: true
Building:
Footprint: ____ ____
Dimensions: 4,2
Health:
HP: 1000
ProximityCaptor:
Types: Bridge
Armor:
Type: Concrete
AutoTargetIgnore:
BodyOrientation:
ScriptTriggers:
^Rock:
Tooltip:
Name: Rock
RenderBuilding:
Palette: terrain
Building:
Footprint: __ x_
Dimensions: 2,2
AppearsOnRadar:
RadarColorFromTerrain:
Terrain: Tree
EditorAppearance:
RelativeToTopLeft: true
UseTerrainPalette: true
ProximityCaptor:
Types: Tree
BodyOrientation:
FrozenUnderFog:
StartsRevealed: true
ScriptTriggers:
^DesertCivBuilding:
Inherits: ^CivBuilding
RenderBuilding:
Palette: terrain
^Crate:
Tooltip:
Name: Crate
GenericName: Crate
Crate:
Lifetime: 180
TerrainTypes: Clear, Rough, Road, Ore, Beach
RenderSprites:
Palette: effect
WithCrateBody:
Images: scrate
XmasImages: xcratea, xcrateb, xcratec, xcrated
Selectable:
Selectable: false
Bounds: 15,15,-1,-1
ProximityCaptor:
Types: Crate
BodyOrientation:
Parachutable:
KilledOnImpassableTerrain: false
ParachuteSequence: parach
Passenger: