diff --git a/OpenRA.Mods.Cnc/Traits/Buildings/ClonesProducedUnits.cs b/OpenRA.Mods.Cnc/Traits/Buildings/ClonesProducedUnits.cs index 08fd3ebaee..c2566d9ca5 100644 --- a/OpenRA.Mods.Cnc/Traits/Buildings/ClonesProducedUnits.cs +++ b/OpenRA.Mods.Cnc/Traits/Buildings/ClonesProducedUnits.cs @@ -9,7 +9,6 @@ */ #endregion -using System.Collections.Generic; using OpenRA.Mods.Common; using OpenRA.Mods.Common.Traits; using OpenRA.Primitives; @@ -22,7 +21,7 @@ namespace OpenRA.Mods.Cnc.Traits { [FieldLoader.Require] [Desc("Uses the \"Cloneable\" trait to determine whether or not we should clone a produced unit.")] - public readonly HashSet CloneableTypes = new HashSet(); + public readonly BitSet CloneableTypes = default(BitSet); public object Create(ActorInitializer init) { return new ClonesProducedUnits(init, this); } } diff --git a/OpenRA.Mods.Cnc/Traits/Cloneable.cs b/OpenRA.Mods.Cnc/Traits/Cloneable.cs index b96d89558a..db51985756 100644 --- a/OpenRA.Mods.Cnc/Traits/Cloneable.cs +++ b/OpenRA.Mods.Cnc/Traits/Cloneable.cs @@ -10,16 +10,20 @@ #endregion using System.Collections.Generic; +using OpenRA.Primitives; using OpenRA.Traits; namespace OpenRA.Mods.Cnc.Traits { + // Type tag for CloneableTypes + public class CloneableType { } + [Desc("Actors with the \"ClonesProducedUnits\" trait will produce a free duplicate of me.")] public class CloneableInfo : TraitInfo { [FieldLoader.Require] [Desc("This unit's cloneable type is:")] - public readonly HashSet Types = new HashSet(); + public readonly BitSet Types = default(BitSet); } public class Cloneable { }