Merge pull request #10584 from Mailaender/ai-armed-harvesters

Fixed AI using armed harvesters for combat
This commit is contained in:
abcdefg30
2016-01-24 14:48:05 +01:00

View File

@@ -765,7 +765,8 @@ namespace OpenRA.Mods.Common.AI
{ {
var allEnemyBaseBuilder = FindEnemyConstructionYards(); var allEnemyBaseBuilder = FindEnemyConstructionYards();
var ownUnits = activeUnits var ownUnits = activeUnits
.Where(unit => unit.Info.HasTraitInfo<AttackBaseInfo>() && !unit.Info.HasTraitInfo<AircraftInfo>() && unit.IsIdle).ToList(); .Where(unit => unit.IsIdle && unit.Info.HasTraitInfo<AttackBaseInfo>()
&& !unit.Info.HasTraitInfo<AircraftInfo>() && !unit.Info.HasTraitInfo<HarvesterInfo>()).ToList();
if (!allEnemyBaseBuilder.Any() || (ownUnits.Count < Info.SquadSize)) if (!allEnemyBaseBuilder.Any() || (ownUnits.Count < Info.SquadSize))
return; return;
@@ -802,7 +803,7 @@ namespace OpenRA.Mods.Common.AI
if (!protectSq.IsValid) if (!protectSq.IsValid)
{ {
var ownUnits = World.FindActorsInCircle(World.Map.CenterOfCell(GetRandomBaseCenter()), WDist.FromCells(Info.ProtectUnitScanRadius)) var ownUnits = World.FindActorsInCircle(World.Map.CenterOfCell(GetRandomBaseCenter()), WDist.FromCells(Info.ProtectUnitScanRadius))
.Where(unit => unit.Owner == Player && !unit.Info.HasTraitInfo<BuildingInfo>() .Where(unit => unit.Owner == Player && !unit.Info.HasTraitInfo<BuildingInfo>() && !unit.Info.HasTraitInfo<HarvesterInfo>()
&& unit.Info.HasTraitInfo<AttackBaseInfo>()); && unit.Info.HasTraitInfo<AttackBaseInfo>());
foreach (var a in ownUnits) foreach (var a in ownUnits)