From ee19cb61b4fb1ecd5544d77572b19e9fccc3ba16 Mon Sep 17 00:00:00 2001 From: tovl Date: Mon, 28 Jan 2019 22:20:08 +0100 Subject: [PATCH] add check for NextActivity to FlyCircle prevent infinite loop fix for ReturnToBase cleanup --- OpenRA.Mods.Common/Activities/Air/FlyCircle.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/Activities/Air/FlyCircle.cs b/OpenRA.Mods.Common/Activities/Air/FlyCircle.cs index a018414cb2..90771cb6ad 100644 --- a/OpenRA.Mods.Common/Activities/Air/FlyCircle.cs +++ b/OpenRA.Mods.Common/Activities/Air/FlyCircle.cs @@ -29,6 +29,9 @@ namespace OpenRA.Mods.Common.Activities public override Activity Tick(Actor self) { + if (NextActivity != null && remainingTicks <= 0) + return NextActivity; + // Refuse to take off if it would land immediately again. if (aircraft.ForceLanding) { @@ -41,8 +44,6 @@ namespace OpenRA.Mods.Common.Activities if (remainingTicks > 0) remainingTicks--; - else if (remainingTicks == 0) - return NextActivity; // We can't possibly turn this fast var desiredFacing = aircraft.Facing + 64;