From e53724b1def1fef760b0aecbc69bf7a9e7e77bad Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Thu, 9 Feb 2017 13:11:01 +0100 Subject: [PATCH] Fix SpawnMPUnits being limited to MobileInfo --- OpenRA.Mods.Common/Traits/World/SpawnMPUnits.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/World/SpawnMPUnits.cs b/OpenRA.Mods.Common/Traits/World/SpawnMPUnits.cs index b4966061cc..f8d6127ce6 100644 --- a/OpenRA.Mods.Common/Traits/World/SpawnMPUnits.cs +++ b/OpenRA.Mods.Common/Traits/World/SpawnMPUnits.cs @@ -86,8 +86,9 @@ namespace OpenRA.Mods.Common.Traits foreach (var s in unitGroup.SupportActors) { - var mi = w.Map.Rules.Actors[s.ToLowerInvariant()].TraitInfo(); - var validCells = supportSpawnCells.Where(c => mi.CanEnterCell(w, null, c)); + var actorRules = w.Map.Rules.Actors[s.ToLowerInvariant()]; + var ip = actorRules.TraitInfo(); + var validCells = supportSpawnCells.Where(c => ip.CanEnterCell(w, null, c)); if (!validCells.Any()) { Log.Write("debug", "No cells available to spawn starting unit {0} for player {1}".F(s, p)); @@ -95,7 +96,8 @@ namespace OpenRA.Mods.Common.Traits } var cell = validCells.Random(w.SharedRandom); - var subCell = mi.SharesCell ? w.ActorMap.FreeSubCell(cell) : 0; + var ios = actorRules.TraitInfo(); + var subCell = ios.SharesCell ? w.ActorMap.FreeSubCell(cell) : 0; w.CreateActor(s.ToLowerInvariant(), new TypeDictionary {