diff --git a/android/assets/jsons/Units.json b/android/assets/jsons/Units.json index 97ca138c30..9bbe10bf56 100644 --- a/android/assets/jsons/Units.json +++ b/android/assets/jsons/Units.json @@ -324,7 +324,6 @@ "cost": 75, "requiredTech": "Iron Working", "upgradesTo": "Longswordsman", - "obsoleteTech": "Steel", "requiredResource": "Iron", "uniques": ["Can construct roads"], "hurryCostModifier": 20, diff --git a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt index 5fd770a74d..d7307fb0d9 100644 --- a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt +++ b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt @@ -110,16 +110,17 @@ object UnitActions { } private fun addConstructRoadsAction(unit: MapUnit, tile: TileInfo, actionList: ArrayList) { + val improvement = RoadStatus.Road.improvement(unit.civInfo.gameInfo.ruleSet) ?: return if (unit.hasUnique("Can construct roads") && tile.roadStatus == RoadStatus.None && tile.improvementInProgress != "Road" && tile.isLand - && unit.civInfo.tech.isResearched(RoadStatus.Road.improvement(unit.civInfo.gameInfo.ruleSet)!!.techRequired!!)) + && (improvement.techRequired==null || unit.civInfo.tech.isResearched(improvement.techRequired!!))) actionList += UnitAction( type = UnitActionType.ConstructRoad, action = { tile.improvementInProgress = "Road" - tile.turnsToImprovement = 4 + tile.turnsToImprovement = improvement.getTurnsToBuild(unit.civInfo) }.takeIf { unit.currentMovement > 0 }) }