diff --git a/OpenRA.Game/Traits/World/ResourceLayer.cs b/OpenRA.Game/Traits/World/ResourceLayer.cs index 041afe9198..dd8f9e4e28 100644 --- a/OpenRA.Game/Traits/World/ResourceLayer.cs +++ b/OpenRA.Game/Traits/World/ResourceLayer.cs @@ -64,6 +64,10 @@ namespace OpenRA.Traits for (int x = map.XOffset; x < map.XOffset + map.Width; x++) for (int y = map.YOffset; y < map.YOffset + map.Height; y++) { + // Todo: Valid terrain should be specified in the resource + if (!w.IsCellBuildable(new int2(x,y), false)) + continue; + content[x, y].type = resourceTypes.FirstOrDefault( r => r.info.ResourceType == w.Map.MapResources[x, y].type); if (content[x, y].type != null) diff --git a/OpenRA.Mods.RA/SeedsResource.cs b/OpenRA.Mods.RA/SeedsResource.cs index d683693787..040a802787 100644 --- a/OpenRA.Mods.RA/SeedsResource.cs +++ b/OpenRA.Mods.RA/SeedsResource.cs @@ -48,6 +48,7 @@ namespace OpenRA.Mods.RA .SkipWhile(p => resLayer.GetResource(p) == resourceType && resLayer.IsFull(p.X, p.Y)) .Cast().FirstOrDefault(); + // Todo: Valid terrain should be specified in the resource if (cell != null && (resLayer.GetResource(cell.Value) == resourceType || resLayer.GetResource(cell.Value) == null) && self.World.IsCellBuildable(cell.Value, false))