Fix crash with dead cargo.
This commit is contained in:
@@ -53,6 +53,9 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
{
|
{
|
||||||
self.World.AddFrameEndTask(w =>
|
self.World.AddFrameEndTask(w =>
|
||||||
{
|
{
|
||||||
|
if (self.IsDead)
|
||||||
|
return;
|
||||||
|
|
||||||
// Make sure the target hasn't changed while entering
|
// Make sure the target hasn't changed while entering
|
||||||
// OnEnterComplete is only called if targetActor is alive
|
// OnEnterComplete is only called if targetActor is alive
|
||||||
if (targetActor != enterActor)
|
if (targetActor != enterActor)
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
}
|
}
|
||||||
|
|
||||||
return !IsEmpty(self) && (aircraft == null || aircraft.CanLand(self.Location, blockedByMobile: false))
|
return !IsEmpty(self) && (aircraft == null || aircraft.CanLand(self.Location, blockedByMobile: false))
|
||||||
&& CurrentAdjacentCells != null && CurrentAdjacentCells.Any(c => Passengers.Any(p => p.Trait<IPositionable>().CanEnterCell(c, null, immediate)));
|
&& CurrentAdjacentCells != null && CurrentAdjacentCells.Any(c => Passengers.Any(p => !p.IsDead && p.Trait<IPositionable>().CanEnterCell(c, null, immediate)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CanLoad(Actor self, Actor a)
|
public bool CanLoad(Actor self, Actor a)
|
||||||
|
|||||||
Reference in New Issue
Block a user