mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-04 23:40:01 +07:00
Worker remove feature far away from cities fix (#10847)
* Worker AI doesn't remove forests and marshes away from their borders. * Reverted a previous change that slipped into this branch
This commit is contained in:
@ -25,6 +25,7 @@ import com.unciv.models.ruleset.tile.Terrain
|
||||
import com.unciv.models.ruleset.tile.TileImprovement
|
||||
import com.unciv.models.ruleset.unique.LocalUniqueCache
|
||||
import com.unciv.models.ruleset.unique.UniqueType
|
||||
import com.unciv.models.stats.Stats
|
||||
import com.unciv.ui.screens.worldscreen.unit.actions.UnitActions
|
||||
import com.unciv.ui.screens.worldscreen.unit.actions.UnitActionsFromUniques
|
||||
import com.unciv.utils.Log
|
||||
@ -644,7 +645,14 @@ class WorkerAutomation(
|
||||
|
||||
private fun getImprovementRanking(tile: Tile, unit: MapUnit, improvementName: String, localUniqueCache: LocalUniqueCache): Float {
|
||||
val improvement = ruleSet.tileImprovements[improvementName]!!
|
||||
val stats = tile.stats.getStatDiffForImprovement(improvement, civInfo, tile.getCity(), localUniqueCache)
|
||||
var stats = Stats()
|
||||
if (tile.getOwner() == unit.civ)
|
||||
stats = tile.stats.getStatDiffForImprovement(improvement, civInfo, tile.getCity(), localUniqueCache)
|
||||
// We could expand to this tile in the future
|
||||
else if (ruleSet.tileImprovements[improvementName]!!.hasUnique(UniqueType.CanBuildOutsideBorders) &&
|
||||
tile.neighbors.any {it.getOwner() == unit.civ && it.owningCity != null && tile.aerialDistanceTo(it.owningCity!!.getCenterTile()) <= 3})
|
||||
stats = tile.stats.getStatDiffForImprovement(improvement, civInfo, tile.getCity(), localUniqueCache).div(3f)
|
||||
|
||||
var value = Automation.rankStatsValue(stats, unit.civ)
|
||||
// Calculate the bonus from gaining the resources, this isn't included in the stats above
|
||||
if (tile.resource != null && tile.tileResource.resourceType != ResourceType.Bonus) {
|
||||
|
Reference in New Issue
Block a user