-
Notifications
You must be signed in to change notification settings - Fork 0
ships
@elite-dangerous-almanac/core / ships
Ship and outfitting data for Elite Dangerous — Frontier's shipyard and outfitting registries.
This entry point re-exports the ships feature area. Every symbol is also reachable from its own module, so bundlers can drop anything you do not use.
Working with a whole build? Start with ShipLoadout — it reads a SLEF
export (ShipLoadout.fromSlef) or a journal Loadout event straight out of a
player journal (ShipLoadout.fromLoadout), writes either back out
(ShipLoadout.toSlefString, ShipLoadout.toLoadoutEvent), lets you fit
modules and apply engineering, and
answers the questions apps actually ask (ShipLoadout.maxJumpRange,
ShipLoadout.powerBudget, ShipLoadout.shieldMetrics, unladenMass,
rebuy, ShipLoadout.mercCoinCost) — and keeps what a capture said it paid
apart from what the build is worth at retail (ShipLoadout.sourcePurchase, a
SourcePurchaseRecord). It is
the batteries-included facade and pulls in every catalogue;
everything below is what it is built from, so drop to the pieces when you
need one answer rather than a whole ship.
The area has five layers:
- Ships — SHIPS and the getShipBySymbol / getShipByName lookups. One small catalogue; each Ship carries the hull's identity, stats and slot layout together. SHIP_GUNSIGHTS, getShipGunsight and projectGunsight place a hull's fixed weapon mounts at any target range. The split default-loadouts subpath separately carries the stock modules, and ShipLoadout.default turns one into a live build.
- Modules — the OutfittingModule type and the lookups (getModuleBySymbol & co.), which search all 1199 modules unless you hand them a narrower set. Capability guards such as hasFrameShiftDriveJumpStats and hasWeaponDamageStats narrow the sparse record before stat access. The catalogues live on explicit subpaths split by Frontier's four outfitting categories — CORE_MODULES, INTERNAL_MODULES, HARDPOINT_MODULES, UTILITY_MODULES and ALL_MODULES; each record carries the module's identity and its stats. They are reachable only by their own subpath, so importing one never bundles the rest.
-
Jump range & SLEF — frameShiftDriveMassFactor,
singleJumpRange, fuelPerJump and totalRange are pure maths
over FrameShiftDriveParams and cost nothing but the function;
parseSlef reads an Inara SLEF export — or a bare
journal
Loadoutevent — on its own, and toSlef / stringifySlef write one back out. - Build metrics — the rest of what an outfitting screen shows, each its own data-free module: powerBudget (what the plant makes against what the build draws, by priority group), shieldMetrics and armourMetrics (strength, hit points and the resistances behind them, stacked by stackShieldResistance / stackArmourResistance), weaponMetrics (DPS, sustained DPS, capacitor draw and heat), distributorMetrics (SYS, ENG and WEP capacity and pip-scaled recharge), weaponsCapacitorMetrics (WEP-pip recharge and firing endurance), ammunitionCapacity (the magazine and the reserve behind it, for anything that carries rounds) and heatMetrics (what the build runs at idle and firing, and whether it cooks itself).
-
Engineering — computeModifiers applies the primitive legs of a
BLUEPRINTS recipe and an EXPERIMENTAL_EFFECTS entry;
ShipLoadout.applyBlueprint presents that result under Frontier's journal
labels, while ShipLoadout.setPreEngineeredVariant fits a fixed article that
arrives with engineering already present. ENGINEERING_OPTION_GROUPS answers
what a module can be engineered with, and PRE_ENGINEERED_MODULES covers
the fixed articles you cannot craft — including grade-5 festive launchers whose
Decorative_*journal identity names no recipe. Material shopping data stays on the explicit blueprint-costs and experimental-effect-costs subpaths, so build calculations do not pull it in.
The registries use two distinct Frontier identity spaces. symbol identifies an
item — a hull, module, material, micro-resource or commodity — and is what item and
journal Item lookups accept. Engineering catalogue entries instead use fdname to
identify a recipe, effect or fixed variant. The journal normally writes that id in
Engineering.BlueprintName or Engineering.ExperimentalEffect; the few colliding
blueprint aliases are resolved for their module by resolveBlueprintForModule.
Recipe and effect lookups take an fdname. Pre-engineered variants are found from the
base module's symbol with getPreEngineeredVariants, after which their
blueprint identities can be inspected.
Catalogue containers follow those jobs rather than one universal shape. The
identity-bearing entity catalogues — SHIPS and the module catalogues — are
readonly arrays because every value carries its own symbol and consumers commonly
enumerate or filter them. PRE_ENGINEERED_MODULES is also an array, but it is
an enumerable relation: each row joins a base module to engineering and acquisition
data rather than identifying a new module with a symbol of its own.
Engineering entities and groups are keyed catalogues: BLUEPRINTS,
EXPERIMENTAL_EFFECTS and ENGINEERING_OPTION_GROUPS carry the recipe,
effect or group identity in the key rather than repeating it in each value. The separate
BLUEPRINT_COSTS and
EXPERIMENTAL_EFFECT_COSTS
records map those ids to costs; SLOT_RESTRICTION_LABELS maps typed restriction
codes to display labels. Use Object.values() or Object.entries() to enumerate any
of these keyed structures.
Four fdname maps have public case-insensitive, whitespace-trimming lookups for a
caller- or journal-supplied id: getBlueprint, getExperimentalEffect,
getBlueprintCosts and
getExperimentalEffectCost.
Prefer those helpers to direct indexing for external text. Engineering group ids and
slot restriction codes are typed keys, so index their maps directly.
Note that a hull's derived figures split by cost: cheap stored values are properties (ShipLoadout.unladenMass), while anything that recomputes or takes options is a method (ShipLoadout.maxJumpRange).
Identity primarily from EDCD FDevIDs (shipyard.csv, outfitting.csv), with
supplemental module identities documented in the source record; stats and slot
layouts from EDCD/coriolis-data and EDSY. See data/ships/SOURCES.md.
The whole-build layer. ShipLoadout reads a capture and answers the questions an outfitting screen asks. This is the one to start from, and the one that pulls in every catalogue.
import { ShipLoadout } from '@elite-dangerous-almanac/core/ships/ship-loadout';
import type { LoadoutEvent } from '@elite-dangerous-almanac/core/ships/slef';
declare const event: LoadoutEvent;
// Figures below are one build's — a Krait Phantom explorer.
const build = ShipLoadout.fromLoadout(event);
build.maxJumpRange(); // -> 60.5478 (ly)
build.powerBudget().withinBudget; // -> true
build.shieldMetrics()?.strength; // -> 743.12 (MJ)
build.weaponMetrics().total.damagePerSecond; // -> 34The lookup layer. One small hull catalogue, and 1199 modules split by Frontier's four outfitting categories. Lookups ignore case and surrounding whitespace.
import { getShipBySymbol } from '@elite-dangerous-almanac/core/ships/ships';
import { getModuleBySymbol } from '@elite-dangerous-almanac/core/ships/modules';
import { CORE_MODULES } from '@elite-dangerous-almanac/core/ships/modules-core';
getShipBySymbol('empire_trader')?.name; // -> 'Imperial Clipper'
// Pass a category to bound what you bundle; omit it to search all 1199.
CORE_MODULES.length; // -> 521
getModuleBySymbol('Int_Hyperdrive_Size6_Class5', CORE_MODULES)?.name;
// -> 'Frame Shift Drive'The catalogues live on their own subpaths (./modules-core, ./modules-internal,
./modules-hardpoint, ./modules-utility, ./modules-all) precisely so importing
one does not bundle the rest — ./modules-all is 310.8 KiB.
The data-free layer. Each calculation is its own module over plain constants, so it costs nothing but the function — no catalogue, no build.
import { singleJumpRange } from '@elite-dangerous-almanac/core/ships/jump-range';
singleJumpRange(1237.3, 6.8, {
optMass: 7528.04,
maxFuel: 6.8,
fuelMul: 0.011,
fuelPower: 2.5025,
jumpBoost: 10.5, // Guardian FSD Booster
}); // -> 89.4147 (ly)./power, ./shields, ./armour, ./weapons, ./ammunition and ./resistances
are the same shape: pass the constants, get the number.
The slot layer. Slot keys come from the game and are not derivable from position, so read them rather than composing them — and let ShipLoadout.modulesForSlot tell you what actually fits.
import { ShipLoadout } from '@elite-dangerous-almanac/core/ships/ship-loadout';
const build = ShipLoadout.empty('Anaconda');
build.slots('optional').length; // -> 14
build.slots()[0]?.key; // -> the key setModule takes
// Only the modules this mount will accept, by size and restriction.
build.modulesForSlot('FrameShiftDrive');- AmmunitionCapacity
- AmmunitionStats
- ApplyBlueprintOptions
- ArmourInput
- ArmourMetrics
- AvailableBlueprint
- Blueprint
- BlueprintFeature
- BlueprintGrade
- BlueprintModuleEngineering
- BuildSlotBase
- BuildWeaponMetrics
- BulkheadParams
- CalculationIssue
- CellBankInput
- CellBankMetrics
- CellBankSummary
- CoreBuildSlot
- CoreSlots
- DamageComponents
- DamageDistribution
- DamageResistanceParams
- DamageSplit
- DamageTypeValues
- DefenceOptions
- DistributorCapacitorMetrics
- DistributorInput
- DistributorMetrics
- DistributorOptions
- DistributorPips
- EngineeringMaterial
- EngineeringModifier
- EngineeringNormalizationUnchanged
- EngineeringNormalizationUnsupported
- EngineeringNormalized
- EngineeringOptionGroup
- ExperimentalContribution
- ExperimentalEffect
- ExperimentalEffectUnchanged
- ExperimentalEffectUnsupported
- ExperimentalEffectUpdated
- FittedModule
- FittedWeaponMetrics
- FrameShiftDriveJumpStats
- FrameShiftDriveParams
- FuelCapacity
- GunsightPoint
- HardpointBuildSlot
- HardpointSlotSpec
- HeatInput
- HeatMetrics
- HeatState
- HeatWeapon
- HullReinforcementParams
- JumpOptions
- JumpRangeSummary
- LoadoutCalculationModule
- LoadoutEvent
- LoadoutExportOptions
- LoadoutIssue
- LoadoutModule
- LoadoutValidation
- LoadoutValidationInput
- MassCurveStats
- MobilityInput
- MobilityMetrics
- MobilityOptions
- ModuleLimitEntry
- ModuleLimitIncrease
- ModuleLimitUsage
- ModuleReinforcementParams
- OptionalBuildSlot
- OptionalSlotSpec
- OutfittingModule
- OutfittingModuleIdentity
- OutfittingModuleStats
- ParsedSlot
- PowerBand
- PowerBudget
- PowerConsumer
- PowerConsumerResult
- PowerDistributorStats
- PowerGenerationStats
- PreEngineeredModifier
- PreEngineeredVariant
- ProjectileRangeBoundaries
- RetailCredits
- ShieldBoosterParams
- ShieldGeneratorParams
- ShieldInput
- ShieldMetrics
- ShieldRecovery
- ShieldRecoveryInput
- ShieldRegenerationStats
- Ship
- ShipSlots
- SimpleBuildSlot
- SlefDiagnostic
- SlefEntry
- SlefExportOptions
- SlefHeader
- SlefInspection
- SlefStringifyOptions
- SourceModuleValue
- SourcePurchaseRecord
- StandardLoadInputs
- ThrusterCurveParams
- ThrusterParams
- TotalRangeDetails
- ValidationModule
- WeaponDamageStats
- WeaponMetrics
- WeaponsCapacitorInput
- WeaponsCapacitorMetrics
- WeaponsOptions
- WeaponStats
- WeaponTotals
- BlueprintGrades
- BuildSlot
- CalculationIssueReason
- CalculationResult
- CoreSlotType
- DamageResistances
- DamageType
- EngineeringGroupId
- EngineeringNormalizationCode
- EngineeringNormalizationResult
- ExperimentalEffectMutationCode
- ExperimentalEffectMutationResult
- FixedMountRepairResult
- GunsightOffset
- HardpointRestriction
- ImmovableReason
- LoadoutEditErrorCode
- LoadoutImportOutcome
- LoadoutIssueCode
- LoadoutIssueParam
- LoadoutIssueParams
- LoadoutSlot
- ModifierMethod
- ModuleCategory
- ModuleEngineering
- ModuleExclusionGroup
- ModuleFitConstraint
- ModuleGuidance
- ModuleLimitGroup
- ModuleMount
- ModuleRating
- ModuleSlot
- OptionalRestriction
- PreEngineeredAcquisition
- ShipGunsight
- ShipGunsightCatalogue
- Slef
- SlefConstraint
- SlefDiagnosticCode
- SlotKind
- SlotRestriction
- StandardLoad
- BLUEPRINTS
- ENGINEERING_OPTION_GROUPS
- EXPERIMENTAL_EFFECTS
- OVERHEAT_HEAT_LEVEL
- PRE_ENGINEERED_MODULES
- SHIP_GUNSIGHTS
- SHIP_MODULE_LIMITS
- SHIPS
- SLOT_RESTRICTION_LABELS
- ammunitionCapacity
- armourMetrics
- armourPiercingFactor
- calculateCargoCapacity
- calculateFuelCapacity
- calculateModuleLimits
- calculateUnladenMass
- cellBankSummary
- combinedRateOfFire
- computeModifiers
- damageFalloff
- damagePerSecond
- distributorMetrics
- effectiveHitPoints
- effectiveWeaponThermalLoad
- energyPerSecond
- enumerateSlots
- equilibriumHeatLevel
- frameShiftDriveMassFactor
- fuelPerJump
- getBlueprint
- getBlueprintGrade
- getBlueprintsForModule
- getBulkheadsForShip
- getEngineeringGroup
- getExperimentalEffect
- getExperimentalsForBlueprint
- getExperimentalsForModule
- getLoadoutModifier
- getModuleBySymbol
- getModulesByName
- getPreEngineeredJournalModifiers
- getPreEngineeredModifiers
- getPreEngineeredStats
- getPreEngineeredVariants
- getShipByName
- getShipBySymbol
- getShipGunsight
- getShipSlots
- getSourceModuleValue
- hasFrameShiftDriveJumpStats
- hasMassCurveStats
- hasPowerDistributorStats
- hasPowerGenerationStats
- hasShieldRegenerationStats
- hasWeaponDamageStats
- heatLevelAtTime
- heatMetrics
- heatPerSecond
- identifyPreEngineeredVariant
- inspectSlef
- isPreEngineered
- mapDamageTypes
- mobilityMetrics
- parseSlef
- parseSlotName
- powerBudget
- projectGunsight
- resolveBlueprintForModule
- rollsForGrade
- secondsToHeatLevel
- shieldMassCurveMultiplier
- shieldMetrics
- shieldRecovery
- shieldStrength
- singleJumpRange
- sourcePurchaseFromLoadout
- splitDamage
- stackArmourResistance
- stackShieldResistance
- stringifySlef
- sumMaterials
- sumSourceModuleValues
- sumWeaponMetrics
- sustainedDamagePerSecond
- sustainedFireFactor
- systemsResistance
- thrusterMassCurveMultiplier
- toSlef
- totalRange
- unresolvedModifiers
- validateLoadout
- weaponMetrics
- weaponsCapacitorMetrics
Guides
astro
Classes (1)
ProceduralSystem
Properties
Accessors
Methods
Interfaces (16)
Type Aliases (3)
Variables (11)
Functions (37)
- absoluteBoxelToBoxelCode
- boxelCodeToAbsoluteBoxel
- boxelCodeToLetters
- boxelEdgeLy
- boxelInternalSize
- canonicalizeSectorName
- canonicalizeSystemName
- decodeModSystemAddress
- decodeSystemAddress
- encodeModSystemAddress
- encodeSystemAddress
- findHandAuthoredRegionAt
- formatSystemName
- getCodexRegion
- getCodexRegionByName
- getHandAuthoredRegionOrigin
- getNebulaByName
- isPermitLockedRegionName
- isPermitLockedSystemName
- isProceduralSystemName
- lettersToBoxelCode
- massCodeToSizeClass
- nearestNebulae
- nebulaeWithin
- parseSystemName
- permitLockedRegionForSystemName
- permitLockedSystemForAddress
- permitLockedSystemForName
- permitLockForSystemName
- resolveNamingRegionOrigin
- sectorGridPositionFromGalacticPosition
- sectorGridPositionFromName
- sectorNameFromGalacticPosition
- sectorNameFromGridPosition
- sizeClassToMassCode
- toSystemAddress
- tryToSystemAddress
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)
- getBlueprintName
- getCalculationIssueMessage
- getEngineeringGroupName
- getExperimentalEffectDescription
- getExperimentalEffectName
- getLoadoutEditErrorMessage
- getLoadoutIssueMessage
- getLoadoutSlotName
- getMaterialName
- getMicroResourceName
- getModuleName
- getOutfittingFamilyName
- getPreEngineeredVariantName
- getShipManufacturer
- getShipName
- getSlefDiagnosticMessage
- getSlotRestrictionLabel
materials
Enumerations (2)
Interfaces (2)
Type Aliases (2)
Variables (9)
ships
Classes (3)
BuildMetrics
Methods
- armourMetrics()
- buildCost()
- buildMass()
- cellBanks()
- distributorMetrics()
- distributorMetricsResult()
- frameShiftDrive()
- frameShiftDriveMassFactor()
- fuelPerJump()
- heatMetrics()
- heatMetricsResult()
- jumpRange()
- jumpRangeSummary()
- ladenJumpRange()
- loadout()
- maxJumpRange()
- mobilityCapacitorMetrics()
- mobilityCapacitorMetricsResult()
- mobilityMetrics()
- mobilityMetricsResult()
- powerBudget()
- shieldCapacitorMetrics()
- shieldCapacitorMetricsResult()
- shieldMetrics()
- shieldMetricsResult()
- shieldRecovery()
- shieldRecoveryResult()
- standardLoad()
- standardLoadResult()
- thrusters()
- totalRange()
- weaponMetrics()
- weaponsCapacitorMetrics()
- of()
LoadoutEditError
Constructors
Properties
Methods
ShipLoadout
Accessors
- cargoCapacity
- fuelCapacity
- hullValue
- importOutcomes
- modulesValue
- rebuy
- shipIdent
- shipName
- shipSymbol
- sourcePurchase
- unladenMass
Methods
- applyBlueprint()
- availableBlueprints()
- availableExperimentalEffects()
- clearEngineering()
- completeEngineeringGrade()
- fittedModuleAt()
- fittedModules()
- modulesForSlot()
- removeModule()
- repairFixedMount()
- setExperimentalEffect()
- setModule()
- setModuleEnabled()
- setModulePriority()
- setPreEngineeredVariant()
- slots()
- toLoadoutEvent()
- toSlef()
- toSlefString()
- validation()
- default()
- empty()
- fromLoadout()
- fromSlef()
Interfaces (125)
- AmmunitionCapacity
- AmmunitionStats
- ApplyBlueprintOptions
- ArmourInput
- ArmourMetrics
- AvailableBlueprint
- Blueprint
- BlueprintFeature
- BlueprintGrade
- BlueprintModuleEngineering
- BuildCost
- BuildCredits
- BuildMass
- BuildSlotBase
- BuildWeaponMetrics
- BulkheadParams
- CalculationIssue
- CellBankInput
- CellBankMetrics
- CellBankSummary
- CoreBuildSlot
- CoreSlots
- DamageComponents
- DamageDistribution
- DamageResistanceParams
- DamageSplit
- DamageTypeValues
- DistributorCapacitorMetrics
- DistributorInput
- DistributorMetrics
- DistributorOptions
- DistributorPips
- EngineeringMaterial
- EngineeringModifier
- EngineeringNormalizationUnchanged
- EngineeringNormalizationUnsupported
- EngineeringNormalized
- EngineeringOptionGroup
- ExperimentalContribution
- ExperimentalEffect
- ExperimentalEffectUnchanged
- ExperimentalEffectUnsupported
- ExperimentalEffectUpdated
- FittedModule
- FittedWeaponMetrics
- FrameShiftDriveJumpStats
- FrameShiftDriveParams
- FuelCapacity
- GunsightPoint
- HardpointBuildSlot
- HardpointSlotSpec
- HeatInput
- HeatMetrics
- HeatState
- HeatWeapon
- HullReinforcementParams
- JumpOptions
- JumpRangeSummary
- LoadoutCalculationModule
- LoadoutEvent
- LoadoutExportOptions
- LoadoutIssue
- LoadoutMass
- LoadoutModule
- LoadoutValidation
- LoadoutValidationInput
- MassCurveStats
- MobilityCapacitorInput
- MobilityCapacitorMetrics
- MobilityCapacitorOptions
- MobilityInput
- MobilityMetrics
- ModuleLimitEntry
- ModuleLimitIncrease
- ModuleLimitUsage
- ModuleReinforcementParams
- OptionalBuildSlot
- OptionalSlotSpec
- OutfittingModule
- OutfittingModuleIdentity
- OutfittingModuleStats
- ParsedSlot
- PowerBand
- PowerBudget
- PowerConsumer
- PowerConsumerResult
- PowerDistributorStats
- PowerGenerationStats
- PreEngineeredModifier
- PreEngineeredVariant
- ProjectileRangeBoundaries
- ShieldBoosterParams
- ShieldCapacitorInput
- ShieldCapacitorMetrics
- ShieldCapacitorOptions
- ShieldGeneratorParams
- ShieldInput
- ShieldMetrics
- ShieldRecovery
- ShieldRecoveryInput
- ShieldRecoveryOptions
- ShieldRegenerationStats
- Ship
- ShipSlots
- SimpleBuildSlot
- SlefDiagnostic
- SlefEntry
- SlefExportOptions
- SlefHeader
- SlefInspection
- SlefStringifyOptions
- SourceModuleValue
- SourcePurchaseRecord
- StandardLoadInputs
- ThrusterCurveParams
- ThrusterParams
- TotalRangeDetails
- ValidationModule
- WeaponDamageStats
- WeaponMetrics
- WeaponsCapacitorInput
- WeaponsCapacitorMetrics
- WeaponsOptions
- WeaponStats
- WeaponTotals
Type Aliases (44)
- BlueprintGrades
- BuildSlot
- CalculationIssueReason
- CalculationResult
- CoreSlotType
- DamageResistances
- DamageType
- EngineeringGroupId
- EngineeringNormalizationCode
- EngineeringNormalizationResult
- ExperimentalEffectMutationCode
- ExperimentalEffectMutationResult
- FixedMountRepairResult
- GunsightOffset
- HardpointRestriction
- ImmovableReason
- LoadoutEditErrorCode
- LoadoutImportOutcome
- LoadoutIssueCode
- LoadoutIssueParam
- LoadoutIssueParams
- LoadoutSlot
- ModifierMethod
- ModuleCategory
- ModuleEngineering
- ModuleExclusionGroup
- ModuleFitConstraint
- ModuleGuidance
- ModuleLimitGroup
- ModuleMount
- ModuleRating
- ModuleSlot
- OptionalRestriction
- OutfittingFamilyId
- PreEngineeredAcquisition
- ShipGunsight
- ShipGunsightCatalogue
- Slef
- SlefConstraint
- SlefDiagnosticCode
- SlotKind
- SlotRestriction
- StandardLoad
- ThrusterLoad
Variables (10)
Functions (85)
- ammunitionCapacity
- armourMetrics
- armourPiercingFactor
- calculateCargoCapacity
- calculateFuelCapacity
- calculateModuleLimits
- calculateUnladenMass
- cellBankSummary
- combinedRateOfFire
- computeModifiers
- damageFalloff
- damagePerSecond
- distributorMetrics
- effectiveHitPoints
- effectiveWeaponThermalLoad
- energyPerSecond
- enumerateSlots
- equilibriumHeatLevel
- frameShiftDriveMassFactor
- fuelPerJump
- getBlueprint
- getBlueprintGrade
- getBlueprintsForModule
- getBulkheadsForShip
- getEngineeringGroup
- getExperimentalEffect
- getExperimentalsForBlueprint
- getExperimentalsForModule
- getLoadoutModifier
- getModuleBySymbol
- getModulesByName
- getPreEngineeredJournalModifiers
- getPreEngineeredModifiers
- getPreEngineeredStats
- getPreEngineeredVariants
- getShipByName
- getShipBySymbol
- getShipGunsight
- getShipSlots
- getSourceModuleValue
- hasFrameShiftDriveJumpStats
- hasMassCurveStats
- hasPowerDistributorStats
- hasPowerGenerationStats
- hasShieldRegenerationStats
- hasWeaponDamageStats
- heatLevelAtTime
- heatMetrics
- heatPerSecond
- identifyPreEngineeredVariant
- inspectSlef
- isPreEngineered
- mapDamageTypes
- mobilityCapacitorMetrics
- mobilityMetrics
- parseSlef
- parseSlotName
- powerBudget
- projectGunsight
- resolveBlueprintForModule
- secondsToHeatLevel
- shieldCapacitorMetrics
- shieldMassCurveMultiplier
- shieldMetrics
- shieldRecovery
- shieldStrength
- singleJumpRange
- sourcePurchaseFromLoadout
- splitDamage
- stackArmourResistance
- stackShieldResistance
- stringifySlef
- sumMaterials
- sumSourceModuleValues
- sumWeaponMetrics
- sustainedDamagePerSecond
- sustainedFireFactor
- systemsResistance
- thrusterMassCurveMultiplier
- toSlef
- totalRange
- unresolvedModifiers
- validateLoadout
- weaponMetrics
- weaponsCapacitorMetrics