DotNet.Equipment.Class.PersonalEngineering - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
EliteDangerousAlmanac / Equipment / PersonalEngineering
Defined in: dotnet/src/EliteDangerousAlmanac/Equipment/PersonalEngineering.cs:39
The arithmetic Odyssey engineering does to a suit or a weapon.
A resistance is stored as the fraction of damage the layer keeps out, and a recipe multiplies the damage that gets through rather than the resistance itself. A recipe naming a stat whose name ends in Resistance is therefore applied to 1 - resistance and the result is converted back.
Every result is rounded to six decimal places, which is what keeps a chain of multiplications from reporting a resistance a millionth away from the figure the game panel shows.
staticApplyModifiers(stat,baseValue,modifiers):double
Defined in: dotnet/src/EliteDangerousAlmanac/Equipment/PersonalEngineering.cs:83
Applies every recipe that names one stat to that stat's base figure.
string
The stat to compute, named as a catalogue record spells it.
double
The unengineered figure.
IReadOnlyList<PersonalModifier>
The changes a build carries. A change naming another stat is passed over.
double
The engineered figure, rounded to six decimal places.
ArgumentNullException
The stat or the list of changes is absent.
ArgumentOutOfRangeException
The base figure is not finite.
staticSumIngredients(recipes):IReadOnlyList<PersonalEngineeringIngredient>
Defined in: dotnet/src/EliteDangerousAlmanac/Equipment/PersonalEngineering.cs:48
Adds recipes together, keeping one entry per material.
params IReadOnlyList<PersonalEngineeringIngredient>[]
The recipes to add.
IReadOnlyList<PersonalEngineeringIngredient>
One entry per material, in the order each material was first met. A material is matched without regard to case, and the first spelling met is the one reported.
ArgumentNullException
A recipe, or the list of them, is absent.