diff --git a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt index 3db2f00db9..93785dc057 100644 --- a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt +++ b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt @@ -102,8 +102,12 @@ enum class DiplomaticModifiers(val text: String) { GaveUsUnits("You gave us units!"), GaveUsGifts("We appreciate your gifts"), ReturnedCapturedUnits("You returned captured units to us"), - BelieveSameReligion("We believe in the same religion"), + BelieveSameReligion("We believe in the same religion"); + companion object{ + private val valuesAsMap = DiplomaticModifiers.values().associateBy { it.name } + fun safeValueOf(name: String) = valuesAsMap[name] + } } class DiplomacyManager() : IsPartOfGameInfoSerialization { @@ -113,7 +117,6 @@ class DiplomacyManager() : IsPartOfGameInfoSerialization { const val MINIMUM_INFLUENCE = -60f } - @Suppress("JoinDeclarationAndAssignment") // incorrect warning - constructor would need to be higher in scope @Transient lateinit var civInfo: Civilization diff --git a/core/src/com/unciv/ui/screens/diplomacyscreen/MajorCivDiplomacyTable.kt b/core/src/com/unciv/ui/screens/diplomacyscreen/MajorCivDiplomacyTable.kt index ba9793bb9a..a38982814b 100644 --- a/core/src/com/unciv/ui/screens/diplomacyscreen/MajorCivDiplomacyTable.kt +++ b/core/src/com/unciv/ui/screens/diplomacyscreen/MajorCivDiplomacyTable.kt @@ -199,7 +199,9 @@ class MajorCivDiplomacyTable(private val diplomacyScreen: DiplomacyScreen) { && otherCivDiplomacyManager.hasModifier(DiplomaticModifiers.DestroyedProtectedMinor)) continue - var text = DiplomaticModifiers.valueOf(modifier.key).text.tr() + " " + val diplomaticModifier = DiplomaticModifiers.safeValueOf(modifier.key) + ?: continue // This modifier is from the future, you cannot understand it yet + var text = diplomaticModifier.text.tr() + " " if (modifier.value > 0) text += "+" text += modifier.value.roundToInt() val color = if (modifier.value < 0) Color.RED else Color.GREEN