mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-24 03:53:12 -04:00
Resolved #11174 - Workers cannot repair improvements in enemy territory, thus avoiding repair-pillage exploit
This commit is contained in:
parent
83829a40da
commit
ba9b81569f
@ -558,7 +558,10 @@ class MapUnit : IsPartOfGameInfoSerialization {
|
||||
&& tile.improvementInProgress != improvement.name
|
||||
) return false
|
||||
val buildImprovementUniques = getMatchingUniques(UniqueType.BuildImprovements)
|
||||
if (tile.improvementInProgress == Constants.repair && buildImprovementUniques.any()) return true
|
||||
if (tile.improvementInProgress == Constants.repair) {
|
||||
if (tile.isEnemyTerritory(civ)) return false
|
||||
return buildImprovementUniques.any()
|
||||
}
|
||||
return buildImprovementUniques
|
||||
.any { improvement.matchesFilter(it.params[0]) || tile.matchesTerrainFilter(it.params[0]) }
|
||||
}
|
||||
|
@ -439,6 +439,7 @@ object UnitActionsFromUniques {
|
||||
|
||||
val couldConstruct = unit.currentMovement > 0
|
||||
&& !tile.isCityCenter() && tile.improvementInProgress != Constants.repair
|
||||
&& !tile.isEnemyTerritory(unit.civ)
|
||||
|
||||
val turnsToBuild = getRepairTurns(unit)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user