ships.Function.powerBudget - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki

@elite-dangerous-almanac/core / ships / powerBudget

Function: 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.

Parameters

available

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.

consumers

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.

Returns

PowerBudget

The PowerBudget.

Throws

If available or any consumer's draw is not a finite non-negative number.

Remarks

A group that draws exactly the power available stays online, matching the game — only going over shuts anything down.

Example

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)
⚠️ **GitHub.com Fallback** ⚠️