Barbarians guarding encampments noww fortify

This commit is contained in:
Yair Morgenstern 2019-06-21 12:55:34 +03:00
parent 6d3ef94941
commit b7f7bb3b2e
4 changed files with 8 additions and 13 deletions

View File

@ -41,8 +41,10 @@ class UnitAutomation{
var unitDistanceToTiles = unit.getDistanceToTiles() var unitDistanceToTiles = unit.getDistanceToTiles()
if(unit.civInfo.isBarbarianCivilization() && if(unit.civInfo.isBarbarianCivilization() &&
unit.currentTile.improvement==Constants.barbarianEncampment && unit.type.isLandUnit()) unit.currentTile.improvement==Constants.barbarianEncampment && unit.type.isLandUnit()) {
if(unit.canFortify()) unit.fortify()
return // stay in the encampment return // stay in the encampment
}
if(tryGoToRuin(unit,unitDistanceToTiles)){ if(tryGoToRuin(unit,unitDistanceToTiles)){
if(unit.currentMovement==0f) return if(unit.currentMovement==0f) return
@ -123,9 +125,7 @@ class UnitAutomation{
if(unitTile!=bestTileForHealing && bestTileForHealingRank > unit.rankTileForHealing(unitTile)) if(unitTile!=bestTileForHealing && bestTileForHealingRank > unit.rankTileForHealing(unitTile))
unit.moveToTile(bestTileForHealing) unit.moveToTile(bestTileForHealing)
if(unit.currentMovement>0 && unit.canFortify()){ if(unit.currentMovement>0 && unit.canFortify()) unit.fortify()
unit.action="Fortify 0"
}
return true return true
} }

View File

@ -261,10 +261,6 @@ class CivilizationInfo {
return statMap return statMap
} }
/**
* Returns list of all resources and their origin - for most usages you'll want updateDetailedCivResources().totalSupply(),
* which unifies al the different sources
*/
fun getCivResources(): ResourceSupplyList { fun getCivResources(): ResourceSupplyList {
val newResourceSupplyList=ResourceSupplyList() val newResourceSupplyList=ResourceSupplyList()
for(resourceSupply in detailedCivResources) for(resourceSupply in detailedCivResources)

View File

@ -292,6 +292,8 @@ class MapUnit {
return true return true
} }
fun fortify(){ action = "Fortify 0"}
fun adjacentHealingBonus():Int{ fun adjacentHealingBonus():Int{
var healingBonus = 0 var healingBonus = 0
if(hasUnique("This unit and all others in adjacent tiles heal 5 additional HP per turn")) healingBonus +=5 if(hasUnique("This unit and all others in adjacent tiles heal 5 additional HP per turn")) healingBonus +=5

View File

@ -33,10 +33,7 @@ class UnitActions {
val actionList = ArrayList<UnitAction>() val actionList = ArrayList<UnitAction>()
if(unit.action!=null && unit.action!!.startsWith("moveTo")) { if(unit.action!=null && unit.action!!.startsWith("moveTo")) {
actionList += actionList += UnitAction("Stop movement", true) {unit.action = null}
UnitAction("Stop movement", true) {
unit.action = null
}
} }
val workingOnImprovement = unit.hasUnique("Can build improvements on tiles") && unit.currentTile.hasImprovementInProgress() val workingOnImprovement = unit.hasUnique("Can build improvements on tiles") && unit.currentTile.hasImprovementInProgress()
@ -51,7 +48,7 @@ class UnitActions {
if(unit.canFortify()) { if(unit.canFortify()) {
actionList += UnitAction("Fortify", unit.currentMovement >0) { actionList += UnitAction("Fortify", unit.currentMovement >0) {
unit.action = "Fortify 0" unit.fortify()
unitTable.selectedUnit = null unitTable.selectedUnit = null
}.sound("fortify") }.sound("fortify")
} else if (unit.isFortified()) { } else if (unit.isFortified()) {