Skip to content

ships.Function.calculateModuleLimits

github-actions[bot] edited this page Aug 26, 2026 · 72 revisions

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

Function: calculateModuleLimits()

calculateModuleLimits(modules): readonly ModuleLimitUsage[]

Defined in: src/ships/module-limits.ts:80

Resolve every per-ship module-count allowance for a fitted module list.

Parameters

modules

readonly ModuleLimitEntry[]

Fitted modules reduced to their optional limit metadata. Every entry carrying limitGroup consumes one place; every limitIncrease raises the named allowance. Entries may carry both.

Returns

readonly ModuleLimitUsage[]

A deeply frozen usage record for every known family, in SHIP_MODULE_LIMITS order.

Remarks

This calculation reproduces EDSY's per-ship limit / unlimit model; see ATTRIBUTIONS.md.

Example

import { calculateModuleLimits } from '@elite-dangerous-almanac/core/ships/module-limits';

calculateModuleLimits([
  ...Array.from({ length: 5 }, () => ({ limitGroup: 'experimentalWeapon' as const })),
  { limitIncrease: { group: 'experimentalWeapon', amount: 1 } },
])[0];
// -> { group: 'experimentalWeapon', baseLimit: 4, increase: 1, limit: 5, count: 5, excess: 0 }

API

Guides
astro
Classes (1)
ProceduralSystem

Properties

Accessors

Methods

Interfaces (16)
Type Aliases (3)
Variables (11)
Functions (37)
Subpath modules (3)
commodities
Interfaces (1)
Type Aliases (1)
Variables (3)
Functions (3)
equipment
Interfaces (6)
Type Aliases (8)
Variables (3)
Functions (10)
Subpath modules (2)
i18n
Interfaces (1)
Type Aliases (1)
Functions (17)
materials
Enumerations (2)
Interfaces (2)
Type Aliases (2)
Variables (9)
Functions (9)
ships
Classes (3)
BuildMetrics

Methods

LoadoutEditError

Constructors

Properties

Methods

ShipLoadout

Accessors

Methods

Interfaces (125)
Type Aliases (44)
Variables (10)
Functions (85)
Subpath modules (8)

Clone this wiki locally