mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-27 22:06:05 -04:00
AI now moved ranged units before melee, so that it will attack wil the ranged units first =)
This commit is contained in:
parent
b3a15d9d6e
commit
d2cb7173c1
@ -2,70 +2,70 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
name:"Accuracy I",
|
name:"Accuracy I",
|
||||||
effect:"Bonus vs units in open terrain +15%",
|
effect:"Bonus vs units in open terrain 15%",
|
||||||
unitTypes:["Siege","Ranged"]
|
unitTypes:["Siege","Ranged"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Accuracy II",
|
name:"Accuracy II",
|
||||||
prerequisites:["Accuracy I"],
|
prerequisites:["Accuracy I"],
|
||||||
effect:"Bonus vs units in open terrain +15%",
|
effect:"Bonus vs units in open terrain 15%",
|
||||||
unitTypes:["Siege","Ranged"]
|
unitTypes:["Siege","Ranged"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Accuracy III",
|
name:"Accuracy III",
|
||||||
prerequisites:["Accuracy II"],
|
prerequisites:["Accuracy II"],
|
||||||
effect:"Bonus vs units in open terrain +15%",
|
effect:"Bonus vs units in open terrain 15%",
|
||||||
unitTypes:["Siege","Ranged"]
|
unitTypes:["Siege","Ranged"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Barrage I",
|
name:"Barrage I",
|
||||||
effect:"Bonus vs units in rough terrain +15%",
|
effect:"Bonus vs units in rough terrain 15%",
|
||||||
unitTypes:["Siege","Ranged"]
|
unitTypes:["Siege","Ranged"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Barrage II",
|
name:"Barrage II",
|
||||||
prerequisites:["Barrage I"],
|
prerequisites:["Barrage I"],
|
||||||
effect:"Bonus vs units in rough terrain +15%",
|
effect:"Bonus vs units in rough terrain 15%",
|
||||||
unitTypes:["Siege","Ranged"]
|
unitTypes:["Siege","Ranged"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Barrage III",
|
name:"Barrage III",
|
||||||
prerequisites:["Barrage II"],
|
prerequisites:["Barrage II"],
|
||||||
effect:"Bonus vs units in rough terrain +15%",
|
effect:"Bonus vs units in rough terrain 15%",
|
||||||
unitTypes:["Siege","Ranged"]
|
unitTypes:["Siege","Ranged"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Shock I",
|
name:"Shock I",
|
||||||
effect:"Bonus vs units in open terrain +15%",
|
effect:"Bonus vs units in open terrain 15%",
|
||||||
unitTypes:["Melee","Mounted"]
|
unitTypes:["Melee","Mounted"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Shock II",
|
name:"Shock II",
|
||||||
prerequisites:["Shock I"],
|
prerequisites:["Shock I"],
|
||||||
effect:"Bonus vs units in open terrain +15%",
|
effect:"Bonus vs units in open terrain 15%",
|
||||||
unitTypes:["Melee","Mounted"]
|
unitTypes:["Melee","Mounted"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Shock III",
|
name:"Shock III",
|
||||||
prerequisites:["Shock II"],
|
prerequisites:["Shock II"],
|
||||||
effect:"Bonus vs units in open terrain +15%",
|
effect:"Bonus vs units in open terrain 15%",
|
||||||
unitTypes:["Melee","Mounted"]
|
unitTypes:["Melee","Mounted"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Drill I",
|
name:"Drill I",
|
||||||
effect:"Bonus vs units in rough terrain +15%",
|
effect:"Bonus vs units in rough terrain 15%",
|
||||||
unitTypes:["Melee","Mounted"]
|
unitTypes:["Melee","Mounted"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Drill II",
|
name:"Drill II",
|
||||||
prerequisites:["Drill I"],
|
prerequisites:["Drill I"],
|
||||||
effect:"Bonus vs units in rough terrain +15%",
|
effect:"Bonus vs units in rough terrain 15%",
|
||||||
unitTypes:["Melee","Mounted"]
|
unitTypes:["Melee","Mounted"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name:"Drill III",
|
name:"Drill III",
|
||||||
prerequisites:["Drill II"],
|
prerequisites:["Drill II"],
|
||||||
effect:"Bonus vs units in rough terrain +15%",
|
effect:"Bonus vs units in rough terrain 15%",
|
||||||
unitTypes:["Melee","Mounted"]
|
unitTypes:["Melee","Mounted"]
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -4,10 +4,11 @@ import com.badlogic.gdx.graphics.Color
|
|||||||
import com.unciv.logic.city.CityConstructions
|
import com.unciv.logic.city.CityConstructions
|
||||||
import com.unciv.logic.city.CityInfo
|
import com.unciv.logic.city.CityInfo
|
||||||
import com.unciv.logic.civilization.CivilizationInfo
|
import com.unciv.logic.civilization.CivilizationInfo
|
||||||
|
import com.unciv.logic.map.MapUnit
|
||||||
import com.unciv.logic.map.TileInfo
|
import com.unciv.logic.map.TileInfo
|
||||||
import com.unciv.models.gamebasics.unit.UnitType
|
|
||||||
import com.unciv.models.gamebasics.GameBasics
|
import com.unciv.models.gamebasics.GameBasics
|
||||||
import com.unciv.models.gamebasics.unit.Unit
|
import com.unciv.models.gamebasics.unit.Unit
|
||||||
|
import com.unciv.models.gamebasics.unit.UnitType
|
||||||
import com.unciv.ui.utils.getRandom
|
import com.unciv.ui.utils.getRandom
|
||||||
|
|
||||||
class Automation {
|
class Automation {
|
||||||
@ -41,10 +42,21 @@ class Automation {
|
|||||||
civInfo.policies.adopt(policyToAdopt)
|
civInfo.policies.adopt(policyToAdopt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val rangedUnits = mutableListOf<MapUnit>()
|
||||||
|
val meleeUnits = mutableListOf<MapUnit>()
|
||||||
|
val civilianUnits = mutableListOf<MapUnit>()
|
||||||
|
|
||||||
for (unit in civInfo.getCivUnits()) {
|
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?
|
// train settler?
|
||||||
if (civInfo.cities.any()
|
if (civInfo.cities.any()
|
||||||
&& civInfo.happiness > 2*civInfo.cities.size +5
|
&& civInfo.happiness > 2*civInfo.cities.size +5
|
||||||
|
@ -134,7 +134,6 @@ class CityInfo {
|
|||||||
expansion.nextTurn(stats.culture)
|
expansion.nextTurn(stats.culture)
|
||||||
if(isBeingRazed){
|
if(isBeingRazed){
|
||||||
population.population--
|
population.population--
|
||||||
population.unassignExtraPopulation()
|
|
||||||
if(population.population==0){
|
if(population.population==0){
|
||||||
civInfo.addNotification("$name has been razed to the ground!",location, Color.RED)
|
civInfo.addNotification("$name has been razed to the ground!",location, Color.RED)
|
||||||
civInfo.cities.remove(this)
|
civInfo.cities.remove(this)
|
||||||
@ -145,6 +144,7 @@ class CityInfo {
|
|||||||
|
|
||||||
val maxHealth =getMaxHealth()
|
val maxHealth =getMaxHealth()
|
||||||
health = min(health+maxHealth/10, maxHealth)
|
health = min(health+maxHealth/10, maxHealth)
|
||||||
|
population.unassignExtraPopulation()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isCapital() = cityConstructions.isBuilt("Palace")
|
fun isCapital() = cityConstructions.isBuilt("Palace")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user