mirror of
https://github.com/yairm210/Unciv.git
synced 2025-03-04 06:33:32 +07:00
Resolved #963 - Units wouldn't leave enemy tiles after war was declared, unlike original Civ
This commit is contained in:
parent
814ecde1e3
commit
23f575d150
@ -200,23 +200,18 @@ class DiplomacyManager() {
|
|||||||
|
|
||||||
// for performance reasons we don't want to call this every time we want to see if a unit can move through a tile
|
// for performance reasons we don't want to call this every time we want to see if a unit can move through a tile
|
||||||
fun updateHasOpenBorders(){
|
fun updateHasOpenBorders(){
|
||||||
var newHasOpenBorders = false
|
val newHasOpenBorders = trades.flatMap { it.theirOffers }
|
||||||
for(trade in trades) {
|
.any { it.name == "Open Borders" && it.duration > 0 }
|
||||||
for (offer in trade.theirOffers)
|
|
||||||
if (offer.name == "Open Borders" && offer.duration > 0) {
|
|
||||||
newHasOpenBorders = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
if(newHasOpenBorders) break
|
|
||||||
}
|
|
||||||
|
|
||||||
if(hasOpenBorders && !newHasOpenBorders){ // borders were closed, get out!
|
val bordersWereClosed = hasOpenBorders && !newHasOpenBorders
|
||||||
|
hasOpenBorders=newHasOpenBorders
|
||||||
|
|
||||||
|
if(bordersWereClosed){ // borders were closed, get out!
|
||||||
for(unit in civInfo.getCivUnits().filter { it.currentTile.getOwner()?.civName == otherCivName }){
|
for(unit in civInfo.getCivUnits().filter { it.currentTile.getOwner()?.civName == otherCivName }){
|
||||||
unit.movement.teleportToClosestMoveableTile()
|
unit.movement.teleportToClosestMoveableTile()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hasOpenBorders=newHasOpenBorders
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun nextTurn(){
|
fun nextTurn(){
|
||||||
|
Loading…
Reference in New Issue
Block a user