From 546e57c9717df83e308377bb72b1d78f2be0318b Mon Sep 17 00:00:00 2001 From: Emandac <121508218+Emandac@users.noreply.github.com> Date: Sat, 13 Sep 2025 23:44:25 +0200 Subject: [PATCH] Removed most of the FoundPuppetCity changes for another PR down the line. The only FoundPuppetCity changes I didn't remove is the one in CivilianUnitAutomation.kt. Because that one is mostly a bug fix to stop the citystate from settle puppet cities. --- .../logic/automation/civilization/NextTurnAutomation.kt | 2 -- .../unciv/logic/automation/unit/CivilianUnitAutomation.kt | 5 ++--- core/src/com/unciv/logic/automation/unit/UnitAutomation.kt | 2 +- core/src/com/unciv/logic/battle/BattleUnitCapture.kt | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/core/src/com/unciv/logic/automation/civilization/NextTurnAutomation.kt b/core/src/com/unciv/logic/automation/civilization/NextTurnAutomation.kt index 8f9d4b532d..83cc157d70 100644 --- a/core/src/com/unciv/logic/automation/civilization/NextTurnAutomation.kt +++ b/core/src/com/unciv/logic/automation/civilization/NextTurnAutomation.kt @@ -509,8 +509,6 @@ object NextTurnAutomation { if (civInfo.isAtWar()) return // don't train settlers when you could be training troops. if (civInfo.cities.none()) return if (civInfo.getHappiness() <= civInfo.cities.size) return - - // This is a tough one - if we don't ignore conditionals we could have units that can found only on certain tiles that are ignored // If we DO ignore conditionals we could get a unit that can only found if there's a certain tech, or something diff --git a/core/src/com/unciv/logic/automation/unit/CivilianUnitAutomation.kt b/core/src/com/unciv/logic/automation/unit/CivilianUnitAutomation.kt index 66c6bb3425..2f6523354d 100644 --- a/core/src/com/unciv/logic/automation/unit/CivilianUnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/unit/CivilianUnitAutomation.kt @@ -33,9 +33,8 @@ object CivilianUnitAutomation { val hasSettlerUnique = hasSettlerAction(UniqueType.FoundCity) || hasSettlerAction(UniqueType.FoundPuppetCity) /* - * allow citystate to build unit Military - * that can settle but stop them from settling that unit - * + * allow citystate to build unit Military, + * that can settle but stop them from settling that unit. * */ if (hasSettlerUnique && !(unit.civ.isCityState && unit.isMilitary())) return SpecificUnitAutomation.automateSettlerActions(unit, dangerousTiles) diff --git a/core/src/com/unciv/logic/automation/unit/UnitAutomation.kt b/core/src/com/unciv/logic/automation/unit/UnitAutomation.kt index e6481ed5e2..c574c19ff6 100644 --- a/core/src/com/unciv/logic/automation/unit/UnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/unit/UnitAutomation.kt @@ -68,7 +68,7 @@ object UnitAutomation { //This allows for military units with certain civilian abilities to behave as civilians in peace and soldiers in war if ((unit.hasUnique(UniqueType.BuildImprovements) || - unit.hasUnique(UniqueType.FoundCity) || unit.hasUnique(UniqueType.FoundPuppetCity) || + unit.hasUnique(UniqueType.FoundCity) || unit.hasUnique(UniqueType.ReligiousUnit) || unit.hasUnique(UniqueType.CreateWaterImprovements)) && !unit.civ.isAtWar()){ CivilianUnitAutomation.automateCivilianUnit(unit, getDangerousTiles(unit)) diff --git a/core/src/com/unciv/logic/battle/BattleUnitCapture.kt b/core/src/com/unciv/logic/battle/BattleUnitCapture.kt index 4e0d66b0cb..d7ea3355df 100644 --- a/core/src/com/unciv/logic/battle/BattleUnitCapture.kt +++ b/core/src/com/unciv/logic/battle/BattleUnitCapture.kt @@ -146,8 +146,7 @@ object BattleUnitCapture { wasDestroyedInstead = true } // City states can never capture settlers at all - (capturedUnit.hasUnique(UniqueType.FoundCity, GameContext.IgnoreConditionals) || - capturedUnit.hasUnique(UniqueType.FoundPuppetCity, GameContext.IgnoreConditionals)) && attacker.getCivInfo().isCityState -> { + capturedUnit.hasUnique(UniqueType.FoundCity, GameContext.IgnoreConditionals) -> { capturedUnit.destroy() wasDestroyedInstead = true }