diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/SupportPower.cs b/OpenRA.Mods.Common/Traits/SupportPowers/SupportPower.cs index d2f70cacd5..15fbce2a67 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/SupportPower.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/SupportPower.cs @@ -59,10 +59,9 @@ namespace OpenRA.Mods.Common.Traits public readonly string BeaconImage = "beacon"; [SequenceReference("BeaconImage")] public readonly string BeaconPoster = null; [PaletteReference] public readonly string BeaconPosterPalette = "chrome"; - [SequenceReference("BeaconImage")] public readonly string ClockSequence = "clock"; - - [SequenceReference("BeaconImage")] public readonly string ArrowSequence = "arrow"; - [SequenceReference("BeaconImage")] public readonly string CircleSequence = "circles"; + [SequenceReference("BeaconImage")] public readonly string ClockSequence = null; + [SequenceReference("BeaconImage")] public readonly string ArrowSequence = null; + [SequenceReference("BeaconImage")] public readonly string CircleSequence = null; [Desc("Delay after launch, measured in ticks.")] public readonly int BeaconDelay = 0; diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs index 22f5557f74..16421a5862 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs @@ -18,7 +18,6 @@ using System.Linq; using System.Text; using OpenRA.FileSystem; using OpenRA.Graphics; -using OpenRA.Traits; namespace OpenRA.Mods.Common.UtilityCommands { @@ -830,6 +829,27 @@ namespace OpenRA.Mods.Common.UtilityCommands RenameNodeKey(node, "WithTeslaChargeAnimation"); } + // Default values for ArrowSequence, CircleSequence and ClockSequence were changed (to null) + if (engineVersion < 20170212) + { + var supportPowerNodes = new[] { "AirstrikePower", "ParatroopersPower", "NukePower" }; + + if (supportPowerNodes.Any(s => node.Key.StartsWith(s, StringComparison.Ordinal))) + { + var arrow = node.Value.Nodes.FirstOrDefault(n => n.Key == "ArrowSequence"); + if (arrow == null) + node.Value.Nodes.Add(new MiniYamlNode("ArrowSequence", "arrow")); + + var circle = node.Value.Nodes.FirstOrDefault(n => n.Key == "CircleSequence"); + if (circle == null) + node.Value.Nodes.Add(new MiniYamlNode("CircleSequence", "circles")); + + var clock = node.Value.Nodes.FirstOrDefault(n => n.Key == "ClockSequence"); + if (clock == null) + node.Value.Nodes.Add(new MiniYamlNode("ClockSequence", "clock")); + } + } + UpgradeActorRules(modData, engineVersion, ref node.Value.Nodes, node, depth + 1); } diff --git a/mods/cnc/rules/structures.yaml b/mods/cnc/rules/structures.yaml index 4ba7867577..eb3aac7512 100644 --- a/mods/cnc/rules/structures.yaml +++ b/mods/cnc/rules/structures.yaml @@ -494,6 +494,9 @@ HQ: BeaconPosterPalette: beaconposter DisplayRadarPing: True CameraActor: camera + ArrowSequence: arrow + ClockSequence: clock + CircleSequence: circles SupportPowerChargeBar: Power: Amount: -50 @@ -643,6 +646,9 @@ TMPL: BeaconPosterPalette: beaconposter DisplayRadarPing: True CameraRange: 10c0 + ArrowSequence: arrow + ClockSequence: clock + CircleSequence: circles SupportPowerChargeBar: Power: Amount: -150 diff --git a/mods/d2k/rules/structures.yaml b/mods/d2k/rules/structures.yaml index 95ce9899d3..9f69fccfdd 100644 --- a/mods/d2k/rules/structures.yaml +++ b/mods/d2k/rules/structures.yaml @@ -839,6 +839,8 @@ high_tech_factory: UnitType: ornithopter DisplayBeacon: True CameraActor: camera + ArrowSequence: arrow + CircleSequence: circles WithProductionOverlay@WELDING: Sequence: production-welding Power: @@ -957,6 +959,8 @@ palace: DisplayRadarPing: True CameraRange: 10c0 ActivationSequence: + ArrowSequence: arrow + CircleSequence: circles ProduceActorPower@fremen: Description: Recruit Fremen LongDesc: Elite infantry unit armed with assault rifles and rockets\n Strong vs Infantry, Vehicles\n Weak vs Artillery\n Special Ability: Invisibility diff --git a/mods/d2k/sequences/infantry.yaml b/mods/d2k/sequences/infantry.yaml index 7e53317836..5f7f24b6aa 100644 --- a/mods/d2k/sequences/infantry.yaml +++ b/mods/d2k/sequences/infantry.yaml @@ -482,7 +482,7 @@ grenadier: Start: 2606 Facings: -8 Transpose: true - idle: DATA.R8 + idle1: DATA.R8 Frames: 2700, 2707, 2714, 2721, 2728, 2735, 2742, 2749 Length: 8 idle2: DATA.R8 diff --git a/mods/ra/rules/structures.yaml b/mods/ra/rules/structures.yaml index d7037d573c..3f4aa72b0f 100644 --- a/mods/ra/rules/structures.yaml +++ b/mods/ra/rules/structures.yaml @@ -38,6 +38,9 @@ MSLO: BeaconPoster: atomicon FlashType: Nuke CameraRange: 10c0 + ArrowSequence: arrow + ClockSequence: clock + CircleSequence: circles CanPowerDown: PowerupSound: EnablePower PowerdownSound: DisablePower @@ -1231,6 +1234,9 @@ AFLD: QuantizedFacings: 8 DisplayBeacon: true BeaconPoster: camicon + ArrowSequence: arrow + ClockSequence: clock + CircleSequence: circles ParatroopersPower@paratroopers: OrderName: SovietParatroopers Prerequisites: aircraft.soviet @@ -1245,6 +1251,9 @@ AFLD: CameraActor: camera.paradrop DisplayBeacon: true BeaconPoster: pinficon + ArrowSequence: arrow + ClockSequence: clock + CircleSequence: circles AirstrikePower@parabombs: OrderName: UkraineParabombs Prerequisites: aircraft.ukraine @@ -1261,6 +1270,9 @@ AFLD: BeaconPoster: pbmbicon SquadSize: 3 SquadOffset: 1792,1792,0 + ArrowSequence: arrow + ClockSequence: clock + CircleSequence: circles ProductionBar: SupportPowerChargeBar: PrimaryBuilding: diff --git a/mods/ts/rules/civilian-infantry.yaml b/mods/ts/rules/civilian-infantry.yaml index 7c9c831de6..18dba81cc4 100644 --- a/mods/ts/rules/civilian-infantry.yaml +++ b/mods/ts/rules/civilian-infantry.yaml @@ -174,7 +174,7 @@ TRATOS: Range: 4c0 -AutoTarget: WithInfantryBody: - DefaultAttackSequence: attack + DefaultAttackSequence: OXANNA: Inherits: ^Soldier @@ -262,8 +262,6 @@ VISC_SML: MaxMoveDelay: 60 RenderSprites: Image: vissml - Buildable: - Description: infantry transmorgifies into this VISC_LRG: Inherits: ^Visceroid @@ -293,8 +291,6 @@ VISC_LRG: Crushes: crate, infantry RenderSprites: Image: vislrg - Buildable: - Description: 2 small visceroids combine into this CIV1: Inherits: ^CivilianInfantry diff --git a/mods/ts/rules/husks.yaml b/mods/ts/rules/husks.yaml index 4b31fbfa3a..b266ec214e 100644 --- a/mods/ts/rules/husks.yaml +++ b/mods/ts/rules/husks.yaml @@ -5,8 +5,7 @@ DSHP.Husk: Aircraft: TurnSpeed: 5 Speed: 168 - RenderSprites: - Image: dshp + -RenderSprites: RenderVoxels: Image: dshp diff --git a/mods/ts/rules/shared-infantry.yaml b/mods/ts/rules/shared-infantry.yaml index fbd310fadc..c58a8b8103 100644 --- a/mods/ts/rules/shared-infantry.yaml +++ b/mods/ts/rules/shared-infantry.yaml @@ -91,6 +91,7 @@ FLAMEGUY: Step: -10 HealIfBelow: 101 ScaredyCat: + PanicSequencePrefix: WithDeathAnimation: FallbackSequence: die UseDeathTypeSuffix: false