diff --git a/core/src/com/unciv/models/ruleset/Building.kt b/core/src/com/unciv/models/ruleset/Building.kt index 8622412eb9..b72328cffa 100644 --- a/core/src/com/unciv/models/ruleset/Building.kt +++ b/core/src/com/unciv/models/ruleset/Building.kt @@ -233,7 +233,6 @@ class Building : NamedStats(), IConstruction { || rejectionReason.startsWith("Requires") || rejectionReason.startsWith("Consumes") || rejectionReason == "Wonder is being built elsewhere" - || rejectionReason == "Should not be displayed" } fun getRejectionReason(construction: CityConstructions):String { diff --git a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt index 5e3d988681..5726350448 100644 --- a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt +++ b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt @@ -122,6 +122,9 @@ class BaseUnit : INamed, IConstruction { fun getRejectionReason(construction: CityConstructions): String { if (unitType.isWaterUnit() && !construction.cityInfo.getCenterTile().isCoastalTile()) return "Can only build water units in coastal cities" + if (uniqueObjects.any { it.placeholderText == "Not displayed as an available construction unless [] is built" + && !construction.containsBuildingOrEquivalent(it.params[0]) }) + return "Should not be displayed" val civRejectionReason = getRejectionReason(construction.cityInfo.civInfo) if (civRejectionReason != "") return civRejectionReason return ""