mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-19 20:28:56 +07:00
Resolved #8758 - all unpillagable improvements are not destroyed by 'destroy improvements' unique
This commit is contained in:
@ -1104,9 +1104,10 @@ object Battle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun doDestroyImprovementsAbility(attacker: MapUnitCombatant, attackedTile: Tile, defender: ICombatant) {
|
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)
|
val conditionalState = StateForConditionals(attacker.getCivInfo(), ourCombatant = attacker, theirCombatant = defender, combatAction = CombatAction.Attack, attackedTile = attackedTile)
|
||||||
if (attackedTile.improvement != Constants.barbarianEncampment
|
if (!attackedTile.getTileImprovement()!!.hasUnique(UniqueType.Unpillagable)
|
||||||
&& attackedTile.getTileImprovement()?.isAncientRuinsEquivalent() != true
|
|
||||||
&& attacker.hasUnique(UniqueType.DestroysImprovementUponAttack, conditionalState)
|
&& attacker.hasUnique(UniqueType.DestroysImprovementUponAttack, conditionalState)
|
||||||
) {
|
) {
|
||||||
attackedTile.changeImprovement(null)
|
attackedTile.changeImprovement(null)
|
||||||
|
Reference in New Issue
Block a user