diff --git a/OpenRA.Mods.RA/Attack/AttackBase.cs b/OpenRA.Mods.RA/Attack/AttackBase.cs index c52b5e0a59..5f25dd682e 100644 --- a/OpenRA.Mods.RA/Attack/AttackBase.cs +++ b/OpenRA.Mods.RA/Attack/AttackBase.cs @@ -21,11 +21,6 @@ namespace OpenRA.Mods.RA { public readonly bool CanAttackGround = true; - [Desc("Ticks to wait until next AutoTarget: attempt.")] - public readonly int MinimumScanTimeInterval = 30; - [Desc("Ticks to wait until next AutoTarget: attempt.")] - public readonly int MaximumScanTimeInterval = 60; - public abstract object Create(ActorInitializer init); } diff --git a/OpenRA.Mods.RA/AutoTarget.cs b/OpenRA.Mods.RA/AutoTarget.cs index 0d5fd4aada..9441f8361f 100644 --- a/OpenRA.Mods.RA/AutoTarget.cs +++ b/OpenRA.Mods.RA/AutoTarget.cs @@ -23,6 +23,11 @@ namespace OpenRA.Mods.RA public readonly int ScanRadius = -1; public readonly UnitStance InitialStance = UnitStance.AttackAnything; + [Desc("Ticks to wait until next AutoTarget: attempt.")] + public readonly int MinimumScanTimeInterval = 30; + [Desc("Ticks to wait until next AutoTarget: attempt.")] + public readonly int MaximumScanTimeInterval = 60; + public object Create(ActorInitializer init) { return new AutoTarget(init.self, this); } } @@ -112,8 +117,7 @@ namespace OpenRA.Mods.RA Actor ChooseTarget(Actor self, float range) { - var info = self.Info.Traits.Get(); - nextScanTime = self.World.SharedRandom.Next(info.MinimumScanTimeInterval, info.MaximumScanTimeInterval); + nextScanTime = self.World.SharedRandom.Next(Info.MinimumScanTimeInterval, Info.MaximumScanTimeInterval); var inRange = self.World.FindUnitsInCircle(self.CenterLocation, (int)(Game.CellSize * range)); @@ -134,6 +138,7 @@ namespace OpenRA.Mods.RA } } } + [Desc("Will not get automatically targeted by enemy (like walls)")] class AutoTargetIgnoreInfo : TraitInfo { } class AutoTargetIgnore { }