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 {