City founding tutorial no longer activates if the AI founded a city before you

This commit is contained in:
Yair Morgenstern
2019-08-18 23:25:01 +03:00
parent 23f575d150
commit 56b3f1c77a
4 changed files with 34 additions and 33 deletions

1
.gitignore vendored
View File

@ -133,3 +133,4 @@ android/release/release/android.aab
android/assets/fonts/
android/release/android.aab
android/assets/maps/
android/release/android.aab.sig

View File

@ -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

View File

@ -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()

View File

@ -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()