diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index dbb93879cc..ce57799ee4 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -29,6 +29,7 @@ import com.unciv.models.stats.Stats import com.unciv.models.translations.tr import com.unciv.ui.utils.MayaCalendar import com.unciv.ui.utils.toPercent +import com.unciv.ui.utils.withItem import com.unciv.ui.victoryscreen.RankingType import java.util.* import kotlin.NoSuchElementException @@ -548,6 +549,8 @@ class CivilizationInfo { for ((key, value) in giftAmount) otherCiv.addStat(key, value.toInt()) + otherCiv.exploredTiles = otherCiv.exploredTiles.withItem(getCapital().location) + questManager.justMet(otherCiv) // Include them in war with major pseudo-quest } diff --git a/core/src/com/unciv/ui/trade/DiplomacyScreen.kt b/core/src/com/unciv/ui/trade/DiplomacyScreen.kt index 7700576964..3f325bed7d 100644 --- a/core/src/com/unciv/ui/trade/DiplomacyScreen.kt +++ b/core/src/com/unciv/ui/trade/DiplomacyScreen.kt @@ -394,6 +394,8 @@ class DiplomacyScreen( diplomacyTable.add(declareWarButton).row() } } + + diplomacyTable.add(getGoToOnMapButton(otherCiv)).row() val diplomaticMarriageButton = getDiplomaticMarriageButton(otherCiv) if (diplomaticMarriageButton != null) diplomacyTable.add(diplomaticMarriageButton).row() @@ -746,6 +748,9 @@ class DiplomacyScreen( diplomacyTable.add(demandsButton).row() if (isNotPlayersTurn()) demandsButton.disable() + if (otherCiv.getCapital().location in viewingCiv.exploredTiles) + diplomacyTable.add(getGoToOnMapButton(otherCiv)).row() + if (!otherCiv.isPlayerCivilization()) { // human players make their own choices diplomacyTable.add(getRelationshipTable(otherCivDiplomacyManager)).row() diplomacyTable.add(getDiplomacyModifiersTable(otherCivDiplomacyManager)).row() @@ -925,6 +930,15 @@ class DiplomacyScreen( rightSideTable.clear() rightSideTable.add(diplomacyTable) } + + private fun getGoToOnMapButton(civilization: CivilizationInfo): TextButton { + val goToOnMapButton = TextButton("Go To on Map", skin) + goToOnMapButton.onClick { + UncivGame.Current.setWorldScreen() + UncivGame.Current.worldScreen.mapHolder.setCenterPosition(civilization.getCapital().location, selectUnit = false) + } + return goToOnMapButton + } override fun resize(width: Int, height: Int) { super.resize(width, height)