diff --git a/OpenRA.Mods.Common/Traits/JamsMissiles.cs b/OpenRA.Mods.Common/Traits/JamsMissiles.cs index 0c07fea235..76d92c86de 100644 --- a/OpenRA.Mods.Common/Traits/JamsMissiles.cs +++ b/OpenRA.Mods.Common/Traits/JamsMissiles.cs @@ -14,7 +14,7 @@ using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits { [Desc("This actor deflects missiles.")] - public class JamsMissilesInfo : ITraitInfo + public class JamsMissilesInfo : ConditionalTraitInfo { [Desc("Range of the deflection.")] public readonly WDist Range = WDist.Zero; @@ -25,17 +25,16 @@ namespace OpenRA.Mods.Common.Traits [Desc("Chance of deflecting missiles.")] public readonly int Chance = 100; - public object Create(ActorInitializer init) { return new JamsMissiles(this); } + public override object Create(ActorInitializer init) { return new JamsMissiles(this); } } - public class JamsMissiles + public class JamsMissiles : ConditionalTrait { - readonly JamsMissilesInfo info; + public WDist Range { get { return IsTraitDisabled ? WDist.Zero : Info.Range; } } + public Stance DeflectionStances { get { return Info.DeflectionStances; } } + public int Chance { get { return Info.Chance; } } - public WDist Range { get { return info.Range; } } - public Stance DeflectionStances { get { return info.DeflectionStances; } } - public int Chance { get { return info.Chance; } } - - public JamsMissiles(JamsMissilesInfo info) { this.info = info; } + public JamsMissiles(JamsMissilesInfo info) + : base(info) { } } }