diff --git a/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt index b4b5a4cdfa..246445d438 100644 --- a/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt @@ -88,6 +88,7 @@ class PolicyPickerScreen(internal val civInfo: CivilizationInfo) : PickerScreen( private fun pickPolicy(policy: Policy) { if (civInfo.policies.isAdopted(policy.name) + || policy.name.endsWith("Complete") || !civInfo.policies.getAdoptedPolicies().containsAll(policy.requires!!) || !civInfo.policies.canAdoptPolicy()) { rightSideButton.touchable = Touchable.disabled @@ -111,13 +112,12 @@ class PolicyPickerScreen(internal val civInfo: CivilizationInfo) : PickerScreen( } else toReturn = TextButton(policy.name, CameraStageBaseScreen.skin) - if (civInfo.policies.isAdopted(policy.name)) { // existing - toReturn.color = Color.GREEN - } else if (!civInfo.policies.getAdoptedPolicies().containsAll(policy.requires!!)) - // non-available - { - toReturn.color = Color.GRAY + when { + civInfo.policies.isAdopted(policy.name) -> toReturn.color = Color.GREEN + policy.name.endsWith("Complete") || !civInfo.policies.getAdoptedPolicies().containsAll(policy.requires!!) + -> toReturn.color = Color.GRAY } + toReturn.addClickListener { pickPolicy(policy) } toReturn.pack() return toReturn