Fix Natural Wonders tile worked happiness not computed & double bonus from discovering extended (like GBR) Natural Wonder in same turn (#1518)
This commit is contained in:
parent
13d11f02ca
commit
303e0493d8
2 changed files with 8 additions and 1 deletions
|
@ -222,6 +222,9 @@ class CityStats {
|
|||
if (civInfo.containsBuildingUnique("+1 happiness in each city"))
|
||||
newHappinessList["Wonders"] = 1f
|
||||
|
||||
if (baseStatList.containsKey("Tile yields"))
|
||||
newHappinessList["Tile yields"] = baseStatList["Tile yields"]!!.happiness
|
||||
|
||||
// we don't want to modify the existing happiness list because that leads
|
||||
// to concurrency problems if we iterate on it while changing
|
||||
happinessList = newHappinessList
|
||||
|
@ -390,8 +393,9 @@ class CityStats {
|
|||
}
|
||||
|
||||
fun update() {
|
||||
updateCityHappiness()
|
||||
// We need to compute Tile yields before happiness
|
||||
updateBaseStatList()
|
||||
updateCityHappiness()
|
||||
updateStatPercentBonusList()
|
||||
|
||||
updateFinalStatList() // again, we don't edit the existing currentCityStats directly, in order to avoid concurrency exceptions
|
||||
|
|
|
@ -84,6 +84,9 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo){
|
|||
}
|
||||
|
||||
for (tile in newlyViewedNaturalWonders) {
|
||||
// GBR could be discovered twice otherwise!
|
||||
if (civInfo.naturalWonders.contains(tile.naturalWonder))
|
||||
continue
|
||||
civInfo.discoverNaturalWonder(tile.naturalWonder!!)
|
||||
civInfo.addNotification("We have discovered [" + tile.naturalWonder + "]!", tile.position, Color.GOLD)
|
||||
|
||||
|
|
Loading…
Reference in a new issue