diff --git a/core/src/com/unciv/logic/automation/Automation.kt b/core/src/com/unciv/logic/automation/Automation.kt index f16c9193c2..7625015e0d 100644 --- a/core/src/com/unciv/logic/automation/Automation.kt +++ b/core/src/com/unciv/logic/automation/Automation.kt @@ -64,7 +64,8 @@ object Automation { return city.cityConstructions.currentConstructionFromQueue // This is so that the AI doesn't use all its aluminum on units and have none left for spaceship parts - if (city.civInfo.getCivResourcesByName()["Aluminum"]!! < 2) + val aluminum = city.civInfo.getCivResourcesByName()["Aluminum"] + if (aluminum!=null && aluminum < 2) // mods may have no aluminum militaryUnits.filter { it.requiredResource != "Aluminum" } val findWaterConnectedCitiesAndEnemies = BFS(city.getCenterTile()) { it.isWater || it.isCityCenter() } diff --git a/core/src/com/unciv/logic/trade/TradeLogic.kt b/core/src/com/unciv/logic/trade/TradeLogic.kt index 2c5cef30fd..d297b25ec1 100644 --- a/core/src/com/unciv/logic/trade/TradeLogic.kt +++ b/core/src/com/unciv/logic/trade/TradeLogic.kt @@ -24,8 +24,6 @@ class TradeLogic(val ourCivilization:CivilizationInfo, val otherCivilization: Ci && !otherCivilization.isCityState() && civInfo.tech.getTechUniques().contains("Enables Open Borders agreements") && otherCivilization.tech.getTechUniques().contains("Enables Open Borders agreements")) { - val relationshipLevel = otherCivilization.getDiplomacyManager(civInfo).relationshipLevel() - offers.add(TradeOffer(Constants.openBorders, TradeType.Agreement)) } diff --git a/core/src/com/unciv/ui/mapeditor/GameParametersScreen.kt b/core/src/com/unciv/ui/mapeditor/GameParametersScreen.kt index edd44719ad..98e28c1b9f 100644 --- a/core/src/com/unciv/ui/mapeditor/GameParametersScreen.kt +++ b/core/src/com/unciv/ui/mapeditor/GameParametersScreen.kt @@ -39,6 +39,12 @@ class GameParametersScreen(var mapEditorScreen: MapEditorScreen): IPreviousScree mapEditorScreen.ruleset.clear() mapEditorScreen.ruleset.add(ruleset) mapEditorScreen.tileEditorOptions.update() + // Remove resources that are not applicable to this scenario + for(tile in mapEditorScreen.tileMap.values){ + if(tile.resource!=null && !ruleset.tileResources.containsKey(tile.resource!!)) + tile.resource=null + } + mapEditorScreen.mapHolder.updateTileGroups() UncivGame.Current.setScreen(mapEditorScreen) dispose()