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

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

Function: getExperimentalsForModule()

getExperimentalsForModule(symbol): readonly string[]

Defined in: src/ships/engineering-options.ts:299

Every experimental effect in a stock module's ordinary menu — its group's list, minus the effects that particular module is excluded from.

Most modules take their whole group's list, but some are exceptions: most Multi-cannons cannot take Phasing Sequence, dumbfire racks cannot take Drag Munitions, and some missile racks are short of Penetrator Munitions or FSD Interrupt. Those are applied here, so the result is the exact set for this module.

An empty array is the common answer, and it usually means "blueprints only". Whole groups offer no experimental effect at all — life support, sensors, the limpet controllers, the utility scanners, and every Guardian group, weapons and modules alike — so every module in them answers empty. An ungrouped module answers empty too; getEngineeringGroup tells the two apart.

Parameters

symbol

string

A module symbol. Leading/trailing whitespace and case are ignored.

Returns

readonly string[]

Experimental-effect ids. Join to EXPERIMENTAL_EFFECTS.

Throws

If symbol is present and not a string. A nullish symbol is a miss, answered the way an unrecognised one is.

Example

import { getExperimentalsForModule } from '@elite-dangerous-almanac/core/ships/engineering-options';

getExperimentalsForModule('Hpt_MultiCannon_Fixed_Medium').includes('special_phasing_sequence'); // -> true

// The small Multi-cannon is one effect short — no Phasing Sequence.
getExperimentalsForModule('Hpt_MultiCannon_Fixed_Small').includes('special_phasing_sequence'); // -> false

// The stock Abrasion Blaster has no ordinary engineering menu.
getExperimentalsForModule('Hpt_Mining_AbrBlstr_Fixed_Small'); // -> []
⚠️ **GitHub.com Fallback** ⚠️