DotNet.Ships.Class.BlueprintJournal - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
EliteDangerousAlmanac / Ships / BlueprintJournal
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintJournal.cs:8
Reads a journal blueprint name against the module it was written for.
staticResolveForModule(moduleSymbol,blueprintSymbol):string
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintJournal.cs:55
The blueprint whose numbers a module actually rolls when a journal names one on it: the same identifier back, except where the game spells two different recipes alike.
string?
A module symbol, such as Hpt_CloudScanner_Size0_Class5. An unknown or absent module offers no menu, so the blueprint identifier comes back unchanged.
string
A catalogue or journal blueprint identifier, matched case-insensitively after trimming.
string
The identifier to look up in BlueprintCatalogue, in that catalogue's spelling when a journal name resolved, and otherwise blueprintSymbol exactly as it was passed.
One journal name, two recipes. Long Range and Wide Angle are offered on the internal sensor suite and on the kill warrant, manifest and wake scanners under the same identifier, and the two roll different stats in opposite directions: Long Range costs the suite mass and the scanner power draw, and Wide Angle the reverse. The same holds for Overcharged, which the game writes as Weapon_Overcharged for every weapon, though a multi-cannon's also cuts the clip.
Only the module can settle it, which is why this takes one, and it resolves into a menu and never out of one: a sensor suite's own identifier comes back unchanged, and so does a scanner identifier asked of a suite. A generic identifier is left alone too, because such a pair is one recipe under two published spellings. Materials are unaffected, since both spellings of a pair bill the same at every grade.
ArgumentNullException
blueprintSymbol is null. This answers with an identifier rather than reporting whether one is known, so there is no miss for an absent one to be.