From 1aa9eecf852ef50a8cc437ed7da29ee0e6cc847e Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 8 Aug 2021 23:08:07 +0300 Subject: [PATCH] Fixed crashing Diplomatic victory bug --- core/src/com/unciv/logic/civilization/CivilizationInfo.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index 97c1269e6b..f19d2a70de 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -1,7 +1,6 @@ package com.unciv.logic.civilization import com.badlogic.gdx.math.Vector2 -import com.unciv.Constants import com.unciv.UncivGame import com.unciv.logic.GameInfo import com.unciv.logic.UncivShowableException @@ -622,6 +621,9 @@ class CivilizationInfo { private fun startTurnFlags() { for (flag in flagsCountdown.keys.toList()) { + // There are cases where we remove flags while iterating, like ShowDiplomaticVotingResults + if (!flagsCountdown.containsKey(flag)) continue + // the "ignoreCase = true" is to catch 'cityStateGreatPersonGift' instead of 'CityStateGreatPersonGift' being in old save files if (flag == CivFlags.CityStateGreatPersonGift.name || flag.equals(CivFlags.CityStateGreatPersonGift.name, ignoreCase = true)) { val cityStateAllies = getKnownCivs().filter { it.isCityState() && it.getAllyCiv() == civName }