mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-29 22:29:15 +07:00
AI now moved ranged units before melee, so that it will attack wil the ranged units first =)
This commit is contained in:
@ -4,10 +4,11 @@ import com.badlogic.gdx.graphics.Color
|
||||
import com.unciv.logic.city.CityConstructions
|
||||
import com.unciv.logic.city.CityInfo
|
||||
import com.unciv.logic.civilization.CivilizationInfo
|
||||
import com.unciv.logic.map.MapUnit
|
||||
import com.unciv.logic.map.TileInfo
|
||||
import com.unciv.models.gamebasics.unit.UnitType
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.unit.Unit
|
||||
import com.unciv.models.gamebasics.unit.UnitType
|
||||
import com.unciv.ui.utils.getRandom
|
||||
|
||||
class Automation {
|
||||
@ -41,10 +42,21 @@ class Automation {
|
||||
civInfo.policies.adopt(policyToAdopt)
|
||||
}
|
||||
|
||||
val rangedUnits = mutableListOf<MapUnit>()
|
||||
val meleeUnits = mutableListOf<MapUnit>()
|
||||
val civilianUnits = mutableListOf<MapUnit>()
|
||||
|
||||
for (unit in civInfo.getCivUnits()) {
|
||||
UnitAutomation().automateUnitMoves(unit)
|
||||
val unitType = unit.getBaseUnit().unitType
|
||||
if(unitType.isRanged()) rangedUnits.add(unit)
|
||||
else if(unitType.isMelee()) meleeUnits.add(unit)
|
||||
else civilianUnits.add(unit)
|
||||
}
|
||||
|
||||
for (unit in rangedUnits) UnitAutomation().automateUnitMoves(unit)
|
||||
for (unit in meleeUnits) UnitAutomation().automateUnitMoves(unit)
|
||||
for (unit in civilianUnits) UnitAutomation().automateUnitMoves(unit)
|
||||
|
||||
// train settler?
|
||||
if (civInfo.cities.any()
|
||||
&& civInfo.happiness > 2*civInfo.cities.size +5
|
||||
|
@ -134,7 +134,6 @@ class CityInfo {
|
||||
expansion.nextTurn(stats.culture)
|
||||
if(isBeingRazed){
|
||||
population.population--
|
||||
population.unassignExtraPopulation()
|
||||
if(population.population==0){
|
||||
civInfo.addNotification("$name has been razed to the ground!",location, Color.RED)
|
||||
civInfo.cities.remove(this)
|
||||
@ -145,6 +144,7 @@ class CityInfo {
|
||||
|
||||
val maxHealth =getMaxHealth()
|
||||
health = min(health+maxHealth/10, maxHealth)
|
||||
population.unassignExtraPopulation()
|
||||
}
|
||||
|
||||
fun isCapital() = cityConstructions.isBuilt("Palace")
|
||||
|
Reference in New Issue
Block a user