diff --git a/core/src/com/unciv/logic/battle/Nuke.kt b/core/src/com/unciv/logic/battle/Nuke.kt index 76439f38d3..f23555cbff 100644 --- a/core/src/com/unciv/logic/battle/Nuke.kt +++ b/core/src/com/unciv/logic/battle/Nuke.kt @@ -297,7 +297,7 @@ object Nuke { 2 -> (60 + Random.Default.nextInt(10) + Random.Default.nextInt(10)) / 100f else -> 1f // hypothetical nukeStrength 3 -> always to 1 pop } - ).toInt().coerceAtMost(targetedCity.population.population - 1) + ).toInt() targetedCity.population.addPopulation(-populationLoss) } diff --git a/core/src/com/unciv/logic/city/managers/CityTurnManager.kt b/core/src/com/unciv/logic/city/managers/CityTurnManager.kt index afb269be7b..3eb165e011 100644 --- a/core/src/com/unciv/logic/city/managers/CityTurnManager.kt +++ b/core/src/com/unciv/logic/city/managers/CityTurnManager.kt @@ -124,9 +124,8 @@ class CityTurnManager(val city: City) { val removedPopulation = 1 + city.civ.getMatchingUniques(UniqueType.CitiesAreRazedXTimesFaster) .sumOf { it.params[0].toInt() - 1 } - city.population.addPopulation(-1 * removedPopulation) - if (city.population.population <= 0) { + if (city.population.population <= removedPopulation) { city.espionage.removeAllPresentSpies(SpyFleeReason.CityCaptured) city.civ.addNotification( "[${city.name}] has been razed to the ground!", @@ -135,6 +134,7 @@ class CityTurnManager(val city: City) { ) city.destroyCity() } else { //if not razed yet: + city.population.addPopulation(-removedPopulation) if (city.population.foodStored >= city.population.getFoodToNextPopulation()) { //if surplus in the granary... city.population.foodStored = city.population.getFoodToNextPopulation() - 1 //...reduce below the new growth threshold