ships.Function.powerBudget - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
@elite-dangerous-almanac/core / ships / powerBudget
powerBudget(
available,consumers):PowerBudget
Defined in: src/ships/power.ts:184
Work out a build's power budget: what the plant makes, what the modules draw retracted and deployed, and which priority groups survive.
number
Power the plant generates, in megawatts (0 when no plant is
fitted — every group then reads as unpowered). Must be finite and non-negative.
readonly PowerConsumer[]
Power consumers to include. Modules with enabled: false are
skipped from totals; the rest fall into their priority
group. BuildMetrics.powerBudget omits passive and zero-draw fittings.
The PowerBudget.
If available or any consumer's draw is not a finite
non-negative number.
A group that draws exactly the power available stays online, matching the game — only going over shuts anything down.
import { powerBudget } from '@elite-dangerous-almanac/core/ships/power';
const budget = powerBudget(4.8, [
{ draw: 3.0, priority: 1 },
{ draw: 2.0, priority: 4 }, // over budget: this group goes dark
]);
budget.withinBudget; // -> false
budget.bands[3]?.poweredDeployed; // -> false
budget.bands[0]?.poweredDeployed; // -> true (priority 1 keeps its power)