From c6e344b16e3b00400332bafac531e333942a362d Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 6 May 2018 11:20:02 +0300 Subject: [PATCH] Remove worked tiles when population starves (dead men work no tiles) --- core/src/com/unciv/logic/city/CityInfo.kt | 2 +- core/src/com/unciv/logic/city/PopulationManager.kt | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/logic/city/CityInfo.kt b/core/src/com/unciv/logic/city/CityInfo.kt index 6adcc66096..3275228e23 100644 --- a/core/src/com/unciv/logic/city/CityInfo.kt +++ b/core/src/com/unciv/logic/city/CityInfo.kt @@ -33,7 +33,7 @@ class CityInfo { fun getCenterTile(): TileInfo = tileMap[location] fun getTiles(): List = tiles.map { tileMap[it] } - fun getTilesInRange(): List = getCenterTile().getTilesInDistance( 3) + fun getTilesInRange(): List = getCenterTile().getTilesInDistance( 3).filter { civInfo == it.getOwner() } // Remove resources required by buildings diff --git a/core/src/com/unciv/logic/city/PopulationManager.kt b/core/src/com/unciv/logic/city/PopulationManager.kt index c138d8a899..1d9eec9ad1 100644 --- a/core/src/com/unciv/logic/city/PopulationManager.kt +++ b/core/src/com/unciv/logic/city/PopulationManager.kt @@ -45,6 +45,10 @@ class PopulationManager { // starvation! { population-- + val lowestRankedWorkedTile = cityInfo.workedTiles + .map{cityInfo.tileMap[it]} + .minBy { Automation().rankTile(it,cityInfo.civInfo) }!! + cityInfo.workedTiles.remove(lowestRankedWorkedTile.position) foodStored = 0 cityInfo.civInfo.addNotification(cityInfo.name + " is starving!", cityInfo.location) }