Resolved #8758 - all unpillagable improvements are not destroyed by 'destroy improvements' unique

This commit is contained in:
Yair Morgenstern
2023-02-26 23:04:55 +02:00
parent 86a63ac578
commit 88cd136dd5

View File

@ -1104,9 +1104,10 @@ object Battle {
}
private fun doDestroyImprovementsAbility(attacker: MapUnitCombatant, attackedTile: Tile, defender: ICombatant) {
if (attackedTile.improvement == null) return
val conditionalState = StateForConditionals(attacker.getCivInfo(), ourCombatant = attacker, theirCombatant = defender, combatAction = CombatAction.Attack, attackedTile = attackedTile)
if (attackedTile.improvement != Constants.barbarianEncampment
&& attackedTile.getTileImprovement()?.isAncientRuinsEquivalent() != true
if (!attackedTile.getTileImprovement()!!.hasUnique(UniqueType.Unpillagable)
&& attacker.hasUnique(UniqueType.DestroysImprovementUponAttack, conditionalState)
) {
attackedTile.changeImprovement(null)