diff --git a/core/src/com/unciv/logic/automation/Automation.kt b/core/src/com/unciv/logic/automation/Automation.kt index 62b7c25182..cfbf135481 100644 --- a/core/src/com/unciv/logic/automation/Automation.kt +++ b/core/src/com/unciv/logic/automation/Automation.kt @@ -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) diff --git a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt index b4e30718f8..917bb699f4 100644 --- a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt +++ b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt @@ -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() }