From 9b9f31995aba9b1d1ce2a897ca16351be4045be4 Mon Sep 17 00:00:00 2001 From: yairm210 Date: Sat, 11 Jan 2025 21:52:30 +0200 Subject: [PATCH] Remove "last seen improvements" that are no longer valid improvements in mods --- core/src/com/unciv/logic/BackwardCompatibility.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/src/com/unciv/logic/BackwardCompatibility.kt b/core/src/com/unciv/logic/BackwardCompatibility.kt index a92d1644b7..de0f5f96d6 100644 --- a/core/src/com/unciv/logic/BackwardCompatibility.kt +++ b/core/src/com/unciv/logic/BackwardCompatibility.kt @@ -30,6 +30,7 @@ object BackwardCompatibility { // Mod decided you can't repair things anymore - get rid of old pillaged improvements removeOldPillagedImprovements() + removeMissingLastSeenImprovements() handleMissingReferencesForEachCity() @@ -69,6 +70,13 @@ object BackwardCompatibility { } } + private fun GameInfo.removeMissingLastSeenImprovements() { + for (civ in civilizations) + for ((vector,improvementName) in civ.lastSeenImprovement.toList()) + if (!ruleset.tileImprovements.containsKey(improvementName)) + civ.lastSeenImprovement.remove(vector) + } + private fun GameInfo.handleMissingReferencesForEachCity() { for (city in civilizations.asSequence().flatMap { it.cities.asSequence() }) {