"Never appears as a Barbarian unit" also affects upgrades

This commit is contained in:
yairm210 2025-03-09 14:04:56 +02:00
parent 78f6c8c602
commit c29617c80a

View File

@ -156,6 +156,8 @@ object UnitAutomation {
fun isInvalidUpgradeDestination(baseUnit: BaseUnit): Boolean {
if (!unit.civ.tech.isResearched(baseUnit))
return true
if (unit.civ.isBarbarian && baseUnit.hasUnique(UniqueType.CannotBeBarbarian))
return true
return baseUnit.getMatchingUniques(UniqueType.OnlyAvailable, StateForConditionals.IgnoreConditionals)
.any { !it.conditionalsApply(unit.cache.state) }
}