mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-09 23:39:40 +07:00
City founding tutorial no longer activates if the AI founded a city before you
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -133,3 +133,4 @@ android/release/release/android.aab
|
||||
android/assets/fonts/
|
||||
android/release/android.aab
|
||||
android/assets/maps/
|
||||
android/release/android.aab.sig
|
||||
|
@ -21,8 +21,8 @@ android {
|
||||
applicationId "com.unciv.app"
|
||||
minSdkVersion 14
|
||||
targetSdkVersion 28
|
||||
versionCode 286
|
||||
versionName "2.19.5"
|
||||
versionCode 287
|
||||
versionName "2.19.6"
|
||||
}
|
||||
|
||||
// Had to add this crap for Travis to build, it wanted to sign the app
|
||||
|
@ -8,6 +8,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton
|
||||
import com.unciv.Constants
|
||||
import com.unciv.UnCivGame
|
||||
import com.unciv.logic.GameInfo
|
||||
import com.unciv.logic.GameSaver
|
||||
import com.unciv.logic.civilization.CivilizationInfo
|
||||
import com.unciv.logic.civilization.diplomacy.DiplomaticStatus
|
||||
@ -113,35 +114,7 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() {
|
||||
gameInfo.civilizations.forEach { it.setCitiesConnectedToCapitalTransients() }
|
||||
}
|
||||
|
||||
if(bottomBar.unitTable.selectedUnit!=null){
|
||||
displayTutorials("UnitSelected")
|
||||
}
|
||||
|
||||
if(UnCivGame.Current.settings.hasCrashedRecently){
|
||||
displayTutorials("GameCrashed")
|
||||
UnCivGame.Current.settings.tutorialsShown.remove("GameCrashed")
|
||||
UnCivGame.Current.settings.hasCrashedRecently=false
|
||||
UnCivGame.Current.settings.save()
|
||||
}
|
||||
|
||||
if (UnCivGame.Current.settings.tutorialsShown.contains("CityEntered")) {
|
||||
displayTutorials("AfterCityEntered")
|
||||
}
|
||||
|
||||
if(!UnCivGame.Current.settings.tutorialsShown.contains("EnemyCityNeedsConqueringWithMeleeUnit")) {
|
||||
for (enemyCity in cloneCivilization.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 == cloneCivilization } })
|
||||
displayTutorials("EnemyCityNeedsConqueringWithMeleeUnit")
|
||||
}
|
||||
}
|
||||
|
||||
if(gameClone.getCurrentPlayerCivilization().getCivUnits().any { it.health<100 })
|
||||
displayTutorials("InjuredUnits")
|
||||
|
||||
if(gameClone.getCurrentPlayerCivilization().getCivUnits().any { it.name== Constants.worker })
|
||||
displayTutorials("WorkerTrained")
|
||||
displayTutorialsOnUpdate(cloneCivilization, gameClone)
|
||||
|
||||
updateTechButton(cloneCivilization)
|
||||
updateDiplomacyButton(cloneCivilization)
|
||||
@ -179,6 +152,35 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() {
|
||||
updateNextTurnButton()
|
||||
}
|
||||
|
||||
private fun displayTutorialsOnUpdate(cloneCivilization: CivilizationInfo, gameClone: GameInfo) {
|
||||
if (UnCivGame.Current.settings.hasCrashedRecently) {
|
||||
displayTutorials("GameCrashed")
|
||||
UnCivGame.Current.settings.tutorialsShown.remove("GameCrashed")
|
||||
UnCivGame.Current.settings.hasCrashedRecently = false
|
||||
UnCivGame.Current.settings.save()
|
||||
}
|
||||
|
||||
if (bottomBar.unitTable.selectedUnit != null) displayTutorials("UnitSelected")
|
||||
if (viewingCiv.cities.isNotEmpty()) displayTutorials("CityFounded")
|
||||
if (UnCivGame.Current.settings.tutorialsShown.contains("CityEntered")) displayTutorials("AfterCityEntered")
|
||||
|
||||
|
||||
if (!UnCivGame.Current.settings.tutorialsShown.contains("EnemyCityNeedsConqueringWithMeleeUnit")) {
|
||||
for (enemyCity in cloneCivilization.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 == cloneCivilization } })
|
||||
displayTutorials("EnemyCityNeedsConqueringWithMeleeUnit")
|
||||
}
|
||||
}
|
||||
|
||||
if (gameClone.getCurrentPlayerCivilization().getCivUnits().any { it.health < 100 })
|
||||
displayTutorials("InjuredUnits")
|
||||
|
||||
if (gameClone.getCurrentPlayerCivilization().getCivUnits().any { it.name == Constants.worker })
|
||||
displayTutorials("WorkerTrained")
|
||||
}
|
||||
|
||||
private fun updateDiplomacyButton(civInfo: CivilizationInfo) {
|
||||
diplomacyButtonWrapper.clear()
|
||||
if(civInfo.getKnownCivs()
|
||||
|
@ -134,8 +134,6 @@ class UnitActions {
|
||||
unit.currentMovement >0 &&
|
||||
!tile.getTilesInDistance(3).any { it.isCityCenter() })
|
||||
{
|
||||
worldScreen.displayTutorials("CityFounded")
|
||||
|
||||
unit.civInfo.addCity(tile.position)
|
||||
tile.improvement = null
|
||||
unit.destroy()
|
||||
|
Reference in New Issue
Block a user