diff --git a/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt b/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt index 014b2cdcb7..e7728f3605 100644 --- a/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt +++ b/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt @@ -29,19 +29,20 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo) { civInfo.exploredTiles.addAll(newlyExploredTiles) - val viewedCivs = HashSet() + val viewedCivs = HashMap() for (tile in civInfo.viewableTiles) { val tileOwner = tile.getOwner() - if (tileOwner != null) viewedCivs += tileOwner - for (unit in tile.getUnits()) viewedCivs += unit.civInfo + if (tileOwner != null) viewedCivs[civInfo] = tile + for (unit in tile.getUnits()) viewedCivs[unit.civInfo] = tile } if (!civInfo.isBarbarian()) { - for (otherCiv in viewedCivs.filterNot { it == civInfo || it.isBarbarian() }) { - if (!civInfo.diplomacy.containsKey(otherCiv.civName)) { - civInfo.meetCivilization(otherCiv) - civInfo.addNotification("We have encountered [" + otherCiv.civName + "]!", null, Color.GOLD) - } + for (entry in viewedCivs) { + val metCiv = entry.key + if (metCiv == civInfo || metCiv.isBarbarian() || civInfo.diplomacy.containsKey(metCiv.civName)) continue + civInfo.meetCivilization(metCiv) + civInfo.addNotification("We have encountered [" + metCiv.civName + "]!", entry.value.position, Color.GOLD) + metCiv.addNotification("We have encountered [" + civInfo.civName + "]!", entry.value.position, Color.GOLD) } discoverNaturalWonders() diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index d0f96b4264..8bbc1e430c 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -252,8 +252,8 @@ class CivilizationInfo { otherCiv.diplomacy[civName] = DiplomacyManager(otherCiv, civName) .apply { diplomaticStatus = DiplomaticStatus.Peace } - popupAlerts.add(PopupAlert(AlertType.FirstContact,otherCiv.civName)) + if(isCurrentPlayer() || otherCiv.isCurrentPlayer()) UncivGame.Current.settings.addCompletedTutorialTask("Meet another civilization") }