mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-14 01: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/assets/fonts/
|
||||||
android/release/android.aab
|
android/release/android.aab
|
||||||
android/assets/maps/
|
android/assets/maps/
|
||||||
|
android/release/android.aab.sig
|
||||||
|
@ -21,8 +21,8 @@ android {
|
|||||||
applicationId "com.unciv.app"
|
applicationId "com.unciv.app"
|
||||||
minSdkVersion 14
|
minSdkVersion 14
|
||||||
targetSdkVersion 28
|
targetSdkVersion 28
|
||||||
versionCode 286
|
versionCode 287
|
||||||
versionName "2.19.5"
|
versionName "2.19.6"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Had to add this crap for Travis to build, it wanted to sign the app
|
// 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.badlogic.gdx.scenes.scene2d.ui.TextButton
|
||||||
import com.unciv.Constants
|
import com.unciv.Constants
|
||||||
import com.unciv.UnCivGame
|
import com.unciv.UnCivGame
|
||||||
|
import com.unciv.logic.GameInfo
|
||||||
import com.unciv.logic.GameSaver
|
import com.unciv.logic.GameSaver
|
||||||
import com.unciv.logic.civilization.CivilizationInfo
|
import com.unciv.logic.civilization.CivilizationInfo
|
||||||
import com.unciv.logic.civilization.diplomacy.DiplomaticStatus
|
import com.unciv.logic.civilization.diplomacy.DiplomaticStatus
|
||||||
@ -113,35 +114,7 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() {
|
|||||||
gameInfo.civilizations.forEach { it.setCitiesConnectedToCapitalTransients() }
|
gameInfo.civilizations.forEach { it.setCitiesConnectedToCapitalTransients() }
|
||||||
}
|
}
|
||||||
|
|
||||||
if(bottomBar.unitTable.selectedUnit!=null){
|
displayTutorialsOnUpdate(cloneCivilization, gameClone)
|
||||||
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")
|
|
||||||
|
|
||||||
updateTechButton(cloneCivilization)
|
updateTechButton(cloneCivilization)
|
||||||
updateDiplomacyButton(cloneCivilization)
|
updateDiplomacyButton(cloneCivilization)
|
||||||
@ -179,6 +152,35 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() {
|
|||||||
updateNextTurnButton()
|
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) {
|
private fun updateDiplomacyButton(civInfo: CivilizationInfo) {
|
||||||
diplomacyButtonWrapper.clear()
|
diplomacyButtonWrapper.clear()
|
||||||
if(civInfo.getKnownCivs()
|
if(civInfo.getKnownCivs()
|
||||||
|
@ -134,8 +134,6 @@ class UnitActions {
|
|||||||
unit.currentMovement >0 &&
|
unit.currentMovement >0 &&
|
||||||
!tile.getTilesInDistance(3).any { it.isCityCenter() })
|
!tile.getTilesInDistance(3).any { it.isCityCenter() })
|
||||||
{
|
{
|
||||||
worldScreen.displayTutorials("CityFounded")
|
|
||||||
|
|
||||||
unit.civInfo.addCity(tile.position)
|
unit.civInfo.addCity(tile.position)
|
||||||
tile.improvement = null
|
tile.improvement = null
|
||||||
unit.destroy()
|
unit.destroy()
|
||||||
|
Reference in New Issue
Block a user