diff --git a/android/assets/jsons/Tutorials_English.json b/android/assets/jsons/Tutorials_English.json index a8df739580..6fa684afa1 100644 --- a/android/assets/jsons/Tutorials_English.json +++ b/android/assets/jsons/Tutorials_English.json @@ -235,4 +235,13 @@ ] ] + EnemyCityNeedsConqueringWithMeleeUnit: [ + [ + "The city can no longer put up any resistance!", + "However, to conquer it, you must enter the city with a melee unit" + ] + ] + + + } diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index bad76853d2..6694c466a7 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -8,6 +8,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UnCivGame import com.unciv.logic.GameSaver import com.unciv.logic.civilization.CivilizationInfo +import com.unciv.logic.civilization.DiplomaticStatus import com.unciv.models.gamebasics.tile.ResourceType import com.unciv.ui.pickerscreens.GreatPersonPickerScreen import com.unciv.ui.pickerscreens.PolicyPickerScreen @@ -88,6 +89,15 @@ class WorldScreen : CameraStageBaseScreen() { displayTutorials("AfterCityEntered") } + if(!UnCivGame.Current.settings.tutorialsShown.contains("EnemyCityNeedsConqueringWithMeleeUnit")) { + for (enemyCity in civInfo.diplomacy.values.filter { it.diplomaticStatus == DiplomaticStatus.War } + .map { it.otherCiv() }.flatMap { it.cities }) { + if (enemyCity.health == 1 && enemyCity.getCenterTile().getTilesInDistance(2) + .any { it.getUnits().any { unit -> unit.civInfo == civInfo } }) + displayTutorials("EnemyCityNeedsConqueringWithMeleeUnit") + } + } + updateTechButton() updateDiplomacyButton()