From db58b35856f44a48e0b67b8d20ed0687b5dbfdef Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Fri, 31 Aug 2018 07:36:31 +0200 Subject: [PATCH] Further untangle (and - hopefully - fix) the afterLandActivity mess --- OpenRA.Mods.Common/Activities/DeliverResources.cs | 2 +- OpenRA.Mods.Common/Traits/AutoCarryable.cs | 11 +---------- OpenRA.Mods.Common/Traits/Harvester.cs | 2 +- 3 files changed, 3 insertions(+), 12 deletions(-) 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") {