diff --git a/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt b/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt index 3439e4ce13..963328e349 100644 --- a/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt @@ -299,10 +299,10 @@ object SpecificUnitAutomation { val city = unit.civInfo.gameInfo.getCities().asSequence() .filter { it.religion.getMajorityReligion()?.name != unit.getReligionDisplayName() } - .filterNot { it.civInfo.isAtWarWith(unit.civInfo) } + .filter { it.civInfo.knows(unit.civInfo) && !it.civInfo.isAtWarWith(unit.civInfo) } + .filterNot { it.religion.isProtectedByInquisitor() } .minByOrNull { it.getCenterTile().aerialDistanceTo(unit.currentTile) } ?: return - val destination = city.getTiles().asSequence() .filter { unit.movement.canMoveTo(it) || it == unit.getTile() } .sortedBy { it.aerialDistanceTo(unit.currentTile) } diff --git a/core/src/com/unciv/logic/city/CityReligion.kt b/core/src/com/unciv/logic/city/CityReligion.kt index a1ad1808f5..4728b40778 100644 --- a/core/src/com/unciv/logic/city/CityReligion.kt +++ b/core/src/com/unciv/logic/city/CityReligion.kt @@ -283,10 +283,9 @@ class CityInfoReligionManager { } fun isProtectedByInquisitor(): Boolean { - for (tile in cityInfo.getCenterTile().neighbors) + for (tile in cityInfo.getCenterTile().getTilesInDistance(1)) if (tile.civilianUnit?.hasUnique(UniqueType.PreventSpreadingReligion) == true) return true - if (cityInfo.getCenterTile().civilianUnit?.name == "Inquisitor") return true return false } diff --git a/core/src/com/unciv/logic/civilization/ReligionManager.kt b/core/src/com/unciv/logic/civilization/ReligionManager.kt index 487030ef70..dc89aa5465 100644 --- a/core/src/com/unciv/logic/civilization/ReligionManager.kt +++ b/core/src/com/unciv/logic/civilization/ReligionManager.kt @@ -333,6 +333,7 @@ class ReligionManager { if (missionary.getTile().getOwner() == null) return false if (missionary.currentTile.owningCity?.religion?.getMajorityReligion()?.name == missionary.religion) return false + if (missionary.getTile().getCity()!!.religion.isProtectedByInquisitor()) return false return true }