diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index 929d7bb983..e76df2dc4e 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -283,6 +283,8 @@ class CivilizationInfo { } fun getEra(): String { + // For scenarios with no techs + if (gameInfo.ruleSet.technologies.isEmpty()) return "None" if(tech.researchedTechnologies.isEmpty()) return gameInfo.ruleSet.getEras().first() val maxEraOfTech = tech.researchedTechnologies diff --git a/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt b/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt index 5b297b8964..ac05b41798 100644 --- a/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt @@ -124,6 +124,7 @@ class GameOptionsTable(val previousScreen: IPreviousScreen, val updatePlayerPick } private fun Table.addEraSelectBox() { + if (ruleset.technologies.isEmpty()) return // scenario with no techs val eras = ruleset.technologies.values.map { it.era() }.distinct() addSelectBox("{Starting Era}:", eras, gameParameters.startingEra) { gameParameters.startingEra = it } diff --git a/core/src/com/unciv/ui/worldscreen/unit/UnitContextMenu.kt b/core/src/com/unciv/ui/worldscreen/unit/UnitContextMenu.kt index 2333fe6fe8..63389485d0 100644 --- a/core/src/com/unciv/ui/worldscreen/unit/UnitContextMenu.kt +++ b/core/src/com/unciv/ui/worldscreen/unit/UnitContextMenu.kt @@ -27,14 +27,15 @@ class UnitContextMenu(val tileMapHolder: WorldMapHolder, val selectedUnit: MapUn onMoveButtonClick() } - addButton( - ImageGetter.getImprovementIcon("Road"), - "Construct road", - BuildLongRoadAction(selectedUnit, targetTile) - ) + // Basic scenarios sommetimes don't have roads + if (selectedUnit.civInfo.gameInfo.ruleSet.tileImprovements.containsKey("Road")) + addButton( + ImageGetter.getImprovementIcon("Road"), + "Construct road", + BuildLongRoadAction(selectedUnit, targetTile) + ) pack() - } fun addButton(icon: Actor, label: String, action: MapUnitAction) {