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

EliteDangerousAlmanac / Ships / ModuleCapabilities

Class: ModuleCapabilities

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCapabilities.cs:12

The capability checks a sparse outfitting record is held to.

Remarks

An outfitting module represents every family, so the stats it carries are sparse. Each check here asks only whether one calculation's stat group is complete. None of them infers identity from a symbol or requires an unrelated family label, so a hand-built record satisfies a check the same way a catalogue record does.

Methods

Has()

static Has(module, capability): bool

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCapabilities.cs:77

Whether the module carries a complete stat group.

Parameters

module

OutfittingModule?

The module, or null for no module at all.

capability

Func<ModuleStats?, bool>

The check to apply.

Returns

bool

What the check answers for the module's stats.

Exceptions

ArgumentNullException

capability is null.

HasFrameShiftDriveJumpStats()

static HasFrameShiftDriveJumpStats(stats): bool

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCapabilities.cs:17

Whether the stats carry complete frame shift drive jump constants.

Parameters

stats

ModuleStats?

The module's stats, or null for no module at all.

Returns

bool

true where the optimised mass, maximum fuel and both fuel constants are all stated.

HasMassCurveStats()

static HasMassCurveStats(stats): bool

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCapabilities.cs:48

Whether the stats carry a complete three-point mass curve.

Parameters

stats

ModuleStats?

The module's stats, or null for no module at all.

Returns

bool

true where all three masses and all three multipliers are stated. Both thrusters and shield generators satisfy this.

HasPowerDistributorStats()

static HasPowerDistributorStats(stats): bool

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCapabilities.cs:33

Whether the stats carry all three distributor capacitor pairs.

Parameters

stats

ModuleStats?

The module's stats, or null for no module at all.

Returns

bool

true where every capacity and recharge rate is stated.

HasPowerGenerationStats()

static HasPowerGenerationStats(stats): bool

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCapabilities.cs:27

Whether the stats carry a complete power plant output and heat efficiency.

Parameters

stats

ModuleStats?

The module's stats, or null for no module at all.

Returns

bool

true where both the power capacity and the heat efficiency are stated.

HasShieldRegenerationStats()

static HasShieldRegenerationStats(stats): bool

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCapabilities.cs:60

Whether the stats carry both shield regeneration rates.

Parameters

stats

ModuleStats?

The module's stats, or null for no module at all.

Returns

bool

true where both the raised and the broken rate are stated.

HasWeaponDamageStats()

static HasWeaponDamageStats(stats): bool

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/ModuleCapabilities.cs:70

Whether the stats carry a damage figure.

Parameters

stats

ModuleStats?

The module's stats, or null for no module at all.

Returns

bool

true where the damage is stated.

Remarks

The other firing stats stay optional, because continuous-fire and ammunition-free weapons legitimately leave out different ones.

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