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

EliteDangerousAlmanac / Ships / MobilityCapacitor

Class: MobilityCapacitor

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/MobilityCapacitor.cs:36

The ENG capacitor: speed and handling at a chosen ENG-pip allocation.

Remarks

A hull publishes two endpoints for each of speed, pitch, roll and yaw: the figure at no ENG pips and the figure at four. The allocation interpolates linearly between them, and the fitted thruster's mass curves are applied to the result.

Boost does not move with the pips, so it is not reported here. It is on MobilityMetrics.Boost, along with the loaded mass and the two curve multipliers these figures share.

Reference implementations: EDCD/Coriolis and EDSY. The algorithm is ported as fact rather than as code. See ATTRIBUTIONS.md for credit and licence terms.

Methods

Metrics()

static Metrics(input, enginesPips?): MobilityCapacitorMetrics?

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/MobilityCapacitor.cs:61

Calculates a loaded ship's speed and rotation rates at one ENG-pip allocation.

Parameters

input

MobilityInput

The same hull figures, loaded mass and fitted thrusters Mobility.Metrics takes.

enginesPips

double = 4

The pips assigned to ENG, from zero through four. Fractional pips are accepted, because the game's own curve is continuous.

Returns

MobilityCapacitorMetrics?

The metrics, or null when no thrusters are fitted. A mass above the thrusters' maximum answers zero performance rather than a fabricated curve value. At four pips every figure equals its MobilityMetrics counterpart.

Remarks

The pips are checked before the hull figures, so a bad allocation is reported first.

Exceptions

ArgumentNullException

input is null.

ArgumentOutOfRangeException

The allocation is outside zero through four, an input is not finite or is outside its documented range, or a thruster curve is not in the order IMassCurve documents.

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