diff --git a/android/assets/jsons/Units.json b/android/assets/jsons/Units.json index 3a0b79932d..6030ecf4a4 100644 --- a/android/assets/jsons/Units.json +++ b/android/assets/jsons/Units.json @@ -579,7 +579,7 @@ name:"Great General", unbuildable:true, unitType:"Civilian", - uniques:["Can start an 8-turn golden age","Bonus for landunits in 2 radius 15%"] //to do : should be able to build mega-fort + uniques:["Can start an 8-turn golden age","Bonus for land units in 2 radius 15%"] //to do : should be able to build mega-fort movement:2 }, diff --git a/core/src/com/unciv/logic/battle/BattleDamage.kt b/core/src/com/unciv/logic/battle/BattleDamage.kt index f9f19be367..9fc881a2fd 100644 --- a/core/src/com/unciv/logic/battle/BattleDamage.kt +++ b/core/src/com/unciv/logic/battle/BattleDamage.kt @@ -61,6 +61,16 @@ class BattleDamage{ if(requiredResource!=null && combatant.getCivilization().getCivResourcesByName()[requiredResource]!!<0){ modifiers["Missing resource"]=-0.25f } + + //to do : performance improvement + if (combatant.getUnitType().isLandUnit()) { + val nearbyCivUnits = combatant.unit.getTile().getTilesInDistance(2) + .filter {it.civilianUnit?.civInfo == combatant.unit.civInfo} + .map {it.civilianUnit} + if (nearbyCivUnits.any { it!!.hasUnique("Bonus for land units in 2 radius 15%") }) { + modifiers["Great general"]=0.25f + } + } } if (combatant.getCivilization().policies.isAdopted("Honor") && enemy.getCivilization().isBarbarianCivilization())