diff --git a/OpenRA.Mods.Common/Activities/DeliverResources.cs b/OpenRA.Mods.Common/Activities/DeliverResources.cs index 138a7bb275..4600816c1d 100644 --- a/OpenRA.Mods.Common/Activities/DeliverResources.cs +++ b/OpenRA.Mods.Common/Activities/DeliverResources.cs @@ -66,7 +66,7 @@ namespace OpenRA.Mods.Common.Activities if (self.Location != proc.Location + iao.DeliveryOffset) { foreach (var n in self.TraitsImplementing()) - n.MovingToRefinery(self, proc, this); + n.MovingToRefinery(self, proc, null); return ActivityUtils.SequenceActivities(movement.MoveTo(proc.Location + iao.DeliveryOffset, 0), this); } diff --git a/OpenRA.Mods.Common/Traits/AutoCarryable.cs b/OpenRA.Mods.Common/Traits/AutoCarryable.cs index b376a12eca..f65c51872b 100644 --- a/OpenRA.Mods.Common/Traits/AutoCarryable.cs +++ b/OpenRA.Mods.Common/Traits/AutoCarryable.cs @@ -11,7 +11,6 @@ using System.Linq; using OpenRA.Activities; -using OpenRA.Mods.Common.Activities; using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits @@ -88,15 +87,7 @@ namespace OpenRA.Mods.Common.Traits Destination = null; if (afterLandActivity != null) - { - // HACK: Harvesters need special treatment to avoid getting stuck on resource fields, - // so if a Harvester's afterLandActivity is not DeliverResources, queue a new FindResources activity - var findResources = self.Info.HasTraitInfo() && !(afterLandActivity is DeliverResources); - if (findResources) - self.QueueActivity(new FindResources(self)); - else - self.QueueActivity(false, afterLandActivity); - } + self.QueueActivity(false, afterLandActivity); base.Detached(self); } diff --git a/OpenRA.Mods.Common/Traits/Harvester.cs b/OpenRA.Mods.Common/Traits/Harvester.cs index f1e5ac002f..808911f50b 100644 --- a/OpenRA.Mods.Common/Traits/Harvester.cs +++ b/OpenRA.Mods.Common/Traits/Harvester.cs @@ -412,7 +412,7 @@ namespace OpenRA.Mods.Common.Traits self.QueueActivity(new DeliverResources(self)); foreach (var n in notifyHarvesterAction) - n.MovingToRefinery(self, targetActor, new DeliverResources(self)); + n.MovingToRefinery(self, targetActor, null); } else if (order.OrderString == "Stop" || order.OrderString == "Move") {