From 5df19a9fb2b710e4232dd5fe7384349bb3f04ba9 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Wed, 29 Aug 2018 17:50:29 +0300 Subject: [PATCH] Tiles no longer change hands between civilizations (I was probably thinking of Civ IV because I tthough that was how the game worked =| ) "Mandate of heaven" no longer decreases your culture when your empire is unhappy --- core/src/com/unciv/logic/city/CityExpansionManager.kt | 6 ++---- core/src/com/unciv/logic/civilization/CivilizationInfo.kt | 7 +++++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/core/src/com/unciv/logic/city/CityExpansionManager.kt b/core/src/com/unciv/logic/city/CityExpansionManager.kt index 1eba3e1a2e..97dd091ea4 100644 --- a/core/src/com/unciv/logic/city/CityExpansionManager.kt +++ b/core/src/com/unciv/logic/city/CityExpansionManager.kt @@ -33,10 +33,8 @@ class CityExpansionManager { fun chooseNewTileToOwn(): TileInfo? { for (i in 2..5) { - val tiles = cityInfo.getCenterTile().getTilesInDistance(i).filter { - it.getOwner() != cityInfo.civInfo - && it.getTilesInDistance(1).none { tile->tile.isCityCenter() } // This SHOULD stop cities from grabbing tiles surrounding a city - } + val tiles = cityInfo.getCenterTile().getTilesInDistance(i) + .filter {it.getOwner() == null && it.neighbors.any { tile->tile.getOwner()==cityInfo.civInfo }} if (tiles.isEmpty()) continue val chosenTile = tiles.maxBy { Automation().rankTile(it,cityInfo.civInfo) } return chosenTile diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index d51a504fed..20a11eb5b0 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -94,8 +94,11 @@ class CivilizationInfo { statMap["Unit upkeep"] = Stats().apply { gold=- getUnitUpkeep().toFloat()} if (policies.isAdopted("Mandate Of Heaven")) { - if (!statMap.containsKey("Policies")) statMap["Policies"] = Stats() - statMap["Policies"]!!.culture += statMap.values.map { it.happiness }.sum() / 2 + val happiness = statMap.values.map { it.happiness }.sum() + if(happiness>0) { + if (!statMap.containsKey("Policies")) statMap["Policies"] = Stats() + statMap["Policies"]!!.culture += happiness / 2 + } } // negative gold hurts science