Skip to content

DotNet.Equipment.Class.PersonalEngineering

github-actions[bot] edited this page Sep 20, 2026 · 11 revisions

EliteDangerousAlmanac / Equipment / PersonalEngineering

Class: PersonalEngineering

Defined in: dotnet/src/EliteDangerousAlmanac/Equipment/PersonalEngineering.cs:39

The arithmetic Odyssey engineering does to a suit or a weapon.

Remarks

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.

Methods

ApplyModifiers()

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

Parameters

stat

string

The stat to compute, named as a catalogue record spells it.

baseValue

double

The unengineered figure.

modifiers

IReadOnlyList<PersonalModifier>

The changes a build carries. A change naming another stat is passed over.

Returns

double

The engineered figure, rounded to six decimal places.

Exceptions

ArgumentNullException

The stat or the list of changes is absent.

ArgumentOutOfRangeException

The base figure is not finite.

SumIngredients()

static SumIngredients(recipes): IReadOnlyList<PersonalEngineeringIngredient>

Defined in: dotnet/src/EliteDangerousAlmanac/Equipment/PersonalEngineering.cs:48

Adds recipes together, keeping one entry per material.

Parameters

recipes

params IReadOnlyList<PersonalEngineeringIngredient>[]

The recipes to add.

Returns

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.

Exceptions

ArgumentNullException

A recipe, or the list of them, is absent.

.NET

Guides
Astronomy
Classes (16)
Records (29)
Enumerations (6)
Commodities
Classes (2)
Records (1)
Enumerations (1)
Equipment
Classes (8)
Records (19)
Enumerations (8)
GalaxyMap
Classes (1)
Records (1)
Localization
Classes (2)
Enumerations (1)
Materials
Classes (5)
Records (2)
Enumerations (4)
Ships
Classes (42)
Records (115)
Interfaces (1)
Enumerations (35)

Clone this wiki locally