Resolved #758 - water melee units can now take cities (apparently this is a Vanilla vs G&K difference, I'll go with the G&K because it causes more interesting gameplay options)

This commit is contained in:
Yair Morgenstern 2019-05-17 14:15:52 +03:00
parent 862c714b47
commit c98a6fc4d7
2 changed files with 3 additions and 3 deletions

View File

@ -175,6 +175,7 @@ class UnitAutomation{
for(reachableTile in tilesToAttackFrom){ // tiles we'll still have energy after we reach there for(reachableTile in tilesToAttackFrom){ // tiles we'll still have energy after we reach there
val tilesInAttackRange = if (unit.hasUnique("Indirect Fire")) reachableTile.getTilesInDistance(rangeOfAttack) val tilesInAttackRange = if (unit.hasUnique("Indirect Fire")) reachableTile.getTilesInDistance(rangeOfAttack)
else reachableTile.getViewableTiles(rangeOfAttack, unit.type.isWaterUnit()) else reachableTile.getViewableTiles(rangeOfAttack, unit.type.isWaterUnit())
attackableTiles += tilesInAttackRange.asSequence().filter { it in tilesWithEnemies } attackableTiles += tilesInAttackRange.asSequence().filter { it in tilesWithEnemies }
.map { AttackableTile(reachableTile,it) } .map { AttackableTile(reachableTile,it) }
} }

View File

@ -1,6 +1,7 @@
package com.unciv.logic.battle package com.unciv.logic.battle
import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.graphics.Color
import com.unciv.Constants
import com.unciv.logic.GameInfo import com.unciv.logic.GameInfo
import com.unciv.logic.automation.UnitAutomation import com.unciv.logic.automation.UnitAutomation
import com.unciv.logic.city.CityInfo import com.unciv.logic.city.CityInfo
@ -8,7 +9,6 @@ import com.unciv.logic.civilization.AlertType
import com.unciv.logic.civilization.PopupAlert import com.unciv.logic.civilization.PopupAlert
import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers
import com.unciv.logic.map.TileInfo import com.unciv.logic.map.TileInfo
import com.unciv.Constants
import com.unciv.models.gamebasics.unit.UnitType import com.unciv.models.gamebasics.unit.UnitType
import java.util.* import java.util.*
import kotlin.math.max import kotlin.math.max
@ -81,8 +81,7 @@ class Battle(val gameInfo:GameInfo) {
if(defender.isDefeated() if(defender.isDefeated()
&& defender is CityCombatant && defender is CityCombatant
&& attacker.isMelee() && attacker.isMelee()){
&& attacker.getUnitType().isLandUnit()){
conquerCity(defender.city, attacker) conquerCity(defender.city, attacker)
} }