mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-29 15:01:09 -04:00
AIs no longer exchange techs below Prince difficulty
This commit is contained in:
parent
d8c238bf97
commit
aea2e3efcf
@ -8,7 +8,8 @@
|
|||||||
aiUnitMaintenanceModifier:1,
|
aiUnitMaintenanceModifier:1,
|
||||||
aiYieldModifier:0.6, // Replaces "Construction rate" and "Create rate" in original config
|
aiYieldModifier:0.6, // Replaces "Construction rate" and "Create rate" in original config
|
||||||
aiFreeTechs:[],
|
aiFreeTechs:[],
|
||||||
aiUnhappinessModifier:1
|
aiUnhappinessModifier:1,
|
||||||
|
aisExchangeTechs:false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:"Chieftain",
|
name:"Chieftain",
|
||||||
@ -19,7 +20,8 @@
|
|||||||
aiUnitMaintenanceModifier:1,
|
aiUnitMaintenanceModifier:1,
|
||||||
aiYieldModifier:0.75,
|
aiYieldModifier:0.75,
|
||||||
aiFreeTechs:[],
|
aiFreeTechs:[],
|
||||||
aiUnhappinessModifier:1
|
aiUnhappinessModifier:1,
|
||||||
|
aisExchangeTechs:false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:"Warlord",
|
name:"Warlord",
|
||||||
@ -30,7 +32,8 @@
|
|||||||
aiUnitMaintenanceModifier:1,
|
aiUnitMaintenanceModifier:1,
|
||||||
aiYieldModifier:0.9,
|
aiYieldModifier:0.9,
|
||||||
aiFreeTechs:[],
|
aiFreeTechs:[],
|
||||||
aiUnhappinessModifier:1
|
aiUnhappinessModifier:1,
|
||||||
|
aisExchangeTechs:false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:"Prince",
|
name:"Prince",
|
||||||
@ -41,7 +44,8 @@
|
|||||||
aiUnitMaintenanceModifier:0.85,
|
aiUnitMaintenanceModifier:0.85,
|
||||||
aiYieldModifier:1,
|
aiYieldModifier:1,
|
||||||
aiFreeTechs:[],
|
aiFreeTechs:[],
|
||||||
aiUnhappinessModifier:1
|
aiUnhappinessModifier:1,
|
||||||
|
aisExchangeTechs:true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:"King",
|
name:"King",
|
||||||
@ -52,7 +56,8 @@
|
|||||||
aiUnitMaintenanceModifier:0.8,
|
aiUnitMaintenanceModifier:0.8,
|
||||||
aiYieldModifier:1.15,
|
aiYieldModifier:1.15,
|
||||||
aiFreeTechs:["Pottery"],
|
aiFreeTechs:["Pottery"],
|
||||||
aiUnhappinessModifier:0.9
|
aiUnhappinessModifier:0.9,
|
||||||
|
aisExchangeTechs:true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:"Emperor",
|
name:"Emperor",
|
||||||
@ -63,7 +68,8 @@
|
|||||||
aiUnitMaintenanceModifier:0.75,
|
aiUnitMaintenanceModifier:0.75,
|
||||||
aiYieldModifier:1.25,
|
aiYieldModifier:1.25,
|
||||||
aiFreeTechs:["Pottery","Animal Husbandry"],
|
aiFreeTechs:["Pottery","Animal Husbandry"],
|
||||||
aiUnhappinessModifier:0.85
|
aiUnhappinessModifier:0.85,
|
||||||
|
aisExchangeTechs:true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:"Immortal",
|
name:"Immortal",
|
||||||
@ -74,7 +80,8 @@
|
|||||||
aiUnitMaintenanceModifier:0.65,
|
aiUnitMaintenanceModifier:0.65,
|
||||||
aiYieldModifier:1.5,
|
aiYieldModifier:1.5,
|
||||||
aiFreeTechs:["Pottery","Animal Husbandry","Mining"],
|
aiFreeTechs:["Pottery","Animal Husbandry","Mining"],
|
||||||
aiUnhappinessModifier:0.75
|
aiUnhappinessModifier:0.75,
|
||||||
|
aisExchangeTechs:true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name:"Deity",
|
name:"Deity",
|
||||||
@ -85,6 +92,7 @@
|
|||||||
aiUnitMaintenanceModifier:0.5,
|
aiUnitMaintenanceModifier:0.5,
|
||||||
aiYieldModifier:2,
|
aiYieldModifier:2,
|
||||||
aiFreeTechs:["Pottery","Animal Husbandry","Mining","The Wheel"],
|
aiFreeTechs:["Pottery","Animal Husbandry","Mining","The Wheel"],
|
||||||
aiUnhappinessModifier:0.6
|
aiUnhappinessModifier:0.6,
|
||||||
|
aisExchangeTechs:true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -14,6 +14,7 @@ import kotlin.math.min
|
|||||||
|
|
||||||
class NextTurnAutomation{
|
class NextTurnAutomation{
|
||||||
|
|
||||||
|
/** Top-level AI turn tasklist */
|
||||||
fun automateCivMoves(civInfo: CivilizationInfo) {
|
fun automateCivMoves(civInfo: CivilizationInfo) {
|
||||||
offerPeaceTreaty(civInfo)
|
offerPeaceTreaty(civInfo)
|
||||||
exchangeTechs(civInfo)
|
exchangeTechs(civInfo)
|
||||||
@ -42,6 +43,8 @@ class NextTurnAutomation{
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun exchangeTechs(civInfo: CivilizationInfo) {
|
private fun exchangeTechs(civInfo: CivilizationInfo) {
|
||||||
|
if(!civInfo.gameInfo.getDifficulty().aisExchangeTechs) return
|
||||||
|
|
||||||
val otherCivList = civInfo.getKnownCivs()
|
val otherCivList = civInfo.getKnownCivs()
|
||||||
.filter { it.playerType == PlayerType.AI && !it.isBarbarianCivilization() }
|
.filter { it.playerType == PlayerType.AI && !it.isBarbarianCivilization() }
|
||||||
.sortedBy { it.tech.techsResearched.size }
|
.sortedBy { it.tech.techsResearched.size }
|
||||||
|
@ -13,4 +13,5 @@ class Difficulty: INamed {
|
|||||||
var aiYieldModifier = 1f
|
var aiYieldModifier = 1f
|
||||||
var aiFreeTechs = ArrayList<String>()
|
var aiFreeTechs = ArrayList<String>()
|
||||||
var aiUnhappinessModifier = 1f
|
var aiUnhappinessModifier = 1f
|
||||||
|
var aisExchangeTechs = false
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user