Resolved 'getting stuck when there are no more pickable Pantheon beliefs'

This commit is contained in:
Yair Morgenstern 2021-07-01 21:58:52 +03:00
parent ae84d3f5c8
commit e80c7d2101
2 changed files with 11 additions and 1 deletions

View File

@ -20,9 +20,19 @@ class ReligionManager {
fun canFoundPantheon(): Boolean {
if (pantheonBelief != null) return false
if (!civInfo.gameInfo.hasReligionEnabled()) return false
if (civInfo.gameInfo.ruleSet.beliefs.values.none { isPickablePantheonBelief(it) })
return false
return storedFaith >= faithForPantheon()
}
fun isPickablePantheonBelief(belief: Belief): Boolean {
if (belief.type != "Pantheon") return false
if (civInfo.gameInfo.civilizations.any { it.religionManager.pantheonBelief == belief.name })
return false
return true
}
fun endTurn(faithFromNewTurn: Int) {
storedFaith += faithFromNewTurn
}

View File

@ -697,7 +697,7 @@ class WorldScreen(val gameInfo: GameInfo, val viewingCiv:CivilizationInfo) : Cam
val pantheonPopup = Popup(this)
val beliefsTable = Table().apply { defaults().pad(10f) }
for (belief in gameInfo.ruleSet.beliefs.values) {
if (belief.type != "Pantheon" || gameInfo.civilizations.any { it.religionManager.pantheonBelief == belief.name }) continue
if (!viewingCiv.religionManager.isPickablePantheonBelief(belief)) continue
val beliefTable = Table().apply { touchable = Touchable.enabled; background = ImageGetter.getBackground(ImageGetter.getBlue()) }
beliefTable.pad(10f)
beliefTable.add(belief.name.toLabel(fontSize = 24)).row()