ships.Function.getExperimentalsForModule - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
@elite-dangerous-almanac/core / ships / getExperimentalsForModule
getExperimentalsForModule(
symbol): readonlystring[]
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.
string
A module symbol. Leading/trailing whitespace and case are ignored.
readonly string[]
Experimental-effect ids. Join to EXPERIMENTAL_EFFECTS.
If symbol is present and not a string. A nullish
symbol is a miss, answered the way an unrecognised one is.
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'); // -> []