From df237d8686de085793fd65013a349e04d85dbcc6 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Mon, 18 Feb 2019 20:46:50 +0200 Subject: [PATCH] Fixed #457 - AI naval units would fortify --- android/build.gradle | 4 ++-- core/src/com/unciv/logic/automation/UnitAutomation.kt | 4 ++-- core/src/com/unciv/logic/map/MapUnit.kt | 9 +++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index dc708f9a6e..334d9dd6f8 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -21,8 +21,8 @@ android { applicationId "com.unciv.app" minSdkVersion 14 targetSdkVersion 28 - versionCode 204 - versionName "2.13.4" + versionCode 205 + versionName "2.13.5" } // Had to add this crap for Travis to build, it wanted to sign the app diff --git a/core/src/com/unciv/logic/automation/UnitAutomation.kt b/core/src/com/unciv/logic/automation/UnitAutomation.kt index cfff8ae206..1a71449fae 100644 --- a/core/src/com/unciv/logic/automation/UnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/UnitAutomation.kt @@ -4,8 +4,8 @@ import com.unciv.UnCivGame import com.unciv.logic.battle.* import com.unciv.logic.city.CityInfo import com.unciv.logic.civilization.CivilizationInfo -import com.unciv.logic.civilization.diplomacy.DiplomaticStatus import com.unciv.logic.civilization.GreatPersonManager +import com.unciv.logic.civilization.diplomacy.DiplomaticStatus import com.unciv.logic.map.MapUnit import com.unciv.logic.map.TileInfo import com.unciv.models.gamebasics.GameBasics @@ -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.hasUnique("No defensive terrain bonus") && !unit.isFortified() ){ + if(unit.currentMovement>0 && !unit.isFortified() && unit.canFortify()){ unit.action="Fortify 0" } } diff --git a/core/src/com/unciv/logic/map/MapUnit.kt b/core/src/com/unciv/logic/map/MapUnit.kt index fcbf6d34b9..a0e8e8176a 100644 --- a/core/src/com/unciv/logic/map/MapUnit.kt +++ b/core/src/com/unciv/logic/map/MapUnit.kt @@ -245,6 +245,14 @@ class MapUnit { return goldCostOfUpgrade } + + fun canFortify(): Boolean { + if(type.isWaterUnit()) return false + if(isEmbarked()) return false + if(hasUnique("No defensive terrain bonus")) return false + return true + } + //endregion //region state-changing functions @@ -446,5 +454,6 @@ class MapUnit { this.civInfo=civInfo civInfo.addUnit(this) } + //endregion } \ No newline at end of file