CleanSquads from units that got stolen

This commit is contained in:
Matthias Mailänder
2013-08-29 22:26:34 +02:00
parent dd5699402e
commit 1a33608b73

View File

@@ -485,7 +485,7 @@ namespace OpenRA.Mods.RA.AI
{ {
squads.RemoveAll(s => !s.IsValid); squads.RemoveAll(s => !s.IsValid);
foreach (var s in squads) 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 // 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) void AssignRolesToIdleUnits(Actor self)
{ {
CleanSquads(); CleanSquads();
activeUnits.RemoveAll(a => a.Destroyed || a.IsDead()); activeUnits.RemoveAll(a => a.Destroyed || a.IsDead() || a.Owner != p);
unitsHangingAroundTheBase.RemoveAll(a => a.Destroyed || a.IsDead()); unitsHangingAroundTheBase.RemoveAll(a => a.Destroyed || a.IsDead() || a.Owner != p);
if (--rushTicks <= 0) if (--rushTicks <= 0)
{ {