diff --git a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt index 8faa2618ab..436bcc7170 100644 --- a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt +++ b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt @@ -308,7 +308,8 @@ 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 fun updateHasOpenBorders() { - val newHasOpenBorders = civInfo.getAllyCiv() == otherCivName || otherCiv().getAllyCiv() == civInfo.civName + // City-states can enter ally's territory (the opposite is true anyway even without open borders) + val newHasOpenBorders = civInfo.getAllyCiv() == otherCivName || trades.flatMap { it.theirOffers }.any { it.name == Constants.openBorders && it.duration > 0 } val bordersWereClosed = hasOpenBorders && !newHasOpenBorders