Resolve #9432 - city-state-owned great merchants can no longer 'conduct trade mission' on their own tiles

This commit is contained in:
Yair Morgenstern
2023-05-23 19:41:41 +03:00
parent 472bb55b40
commit 7aea703fcc
3 changed files with 13 additions and 7 deletions

View File

@ -259,7 +259,10 @@ object SpecificUnitAutomation {
val closestCityStateTile =
unit.civ.gameInfo.civilizations
.filter {
!unit.civ.isAtWarWith(it) && it.isCityState() && it.cities.isNotEmpty()
it != unit.civ
&& !unit.civ.isAtWarWith(it)
&& it.isCityState()
&& it.cities.isNotEmpty()
}
.flatMap { it.cities[0].getTiles() }
.filter { unit.civ.hasExplored(it) }

View File

@ -6,8 +6,8 @@ import com.unciv.logic.civilization.Civilization
import com.unciv.logic.civilization.NotificationCategory
import com.unciv.logic.civilization.NotificationIcon
import com.unciv.logic.civilization.PopupAlert
import com.unciv.logic.map.tile.Tile
import com.unciv.logic.map.mapunit.UnitMovement
import com.unciv.logic.map.tile.Tile
import com.unciv.models.ruleset.unique.UniqueType
import com.unciv.models.stats.Stat
import com.unciv.models.stats.Stats
@ -37,7 +37,7 @@ class DiplomacyFunctions(val civInfo:Civilization){
otherCiv.diplomacyFunctions.meetCiv(civInfo, warOnContact)
}
fun meetCiv(otherCiv: Civilization, warOnContact: Boolean = false) {
private fun meetCiv(otherCiv: Civilization, warOnContact: Boolean = false) {
civInfo.diplomacy[otherCiv.civName] = DiplomacyManager(civInfo, otherCiv.civName)
.apply { diplomaticStatus = DiplomaticStatus.Peace }