From f731dc8d68c1674c54bc3040749f268bc902cfd8 Mon Sep 17 00:00:00 2001 From: Taryn Hill Date: Sat, 2 Jul 2016 11:06:44 -0500 Subject: [PATCH] Utility: Add upgrade rules for GivesExperience and GivesBounty changes --- .../UtilityCommands/UpgradeRules.cs | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs index 2407280e8d..5678ecb606 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs @@ -185,6 +185,33 @@ namespace OpenRA.Mods.Common.UtilityCommands } } + if (engineVersion < 20160702) + { + if (node.Key.StartsWith("GivesExperience")) + { + var ff = "FriendlyFire"; + var ffNode = node.Value.Nodes.FirstOrDefault(n => n.Key == ff); + if (ffNode != null) + { + var newStanceStr = ""; + if (FieldLoader.GetValue(ff, ffNode.Value.Value)) + newStanceStr = "Neutral, Enemy, Ally"; + else + newStanceStr = "Neutral, Enemy"; + + node.Value.Nodes.Add(new MiniYamlNode("ValidStances", newStanceStr)); + } + + node.Value.Nodes.Remove(ffNode); + } + else if (node.Key.StartsWith("GivesBounty")) + { + var stancesNode = node.Value.Nodes.FirstOrDefault(n => n.Key == "Stances"); + if (stancesNode != null) + stancesNode.Key = "ValidStances"; + } + } + UpgradeActorRules(modData, engineVersion, ref node.Value.Nodes, node, depth + 1); }