rankSpecialist doesn't need to get cityStats as a parameter

This commit is contained in:
Yair Morgenstern
2024-03-13 22:22:07 +02:00
parent 31b13fc1b7
commit d05bb35129
2 changed files with 6 additions and 6 deletions

View File

@ -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

View File

@ -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)
}