From 4ab118273bb984368a1926460ddbcb7b356d8e96 Mon Sep 17 00:00:00 2001 From: Duan Tao Date: Fri, 10 May 2019 19:05:10 +0800 Subject: [PATCH] Transfer unique bulidings properly. --- core/src/com/unciv/logic/city/CityInfo.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/core/src/com/unciv/logic/city/CityInfo.kt b/core/src/com/unciv/logic/city/CityInfo.kt index 38aec6f58f..9a2f8d8fd7 100644 --- a/core/src/com/unciv/logic/city/CityInfo.kt +++ b/core/src/com/unciv/logic/city/CityInfo.kt @@ -259,6 +259,21 @@ class CityInfo { for(building in cityConstructions.getBuiltBuildings().filter { it.requiredBuildingInAllCities!=null }) cityConstructions.removeBuilding(building.name) isBeingRazed=false + + // Transfer unique buildings + val builtBuildings = cityConstructions.getBuiltBuildings().map{ it.name } + for(building in GameBasics.Buildings.values + .filter{ it.uniqueTo == newCivInfo.civName && builtBuildings.contains(it.replaces) }) { + cityConstructions.removeBuilding(building.replaces!!) + cityConstructions.addBuilding(building.name) + } + + for(building in cityConstructions.getBuiltBuildings() + .filter{ it.uniqueTo != newCivInfo.civName && it.replaces != ""}) { + cityConstructions.removeBuilding(building.name) + cityConstructions.addBuilding(building.replaces!!) + } + tryUpdateRoadStatus() }