Generation never offers gear no hull can mount
Operator ruling, 2026-09-30, on the Autocannon: "Leave the autocannon unsold, we'll need to author a bunch more hulls before all the gear variety in the game has a home." The fit rule gets one owner, HardpointData.Takes (the gear's type, laid in at the hardpoint's rotation, filling every cell); LoadoutGenerator's hardpoint picks, its reuse of a previous product and `AetherDb hardpoint-fit` all read it. RandomProducts, which both station stock and NPC loadouts draw through, offers only gear with a home: Tool gear, hulls, or hardpoint gear some hull in the catalog takes. The Autocannon keeps its product and price. Test: the Autocannon is never drawn in 2000 draws of its hardpoint type; after a scratch hull whose hardpoint takes it is authored, it is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5c3cd599ac
commit
d91ab8daf9
4 changed files with 42 additions and 9 deletions
|
|
@ -468,10 +468,7 @@ public static class Program
|
|||
foreach (var hardpoint in hull.Hardpoints.OrderByDescending(h => h.Shape.Coordinates.Length))
|
||||
{
|
||||
var cells = hardpoint.Shape.Coordinates.Length;
|
||||
var matches = gear.Where(g =>
|
||||
g.HardpointType == hardpoint.Type &&
|
||||
g.Shape.FitsWithin(hardpoint.Shape, hardpoint.Rotation, out _) &&
|
||||
g.Shape.Coordinates.Length == cells).ToArray();
|
||||
var matches = gear.Where(hardpoint.Takes).ToArray();
|
||||
var soldMatches = matches.Where(m => sold.Contains(db.Cache.RefOf(m).Key)).ToArray();
|
||||
if (soldMatches.Length == 0) unfillable++;
|
||||
Console.WriteLine($" {hardpoint.Type,-14} {cells,2} cells: {matches.Length} designs match, {soldMatches.Length} sold" +
|
||||
|
|
|
|||
Loading…
Reference in a new issue