diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/SupportPowerManager.cs b/OpenRA.Mods.Common/Traits/SupportPowers/SupportPowerManager.cs index e6ea859e95..b9336983ea 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/SupportPowerManager.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/SupportPowerManager.cs @@ -236,7 +236,14 @@ namespace OpenRA.Mods.Common.Traits return; var power = Instances.Where(i => !InstanceDisabled(i)) - .MinByOrDefault(a => (a.Self.CenterPosition - a.Self.World.Map.CenterOfCell(order.TargetLocation)).HorizontalLengthSquared); + .MinByOrDefault(a => + { + if (a.Self.OccupiesSpace == null) + return 0; + + return (a.Self.CenterPosition - a.Self.World.Map.CenterOfCell(order.TargetLocation)).HorizontalLengthSquared; + }); + if (power == null) return; diff --git a/mods/cnc/maps/cnc64gdi01/cnc64gdi01.lua b/mods/cnc/maps/cnc64gdi01/cnc64gdi01.lua index b55e7d466a..dd854c36ff 100644 --- a/mods/cnc/maps/cnc64gdi01/cnc64gdi01.lua +++ b/mods/cnc/maps/cnc64gdi01/cnc64gdi01.lua @@ -73,13 +73,13 @@ WorldLoaded = function() Trigger.OnKilled(Biolab, function() player.MarkCompletedObjective(destroyBiotechCenterObjective) end) - + Trigger.OnCapture(Biolab, function() Biolab.Kill() end) Trigger.OnDamaged(Biolab, HuntTriggerFunction) - + AIRepairBuildings(enemy) AIRebuildHarvesters(enemy) @@ -101,7 +101,7 @@ end Tick = function() if DateTime.GameTime > DateTime.Seconds(5) and player.HasNoRequiredUnits() then - player.MarkFailedObjective(destroyBiotechCenterObjective) + player.MarkFailedObjective(destroyBiotechCenterObjective) end end