Fixed #402 - couldn't build wonder if it was being built by a rival civ

This commit is contained in:
Yair Morgenstern 2019-01-08 18:43:06 +02:00
parent c282ffb423
commit 2fdd3e2628
3 changed files with 371 additions and 368 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 847 KiB

After

Width:  |  Height:  |  Size: 840 KiB

View File

@ -169,11 +169,14 @@ class Building : NamedStats(), IConstruction{
if (uniqueTo!=null && uniqueTo!=civInfo.civName) return false if (uniqueTo!=null && uniqueTo!=civInfo.civName) return false
if (GameBasics.Buildings.values.any { it.uniqueTo==civInfo.civName && it.replaces==name }) return false if (GameBasics.Buildings.values.any { it.uniqueTo==civInfo.civName && it.replaces==name }) return false
if (requiredTech != null && !civInfo.tech.isResearched(requiredTech!!)) return false if (requiredTech != null && !civInfo.tech.isResearched(requiredTech!!)) return false
if (isWonder && requiredBuildingInAllCities==null if (isWonder && requiredBuildingInAllCities==null){
&& civInfo.gameInfo.civilizations.flatMap { it.cities }.any { if(civInfo.gameInfo.civilizations.flatMap { it.cities }
it.cityConstructions.isBuilding(name) || it.cityConstructions.isBuilt(name) .any {it.cityConstructions.isBuilt(name)})
}) return false
return false
if(civInfo.cities.any { it!=construction.cityInfo && it.cityConstructions.isBuilding(name) })
return false
}
if (requiredBuilding != null && !construction.containsBuildingOrEquivalent(requiredBuilding!!)) return false if (requiredBuilding != null && !construction.containsBuildingOrEquivalent(requiredBuilding!!)) return false
if (requiredBuildingInAllCities != null && civInfo.cities.any { !it.cityConstructions.containsBuildingOrEquivalent(requiredBuildingInAllCities!!) }) if (requiredBuildingInAllCities != null && civInfo.cities.any { !it.cityConstructions.containsBuildingOrEquivalent(requiredBuildingInAllCities!!) })