diff --git a/OpenRA.Mods.RA/Activities/DeliverOre.cs b/OpenRA.Mods.RA/Activities/DeliverOre.cs index 95626d5681..9a3f7e4392 100755 --- a/OpenRA.Mods.RA/Activities/DeliverOre.cs +++ b/OpenRA.Mods.RA/Activities/DeliverOre.cs @@ -25,11 +25,16 @@ namespace OpenRA.Mods.RA.Activities { if( NextActivity != null ) return NextActivity; - - var proc = self.traits.Get().LinkedProc; - - if (proc == null) - return new Wait(10) { NextActivity = this }; + + var harv = self.traits.Get(); + + if (harv.LinkedProc == null) + harv.ChooseNewProc(self, null); + + if (harv.LinkedProc == null) + return new Wait(25) { NextActivity = this }; + + var proc = harv.LinkedProc; if( self.Location != proc.Location + proc.traits.Get().DeliverOffset ) { diff --git a/OpenRA.Mods.RA/Harvester.cs b/OpenRA.Mods.RA/Harvester.cs index f2f5d9b75b..64e9cb3ab6 100644 --- a/OpenRA.Mods.RA/Harvester.cs +++ b/OpenRA.Mods.RA/Harvester.cs @@ -51,7 +51,7 @@ namespace OpenRA.Mods.RA self.QueueActivity( new CallFunc( () => ChooseNewProc(self, null))); } - void ChooseNewProc(Actor self, Actor ignore) + public void ChooseNewProc(Actor self, Actor ignore) { LinkedProc = ClosestProc(self, ignore); if (LinkedProc != null)