diff --git a/OpenRA.Mods.Common/Traits/BotModules/SquadManagerBotModule.cs b/OpenRA.Mods.Common/Traits/BotModules/SquadManagerBotModule.cs index 1780cc4936..0b64cd2fe6 100644 --- a/OpenRA.Mods.Common/Traits/BotModules/SquadManagerBotModule.cs +++ b/OpenRA.Mods.Common/Traits/BotModules/SquadManagerBotModule.cs @@ -263,7 +263,7 @@ namespace OpenRA.Mods.Common.Traits var attackForce = RegisterNewSquad(bot, SquadType.Assault); foreach (var a in unitsHangingAroundTheBase) - if (!a.Info.HasTraitInfo()) + if (!a.Info.HasTraitInfo() && !Info.NavalUnitsTypes.Contains(a.Info.Name)) attackForce.Units.Add(a); unitsHangingAroundTheBase.Clear(); @@ -279,7 +279,7 @@ namespace OpenRA.Mods.Common.Traits // TODO: This should use common names & ExcludeFromSquads instead of hardcoding TraitInfo checks var ownUnits = activeUnits .Where(unit => unit.IsIdle && unit.Info.HasTraitInfo() - && !unit.Info.HasTraitInfo() && !unit.Info.HasTraitInfo()).ToList(); + && !unit.Info.HasTraitInfo() && !Info.NavalUnitsTypes.Contains(unit.Info.Name) && !unit.Info.HasTraitInfo()).ToList(); if (!allEnemyBaseBuilder.Any() || ownUnits.Count < Info.SquadSize) return; @@ -288,7 +288,7 @@ namespace OpenRA.Mods.Common.Traits { // Don't rush enemy aircraft! var enemies = World.FindActorsInCircle(b.CenterPosition, WDist.FromCells(Info.RushAttackScanRadius)) - .Where(unit => IsEnemyUnit(unit) && unit.Info.HasTraitInfo() && !unit.Info.HasTraitInfo()).ToList(); + .Where(unit => IsEnemyUnit(unit) && unit.Info.HasTraitInfo() && !unit.Info.HasTraitInfo() && !Info.NavalUnitsTypes.Contains(unit.Info.Name)).ToList(); if (AttackOrFleeFuzzy.Rush.CanAttack(ownUnits, enemies)) {