mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-19 04:10:22 +07:00
Adjust AI parameters.
This commit is contained in:
@ -94,7 +94,7 @@ class Automation {
|
||||
.minBy{ it.cost }
|
||||
if (foodBuilding!=null) {
|
||||
val choice = ConstructionChoice(foodBuilding.name,1f)
|
||||
if (cityInfo.population.population < foodBuilding.food + 5) choice.choiceModifier=2f
|
||||
if (cityInfo.population.population < 5) choice.choiceModifier=1.3f
|
||||
relativeCostEffectiveness.add(choice)
|
||||
}
|
||||
|
||||
@ -147,12 +147,12 @@ class Automation {
|
||||
//other buildings
|
||||
val other = buildableNotWonders.minBy{it.cost}
|
||||
if (other!=null) {
|
||||
relativeCostEffectiveness.add(ConstructionChoice(other.name,1.2f))
|
||||
relativeCostEffectiveness.add(ConstructionChoice(other.name,0.8f))
|
||||
}
|
||||
|
||||
//worker
|
||||
if (workers < cities) {
|
||||
relativeCostEffectiveness.add(ConstructionChoice(CityConstructions.Worker,workers/(cities+1)))
|
||||
relativeCostEffectiveness.add(ConstructionChoice(CityConstructions.Worker,cities.toFloat()/(workers+0.1f)))
|
||||
}
|
||||
|
||||
//Work boat
|
||||
@ -162,11 +162,11 @@ class Automation {
|
||||
|
||||
//Army
|
||||
val militaryUnit = chooseMilitaryUnit(cityInfo)
|
||||
val unitsToCitiesRatio = militaryUnits / cities.toFloat()
|
||||
val unitsToCitiesRatio = cities.toFloat() / (militaryUnits + 1)
|
||||
// most buildings and civ units contribute the the civ's growth, military units are anti-growth
|
||||
val militaryChoice = ConstructionChoice(militaryUnit,unitsToCitiesRatio/5)
|
||||
val militaryChoice = ConstructionChoice(militaryUnit,unitsToCitiesRatio/2)
|
||||
if (isAtWar) {
|
||||
militaryChoice.choiceModifier=unitsToCitiesRatio
|
||||
militaryChoice.choiceModifier=unitsToCitiesRatio*2
|
||||
}
|
||||
relativeCostEffectiveness.add(militaryChoice)
|
||||
|
||||
|
@ -181,8 +181,8 @@ class NextTurnAutomation{
|
||||
private fun declareWar(civInfo: CivilizationInfo) {
|
||||
if (civInfo.cities.isNotEmpty() && civInfo.diplomacy.isNotEmpty()) {
|
||||
val ourMilitaryUnits = civInfo.getCivUnits().filter { !it.type.isCivilian() }.size
|
||||
if (!civInfo.isAtWar() && civInfo.happiness > 5
|
||||
&& ourMilitaryUnits >= civInfo.cities.size * 2) { //evaluate war
|
||||
if (!civInfo.isAtWar() && civInfo.happiness > 0
|
||||
&& ourMilitaryUnits >= civInfo.cities.size) { //evaluate war
|
||||
val ourCombatStrength = Automation().evaluteCombatStrength(civInfo)
|
||||
val enemyCivsByDistanceToOurs = civInfo.diplomacy.values.map { it.otherCiv() }
|
||||
.filterNot { it == civInfo || it.cities.isEmpty() || !civInfo.diplomacy[it.civName]!!.canDeclareWar() }
|
||||
|
Reference in New Issue
Block a user