DotNet.Ships.Class.BlueprintJournal - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki

EliteDangerousAlmanac / Ships / BlueprintJournal

Class: BlueprintJournal

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BlueprintJournal.cs:8

Reads a journal blueprint name against the module it was written for.

Methods

ResolveForModule()

static ResolveForModule(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.

Parameters

moduleSymbol

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.

blueprintSymbol

string

A catalogue or journal blueprint identifier, matched case-insensitively after trimming.

Returns

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.

Remarks

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.

Exceptions

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.

⚠️ **GitHub.com Fallback** ⚠️