mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-26 23:58:43 +07:00
Map editor knows to remove resources that don't exist in mods
This commit is contained in:
@ -466,6 +466,8 @@ class TileEditorOptionsTable(val mapEditorScreen: MapEditorScreen): Table(Camera
|
|||||||
if (terrainFeature == null || terrainFeature.occursOn.isNotEmpty() && !terrainFeature.occursOn.contains(tileInfo.baseTerrain))
|
if (terrainFeature == null || terrainFeature.occursOn.isNotEmpty() && !terrainFeature.occursOn.contains(tileInfo.baseTerrain))
|
||||||
tileInfo.terrainFeature = null
|
tileInfo.terrainFeature = null
|
||||||
}
|
}
|
||||||
|
if (tileInfo.resource != null && !ruleset.tileResources.containsKey(tileInfo.resource))
|
||||||
|
tileInfo.resource = null
|
||||||
if (tileInfo.resource != null) {
|
if (tileInfo.resource != null) {
|
||||||
val resource = tileInfo.getTileResource()
|
val resource = tileInfo.getTileResource()
|
||||||
if (resource.terrainsCanBeFoundOn.none { it == tileInfo.baseTerrain || it == tileInfo.terrainFeature })
|
if (resource.terrainsCanBeFoundOn.none { it == tileInfo.baseTerrain || it == tileInfo.terrainFeature })
|
||||||
@ -489,7 +491,7 @@ class TileEditorOptionsTable(val mapEditorScreen: MapEditorScreen): Table(Camera
|
|||||||
tileInfo.improvement = null // Unset, and check if it can be reset. If so, do it, if not, invalid.
|
tileInfo.improvement = null // Unset, and check if it can be reset. If so, do it, if not, invalid.
|
||||||
if (tileInfo.canImprovementBeBuiltHere(improvement)
|
if (tileInfo.canImprovementBeBuiltHere(improvement)
|
||||||
// Allow building 'other' improvements like city ruins, barb encampments, Great Improvements etc
|
// Allow building 'other' improvements like city ruins, barb encampments, Great Improvements etc
|
||||||
|| (improvement.terrainsCanBeBuiltOn.isEmpty() && ruleset.tileResources.values.none { it.improvement==improvement.name }
|
|| (improvement.terrainsCanBeBuiltOn.isEmpty() && ruleset.tileResources.values.none { it.improvement == improvement.name }
|
||||||
&& !tileInfo.isImpassible() && tileInfo.isLand))
|
&& !tileInfo.isImpassible() && tileInfo.isLand))
|
||||||
tileInfo.improvement = improvement.name
|
tileInfo.improvement = improvement.name
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user