From 2b1f2513fcfeda232d5fc0eb480ad580b0e24626 Mon Sep 17 00:00:00 2001 From: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com> Date: Wed, 19 Apr 2023 07:19:22 +0200 Subject: [PATCH] Fix "religions to be founded" expanders accumulating (#9214) * Fix my own dumb blunder re "Religions to be founded" expander * Faith required for next Prophet should be visible --- .../civilization/managers/ReligionManager.kt | 4 ++-- .../overviewscreen/ReligionOverviewTable.kt | 15 +++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/core/src/com/unciv/logic/civilization/managers/ReligionManager.kt b/core/src/com/unciv/logic/civilization/managers/ReligionManager.kt index 03063d9c3b..f5ef989c1c 100644 --- a/core/src/com/unciv/logic/civilization/managers/ReligionManager.kt +++ b/core/src/com/unciv/logic/civilization/managers/ReligionManager.kt @@ -155,11 +155,11 @@ class ReligionManager : IsPartOfGameInfoSerialization { return faithCost.toInt() } - fun canGenerateProphet(): Boolean { + fun canGenerateProphet(ignoreFaithAmount: Boolean = false): Boolean { if (!civInfo.gameInfo.isReligionEnabled()) return false // No religion, no prophets if (religion == null || religionState == ReligionState.None) return false // First get a pantheon, then we'll talk about a real religion if (getGreatProphetEquivalent() == null) return false - if (storedFaith < faithForNextGreatProphet()) return false + if (!ignoreFaithAmount && storedFaith < faithForNextGreatProphet()) return false if (!civInfo.isMajorCiv()) return false if (civInfo.hasUnique(UniqueType.MayNotGenerateGreatProphet)) return false if (religionState == ReligionState.Pantheon && remainingFoundableReligions() == 0) return false // too many have been founded diff --git a/core/src/com/unciv/ui/screens/overviewscreen/ReligionOverviewTable.kt b/core/src/com/unciv/ui/screens/overviewscreen/ReligionOverviewTable.kt index b52ef069e2..85849e8d90 100644 --- a/core/src/com/unciv/ui/screens/overviewscreen/ReligionOverviewTable.kt +++ b/core/src/com/unciv/ui/screens/overviewscreen/ReligionOverviewTable.kt @@ -41,20 +41,23 @@ class ReligionOverviewTab( private val religionButtonLabel = "Click an icon to see the stats of this religion".toLabel() private val statsTable = Table() private val beliefsTable = Table() + private val headerTable = Table() - override fun getFixedContent() = Table().apply { + override fun getFixedContent() = headerTable + + init { + civStatsTable.defaults().left().pad(5f) + civStatsTable.addCivSpecificStats() + + headerTable.apply { defaults().pad(5f) align(Align.top) - - civStatsTable.defaults().left().pad(5f) - civStatsTable.addCivSpecificStats() add(civStatsTable).row() add(religionButtons).row() add(religionButtonLabel) addSeparator() } - init { defaults().pad(5f) align(Align.top) loadReligionButtons() @@ -86,7 +89,7 @@ class ReligionOverviewTab( } add(religionCountExpander).colspan(2).growX().row() - if (manager.canGenerateProphet()) { + if (manager.canGenerateProphet(ignoreFaithAmount = true)) { add("Minimal Faith required for\nthe next [great prophet equivalent]:" .fillPlaceholders(manager.getGreatProphetEquivalent()!!) .toLabel()