Files
OpenRA/mods/d2k/rules/defaults.yaml

615 lines
14 KiB
YAML

^ExistsInWorld:
AppearsOnRadar:
UpdatesPlayerStatistics:
CombatDebugOverlay:
GivesExperience:
PlayerExperienceModifier: 1
ScriptTriggers:
RenderDebugState:
^SpriteActor:
BodyOrientation:
QuantizeFacingsFromSequence:
RenderSprites:
^GainsExperience:
GainsExperience:
LevelUpNotification: LevelUp
Conditions:
200: rank-veteran
400: rank-veteran
800: rank-veteran
1600: rank-veteran
LevelUpImage: crate-effects
GrantCondition@RANK-ELITE:
RequiresCondition: rank-veteran >= 4
Condition: rank-elite
DamageMultiplier@RANK-1:
RequiresCondition: rank-veteran == 1
Modifier: 96
DamageMultiplier@RANK-2:
RequiresCondition: rank-veteran == 2
Modifier: 92
DamageMultiplier@RANK-3:
RequiresCondition: rank-veteran == 3
Modifier: 88
DamageMultiplier@RANK-ELITE:
RequiresCondition: rank-elite
Modifier: 80
FirepowerMultiplier@RANK-1:
RequiresCondition: rank-veteran == 1
Modifier: 105
FirepowerMultiplier@RANK-2:
RequiresCondition: rank-veteran == 2
Modifier: 110
FirepowerMultiplier@RANK-3:
RequiresCondition: rank-veteran == 3
Modifier: 115
FirepowerMultiplier@RANK-ELITE:
RequiresCondition: rank-elite
Modifier: 125
SpeedMultiplier@RANK-1:
RequiresCondition: rank-veteran == 1
Modifier: 105
SpeedMultiplier@RANK-2:
RequiresCondition: rank-veteran == 2
Modifier: 110
SpeedMultiplier@RANK-3:
RequiresCondition: rank-veteran == 3
Modifier: 115
SpeedMultiplier@RANK-ELITE:
RequiresCondition: rank-elite
Modifier: 125
ReloadDelayMultiplier@RANK-1:
RequiresCondition: rank-veteran == 1
Modifier: 96
ReloadDelayMultiplier@RANK-2:
RequiresCondition: rank-veteran == 2
Modifier: 92
ReloadDelayMultiplier@RANK-3:
RequiresCondition: rank-veteran == 3
Modifier: 88
ReloadDelayMultiplier@RANK-ELITE:
RequiresCondition: rank-elite
Modifier: 80
InaccuracyMultiplier@RANK-1:
RequiresCondition: rank-veteran == 1
Modifier: 90
InaccuracyMultiplier@RANK-2:
RequiresCondition: rank-veteran == 2
Modifier: 80
InaccuracyMultiplier@RANK-3:
RequiresCondition: rank-veteran == 3
Modifier: 70
InaccuracyMultiplier@RANK-ELITE:
RequiresCondition: rank-elite
Modifier: 50
ChangesHealth@ELITE:
Step: 0
PercentageStep: 4
Delay: 125
StartIfBelow: 100
DamageCooldown: 125
RequiresCondition: rank-elite
WithDecoration@RANK-1:
Image: rank
Sequence: rank-veteran-1
Palette: effect
Position: BottomRight
Margin: 5, 6
RequiresCondition: rank-veteran == 1
WithDecoration@RANK-2:
Image: rank
Sequence: rank-veteran-2
Palette: effect
Position: BottomRight
Margin: 5, 6
RequiresCondition: rank-veteran == 2
WithDecoration@RANK-3:
Image: rank
Sequence: rank-veteran-3
Palette: effect
Position: BottomRight
Margin: 5, 6
RequiresCondition: rank-veteran == 3
WithDecoration@RANK-ELITE:
Image: rank
Sequence: rank-elite
Palette: effect
Position: BottomRight
Margin: 5, 6
RequiresCondition: rank-elite
^AutoTargetGround:
AutoTarget:
AttackAnythingCondition: stance-attackanything
AutoTargetPriority@DEFAULT:
RequiresCondition: !stance-attackanything
ValidTargets: Infantry, Vehicle, Water, Defense
InvalidTargets: NoAutoTarget
AutoTargetPriority@ATTACKANYTHING:
RequiresCondition: stance-attackanything
ValidTargets: Infantry, Vehicle, Water, Structure, Defense
InvalidTargets: NoAutoTarget
AutoTargetPriority@CREEPS:
ValidTargets: Creep
^AutoTargetGroundAssaultMove:
Inherits: ^AutoTargetGround
AutoTargetPriority@DEFAULT:
RequiresCondition: !stance-attackanything && !assault-move
AutoTargetPriority@ATTACKANYTHING:
RequiresCondition: stance-attackanything || assault-move
GrantConditionOnBotOwner@BOTOWNER:
Condition: bot-owned
Bots: omnius, vidious, gladius
GrantCondition@IGNORECREEPS:
Condition: ignore-creeps
RequiresCondition: bot-owned && (attack-move || assault-move)
AutoTargetPriority@CREEPS:
RequiresCondition: !ignore-creeps
AttackMove:
AttackMoveCondition: attack-move
AssaultMoveCondition: assault-move
^AutoTargetAll:
AutoTarget:
AttackAnythingCondition: stance-attackanything
AutoTargetPriority@DEFAULT:
RequiresCondition: !stance-attackanything
ValidTargets: Infantry, Vehicle, Water, Air, Defense
InvalidTargets: NoAutoTarget
AutoTargetPriority@ATTACKANYTHING:
RequiresCondition: stance-attackanything
ValidTargets: Infantry, Vehicle, Water, Air, Structure, Defense
InvalidTargets: NoAutoTarget
AutoTargetPriority@CREEPS:
ValidTargets: Creep
^AutoTargetAllAssaultMove:
Inherits: ^AutoTargetAll
AutoTargetPriority@DEFAULT:
RequiresCondition: !stance-attackanything && !assault-move
AutoTargetPriority@ATTACKANYTHING:
RequiresCondition: stance-attackanything || assault-move
GrantConditionOnBotOwner@BOTOWNER:
Condition: bot-owned
Bots: omnius, vidious, gladius
GrantCondition@IGNORECREEPS:
Condition: ignore-creeps
RequiresCondition: bot-owned && (attack-move || assault-move)
AutoTargetPriority@CREEPS:
RequiresCondition: !ignore-creeps
AttackMove:
AttackMoveCondition: attack-move
AssaultMoveCondition: assault-move
^PlayerHandicaps:
HandicapFirepowerMultiplier:
HandicapDamageMultiplier:
HandicapProductionTimeMultiplier:
^Vehicle:
Inherits@1: ^ExistsInWorld
Inherits@2: ^SpriteActor
Inherits@selection: ^SelectableCombatUnit
Inherits@handicaps: ^PlayerHandicaps
Tooltip:
GenericName: Unit
Huntable:
OwnerLostAction:
Action: Kill
Mobile:
TurnSpeed: 20
Locomotor: vehicle
PauseOnCondition: notmobile
Selectable:
Bounds: 1024, 1024
Targetable:
TargetTypes: Ground, Vehicle, C4
Passenger:
CargoType: Vehicle
AttackMove:
HiddenUnderFog:
ActorLostNotification:
Repairable:
RepairActors: repair_pad
Guard:
Voice: Guard
Guardable:
WithFacingSpriteBody:
Demolishable:
TemporaryOwnerManager:
MustBeDestroyed:
Voiced:
VoiceSet: VehicleVoice
AutoCarryable:
CarriedCondition: notmobile
ReservedCondition: carryall-reserved
LockedCondition: notmobile
WithDecoration@CARRYALL:
Image: pips
Margin: 7, 9
Sequence: pickup-indicator
RequiresCondition: carryall-reserved
RevealOnFire:
RevealOnDeath:
Duration: 100
Radius: 2c512
HitShape:
Type: Circle
Radius: 16
MapEditorData:
Categories: Vehicle
^Tank:
Inherits: ^Vehicle
Mobile:
Locomotor: tank
^Husk:
Inherits@1: ^SpriteActor
Interactable:
Health:
HP: 750
Armor:
Type: light
HiddenUnderFog:
Type: CenterPosition
AlwaysVisibleRelationships: None
Tooltip:
GenericName: Destroyed Unit
ScriptTriggers:
WithFacingSpriteBody:
HitShape:
Type: Circle
Radius: 16
MapEditorData:
Categories: Husk
^VehicleHusk:
Inherits: ^Husk
Husk:
AllowedTerrain: Sand, Rock, Transition, Concrete, Spice, SpiceSand, SpiceBlobs, Dune
Targetable:
TargetTypes: Ground, Vehicle
RequiresForceFire: true
WithColoredOverlay@IDISABLE:
Color: 000000B4
Explodes:
Weapon: UnitExplodeMed
EmptyWeapon: UnitExplodeMed
WithIdleOverlay@Burns:
Image: fire
Sequence: 1
IsDecoration: True
ChangesHealth:
Step: -10
StartIfBelow: 101
Delay: 4
^AircraftHusk:
Inherits: ^Husk
Tooltip:
GenericName: Unit
WithShadow:
FallsToEarth:
MaximumSpinSpeed: 0
Moves: True
Explosion: UnitExplodeLarge
-MapEditorData:
^Infantry:
Inherits@1: ^ExistsInWorld
Inherits@2: ^GainsExperience
Inherits@3: ^SpriteActor
Inherits@selection: ^SelectableCombatUnit
Inherits@handicaps: ^PlayerHandicaps
Tooltip:
GenericName: Unit
Huntable:
OwnerLostAction:
Action: Kill
DeathTypes: ExplosionDeath
Health:
Armor:
Type: none
RevealsShroud:
Range: 3c768
Mobile:
AlwaysTurnInPlace: true
Locomotor: foot
TerrainCursors:
Rough: move-rough
Selectable:
Bounds: 768, 768, 0, -128
DecorationBounds: 384, 640, 0, -128
Targetable:
TargetTypes: Ground, Infantry
QuantizeFacingsFromSequence:
Sequence: stand
WithInfantryBody:
IdleSequences: idle1, idle2
TakeCover:
DamageModifiers:
Prone50Percent: 50
DamageTriggers: TriggerProne
ProneOffset: 300,0,0
WithDeathAnimation:
DeathTypes:
ExplosionDeath: 1
SoundDeath: 2
SmallExplosionDeath: 3
BulletDeath: 4
CrushedSequence: die-crushed
AttackMove:
Passenger:
CargoType: Infantry
HiddenUnderFog:
ActorLostNotification:
Crushable:
CrushSound: CRUSH1.WAV
Guard:
Voice: Guard
Guardable:
DetectCloaked:
Range: 1c768
DeathSounds:
DeathTypes: ExplosionDeath, SoundDeath, SmallExplosionDeath, BulletDeath
MustBeDestroyed:
TerrainModifiesDamage:
TerrainModifier:
Rough: 80
Voiced:
VoiceSet: InfantryVoice
RevealOnFire:
RevealOnDeath:
Duration: 100
HitShape:
Type: Circle
Radius: 16
MapEditorData:
Categories: Infantry
AttackFrontal:
^Plane:
Inherits@1: ^ExistsInWorld
Inherits@2: ^SpriteActor
Inherits@handicaps: ^PlayerHandicaps
Interactable:
Tooltip:
GenericName: Unit
Huntable:
OwnerLostAction:
Action: Kill
AppearsOnRadar:
UseLocation: true
HiddenUnderFog:
Type: GroundPosition
AlwaysVisibleRelationships: None
ActorLostNotification:
AttackMove:
WithFacingSpriteBody:
WithShadow:
HitShape:
Type: Circle
Radius: 16
MapEditorData:
Categories: Aircraft
^Building:
Inherits@1: ^ExistsInWorld
Inherits@2: ^SpriteActor
Inherits@selection: ^SelectableBuilding
Inherits@handicaps: ^PlayerHandicaps
Tooltip:
GenericName: Structure
Huntable:
OwnerLostAction:
Action: Kill
RevealsShroud:
Targetable:
TargetTypes: Ground, C4, Structure
HitShape:
UseTargetableCellsOffsets: true
Type: Rectangle
TopLeft: -512, -512
BottomRight: 512, 512
D2kBuilding:
Dimensions: 1,1
Footprint: x
TerrainTypes: Rock, Concrete
BuildSounds: BUILD1.WAV
ConcretePrerequisites: global-auto-concrete
D2kActorPreviewPlaceBuildingPreview:
RequiresPrerequisites: !global-auto-concrete
PreviewAlpha: 0.65
RequiresBuildableArea:
AreaTypes: building
Adjacent: 3
GivesBuildableArea:
AreaTypes: building
CaptureManager:
Capturable:
RequiresCondition: !build-incomplete
Types: building
SoundOnDamageTransition:
DamagedSounds: EXPLSML1.WAV
DestroyedSounds: EXPLHG1.WAV
Explodes:
Type: Footprint
Weapon: BuildingExplode
EmptyWeapon: BuildingExplode
RepairableBuilding:
RepairStep: 500
PlayerExperience: 25
RepairingNotification: Repairing
SpawnActorsOnSell:
ActorTypes: light_inf
MustBeDestroyed:
RequiredForShortGame: true
FrozenUnderFog:
CaptureNotification:
ActorLostNotification:
Notification: BuildingLost
ShakeOnDeath:
Demolishable:
Condition: being-demolished
Sellable:
RequiresCondition: !build-incomplete && !being-demolished
SellSounds: BUILD1.WAV
Notification: StructureSold
Guardable:
Range: 3c0
ThrowsShrapnel:
Weapons: Debris, Debris2, Debris3, Debris4
Pieces: 2, 5
Range: 1c512, 4c0
WithSpriteBody:
WithMakeAnimation:
Condition: build-incomplete
WithCrumbleOverlay:
RequiresCondition: !build-incomplete
RevealOnDeath:
Duration: 100
Radius: 4c768
MapEditorData:
Categories: Building
CommandBarBlacklist:
WithBuildingRepairDecoration:
Image: allyrepair
Sequence: repair
Position: Center
Palette: player
IsPlayerPalette: True
^Defense:
Inherits: ^Building
Inherits@selection: ^SelectableCombatBuilding
WithSpriteTurret:
RequiresCondition: !build-incomplete
AttackTurreted:
RequiresCondition: !build-incomplete
RenderRangeCircle:
DetectCloaked:
Range: 1c768
-GivesBuildableArea:
WithMakeAnimation:
BodyNames: make
-Capturable:
WithSpriteBody:
Name: make
Sequence: invisible
WithWallSpriteBody:
RequiresCondition: !build-incomplete
LineBuildNode:
Types: turret
ThrowsShrapnel:
Weapons: Debris, Debris3
Pieces: 2, 2
Range: 2c0, 4c0
MustBeDestroyed:
RequiredForShortGame: false
RevealOnFire:
Targetable:
TargetTypes: Ground, C4, Structure, Defense
MapEditorData:
Categories: Defense
-CommandBarBlacklist:
^DisableOnLowPower:
WithColoredOverlay@IDISABLE:
RequiresCondition: disabled
Color: 000000B4
GrantConditionOnPowerState@LOWPOWER:
Condition: lowpower
ValidPowerStates: Low, Critical
GrantCondition@IDISABLE:
RequiresCondition: lowpower
Condition: disabled
^DisableOnLowPowerOrPowerDown:
Inherits: ^DisableOnLowPower
GrantCondition@IDISABLE:
RequiresCondition: lowpower || powerdown
Condition: disabled
ToggleConditionOnOrder:
DisabledSound: EnablePower
EnabledSound: DisablePower
Condition: powerdown
OrderName: PowerDown
WithDecoration@POWERDOWN:
Image: poweroff
Sequence: offline
Palette: chrome
RequiresCondition: powerdown
Position: Center
Offsets:
repairing: 10, 0
PowerMultiplier@POWERDOWN:
RequiresCondition: powerdown
Modifier: 0
RepairableBuilding:
RepairCondition: repairing
WithBuildingRepairDecoration:
Offsets:
powerdown: -10, 0
^Selectable:
Selectable:
SelectionDecorations:
WithSpriteControlGroupDecoration:
Margin: -1, -1
DrawLineToTarget:
^SelectableCombatUnit:
Inherits@selectiondecorations: ^Selectable
Selectable:
Priority: 10
PriorityModifiers: Ctrl
^SelectableSupportUnit:
Inherits@selectiondecorations: ^Selectable
Selectable:
Priority: 8
PriorityModifiers: Ctrl, Alt
^SelectableEconomicUnit:
Inherits@selectiondecorations: ^Selectable
Selectable:
Priority: 6
PriorityModifiers: Ctrl, Alt
^SelectableCombatBuilding:
Inherits@selectiondecorations: ^Selectable
Selectable:
Priority: 4
^SelectableBuilding:
Inherits@selectiondecorations: ^Selectable
Selectable:
Priority: 2
^PrimaryBuilding:
PrimaryBuilding:
PrimaryCondition: primary
ProductionQueues: Building
SelectionNotification: PrimaryBuildingSelected
WithTextDecoration@primary:
RequiresCondition: primary
Position: Top
Margin: 0, 5
RequiresSelection: true
Text: PRIMARY
^Upgradeable:
GrantConditionOnPrerequisite@UPGRADEABLE:
Condition: stardecoration
WithDecoration@upgraded:
RequiresCondition: stardecoration
Position: TopRight
Margin: 6, 8
RequiresSelection: true
Image: pips
Sequence: tag-upgraded