diff --git a/OpenRA.Mods.D2k/Traits/Carryable.cs b/OpenRA.Mods.D2k/Traits/Carryable.cs index 07ea7f824d..400f9a8660 100644 --- a/OpenRA.Mods.D2k/Traits/Carryable.cs +++ b/OpenRA.Mods.D2k/Traits/Carryable.cs @@ -54,17 +54,18 @@ namespace OpenRA.Mods.D2k.Traits void RequestTransport(CPos destination, Activity afterLandActivity) { - if (locked || Reserved) - return; - - if (destination == CPos.Zero) - return; - - if ((self.Location - destination).Length < info.MinDistance) + if (destination == CPos.Zero || (self.Location - destination).Length < info.MinDistance) + { + WantsTransport = false; // Be sure to cancel any pending transports return; + } Destination = destination; this.afterLandActivity = afterLandActivity; + + if (locked || Reserved) + return; + WantsTransport = true; // Inform all idle carriers