Files
OpenRA/mods/ra/rules/defaults.yaml
RoosterDragon 3c930c3ef9 Introduce FrozenUnderFogUpdatedByGps and IOnGpsRefreshed.
This trait uses the new interface to register with the GpsWatcher to get notified when the GPS state changes. It needs to register as if the actor is destroyed, the GpsWatcher can no longer query actors in the world to get the trait. This is no good as the trait needs to perform actions after the death of its parent actor.

When the GPS is enabled, the trait will track ownership changes and update the frozen actor (just like if there was only a GPS dot, it would change colour) and it will also remove frozen actors if the real actor dies or is sold.
2016-01-17 00:13:06 +00:00

753 lines
14 KiB
YAML

^ExistsInWorld:
AppearsOnRadar:
CombatDebugOverlay:
GivesExperience:
ScriptTriggers:
UpgradeManager:
Huntable:
RenderDebugState:
^SpriteActor:
BodyOrientation:
QuantizeFacingsFromSequence:
AutoSelectionSize:
RenderSprites:
^GainsExperience:
GainsExperience:
Upgrades:
200: firepower, damage, speed, reload, inaccuracy, rank
400: firepower, damage, speed, reload, inaccuracy, rank
800: firepower, damage, speed, reload, inaccuracy, rank
1600: firepower, damage, speed, reload, inaccuracy, rank, eliteweapon, selfheal
DamageMultiplier@EXPERIENCE:
UpgradeTypes: damage
Modifier: 95, 90, 85, 75
FirepowerMultiplier@EXPERIENCE:
UpgradeTypes: firepower
Modifier: 105, 110, 120, 130
SpeedMultiplier@EXPERIENCE:
UpgradeTypes: speed
Modifier: 105, 110, 120, 140
ReloadDelayMultiplier@EXPERIENCE:
UpgradeTypes: reload
Modifier: 95, 90, 85, 75
InaccuracyMultiplier@EXPERIENCE:
UpgradeTypes: inaccuracy
Modifier: 90, 80, 70, 50
SelfHealing@ELITE:
Step: 2
Ticks: 100
HealIfBelow: 1
DamageCooldown: 125
UpgradeTypes: selfheal
UpgradeMinEnabledLevel: 1
WithRankDecoration:
Image: rank
Sequence: rank
Palette: effect
ReferencePoint: Bottom, Right
UpgradeTypes: rank
ZOffset: 256
UpgradeMinEnabledLevel: 1
UpgradeMaxAcceptedLevel: 4
^IronCurtainable:
UpgradeOverlay@IRONCURTAIN:
UpgradeTypes: invulnerability
UpgradeMinEnabledLevel: 1
DamageMultiplier@IRONCURTAIN:
UpgradeTypes: invulnerability
Modifier: 0
TimedUpgradeBar:
Upgrade: invulnerability
^Vehicle:
Inherits@1: ^ExistsInWorld
Inherits@2: ^GainsExperience
Inherits@3: ^IronCurtainable
Inherits@4: ^SpriteActor
DrawLineToTarget:
UpdatesPlayerStatistics:
Mobile:
Crushes: mine, crate
TerrainSpeeds:
Clear: 80
Rough: 40
Road: 100
Bridge: 100
Ore: 70
Gems: 70
Beach: 40
ROT: 5
SelectionDecorations:
Selectable:
Bounds: 24, 24
Targetable:
TargetTypes: Ground, Repair, Vehicle
UpgradeTypes: parachute
UpgradeMaxEnabledLevel: 0
Repairable:
Chronoshiftable:
Passenger:
CargoType: Vehicle
AttackMove:
HiddenUnderFog:
ActorLostNotification:
ProximityCaptor:
Types: Vehicle
GivesBounty:
GpsDot:
String: Vehicle
WithSmoke:
Guard:
Guardable:
Tooltip:
GenericName: Vehicle
EjectOnDeath:
PilotActor: e1
SuccessRate: 20
EjectOnGround: true
EjectInAir: false
AllowUnsuitableCell: false
Capturable:
Type: vehicle
CaptureThreshold: 1
CancelActivity: True
CaptureNotification:
Notification: UnitStolen
MustBeDestroyed:
Voiced:
VoiceSet: VehicleVoice
Parachutable:
FallRate: 26
KilledOnImpassableTerrain: true
GroundCorpseSequence:
GroundCorpsePalette:
WaterCorpseSequence:
WaterCorpsePalette:
Explodes:
Weapon: UnitExplodeSmall
EmptyWeapon: UnitExplodeSmall
WithFacingSpriteBody:
WithParachute:
UpgradeTypes: parachute
UpgradeMinEnabledLevel: 1
ShadowImage: parach-shadow
ShadowSequence: idle
Image: parach
Sequence: idle
OpeningSequence: open
Offset: 0,0,200
^Tank:
Inherits: ^Vehicle
Mobile:
Crushes: wall, mine, crate
TerrainSpeeds:
Clear: 80
Rough: 70
Road: 100
Bridge: 100
Ore: 70
Gems: 70
Beach: 70
Targetable:
TargetTypes: Ground, C4, Repair, Tank
ProximityCaptor:
Types: Tank
Tooltip:
GenericName: Tank
^Infantry:
Inherits@1: ^ExistsInWorld
Inherits@2: ^GainsExperience
Inherits@3: ^SpriteActor
DrawLineToTarget:
Health:
HP: 25
Shape: Circle
Radius: 128
Armor:
Type: None
RevealsShroud:
Range: 4c0
Mobile:
Speed: 56
Crushes: mine, crate
SharesCell: true
TerrainSpeeds:
Clear: 90
Rough: 80
Road: 100
Bridge: 100
Ore: 80
Gems: 80
Beach: 80
SelectionDecorations:
Selectable:
Bounds: 12,18,0,-8
Targetable:
TargetTypes: Ground, Infantry, Disguise
UpgradeTypes: parachute
UpgradeMaxEnabledLevel: 0
QuantizeFacingsFromSequence:
Sequence: stand
WithInfantryBody:
WithDeathAnimation:
DeathTypes:
DefaultDeath: 1
BulletDeath: 2
SmallExplosionDeath: 3
ExplosionDeath: 4
FireDeath: 5
ElectricityDeath: 6
CrushedSequence: die-crushed
AttackMove:
Passenger:
CargoType: Infantry
HiddenUnderFog:
ActorLostNotification:
GivesBounty:
GpsDot:
String: Infantry
Crushable:
CrushSound: squishy2.aud
Guard:
Guardable:
Tooltip:
GenericName: Soldier
SelfHealing@HOSPITAL:
Step: 5
Ticks: 100
HealIfBelow: 1
DamageCooldown: 125
UpgradeTypes: hospitalheal
UpgradeMinEnabledLevel: 1
GlobalUpgradable:
Upgrades: hospitalheal
Prerequisites: hosp
DeathSounds@NORMAL:
DeathTypes: DefaultDeath, BulletDeath, SmallExplosionDeath, ExplosionDeath
DeathSounds@BURNED:
Voice: Burned
DeathTypes: FireDeath
DeathSounds@ZAPPED:
Voice: Zapped
DeathTypes: ElectricityDeath
Parachutable:
FallRate: 26
KilledOnImpassableTerrain: true
GroundImpactSound: squishy2.aud
WaterImpactSound: splash9.aud
WaterCorpseSequence: small_splash
Cloneable:
Types: Infantry
Voiced:
VoiceSet: GenericVoice
WithParachute:
UpgradeTypes: parachute
UpgradeMinEnabledLevel: 1
ShadowImage: parach-shadow
ShadowSequence: idle
Image: parach
Sequence: idle
OpeningSequence: open
Offset: 0,0,427
^Soldier:
Inherits: ^Infantry
UpdatesPlayerStatistics:
MustBeDestroyed:
AutoTarget:
ProximityCaptor:
Types: Infantry
TakeCover:
DamageModifiers:
Prone50Percent: 50
DamageTriggers: TriggerProne
WithInfantryBody:
IdleSequences: idle1,idle2
StandSequences: stand,stand2
DetectCloaked:
CloakTypes: Hijacker
^CivInfantry:
Inherits: ^Infantry
Selectable:
Class: CivInfantry
Valued:
Cost: 10
Tooltip:
Name: Civilian
GenericVisibility: None
RevealsShroud:
Range: 2c0
ProximityCaptor:
Types: CivilianInfantry
ScaredyCat:
Voiced:
VoiceSet: CivilianMaleVoice
^ArmedCivilian:
Armament:
Weapon: Pistol
AttackFrontal:
WithInfantryBody:
AttackSequence: shoot
^Ship:
Inherits@1: ^ExistsInWorld
Inherits@2: ^GainsExperience
Inherits@3: ^IronCurtainable
Inherits@4: ^SpriteActor
DrawLineToTarget:
UpdatesPlayerStatistics:
Mobile:
Crushes: crate
TerrainSpeeds:
Water: 100
SelectionDecorations:
Selectable:
Bounds: 24,24
Targetable:
TargetTypes: Ground, Water, Repair
HiddenUnderFog:
AttackMove:
ActorLostNotification:
Notification: NavalUnitLost
ProximityCaptor:
Types: Ship
GivesBounty:
Chronoshiftable:
RepairableNear:
GpsDot:
String: Ship
WithSmoke:
Explodes:
Weapon: UnitExplodeShip
EmptyWeapon: UnitExplodeShip
Guard:
Guardable:
Tooltip:
GenericName: Ship
MustBeDestroyed:
EditorTilesetFilter:
ExcludeTilesets: INTERIOR
Voiced:
VoiceSet: VehicleVoice
WithFacingSpriteBody:
^Plane:
Inherits@1: ^ExistsInWorld
Inherits@2: ^GainsExperience
Inherits@3: ^IronCurtainable
Inherits@4: ^SpriteActor
DrawLineToTarget:
UpdatesPlayerStatistics:
AppearsOnRadar:
UseLocation: true
SelectionDecorations:
Selectable:
Bounds: 24,24
Aircraft:
RepairBuildings: fix
RearmBuildings: afld
AirborneUpgrades: airborne
CruisingUpgrades: cruising
Targetable@GROUND:
TargetTypes: Ground, Repair, Vehicle
UpgradeTypes: airborne
UpgradeMaxEnabledLevel: 0
Targetable@AIRBORNE:
TargetTypes: Air
UpgradeTypes: airborne
UpgradeMinEnabledLevel: 1
HiddenUnderFog:
Type: CenterPosition
AttackMove:
Guard:
Guardable:
ActorLostNotification:
Notification: AirUnitLost
ProximityCaptor:
Types: Plane
EjectOnDeath:
PilotActor: E1
SuccessRate: 50
EjectOnGround: false
EjectInAir: true
AllowUnsuitableCell: true
GivesBounty:
GpsDot:
String: Plane
Tooltip:
GenericName: Plane
WithShadow:
WithFacingSpriteBody:
MustBeDestroyed:
Voiced:
VoiceSet: GenericVoice
^Helicopter:
Inherits: ^Plane
Tooltip:
GenericName: Helicopter
Aircraft:
RearmBuildings: hpad
CanHover: True
GpsDot:
String: Helicopter
Hovers@CRUISING:
UpgradeTypes: cruising
UpgradeMinEnabledLevel: 1
^BasicBuilding:
Inherits@1: ^ExistsInWorld
Inherits@2: ^IronCurtainable
Inherits@3: ^SpriteActor
SelectionDecorations:
Selectable:
Priority: 3
Targetable:
TargetTypes: Ground, C4, DetonateAttack, Structure
Building:
Dimensions: 1,1
Footprint: x
TerrainTypes: Clear,Road
RequiresBaseProvider: True
SoundOnDamageTransition:
DamagedSounds: kaboom1.aud
DestroyedSounds: kaboom22.aud
WithSpriteBody:
WithBuildingExplosion:
Sequences: building, building_napalm, large_explosion, self_destruct, large_napalm
CaptureNotification:
ShakeOnDeath:
ProximityCaptor:
Types: Building
GivesBounty:
Guardable:
Range: 3c0
FrozenUnderFog:
FrozenUnderFogUpdatedByGps:
Tooltip:
GenericName: Structure
Demolishable:
^Building:
Inherits: ^BasicBuilding
UpdatesPlayerStatistics:
GivesBuildableArea:
RepairableBuilding:
EngineerRepairable:
AcceptsSupplies:
WithMakeAnimation:
ExternalCapturable:
ExternalCapturableBar:
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:
RequiredForShortGame: true
GpsDot:
String: Structure
Sellable:
SellSounds: cashturn.aud
^ScienceBuilding:
Inherits: ^Building
EmitInfantryOnSell:
ActorTypes: e1,e1,e1,e1,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,e6,e6,e6,e6,e6,chan,chan,chan,chan
^Defense:
Inherits: ^Building
Targetable:
TargetTypes: Ground, C4, DetonateAttack, Structure, Defense
MustBeDestroyed:
RequiredForShortGame: false
AutoTarget:
-GivesBuildableArea:
-AcceptsSupplies:
DrawLineToTarget:
RenderRangeCircle:
^Wall:
Inherits@1: ^ExistsInWorld
Inherits@2: ^SpriteActor
Building:
Dimensions: 1,1
Footprint: x
BuildSounds: placbldg.aud
Adjacent: 7
TerrainTypes: Clear,Road
SoundOnDamageTransition:
DamagedSounds: sandbag2.aud
DestroyedSounds: sandbag2.aud
Crushable:
CrushClasses: wall
LineBuild:
Range: 8
NodeTypes: wall
LineBuildNode:
Types: wall
Targetable:
TargetTypes: Ground, DetonateAttack, Wall
RenderSprites:
Palette: effect
WithWallSpriteBody:
AutoTargetIgnore:
Sellable:
SellSounds: cashturn.aud
Guardable:
FrozenUnderFog:
FrozenUnderFogUpdatedByGps:
Health:
HP: 100
Shape: Rectangle
TopLeft: -512, -512
BottomRight: 512, 512
^TechBuilding:
Inherits: ^BasicBuilding
Health:
HP: 400
Armor:
Type: Wood
Tooltip:
Name: Civilian Building
GenericVisibility: None
FrozenUnderFog:
StartsRevealed: true
^FakeBuilding:
Inherits: ^Building
-GivesBuildableArea:
Health:
HP: 100
Explodes:
Weapon: Demolish
DamageThreshold: 90
RevealsShroud:
Range: 4c0
WithDecoration@fake:
RequiresSelection: true
Image: pips
Sequence: tag-fake
ReferencePoint: Top
ZOffset: 256
-EmitInfantryOnSell:
-MustBeDestroyed:
^AmmoBox:
Inherits: ^TechBuilding
-Selectable:
CustomSelectionSize:
CustomBounds: 24,24
Health:
HP: 10
Explodes:
Weapon: UnitExplode
Tooltip:
Name: Ammo Box
AutoTargetIgnore:
Armor:
Type: Light
Targetable:
TargetTypes: Ground, DetonateAttack
^CivBuilding:
Inherits: ^TechBuilding
RenderSprites:
Palette: terrain
EditorTilesetFilter:
ExcludeTilesets: INTERIOR
^CivField:
Inherits: ^CivBuilding
-Selectable:
Tooltip:
Name: Field
-Targetable:
-Demolishable:
EditorTilesetFilter:
ExcludeTilesets: INTERIOR
^Tree:
Inherits@1: ^SpriteActor
Tooltip:
Name: Tree
RenderSprites:
Palette: terrain
WithSpriteBody:
Building:
Footprint: x
Dimensions: 1,1
AppearsOnRadar:
RadarColorFromTerrain:
Terrain: Tree
Health:
HP: 500
Armor:
Type: Wood
AutoTargetIgnore:
HiddenUnderShroud:
ScriptTriggers:
EditorTilesetFilter:
ExcludeTilesets: INTERIOR
^BasicHusk:
Inherits@1: ^SpriteActor
Health:
HP: 280
Armor:
Type: Heavy
HiddenUnderFog:
Type: CenterPosition
AutoTargetIgnore:
ScriptTriggers:
WithFacingSpriteBody:
^Husk:
Inherits: ^BasicHusk
Husk:
AllowedTerrain: Clear, Rough, Road, Ore, Gems, Beach
Burns:
Damage: 2
Capturable:
Type: husk
AllowAllies: true
CaptureThreshold: 1.0
TransformOnCapture:
ForceHealthPercentage: 25
DisabledOverlay:
Targetable:
TargetTypes: Ground, Husk
RequiresForceFire: true
Chronoshiftable:
Tooltip:
GenericName: Destroyed Vehicle
^PlaneHusk:
Inherits: ^BasicHusk
WithShadow:
Tooltip:
GenericName: Destroyed Plane
Aircraft:
AirborneUpgrades: airborne
CruisingUpgrades: cruising
FallsToEarth:
Spins: False
Moves: True
Velocity: 86
^HelicopterHusk:
Inherits: ^BasicHusk
WithShadow:
Tooltip:
GenericName: Destroyed Helicopter
Aircraft:
AirborneUpgrades: airborne
CruisingUpgrades: cruising
CanHover: True
FallsToEarth:
^Bridge:
AlwaysVisible:
Tooltip:
Name: Bridge
Targetable:
TargetTypes: Ground, Water
RequiresForceFire: true
Building:
Footprint: ____ ____
Dimensions: 4,2
CustomSelectionSize:
CustomBounds: 96,48
Health:
HP: 1000
Armor:
Type: Concrete
AutoTargetIgnore:
ScriptTriggers:
^Rock:
Inherits@1: ^SpriteActor
Tooltip:
Name: Rock
RenderSprites:
Palette: terrain
WithSpriteBody:
Building:
Footprint: __ x_
Dimensions: 2,2
AppearsOnRadar:
RadarColorFromTerrain:
Terrain: Tree
HiddenUnderShroud:
ScriptTriggers:
EditorTilesetFilter:
RequireTilesets: DESERT
^DesertCivBuilding:
Inherits: ^CivBuilding
RenderSprites:
Palette: terrain
EditorTilesetFilter:
RequireTilesets: DESERT
^Crate:
Inherits@1: ^SpriteActor
HiddenUnderFog:
Tooltip:
Name: Crate
GenericName: Crate
Crate:
Lifetime: 180
TerrainTypes: Clear, Rough, Road, Ore, Beach
RenderSprites:
Palette: effect
Image: scrate
WithCrateBody:
XmasImages: xcratea, xcrateb, xcratec, xcrated
LandSequence: land
WaterSequence: water
Parachutable:
FallRate: 26
KilledOnImpassableTerrain: false
Passenger:
WithParachute:
UpgradeTypes: parachute
UpgradeMinEnabledLevel: 1
Image: parach
Sequence: idle
OpeningSequence: open
ShadowImage: parach-shadow
ShadowSequence: idle
UpgradeManager:
^Mine:
Inherits: ^SpriteActor
WithSpriteBody:
HiddenUnderShroud:
Type: CenterPosition
Mine:
CrushClasses: mine
DetonateClasses: mine
AvoidFriendly: false
Health:
HP: 100
NotifyAppliedDamage: false
Armor:
Type: Light
Cloak:
CloakSound:
UncloakSound:
Palette:
CloakTypes: Mine
Tooltip:
Name: Mine
Targetable:
TargetTypes: Ground
Immobile:
OccupiesSpace: true