diff --git a/core/src/com/unciv/logic/city/CityExpansionManager.kt b/core/src/com/unciv/logic/city/CityExpansionManager.kt index e34dad211b..51d3cd4f3e 100644 --- a/core/src/com/unciv/logic/city/CityExpansionManager.kt +++ b/core/src/com/unciv/logic/city/CityExpansionManager.kt @@ -84,7 +84,7 @@ class CityExpansionManager { tileInfo.owningCity=null } - private fun takeOwnership(tileInfo: TileInfo){ + fun takeOwnership(tileInfo: TileInfo){ if(tileInfo.isCityCenter()) throw Exception("What?") if(tileInfo.getCity()!=null) tileInfo.getCity()!!.expansion.relinquishOwnership(tileInfo) diff --git a/core/src/com/unciv/ui/cityscreen/CityScreen.kt b/core/src/com/unciv/ui/cityscreen/CityScreen.kt index 993ef08d40..ed01eb2bc1 100644 --- a/core/src/com/unciv/ui/cityscreen/CityScreen.kt +++ b/core/src/com/unciv/ui/cityscreen/CityScreen.kt @@ -240,6 +240,13 @@ class CityScreen(internal val city: CityInfo) : CameraStageBaseScreen() { if(goldCostOfTile>city.civInfo.gold) buyTileButton.disable() tileTable.add(buyTileButton) } + if(tile.getOwner()!=null && tile.getOwner()!!.isPlayerCivilization() + && tile.arialDistanceTo(city.getCenterTile()) <= 3 + && tile.neighbors.any{it.getCity()==city}){ + val acquireTileButton = TextButton("Acquire".tr(),skin) + acquireTileButton.onClick { city.expansion.takeOwnership(tile); game.screen = CityScreen(city); dispose() } + tileTable.add(acquireTileButton) + } tileTable.pack() tileTable.setPosition(stage.width - 10f - tileTable.width, 10f)