Soul's F4: LRMM72, SRMM72, Autocannon, pswarm and plight had DamageCurve == null, and once they had products NPCs were generated with them and CombatState.SampleDps threw at InstantWeapon.cs:64 / ChargedWeapon.cs:81. A transient `AetherDb damage-curves [apply]` copies each one's curve from its nearest comparable weapon, same class first, then closest range and damage: Autocannon <- DeathCluster (auto-fire Ballistic, 4 cells, range reaching 1000) LRMM72 <- GT 3K (the only other unguided launcher) SRMM72 <- scorched void policy (guided; 750 range and 128 damage inside its 500-1250, 128-512) pswarm <- scorched void policy (guided; identical damage, range, cooldown) plight <- ChargeBlast+- (charged Energy; nearest range) Every curve in the catalog is the same one, keys (0, 1, 0, 0) and (1, 0, -1.7656243, -1.7656243): full damage at minimum range falling to none at maximum. Test: every weapon a product sells has a damage curve. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 MiB (Stored with Git LFS)
12 MiB (Stored with Git LFS)