Merge pull request #13148 from obrakmann/fix13147_fix-rtb-dead-dest-race

Check for dead destination airfield in ReturnToBase
This commit is contained in:
reaperrr
2017-04-17 20:41:39 +02:00
committed by GitHub
2 changed files with 4 additions and 4 deletions

View File

@@ -43,12 +43,12 @@ namespace OpenRA.Mods.Common.Activities
if (IsCanceled)
return NextActivity;
if (dest == null || Reservable.IsReserved(dest))
if (dest == null || dest.IsDead || Reservable.IsReserved(dest))
dest = ChooseHelipad(self);
var initialFacing = heli.Info.InitialFacing;
if (dest == null)
if (dest == null || dest.IsDead)
{
var rearmBuildings = heli.Info.RearmBuildings;
var nearestHpad = self.World.ActorsHavingTrait<Reservable>()

View File

@@ -49,7 +49,7 @@ namespace OpenRA.Mods.Common.Activities
void Calculate(Actor self)
{
if (dest == null || Reservable.IsReserved(dest))
if (dest == null || dest.IsDead || Reservable.IsReserved(dest))
dest = ChooseAirfield(self, true);
if (dest == null)
@@ -116,7 +116,7 @@ namespace OpenRA.Mods.Common.Activities
if (!isCalculated)
Calculate(self);
if (dest == null)
if (dest == null || dest.IsDead)
{
var nearestAfld = ChooseAirfield(self, false);