Fix force-landed transports taking off after (un)loading passengers.

This commit is contained in:
Paul Chote
2019-06-30 18:10:53 +01:00
committed by teinarss
parent da0b24e891
commit 5d8b6d6057
2 changed files with 13 additions and 3 deletions

View File

@@ -105,6 +105,7 @@ namespace OpenRA.Mods.Common.Traits
ConditionManager conditionManager;
int loadingToken = ConditionManager.InvalidConditionToken;
Stack<int> loadedTokens = new Stack<int>();
bool takeOffAfterLoad;
CPos currentCell;
public IEnumerable<CPos> CurrentAdjacentCells { get; private set; }
@@ -280,7 +281,10 @@ namespace OpenRA.Mods.Common.Traits
var air = self.TraitOrDefault<Aircraft>();
if (air != null && !air.AtLandAltitude)
{
takeOffAfterLoad = true;
self.QueueActivity(new Land(self));
}
self.QueueActivity(new WaitFor(() => state != State.Locked, false));
return true;
@@ -294,9 +298,10 @@ namespace OpenRA.Mods.Common.Traits
state = State.Free;
self.QueueActivity(new Wait(Info.AfterLoadDelay, false));
var air = self.TraitOrDefault<Aircraft>();
if (air != null)
if (takeOffAfterLoad)
self.QueueActivity(new TakeOff(self));
takeOffAfterLoad = false;
}
public string CursorForOrder(Actor self, Order order)