A faction reaches its own gear; allegiance names only other factions
Operator ruling, 2026-09-30: "removing the 11 self-entries was my intention". IsAvailable, the one reach rule, now says a faction always reaches its own manufacturer's gear, and a transient `AetherDb allegiance-self [apply]` drops the self-entries from the eleven factions that had one (Rossum & Douglas never did, which is why its stations could not carry its own gear). Tests: in a main-sector galaxy every faction is offered all it makes and no allegiance map names its own faction; and, through a fixture faction outside the galaxy with no self-entry, its own product is on offer to it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
f458206c76
commit
d50fd1b973
4 changed files with 59 additions and 4 deletions
|
|
@ -177,9 +177,12 @@ public class LoadoutGenerator
|
|||
// No galaxy means no availability to filter by: every product is on offer. A fixture generates loadouts that
|
||||
// way, so a test can exercise placement and products without standing up a whole galaxy; no game path does.
|
||||
// Loadouts.Materialize takes availability as a predicate; RunStart, the game's one preset spawner, passes this, so
|
||||
// presets and generation share one availability rule.
|
||||
// presets and generation share one availability rule. In a galaxy, a faction always reaches its own manufacturer's
|
||||
// gear, and otherwise gear made by a manufacturer in that galaxy that its allegiance names (operator, 2026-09-30:
|
||||
// allegiance lists only other factions).
|
||||
public bool IsAvailable(FactionProductData product) =>
|
||||
Galaxy == null || Galaxy.IsPrelude ||
|
||||
Faction != null && ItemManager.ItemData.Get(product.Manufacturer) == Faction ||
|
||||
Galaxy.ContainsFaction(product.Manufacturer) && (Faction == null || Faction.Allegiance.ContainsKey(product.Manufacturer));
|
||||
|
||||
// Prioritize products from the zone faction and its allies, penalizing distance to the manufacturer's headquarters
|
||||
|
|
|
|||
Loading…
Reference in a new issue