diff --git a/android/assets/jsons/Difficulties.json b/android/assets/jsons/Difficulties.json index 6bbdd715f8..d6c4d50772 100644 --- a/android/assets/jsons/Difficulties.json +++ b/android/assets/jsons/Difficulties.json @@ -8,7 +8,8 @@ aiUnitMaintenanceModifier:1, aiYieldModifier:0.6, // Replaces "Construction rate" and "Create rate" in original config aiFreeTechs:[], - aiUnhappinessModifier:1 + aiUnhappinessModifier:1, + aisExchangeTechs:false }, { name:"Chieftain", @@ -19,7 +20,8 @@ aiUnitMaintenanceModifier:1, aiYieldModifier:0.75, aiFreeTechs:[], - aiUnhappinessModifier:1 + aiUnhappinessModifier:1, + aisExchangeTechs:false }, { name:"Warlord", @@ -30,7 +32,8 @@ aiUnitMaintenanceModifier:1, aiYieldModifier:0.9, aiFreeTechs:[], - aiUnhappinessModifier:1 + aiUnhappinessModifier:1, + aisExchangeTechs:false }, { name:"Prince", @@ -41,7 +44,8 @@ aiUnitMaintenanceModifier:0.85, aiYieldModifier:1, aiFreeTechs:[], - aiUnhappinessModifier:1 + aiUnhappinessModifier:1, + aisExchangeTechs:true }, { name:"King", @@ -52,7 +56,8 @@ aiUnitMaintenanceModifier:0.8, aiYieldModifier:1.15, aiFreeTechs:["Pottery"], - aiUnhappinessModifier:0.9 + aiUnhappinessModifier:0.9, + aisExchangeTechs:true }, { name:"Emperor", @@ -63,7 +68,8 @@ aiUnitMaintenanceModifier:0.75, aiYieldModifier:1.25, aiFreeTechs:["Pottery","Animal Husbandry"], - aiUnhappinessModifier:0.85 + aiUnhappinessModifier:0.85, + aisExchangeTechs:true }, { name:"Immortal", @@ -74,7 +80,8 @@ aiUnitMaintenanceModifier:0.65, aiYieldModifier:1.5, aiFreeTechs:["Pottery","Animal Husbandry","Mining"], - aiUnhappinessModifier:0.75 + aiUnhappinessModifier:0.75, + aisExchangeTechs:true }, { name:"Deity", @@ -85,6 +92,7 @@ aiUnitMaintenanceModifier:0.5, aiYieldModifier:2, aiFreeTechs:["Pottery","Animal Husbandry","Mining","The Wheel"], - aiUnhappinessModifier:0.6 + aiUnhappinessModifier:0.6, + aisExchangeTechs:true } ] diff --git a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt index 1924b27200..61a006b531 100644 --- a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt +++ b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt @@ -14,6 +14,7 @@ import kotlin.math.min class NextTurnAutomation{ + /** Top-level AI turn tasklist */ fun automateCivMoves(civInfo: CivilizationInfo) { offerPeaceTreaty(civInfo) exchangeTechs(civInfo) @@ -42,6 +43,8 @@ class NextTurnAutomation{ } private fun exchangeTechs(civInfo: CivilizationInfo) { + if(!civInfo.gameInfo.getDifficulty().aisExchangeTechs) return + val otherCivList = civInfo.getKnownCivs() .filter { it.playerType == PlayerType.AI && !it.isBarbarianCivilization() } .sortedBy { it.tech.techsResearched.size } diff --git a/core/src/com/unciv/models/gamebasics/Difficulty.kt b/core/src/com/unciv/models/gamebasics/Difficulty.kt index 66ad532d87..1072d36c9a 100644 --- a/core/src/com/unciv/models/gamebasics/Difficulty.kt +++ b/core/src/com/unciv/models/gamebasics/Difficulty.kt @@ -13,4 +13,5 @@ class Difficulty: INamed { var aiYieldModifier = 1f var aiFreeTechs = ArrayList() var aiUnhappinessModifier = 1f + var aisExchangeTechs = false } \ No newline at end of file