mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-30 22:58:50 +07:00
Unified canFortify() checks
This commit is contained in:
@ -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"
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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" }
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user