From abf50470729f6ec03d39dd4fc27760fa365d19a1 Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Sat, 8 Aug 2015 22:46:24 +0200 Subject: [PATCH] Add an upgrade rule and update the default mods --- .../UtilityCommands/UpgradeRules.cs | 24 ++++++++++++++++--- mods/cnc/maps/gdi05a/map.yaml | 3 +-- mods/cnc/maps/gdi05b/map.yaml | 3 +-- mods/cnc/rules/defaults.yaml | 6 ++++- mods/ts/rules/defaults.yaml | 7 ++++-- mods/ts/rules/nod-infantry.yaml | 2 +- 6 files changed, 34 insertions(+), 11 deletions(-) diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs index a1d1637986..d7d31e63b3 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs @@ -1688,23 +1688,41 @@ namespace OpenRA.Mods.Common.UtilityCommands } // SpawnViceroid was replaced by LeavesHusk - if (engineVersion < 20150719) + if (engineVersion < 20150809) { if (node.Key == "SpawnViceroid") { node.Key = "LeavesHusk"; + // The default value of ViceroidActor was vice var actor = node.Value.Nodes.FirstOrDefault(n => n.Key == "ViceroidActor"); if (actor != null) actor.Key = "HuskActor"; - // The default value of ViceroidActor was "vice" else node.Value.Nodes.Add(new MiniYamlNode("HuskActor", "vice")); - var probability = node.Value.Nodes.FirstOrDefault(n => n.Key == "Probability"); // The default value of Probability was 10 + var probability = node.Value.Nodes.FirstOrDefault(n => n.Key == "Probability"); if (probability == null) node.Value.Nodes.Add(new MiniYamlNode("Probability", "10")); + + // The default value of Owner was Creeps + var owner = node.Value.Nodes.FirstOrDefault(n => n.Key == "Owner"); + if (owner != null) + { + node.Value.Nodes.Add(new MiniYamlNode("OwnerType", "InternalName")); + owner.Key = "InternalOwner"; + } + else + { + node.Value.Nodes.Add(new MiniYamlNode("OwnerType", "InternalName")); + node.Value.Nodes.Add(new MiniYamlNode("InternalOwner", "Creeps")); + } + + // The default value of DeathType was TiberiumDeath + var deathType = node.Value.Nodes.FirstOrDefault(n => n.Key == "DeathType"); + if (deathType == null) + node.Value.Nodes.Add(new MiniYamlNode("DeathType", "TiberiumDeath")); } } diff --git a/mods/cnc/maps/gdi05a/map.yaml b/mods/cnc/maps/gdi05a/map.yaml index 319c02deeb..d46bc22538 100644 --- a/mods/cnc/maps/gdi05a/map.yaml +++ b/mods/cnc/maps/gdi05a/map.yaml @@ -817,8 +817,7 @@ Rules: GenericVisibility: Enemy ShowOwnerRow: false ^Infantry: - SpawnViceroid: - Probability: 0 + -LeavesHusk: Tooltip: GenericVisibility: Enemy ShowOwnerRow: false diff --git a/mods/cnc/maps/gdi05b/map.yaml b/mods/cnc/maps/gdi05b/map.yaml index 89c8062cef..a3bd155a5c 100644 --- a/mods/cnc/maps/gdi05b/map.yaml +++ b/mods/cnc/maps/gdi05b/map.yaml @@ -662,8 +662,7 @@ Rules: GenericVisibility: Enemy ShowOwnerRow: false ^Infantry: - SpawnViceroid: - Probability: 0 + -LeavesHusk: Tooltip: GenericVisibility: Enemy ShowOwnerRow: false diff --git a/mods/cnc/rules/defaults.yaml b/mods/cnc/rules/defaults.yaml index 29ae3b6700..75e3e68548 100644 --- a/mods/cnc/rules/defaults.yaml +++ b/mods/cnc/rules/defaults.yaml @@ -190,8 +190,12 @@ HiddenUnderFog: PoisonedByTiberium: ActorLostNotification: - SpawnViceroid: + LeavesHusk: Probability: 10 + HuskActor: vice + OwnerType: InternalName + InternalOwner: Creeps + DeathType: TiberiumDeath Crushable: WarnProbability: 67 CrushSound: squish2.aud diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index 6cb017838a..396f32db64 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -256,8 +256,11 @@ Crushable: CrushSound: squish6.aud PoisonedByTiberium: - SpawnViceroid: - ViceroidActor: vissml + LeavesHusk: + HuskActor: vissml + Probability: 10 + OwnerType: InternalName + InternalOwner: Creeps DeathType: EnergyDeath # TODO: FIX ME! (Tiberium currently uses the wrong damage type!) Guard: Voice: Move diff --git a/mods/ts/rules/nod-infantry.yaml b/mods/ts/rules/nod-infantry.yaml index e42340f8a3..0ef4b14b4d 100644 --- a/mods/ts/rules/nod-infantry.yaml +++ b/mods/ts/rules/nod-infantry.yaml @@ -79,7 +79,7 @@ CYC2: Mobile: Speed: 56 Health: - HP: 500 + HP: 500 Passenger: RevealsShroud: Range: 7c0