From fb1f8c4e018d4f9f4dc71a79d200eb33a5ffff0c Mon Sep 17 00:00:00 2001 From: Oliver Brakmann Date: Mon, 5 Sep 2016 19:20:51 +0200 Subject: [PATCH] Remove brain-dead logic from TakeOff 1. TakeOff's Tick() method never checks itself whether it is canceled 2. If NextActivity is null, TakeOff is the only activity on the queue 3. Takeoff canceling the queue then just cancels itself, with no effect at all 4. If Takeoff however is running as an inner activity, it will cancel the complete main queue, wrecking all sorts of havoc --- OpenRA.Mods.Common/Activities/Air/TakeOff.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/OpenRA.Mods.Common/Activities/Air/TakeOff.cs b/OpenRA.Mods.Common/Activities/Air/TakeOff.cs index 689519e2ce..42cba9054b 100644 --- a/OpenRA.Mods.Common/Activities/Air/TakeOff.cs +++ b/OpenRA.Mods.Common/Activities/Air/TakeOff.cs @@ -28,9 +28,6 @@ namespace OpenRA.Mods.Common.Activities public override Activity Tick(Actor self) { - if (NextActivity == null) - self.CancelActivity(); - aircraft.UnReserve(); var host = aircraft.GetActorBelow();