Skip to content

DotNet.Ships.Class.Power

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

EliteDangerousAlmanac / Ships / Power

Class: Power

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/Power.cs:125

What the power plant makes, what the build draws, and which priority groups stay lit when it draws more than the plant makes.

Remarks

The model is the game's own. Every powered module draws its megawatts continuously, except the ones bolted to a hardpoint. Weapons and most utility fittings only draw while the hardpoints are deployed, which is why a build has two totals. Each module sits in one of five priority groups. When the draw goes over what the plant makes, the game keeps groups powered from group one down, and shuts off the first group whose running total would go over, and everything below it.

Reference implementation: EDCD/Coriolis, src/app/shipyard/Ship.js. The algorithm is ported as fact rather than as code. See ATTRIBUTIONS.md for credit and licence terms.

Methods

Budget()

static Budget(available, consumers): PowerBudget

Defined in: dotnet/src/EliteDangerousAlmanac/Ships/Power.cs:158

Works out a build's power budget: what the plant makes, what the modules draw retracted and deployed, and which priority groups survive.

Parameters

available

double

The power the plant generates, in megawatts. It is zero when no plant is fitted, and every group then reads as unpowered.

consumers

IReadOnlyList<PowerConsumer>

The power consumers to include. A module switched off is left out of the totals, and the rest fall into their priority group.

Returns

PowerBudget

The build's power budget.

Remarks

A group that draws exactly the power available stays online, which matches the game. Only going over shuts anything down.

Exceptions

ArgumentNullException

consumers is null.

ArgumentOutOfRangeException

The available power, or a consumer's draw, is not a finite number of zero or more.

.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