Resolved #2035 - Strategic resources are affected by map generation parameters

This commit is contained in:
Yair Morgenstern
2020-03-03 20:09:40 +02:00
parent 8a9bbf4154
commit 27b9c93d6f
4 changed files with 12 additions and 13 deletions

View File

@ -38,7 +38,7 @@ class UncivGame(
* This exists so that when debugging we can see the entire map.
* Remember to turn this to false before commit and upload!
*/
var viewEntireMapForDebug = false
var viewEntireMapForDebug = true
/** For when you need to test something in an advanced game and don't have time to faff around */
val superchargedForDebug = false

View File

@ -8,8 +8,6 @@ import com.unciv.models.ruleset.Ruleset
import com.unciv.models.ruleset.tile.ResourceType
import com.unciv.models.ruleset.tile.Terrain
import com.unciv.models.ruleset.tile.TerrainType
import kotlin.collections.ArrayList
import kotlin.collections.HashMap
import kotlin.math.*
import kotlin.random.Random
@ -493,10 +491,10 @@ class MapGenerator(val ruleset: Ruleset) {
val suitableTiles = mapToReturn.values
.filter { it.resource == null && resource.terrainsCanBeFoundOn.contains(it.getLastTerrain().name) }
val averageTilesPerResource = 15 * resourcesOfType.count()
val numberOfResources = mapToReturn.values.count { it.isLand && !it.getBaseTerrain().impassable } / averageTilesPerResource
val numberOfResources = mapToReturn.values.count { it.isLand && !it.getBaseTerrain().impassable } *
mapToReturn.mapParameters.resourceRichness
val locations = chooseSpreadOutLocations(numberOfResources, suitableTiles, distance)
val locations = chooseSpreadOutLocations(numberOfResources.toInt(), suitableTiles, distance)
for (location in locations) location.resource = resource.name
}
@ -508,8 +506,9 @@ class MapGenerator(val ruleset: Ruleset) {
val suitableTiles = mapToReturn.values
.filter { it.resource == null && resourcesOfType.any { r -> r.terrainsCanBeFoundOn.contains(it.getLastTerrain().name) } }
val numberOfResources = (mapToReturn.values.count { it.isLand && !it.getBaseTerrain().impassable } * mapToReturn.mapParameters.resourceRichness).toInt()
val locations = chooseSpreadOutLocations(numberOfResources, suitableTiles, distance)
val numberOfResources = mapToReturn.values.count { it.isLand && !it.getBaseTerrain().impassable } *
mapToReturn.mapParameters.resourceRichness
val locations = chooseSpreadOutLocations(numberOfResources.toInt(), suitableTiles, distance)
val resourceToNumber = Counter<String>()

View File

@ -166,7 +166,7 @@ class MapParametersTable(val mapParameters: MapParameters, val isEmptyMapAllowed
advancedSettingsTable.add(tempExtremeSlider).fillX().row()
val resourceRichnessSlider = Slider(0f,1f,0.01f, false, skin).apply {
val resourceRichnessSlider = Slider(0f,0.2f,0.01f, false, skin).apply {
addListener(object : ChangeListener() {
override fun changed(event: ChangeEvent?, actor: Actor?) {
mapParameters.resourceRichness = this@apply.value

View File

@ -347,10 +347,10 @@ class DiplomacyScreen(val viewingCiv:CivilizationInfo):CameraStageBaseScreen() {
relationshipTable.add("Our relationship: ".toLabel())
val relationshipLevel = otherCivDiplomacyManager.relationshipLevel()
val relationshipText = relationshipLevel.name.tr() + " ($opinionOfUs)"
val relationshipColor = when {
relationshipLevel == RelationshipLevel.Neutral -> Color.WHITE
relationshipLevel == RelationshipLevel.Favorable || relationshipLevel == RelationshipLevel.Friend
|| relationshipLevel == RelationshipLevel.Ally -> Color.GREEN
val relationshipColor = when (relationshipLevel) {
RelationshipLevel.Neutral -> Color.WHITE
RelationshipLevel.Favorable, RelationshipLevel.Friend,
RelationshipLevel.Ally -> Color.GREEN
else -> Color.RED
}