diff --git a/OpenRA.Mods.Common/Traits/Harvester.cs b/OpenRA.Mods.Common/Traits/Harvester.cs index efabed61c7..5d0d68f64a 100644 --- a/OpenRA.Mods.Common/Traits/Harvester.cs +++ b/OpenRA.Mods.Common/Traits/Harvester.cs @@ -380,10 +380,12 @@ namespace OpenRA.Mods.Common.Traits if (!self.Owner.Shroud.IsExplored(location)) return false; - var res = self.World.WorldActor.Trait().GetRenderedResourceType(location); var info = self.Info.TraitInfo(); + var res = self.World.WorldActor.TraitsImplementing() + .Select(r => r.GetRenderedResourceType(location)) + .FirstOrDefault(r => r != null && info.Resources.Contains(r.Info.Type)); - if (res == null || !info.Resources.Contains(res.Info.Type)) + if (res == null) return false; cursor = "harvest";