Should not be displayed without [] (#3396)

* cleaned up again :)

* add val "filter"
This commit is contained in:
9kgsofrice
2020-12-06 20:19:49 +00:00
committed by GitHub
parent 8a5247324c
commit cc5f4fc316
2 changed files with 10 additions and 5 deletions

View File

@ -246,6 +246,13 @@ class Building : NamedStats(), IConstruction {
if(uniqueObjects.any { it.placeholderText=="Not displayed as an available construction unless [] is built"
&& !construction.containsBuildingOrEquivalent(it.params[0])} )
return "Should not be displayed"
for (unique in uniqueObjects.filter { it.placeholderText == "Not displayed as an available construction without []"}) {
val filter = unique.params[0]
if ((filter in civInfo.gameInfo.ruleSet.tileResources && !construction.cityInfo.civInfo.hasResource(filter))
|| (filter in civInfo.gameInfo.ruleSet.buildings && !construction.containsBuildingOrEquivalent(filter)))
return "Should not be displayed"
}
for(unique in uniqueObjects) when (unique.placeholderText) {
"Must be on []" -> if (!cityCenter.matchesUniqueFilter(unique.params[0])) return unique.text

View File

@ -125,11 +125,9 @@ class BaseUnit : INamed, IConstruction {
return "Can only build water units in coastal cities"
for (unique in uniqueObjects.filter { it.placeholderText == "Not displayed as an available construction without []"}) {
val filter = unique.params[0]
return if (construction.containsBuildingOrEquivalent(filter)
|| (construction.cityInfo.civInfo.gameInfo.ruleSet.tileResources.containsKey(filter)
&& construction.cityInfo.civInfo.hasResource(filter)))
""
else "Should not be displayed"
if ((filter in construction.cityInfo.civInfo.gameInfo.ruleSet.tileResources && !construction.cityInfo.civInfo.hasResource(filter))
|| (filter in construction.cityInfo.civInfo.gameInfo.ruleSet.buildings && !construction.containsBuildingOrEquivalent(filter)))
return "Should not be displayed"
}
val civRejectionReason = getRejectionReason(construction.cityInfo.civInfo)
if (civRejectionReason != "") return civRejectionReason