Light coverage based on player structures

This commit is contained in:
Anuken
2025-05-29 14:19:33 -04:00
parent 8f0ca13ace
commit d4d8e6d42c
2 changed files with 22 additions and 4 deletions

View File

@@ -73,6 +73,8 @@ public class SectorInfo{
public float secondsPassed;
/** How many minutes this sector has been captured. */
public float minutesCaptured;
/** Light coverage in terms of radius. */
public float lightCoverage;
/** Display name. */
public @Nullable String name;
/** Displayed icon. */
@@ -180,6 +182,15 @@ 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;