diff --git a/OpenRA.Mods.RA/Move/Mobile.cs b/OpenRA.Mods.RA/Move/Mobile.cs index c5365d7ea3..7279f7981f 100755 --- a/OpenRA.Mods.RA/Move/Mobile.cs +++ b/OpenRA.Mods.RA/Move/Mobile.cs @@ -462,7 +462,6 @@ namespace OpenRA.Mods.RA.Move public Activity ScriptedMove(int2 cell) { return new Move(cell); } public Activity MoveTo(int2 cell, int nearEnough) { return new Move(cell, nearEnough); } public Activity MoveTo(int2 cell, Actor ignoredActor) { return new Move(cell, ignoredActor); } - public Activity MoveWithinRange(Actor target, int range) { return new Move(target, range); } public Activity MoveWithinRange(Target target, int range) { return new Move(target, range); } public Activity MoveTo(Func> pathFunc) { return new Move(pathFunc); } } diff --git a/OpenRA.Mods.RA/Move/Move.cs b/OpenRA.Mods.RA/Move/Move.cs index d810c5a8d9..f423bf0e56 100755 --- a/OpenRA.Mods.RA/Move/Move.cs +++ b/OpenRA.Mods.RA/Move/Move.cs @@ -12,10 +12,10 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using OpenRA.FileFormats; using OpenRA.Mods.RA.Activities; using OpenRA.Traits; using OpenRA.Traits.Activities; -using OpenRA.FileFormats; namespace OpenRA.Mods.RA.Move { @@ -58,15 +58,6 @@ namespace OpenRA.Mods.RA.Move this.ignoreBuilding = ignoreBuilding; } - public Move( Actor target, int range ) - { - this.getPath = (self,mobile) => self.World.WorldActor.Trait().FindUnitPathToRange( - mobile.toCell, target.Location, - range, self ); - this.destination = null; - this.nearEnough = range; - } - public Move(Target target, int range) { this.getPath = (self,mobile) => self.World.WorldActor.Trait().FindUnitPathToRange( diff --git a/OpenRA.Mods.RA/RepairableNear.cs b/OpenRA.Mods.RA/RepairableNear.cs index 5bbcf334fb..1fa82ffba8 100644 --- a/OpenRA.Mods.RA/RepairableNear.cs +++ b/OpenRA.Mods.RA/RepairableNear.cs @@ -65,10 +65,13 @@ namespace OpenRA.Mods.RA if (order.OrderString == "RepairNear" && CanRepairAt(order.TargetActor) && ShouldRepair()) { var mobile = self.Trait(); + var target = Target.FromOrder(order); + self.CancelActivity(); - self.QueueActivity(mobile.MoveWithinRange(order.TargetActor, 1)); - self.SetTargetLine(Target.FromOrder(order), Color.Green, false); + self.QueueActivity(mobile.MoveWithinRange(target, 1)); self.QueueActivity(new Repair(order.TargetActor)); + + self.SetTargetLine(target, Color.Green, false); } } }