diff --git a/OpenRA.Mods.Common/Activities/Hunt.cs b/OpenRA.Mods.Common/Activities/Hunt.cs index aabac0df67..99859b53f9 100644 --- a/OpenRA.Mods.Common/Activities/Hunt.cs +++ b/OpenRA.Mods.Common/Activities/Hunt.cs @@ -23,8 +23,9 @@ namespace OpenRA.Mods.Common.Activities public Hunt(Actor self) { var attack = self.Trait(); - targets = self.World.Actors.Where(a => self != a && !a.IsDead && a.IsInWorld && a.AppearsHostileTo(self) - && a.Info.HasTraitInfo() && IsTargetable(a, self) && attack.HasAnyValidWeapons(Target.FromActor(a))); + targets = self.World.ActorsWithTrait().Select(p => p.Actor).Where( + a => self != a && !a.IsDead && a.IsInWorld && a.AppearsHostileTo(self) + && IsTargetable(a, self) && attack.HasAnyValidWeapons(Target.FromActor(a))); } bool IsTargetable(Actor self, Actor viewer) diff --git a/OpenRA.Mods.Common/Traits/World/BridgeLayer.cs b/OpenRA.Mods.Common/Traits/World/BridgeLayer.cs index ee038c4196..e502fc79ee 100644 --- a/OpenRA.Mods.Common/Traits/World/BridgeLayer.cs +++ b/OpenRA.Mods.Common/Traits/World/BridgeLayer.cs @@ -53,8 +53,8 @@ namespace OpenRA.Mods.Common.Traits ConvertBridgeToActor(w, cell); // Link adjacent (long)-bridges so that artwork is updated correctly - foreach (var b in w.Actors.SelectMany(a => a.TraitsImplementing())) - b.LinkNeighbouringBridges(w, this); + foreach (var p in w.ActorsWithTrait()) + p.Trait.LinkNeighbouringBridges(w, this); } void ConvertBridgeToActor(World w, CPos cell)