From 1a33608b73602338663f7200c65fb12bdc2656c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Thu, 29 Aug 2013 22:26:34 +0200 Subject: [PATCH 1/2] CleanSquads from units that got stolen --- OpenRA.Mods.RA/AI/HackyAI.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenRA.Mods.RA/AI/HackyAI.cs b/OpenRA.Mods.RA/AI/HackyAI.cs index 535d6cd579..599ac7d95b 100644 --- a/OpenRA.Mods.RA/AI/HackyAI.cs +++ b/OpenRA.Mods.RA/AI/HackyAI.cs @@ -485,7 +485,7 @@ namespace OpenRA.Mods.RA.AI { squads.RemoveAll(s => !s.IsValid); foreach (var s in squads) - s.units.RemoveAll(a => a.Destroyed || a.IsDead()); + s.units.RemoveAll(a => a.Destroyed || a.IsDead() || a.Owner != p); } // Use of this function requires that one squad of this type. Hence it is a piece of shit @@ -508,8 +508,8 @@ namespace OpenRA.Mods.RA.AI void AssignRolesToIdleUnits(Actor self) { CleanSquads(); - activeUnits.RemoveAll(a => a.Destroyed || a.IsDead()); - unitsHangingAroundTheBase.RemoveAll(a => a.Destroyed || a.IsDead()); + activeUnits.RemoveAll(a => a.Destroyed || a.IsDead() || a.Owner != p); + unitsHangingAroundTheBase.RemoveAll(a => a.Destroyed || a.IsDead() || a.Owner != p); if (--rushTicks <= 0) { From edd84c1c2ee0c1c9bbf0e15b3d9fd4171191cb48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Thu, 29 Aug 2013 22:27:37 +0200 Subject: [PATCH 2/2] bring back the deviator tank now that AI does not get confused --- mods/d2k/rules/ordos.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/d2k/rules/ordos.yaml b/mods/d2k/rules/ordos.yaml index 1f4ea5ebc7..022dab0699 100644 --- a/mods/d2k/rules/ordos.yaml +++ b/mods/d2k/rules/ordos.yaml @@ -232,7 +232,7 @@ DEVIATORTANK: Queue: Armor BuildPaletteOrder: 50 Prerequisites: heavyo, researcho -# Owner: ordos + Owner: ordos Hotkey: d Mobile: ROT: 3