diff --git a/OpenRA.Game/GameRules/Rules.cs b/OpenRA.Game/GameRules/Rules.cs index 43988885e0..c5a9a2a170 100755 --- a/OpenRA.Game/GameRules/Rules.cs +++ b/OpenRA.Game/GameRules/Rules.cs @@ -94,13 +94,15 @@ namespace OpenRA string[] files, List nodes, Func, T> f) { + string inputKey = string.Concat(string.Join("|", files), "|", nodes.WriteToString()); + var mergedNodes = files .Select(s => MiniYaml.FromFile(s)) .Aggregate(nodes, MiniYaml.MergeLiberal); Func, T> wrap = (wkv, wyy) => { - var key = wkv.Value.ToLines(wkv.Key).JoinWith("|"); + var key = inputKey + wkv.Value.ToLines(wkv.Key).JoinWith("|"); T t; if (itemCache.TryGetValue(key, out t)) return t;