From e587f28a88e8952939e8505c0aa778b133c6ab94 Mon Sep 17 00:00:00 2001 From: SeventhM <127357473+SeventhM@users.noreply.github.com> Date: Fri, 13 Oct 2023 01:38:43 -0700 Subject: [PATCH] Fix auto assign production not working after a building is built (#10299) * Fix auto assign production not working after a building is built * Fix issues in online multiplayer and remove validation in addbuiling --- core/src/com/unciv/logic/city/CityConstructions.kt | 4 +--- core/src/com/unciv/logic/civilization/CivConstructions.kt | 1 - core/src/com/unciv/logic/multiplayer/OnlineMultiplayer.kt | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index a6539a0190..715d8282ff 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -387,6 +387,7 @@ class CityConstructions : IsPartOfGameInfoSerialization { if (construction.isBuildable(this)) constructionQueue.add(constructionName) } + chooseNextConstruction() } private fun validateInProgressConstructions() { @@ -523,8 +524,6 @@ class CityConstructions : IsPartOfGameInfoSerialization { updateUniques() - validateConstructionQueue() - /** Support for [UniqueType.CreatesOneImprovement] */ applyCreateOneImprovement(building) @@ -687,7 +686,6 @@ class CityConstructions : IsPartOfGameInfoSerialization { private fun removeCurrentConstruction() = removeFromQueue(0, true) fun chooseNextConstruction() { - validateConstructionQueue() if (!isQueueEmptyOrIdle()) { // If the USER set a perpetual construction, then keep it! if (getConstruction(currentConstructionFromQueue) !is PerpetualConstruction || currentConstructionIsUserSet) return diff --git a/core/src/com/unciv/logic/civilization/CivConstructions.kt b/core/src/com/unciv/logic/civilization/CivConstructions.kt index 694bca2dc8..cae2c3dcb5 100644 --- a/core/src/com/unciv/logic/civilization/CivConstructions.kt +++ b/core/src/com/unciv/logic/civilization/CivConstructions.kt @@ -115,7 +115,6 @@ class CivConstructions : IsPartOfGameInfoSerialization { freeStatBuildingsProvided.addToMapOfSets(stat.name, city.id) addFreeBuilding(city.id, building.name) city.cityConstructions.constructionComplete(building) - building.postBuildEvent(city.cityConstructions) } } diff --git a/core/src/com/unciv/logic/multiplayer/OnlineMultiplayer.kt b/core/src/com/unciv/logic/multiplayer/OnlineMultiplayer.kt index caecb9e914..3cdb0cc288 100644 --- a/core/src/com/unciv/logic/multiplayer/OnlineMultiplayer.kt +++ b/core/src/com/unciv/logic/multiplayer/OnlineMultiplayer.kt @@ -401,4 +401,4 @@ suspend fun attemptAction( fun GameInfoPreview.isUsersTurn() = getCivilization(currentPlayer).playerId == UncivGame.Current.settings.multiplayer.userId -fun GameInfo.isUsersTurn() = getCivilization(currentPlayer).playerId == UncivGame.Current.settings.multiplayer.userId +fun GameInfo.isUsersTurn() = currentPlayer.isNotEmpty() && getCivilization(currentPlayer).playerId == UncivGame.Current.settings.multiplayer.userId