Serpulo light coverage update fixes

This commit is contained in:
Anuken
2025-05-30 16:50:22 -04:00
parent cb2a235a45
commit c797974585
4 changed files with 27 additions and 13 deletions

View File

@@ -182,15 +182,6 @@ public class SectorInfo{
winWave = state.rules.sector.preset.captureWave;
}
lightCoverage = 0f;
for(var build : state.rules.defaultTeam.data().buildings){
if(build.block.emitLight){
lightCoverage += build.block.lightRadius * build.efficiency;
}
}
lightCoverage += state.rules.defaultTeam.data().units.sumf(u -> u.type.lightRadius/2f);
state.wave = wave;
state.rules.waves = waves;
state.rules.waveSpacing = waveSpacing;
@@ -236,6 +227,15 @@ public class SectorInfo{
damage = 0;
hasSpawns = spawner.countSpawns() > 0;
lightCoverage = 0f;
for(var build : state.rules.defaultTeam.data().buildings){
if(build.block.emitLight){
lightCoverage += build.block.lightRadius * build.efficiency;
}
}
lightCoverage += state.rules.defaultTeam.data().units.sumf(u -> u.type.lightRadius/2f);
//cap production at raw production.
production.each((item, stat) -> {
stat.mean = Math.min(stat.mean, rawProduction.get(item, ExportStat::new).mean);
@@ -253,6 +253,10 @@ public class SectorInfo{
if(sector.planet.allowWaveSimulation){
SectorDamage.writeParameters(sector);
}
if(sector.planet.generator != null){
sector.planet.generator.beforeSaveWrite(sector);
}
}
/** Update averages of various stats, updates some special sector logic.