Fix NullPointerException on founding a pantheon (#10888)

* Update ReligionManager.kt

* Move religionState and trigger out of foundPantheon for symmetry

* Update ReligionManager.kt
This commit is contained in:
dHannasch
2024-01-08 22:36:15 -07:00
committed by GitHub
parent 7ec7d2a071
commit 597574f534

View File

@ -135,10 +135,6 @@ class ReligionManager : IsPartOfGameInfoSerialization {
civInfo.gameInfo.religions[beliefName] = religion!! civInfo.gameInfo.religions[beliefName] = religion!!
for (city in civInfo.cities) for (city in civInfo.cities)
city.religion.addPressure(beliefName, 200 * city.population.population) city.religion.addPressure(beliefName, 200 * city.population.population)
religionState = ReligionState.Pantheon
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponFoundingPantheon))
UniqueTriggerActivation.triggerCivwideUnique(unique, civInfo)
} }
fun greatProphetsEarned(): Int = civInfo.civConstructions.boughtItemsWithIncreasingPrice[getGreatProphetEquivalent()?.name ?: ""] fun greatProphetsEarned(): Int = civInfo.civConstructions.boughtItemsWithIncreasingPrice[getGreatProphetEquivalent()?.name ?: ""]
@ -375,6 +371,8 @@ class ReligionManager : IsPartOfGameInfoSerialization {
// Must be done first in case when gain more later // Must be done first in case when gain more later
freeBeliefs.clear() freeBeliefs.clear()
if (religionState == ReligionState.None)
foundPantheon(beliefs[0].name, useFreeBeliefs) // makes religion non-null
// add beliefs (religion exists at this point) // add beliefs (religion exists at this point)
religion!!.followerBeliefs.addAll( religion!!.followerBeliefs.addAll(
beliefs beliefs
@ -389,7 +387,9 @@ class ReligionManager : IsPartOfGameInfoSerialization {
when (religionState) { when (religionState) {
ReligionState.None -> { ReligionState.None -> {
foundPantheon(beliefs[0].name, useFreeBeliefs) religionState = ReligionState.Pantheon
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponFoundingPantheon))
UniqueTriggerActivation.triggerCivwideUnique(unique, civInfo)
} }
ReligionState.FoundingReligion -> { ReligionState.FoundingReligion -> {
religionState = ReligionState.Religion religionState = ReligionState.Religion
@ -399,8 +399,7 @@ class ReligionManager : IsPartOfGameInfoSerialization {
ReligionState.EnhancingReligion -> { ReligionState.EnhancingReligion -> {
religionState = ReligionState.EnhancedReligion religionState = ReligionState.EnhancedReligion
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponEnhancingReligion)) for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponEnhancingReligion))
UniqueTriggerActivation.triggerCivwideUnique(unique, civInfo) UniqueTriggerActivation.triggerCivwideUnique(unique, civInfo)
} }
else -> {} else -> {}
} }