DotNet.Ships.Class.PreEngineeredCatalogue - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
EliteDangerousAlmanac / Ships / PreEngineeredCatalogue
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/PreEngineered.cs:118
The pre-engineered module catalogue: the outfitting rows bought or received already modified, each paired with the base module it fits as and the engineering identity baked in.
A pre-engineered module has no symbol of its own. The game sells an ordinary module with engineering already applied, so a journal loadout reports the base symbol plus an engineering block. This catalogue supplies the link that would otherwise be missing: which stock modules exist in a pre-engineered form, and with what fixed engineering state.
One base module can appear more than once, because the medium Seeker Missile Rack is sold or awarded in several flavours. Look variants up with VariantsFor rather than assuming there is one.
A Mercenary article is bought at grade 1. A measured bespoke recipe starts at grade 2. Price the remaining upgrade with BlueprintCosts.FindClimbCost. It returns null when numeric grades and costs are not measured. A community-goal or tech-broker article instead names a fixed reward, and its blueprint identifier grants no recipe to the stock module.
staticAll:IReadOnlyList<PreEngineeredVariant>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/PreEngineered.cs:123
Every pre-engineered module variant, whether purchased, unlocked or awarded.
staticIsPreEngineered(symbol):bool
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/PreEngineered.cs:140
Whether a module has at least one known pre-engineered form.
string?
A module symbol. Whitespace and case are ignored.
bool
true when VariantsFor answers anything.
staticVariantsFor(symbol):IReadOnlyList<PreEngineeredVariant>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/PreEngineered.cs:134
Every pre-engineered variant of one base module.
string?
A module symbol, such as Hpt_BasicMissileRack_Fixed_Medium. Leading and trailing whitespace and case are ignored, so a raw journal value passes straight in.
IReadOnlyList<PreEngineeredVariant>
Every variant of that module, in catalogue order. It is empty rather than null when the module has no known pre-engineered form.