Fixed : great people could not build improvement. (#3553)

* Fixed : great people could not build improvement.

* Better check for buildable.

* Revert "Better check for buildable."

This reverts commit b9fa0efbae.

* Better check for buildable.
This commit is contained in:
Duan Tao
2021-01-22 02:17:01 +08:00
committed by GitHub
parent dac339fbf9
commit 6889a60605
2 changed files with 2 additions and 0 deletions

View File

@ -316,6 +316,7 @@ open class TileInfo {
isCityCenter() -> false isCityCenter() -> false
"Cannot be built on bonus resource" in improvement.uniques && resource != null "Cannot be built on bonus resource" in improvement.uniques && resource != null
&& getTileResource().resourceType == ResourceType.Bonus -> false && getTileResource().resourceType == ResourceType.Bonus -> false
improvement.uniques.contains("Great Improvement") && isLand -> true
improvement.terrainsCanBeBuiltOn.contains(topTerrain.name) -> true improvement.terrainsCanBeBuiltOn.contains(topTerrain.name) -> true
improvement.uniqueObjects.filter { it.placeholderText == "Must be next to []" }.any { improvement.uniqueObjects.filter { it.placeholderText == "Must be next to []" }.any {
val filter = it.params[0] val filter = it.params[0]

View File

@ -48,6 +48,7 @@ class ImprovementPickerScreen(val tileInfo: TileInfo, val onAccept: ()->Unit) :
regularImprovements.defaults().pad(5f) regularImprovements.defaults().pad(5f)
for (improvement in tileInfo.tileMap.gameInfo.ruleSet.tileImprovements.values) { for (improvement in tileInfo.tileMap.gameInfo.ruleSet.tileImprovements.values) {
if (improvement.hasUnique("Unbuildable")) continue
if (!tileInfo.canBuildImprovement(improvement, currentPlayerCiv)) continue if (!tileInfo.canBuildImprovement(improvement, currentPlayerCiv)) continue
if (improvement.name == tileInfo.improvement) continue if (improvement.name == tileInfo.improvement) continue