mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-04 23:40:01 +07:00
rankSpecialist doesn't need to get cityStats as a parameter
This commit is contained in:
@ -28,9 +28,9 @@ object Automation {
|
||||
return rankStatsForCityWork(stats, city, city.cityStats.currentCityStats, false, localUniqueCache)
|
||||
}
|
||||
|
||||
fun rankSpecialist(specialist: String, city: City, cityStats: Stats, localUniqueCache: LocalUniqueCache): Float {
|
||||
fun rankSpecialist(specialist: String, city: City, localUniqueCache: LocalUniqueCache): Float {
|
||||
val stats = city.cityStats.getStatsOfSpecialist(specialist, localUniqueCache)
|
||||
var rank = rankStatsForCityWork(stats, city, cityStats, true, localUniqueCache)
|
||||
var rank = rankStatsForCityWork(stats, city, city.cityStats.currentCityStats, true, localUniqueCache)
|
||||
// derive GPP score
|
||||
var gpp = 0f
|
||||
if (city.getRuleset().specialists.containsKey(specialist)) { // To solve problems in total remake mods
|
||||
|
@ -173,7 +173,7 @@ class CityPopulationManager : IsPartOfGameInfoSerialization {
|
||||
else getMaxSpecialists().asSequence()
|
||||
.filter { specialistAllocations[it.key] < it.value }
|
||||
.map { it.key }
|
||||
.associateWith { Automation.rankSpecialist(it, city, cityStats, localUniqueCache) }
|
||||
.associateWith { Automation.rankSpecialist(it, city, localUniqueCache) }
|
||||
.maxByOrNull { it.value }
|
||||
val bestJob = bestJobAndRank?.key
|
||||
val valueBestSpecialist = bestJobAndRank?.value ?: 0f
|
||||
@ -227,10 +227,10 @@ class CityPopulationManager : IsPartOfGameInfoSerialization {
|
||||
|
||||
//evaluate specialists
|
||||
val worstAutoJob: String? = if (city.manualSpecialists) null else specialistAllocations.keys
|
||||
.minByOrNull { Automation.rankSpecialist(it, city, city.cityStats.currentCityStats, localUniqueCache) }
|
||||
.minByOrNull { Automation.rankSpecialist(it, city, localUniqueCache) }
|
||||
var valueWorstSpecialist = 0f
|
||||
if (worstAutoJob != null)
|
||||
valueWorstSpecialist = Automation.rankSpecialist(worstAutoJob, city, city.cityStats.currentCityStats, localUniqueCache)
|
||||
valueWorstSpecialist = Automation.rankSpecialist(worstAutoJob, city, localUniqueCache)
|
||||
|
||||
|
||||
// un-assign population
|
||||
@ -250,7 +250,7 @@ class CityPopulationManager : IsPartOfGameInfoSerialization {
|
||||
// and population goes below the number of specialists, e.g. city is razing.
|
||||
// Let's give a chance to do the work automatically at least.
|
||||
val worstJob = specialistAllocations.keys.minByOrNull {
|
||||
Automation.rankSpecialist(it, city, city.cityStats.currentCityStats, localUniqueCache) }
|
||||
Automation.rankSpecialist(it, city, localUniqueCache) }
|
||||
?: break // sorry, we can do nothing about that
|
||||
specialistAllocations.add(worstJob, -1)
|
||||
}
|
||||
|
Reference in New Issue
Block a user