mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-08 14:57:58 +07:00
Automated units don't try and conquer the same city twice
This commit is contained in:
@ -3,6 +3,7 @@ package com.unciv.logic.automation.unit
|
|||||||
import com.unciv.Constants
|
import com.unciv.Constants
|
||||||
import com.unciv.logic.battle.Battle
|
import com.unciv.logic.battle.Battle
|
||||||
import com.unciv.logic.battle.BattleDamage
|
import com.unciv.logic.battle.BattleDamage
|
||||||
|
import com.unciv.logic.battle.CityCombatant
|
||||||
import com.unciv.logic.battle.ICombatant
|
import com.unciv.logic.battle.ICombatant
|
||||||
import com.unciv.logic.battle.MapUnitCombatant
|
import com.unciv.logic.battle.MapUnitCombatant
|
||||||
import com.unciv.logic.map.mapunit.MapUnit
|
import com.unciv.logic.map.mapunit.MapUnit
|
||||||
@ -116,6 +117,9 @@ object BattleHelper {
|
|||||||
|
|
||||||
val tileCombatant = Battle.getMapCombatantOfTile(tile) ?: return false
|
val tileCombatant = Battle.getMapCombatantOfTile(tile) ?: return false
|
||||||
if (tileCombatant.getCivInfo() == combatant.getCivInfo()) return false
|
if (tileCombatant.getCivInfo() == combatant.getCivInfo()) return false
|
||||||
|
// If the user automates units, one may capture the city before the user had a chance to decide what to do with it,
|
||||||
|
// and then the next unit should not attack that city
|
||||||
|
if (tileCombatant is CityCombatant && tileCombatant.city.hasJustBeenConquered) return false
|
||||||
if (!combatant.getCivInfo().isAtWarWith(tileCombatant.getCivInfo())) return false
|
if (!combatant.getCivInfo().isAtWarWith(tileCombatant.getCivInfo())) return false
|
||||||
|
|
||||||
if (combatant is MapUnitCombatant && combatant.isLandUnit() && combatant.isMelee() &&
|
if (combatant is MapUnitCombatant && combatant.isLandUnit() && combatant.isMelee() &&
|
||||||
|
Reference in New Issue
Block a user