Unified canFortify() checks

This commit is contained in:
Yair Morgenstern
2019-02-18 23:02:14 +02:00
parent 2313f72cac
commit 973c1693c8
3 changed files with 5 additions and 4 deletions

View File

@ -107,7 +107,7 @@ class UnitAutomation{
val bestTileForHealing = bestTilesForHealing.maxBy { it.getDefensiveBonus() }!!
if(unitTile!=bestTileForHealing && rankTileForHealing(bestTileForHealing,unit)>rankTileForHealing(unitTile,unit))
unit.moveToTile(bestTileForHealing)
if(unit.currentMovement>0 && !unit.isFortified() && unit.canFortify()){
if(unit.currentMovement>0 && unit.canFortify()){
unit.action="Fortify 0"
}
}

View File

@ -248,8 +248,10 @@ class MapUnit {
fun canFortify(): Boolean {
if(type.isWaterUnit()) return false
if(type.isCivilian()) return false
if(isEmbarked()) return false
if(hasUnique("No defensive terrain bonus")) return false
if(isFortified()) return false
return true
}

View File

@ -37,13 +37,12 @@ class UnitActions {
}
}
if(!unit.type.isCivilian() && !unit.isEmbarked() && !unit.type.isWaterUnit()
&& !unit.hasUnique("No defensive terrain bonus") && !unit.isFortified()) {
if(unit.canFortify()) {
actionList += UnitAction("Fortify", unit.currentMovement >0)
{ unit.action = "Fortify 0" }.sound("fortify")
}
if(!unit.isFortified() && actionList.none{it.name=="Fortify"} && unit.action!="Sleep") {
if(!unit.isFortified() && !unit.canFortify() && unit.action!="Sleep") {
actionList += UnitAction("Sleep",unit.currentMovement >0) { unit.action = "Sleep" }
}