DotNet.Ships.Class.BlueprintCatalogue - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
EliteDangerousAlmanac / Ships / BlueprintCatalogue
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintCatalogue.cs:37
The blueprint mechanics catalogue: every engineering blueprint's per-grade stat modifiers, keyed by the blueprint's Frontier symbol as a journal loadout event carries it.
Three keys collide, because the game writes one identifier for two recipes that roll different numbers. Scanner_LongRange and Scanner_WideAngle are the utility scanners' recipes, which the game writes as Sensor_LongRange and Sensor_WideAngle, the identifiers it also writes for the sensor suites' own recipes of the same name. MC_Overcharged is the multi-cannon Overcharged, which cuts the clip where the Weapon_Overcharged every other weapon menu lists leaves it alone. BlueprintJournal settles a journal identifier against the fitted module.
Further keys are the Operations identifiers: recipes a module is sold carrying, and the Operations recipes a player rolls at an engineer. No journal spelling has been observed for those, which is a gap in the evidence rather than a claim that the game writes none.
Every recipe is keyed once. Anti-Guardian Zone Resistance is GuardianModule_Sturdy, the identifier the game writes on Guardian weapons as well as on Guardian modules.
Material shopping lists live in BlueprintCosts, so applying a recipe does not load what it costs. Data comes from EDCD coriolis-data with journal labels resolved against EDSY; see data/ships/SOURCES.md for provenance.
staticAll:IReadOnlyDictionary<string,Blueprint>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintCatalogue.cs:42
Every blueprint, keyed by Frontier symbol. Lookups ignore case.
staticFind(blueprintSymbol):Blueprint?
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintCatalogue.cs:55
Finds a blueprint by its Frontier symbol.
string?
The blueprint identifier, such as FSD_LongRange. Leading and trailing whitespace and case are ignored.
The blueprint, or null when this catalogue stores none under that identifier. An absent identifier is not always an unknown one: the game writes the grade-5 decorative identities of festive pre-engineered variants in the same field, and those name no craftable recipe.
staticFindGrade(blueprintSymbol,grade):BlueprintGrade?
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintCatalogue.cs:68
Finds one complete grade of a blueprint.
string?
The blueprint identifier. Whitespace and case are ignored.
int
The grade, from 1 through 5.
The grade's modifier features and converted damage distribution, or null when this catalogue holds no such blueprint or grade.
ArgumentOutOfRangeException
grade is outside 1 through 5.