diff --git a/OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs b/OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs index ebe1db626d..59999add0e 100644 --- a/OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs +++ b/OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs @@ -56,7 +56,7 @@ namespace OpenRA.Mods.Cnc state = State.Wait; return this; case State.Loop: - if (harv.TickUnload(self, proc)) + if (!proc.IsInWorld || proc.IsDead() || harv.TickUnload(self, proc)) state = State.Undock; return this; case State.Undock: diff --git a/OpenRA.Mods.RA/Activities/RAHarvesterDockSequence.cs b/OpenRA.Mods.RA/Activities/RAHarvesterDockSequence.cs index 904684ccef..cac6e85bb7 100644 --- a/OpenRA.Mods.RA/Activities/RAHarvesterDockSequence.cs +++ b/OpenRA.Mods.RA/Activities/RAHarvesterDockSequence.cs @@ -49,7 +49,7 @@ namespace OpenRA.Mods.RA state = State.Wait; return this; case State.Loop: - if (harv.TickUnload(self, proc)) + if (!proc.IsInWorld || proc.IsDead() || harv.TickUnload(self, proc)) state = State.Undock; return this; case State.Undock: diff --git a/OpenRA.Mods.RA/Harvester.cs b/OpenRA.Mods.RA/Harvester.cs index da5a7ec35d..c8b6db7f46 100644 --- a/OpenRA.Mods.RA/Harvester.cs +++ b/OpenRA.Mods.RA/Harvester.cs @@ -212,9 +212,6 @@ namespace OpenRA.Mods.RA // Returns true when unloading is complete public bool TickUnload(Actor self, Actor proc) { - if (!proc.IsInWorld) - return false; // fail to deliver if there is no proc. - // Wait until the next bale is ready if (--currentUnloadTicks > 0) return false;