diff --git a/core/src/com/unciv/logic/automation/UnitAutomation.kt b/core/src/com/unciv/logic/automation/UnitAutomation.kt index da57e2cff0..d698e8eef7 100644 --- a/core/src/com/unciv/logic/automation/UnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/UnitAutomation.kt @@ -73,11 +73,9 @@ object UnitAutomation { } internal fun tryUpgradeUnit(unit: MapUnit): Boolean { - val upgradesTo = unit.baseUnit().upgradesTo - if (upgradesTo == null) return false - - val upgradedUnit = unit.civInfo.gameInfo.ruleSet.units.getValue(upgradesTo) - if (!upgradedUnit.isBuildable(unit.civInfo)) return false + if (unit.baseUnit.upgradesTo == null) return false + val upgradedUnit = unit.getUnitToUpgradeTo() + if (!upgradedUnit.isBuildable(unit.civInfo)) return false // for resource reasons, usually val upgradeAction = UnitActions.getUpgradeAction(unit) if (upgradeAction == null) return false