From 4f6a2eb2f494a92b9e98b47427835de51b9d8516 Mon Sep 17 00:00:00 2001 From: OptimizedForDensity <105244635+OptimizedForDensity@users.noreply.github.com> Date: Thu, 23 Jun 2022 19:24:29 -0400 Subject: [PATCH] Add notification when a civ is resurrected through liberation (#7276) --- .../jsons/translations/template.properties | 3 +++ .../logic/city/CityInfoConquestFunctions.kt | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/android/assets/jsons/translations/template.properties b/android/assets/jsons/translations/template.properties index 516bf798c9..424a8bed74 100644 --- a/android/assets/jsons/translations/template.properties +++ b/android/assets/jsons/translations/template.properties @@ -848,6 +848,9 @@ Your [unitName] lost its faith after spending too long inside enemy territory! = You have unlocked [ability] = A new b'ak'tun has just begun! = A Great Person joins you! = +[civ1] has liberated [civ2] = +[civ] has liberated an unknown civilization = +An unknown civilization has liberated [civ] = # World Screen UI diff --git a/core/src/com/unciv/logic/city/CityInfoConquestFunctions.kt b/core/src/com/unciv/logic/city/CityInfoConquestFunctions.kt index 7a6f127850..fcc0f23b0c 100644 --- a/core/src/com/unciv/logic/city/CityInfoConquestFunctions.kt +++ b/core/src/com/unciv/logic/city/CityInfoConquestFunctions.kt @@ -205,7 +205,22 @@ class CityInfoConquestFunctions(val city: CityInfo){ conquerCity(conqueringCiv, oldCiv, foundingCiv) - if (foundingCiv.cities.size == 1) cityConstructions.addBuilding(capitalCityIndicator()) // Resurrection! + if (foundingCiv.cities.size == 1) { + // Resurrection! + cityConstructions.addBuilding(capitalCityIndicator()) + for (civ in civInfo.gameInfo.civilizations) { + if (civ == foundingCiv || civ == conqueringCiv) continue // don't need to notify these civs + when { + civ.knows(conqueringCiv) && civ.knows(foundingCiv) -> + civ.addNotification("[$conqueringCiv] has liberated [$foundingCiv]", foundingCiv.civName, NotificationIcon.Diplomacy, conqueringCiv.civName) + civ.knows(conqueringCiv) && !civ.knows(foundingCiv) -> + civ.addNotification("[$conqueringCiv] has liberated an unknown civilization", NotificationIcon.Diplomacy, conqueringCiv.civName) + !civ.knows(conqueringCiv) && civ.knows(foundingCiv) -> + civ.addNotification("An unknown civilization has liberated [$foundingCiv]", NotificationIcon.Diplomacy, foundingCiv.civName) + else -> continue + } + } + } isPuppet = false cityStats.update()