mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-14 01:39:40 +07:00
Resolved #3331 - resources for city-state quests are taken from resources on the map, to avoid unfinishable quests
This commit is contained in:
@ -190,10 +190,6 @@ class CivilizationInfo {
|
||||
return newResourceSupplyList
|
||||
}
|
||||
|
||||
fun getViewableResources(): List<TileResource> =
|
||||
gameInfo.ruleSet.tileResources.values
|
||||
.filter { it.revealedBy == null || tech.isResearched(it.revealedBy!!) }
|
||||
|
||||
fun isCapitalConnectedToCity(city: CityInfo): Boolean = citiesConnectedToCapitalToMediums.keys.contains(city)
|
||||
|
||||
|
||||
|
@ -12,7 +12,6 @@ import com.unciv.models.ruleset.QuestName
|
||||
import com.unciv.models.ruleset.tile.ResourceType
|
||||
import com.unciv.models.ruleset.tile.TileResource
|
||||
import com.unciv.models.ruleset.unit.BaseUnit
|
||||
import com.unciv.models.translations.equalsPlaceholderText
|
||||
import com.unciv.models.translations.fillPlaceholders
|
||||
import com.unciv.ui.utils.randomWeighted
|
||||
import kotlin.math.max
|
||||
@ -453,11 +452,15 @@ class QuestManager {
|
||||
val ownedByCityStateResources = civInfo.detailedCivResources.map { it.resource }
|
||||
val ownedByMajorResources = challenger.detailedCivResources.map { it.resource }
|
||||
|
||||
val notOwnedResources = challenger.getViewableResources().filter {
|
||||
val resourcesOnMap = civInfo.gameInfo.tileMap.values.asSequence().mapNotNull { it.resource }.distinct()
|
||||
val viewableResourcesForChallenger = resourcesOnMap.map { civInfo.gameInfo.ruleSet.tileResources[it]!! }
|
||||
.filter { it.revealedBy == null || challenger.tech.isResearched(it.revealedBy!!) }
|
||||
|
||||
val notOwnedResources = viewableResourcesForChallenger.filter {
|
||||
it.resourceType != ResourceType.Bonus &&
|
||||
!ownedByCityStateResources.contains(it) &&
|
||||
!ownedByMajorResources.contains(it)
|
||||
}
|
||||
}.toList()
|
||||
|
||||
if (notOwnedResources.isNotEmpty())
|
||||
return notOwnedResources.random()
|
||||
|
@ -279,7 +279,7 @@ object UnitActions {
|
||||
|
||||
val canConstruct = !tile.isCityCenter()
|
||||
&& unit.civInfo.gameInfo.ruleSet.tileImprovements.values
|
||||
.any { tile.canBuildImprovement(it, unit.civInfo) }
|
||||
.any { tile.canBuildImprovement(it, unit.civInfo) }
|
||||
actionList += UnitAction(
|
||||
type = UnitActionType.ConstructImprovement,
|
||||
isCurrentAction = unit.currentTile.hasImprovementInProgress(),
|
||||
|
Reference in New Issue
Block a user