diff --git a/core/src/com/unciv/logic/battle/Battle.kt b/core/src/com/unciv/logic/battle/Battle.kt index 214b4785a4..6e39b8e65d 100644 --- a/core/src/com/unciv/logic/battle/Battle.kt +++ b/core/src/com/unciv/logic/battle/Battle.kt @@ -143,6 +143,8 @@ class Battle(val gameInfo:GameInfo) { } city.moveToCiv(attacker.getCivilization()) + city.resistanceCounter = city.population.population + city.cityStats.update() } if(city.cityConstructions.isBuilt("Palace")){ diff --git a/core/src/com/unciv/logic/city/CityInfo.kt b/core/src/com/unciv/logic/city/CityInfo.kt index a0d2cd60bc..38adac4cd9 100644 --- a/core/src/com/unciv/logic/city/CityInfo.kt +++ b/core/src/com/unciv/logic/city/CityInfo.kt @@ -21,6 +21,7 @@ class CityInfo { var location: Vector2 = Vector2.Zero var name: String = "" var health = 200 + var resistanceCounter = 0 var population = PopulationManager() var cityConstructions = CityConstructions() @@ -182,6 +183,7 @@ class CityInfo { } } else population.nextTurn(stats.food) + if (resistanceCounter > 0) resistanceCounter-- if(this in civInfo.cities) { // city was not destroyed health = min(health + 20, getMaxHealth()) diff --git a/core/src/com/unciv/logic/city/CityStats.kt b/core/src/com/unciv/logic/city/CityStats.kt index 35f952e0e4..91913787b1 100644 --- a/core/src/com/unciv/logic/city/CityStats.kt +++ b/core/src/com/unciv/logic/city/CityStats.kt @@ -316,7 +316,8 @@ class CityStats { baseStatList = newBaseStatList val newCurrentCityStats = Stats() // again, we don't edit the existing currentCityStats directly, in order to avoid concurrency exceptions - for (stat in baseStatList.values) newCurrentCityStats.add(stat) + if (cityInfo.resistanceCounter <= 0) + for (stat in baseStatList.values) newCurrentCityStats.add(stat) if(newCurrentCityStats.production<1) newCurrentCityStats.production=1f currentCityStats = newCurrentCityStats