@elite-dangerous-almanac/core 0.2.7 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PROVENANCE/equipment/SOURCES.md +149 -27
- package/PROVENANCE/i18n/SOURCES.md +176 -27
- package/PROVENANCE/ships/SOURCES.md +10 -18
- package/README.md +20 -5
- package/THIRD_PARTY_NOTICES.md +4 -1
- package/dist/{chunk-AAU7OM47.js → chunk-2OBUSQA7.js} +1 -1
- package/dist/{chunk-AAU7OM47.js.map → chunk-2OBUSQA7.js.map} +1 -1
- package/dist/{chunk-MVBVXK3G.js → chunk-3GNYPM6J.js} +1 -1
- package/dist/{chunk-MVBVXK3G.js.map → chunk-3GNYPM6J.js.map} +1 -1
- package/dist/{chunk-A6OINYNP.js → chunk-3WGXGBW5.js} +1 -1
- package/dist/{chunk-NZXSIHAW.js → chunk-5YEHJM6V.js} +1 -1
- package/dist/{chunk-NZXSIHAW.js.map → chunk-5YEHJM6V.js.map} +1 -1
- package/dist/{chunk-7S7ZTZZY.js → chunk-7EWZGDWY.js} +1 -1
- package/dist/chunk-DAQ3PJ4R.js +1 -0
- package/dist/chunk-DAQ3PJ4R.js.map +1 -0
- package/dist/chunk-DHACRCLI.js +1 -0
- package/dist/chunk-DHACRCLI.js.map +1 -0
- package/dist/chunk-FJIWJYKO.js +1 -0
- package/dist/chunk-FJIWJYKO.js.map +1 -0
- package/dist/chunk-GIGRBFIJ.js +1 -0
- package/dist/{chunk-MGRDB2BZ.js.map → chunk-GIGRBFIJ.js.map} +1 -1
- package/dist/{chunk-FMA36V6A.js → chunk-IMNOEFUE.js} +1 -1
- package/dist/{chunk-FMA36V6A.js.map → chunk-IMNOEFUE.js.map} +1 -1
- package/dist/chunk-IN36YSS4.js +1 -0
- package/dist/chunk-IN36YSS4.js.map +1 -0
- package/dist/chunk-IUSMAX5T.js +1 -0
- package/dist/{chunk-6GJHUWMO.js.map → chunk-IUSMAX5T.js.map} +1 -1
- package/dist/{chunk-XQJERZUS.js → chunk-JCYOE3C4.js} +1 -1
- package/dist/{chunk-XQJERZUS.js.map → chunk-JCYOE3C4.js.map} +1 -1
- package/dist/chunk-LWNBWRKL.js +1 -0
- package/dist/{chunk-B7EYTZRK.js.map → chunk-LWNBWRKL.js.map} +1 -1
- package/dist/chunk-MT5AHPNP.js +1 -0
- package/dist/{chunk-ZEN5K3GE.js.map → chunk-MT5AHPNP.js.map} +1 -1
- package/dist/chunk-OLKOWR7S.js +1 -0
- package/dist/chunk-OLKOWR7S.js.map +1 -0
- package/dist/chunk-SC4MEHVY.js +1 -0
- package/dist/chunk-SC4MEHVY.js.map +1 -0
- package/dist/chunk-W5ULI75F.js +1 -0
- package/dist/chunk-W5ULI75F.js.map +1 -0
- package/dist/chunk-WV7QCDL5.js +1 -0
- package/dist/chunk-WV7QCDL5.js.map +1 -0
- package/dist/{chunk-F7VWRDSL.js → chunk-YJAH6DFY.js} +1 -1
- package/dist/chunk-YJAH6DFY.js.map +1 -0
- package/dist/equipment/engineering.d.ts +53 -1
- package/dist/equipment/engineering.js +1 -1
- package/dist/equipment/index.d.ts +13 -2
- package/dist/equipment/index.js +1 -1
- package/dist/equipment/modification-journal.js +1 -1
- package/dist/equipment/modifications.d.ts +32 -9
- package/dist/equipment/modifications.js +1 -1
- package/dist/equipment/suits.d.ts +32 -2
- package/dist/equipment/suits.js +1 -1
- package/dist/equipment/upgrade-costs.js +1 -1
- package/dist/equipment/weapons.d.ts +16 -2
- package/dist/equipment/weapons.js +1 -1
- package/dist/i18n/index.d.ts +76 -0
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/personal-modifications.d.ts +68 -0
- package/dist/i18n/personal-modifications.js +1 -0
- package/dist/i18n/personal-modifications.js.map +1 -0
- package/dist/i18n/personal-weapons.d.ts +33 -0
- package/dist/i18n/personal-weapons.js +1 -0
- package/dist/i18n/personal-weapons.js.map +1 -0
- package/dist/i18n/suits.d.ts +59 -0
- package/dist/i18n/suits.js +1 -0
- package/dist/i18n/suits.js.map +1 -0
- package/dist/materials/index.js +1 -1
- package/dist/materials/micro-resources-all.js +1 -1
- package/dist/materials/micro-resources.js +1 -1
- package/dist/ships/build-metrics.js +1 -1
- package/dist/ships/index.js +1 -1
- package/dist/ships/loadout-validation.d.ts +7 -2
- package/dist/ships/loadout-validation.js +1 -1
- package/dist/ships/modules-all.js +1 -1
- package/dist/ships/modules-internal.d.ts +17 -6
- package/dist/ships/modules-internal.js +1 -1
- package/dist/ships/modules.d.ts +5 -1
- package/dist/ships/modules.js +1 -1
- package/dist/ships/pre-engineered-stats.js +1 -1
- package/dist/ships/shield-capacitor.js +1 -1
- package/dist/ships/ship-loadout.d.ts +6 -0
- package/dist/ships/ship-loadout.js +1 -1
- package/dist/ships/weapons.js +1 -1
- package/package.json +13 -1
- package/dist/chunk-4U7KYQGK.js +0 -1
- package/dist/chunk-4U7KYQGK.js.map +0 -1
- package/dist/chunk-6GJHUWMO.js +0 -1
- package/dist/chunk-B7EYTZRK.js +0 -1
- package/dist/chunk-C5HG4GJI.js +0 -1
- package/dist/chunk-C5HG4GJI.js.map +0 -1
- package/dist/chunk-F7VWRDSL.js.map +0 -1
- package/dist/chunk-KLC5XT6F.js +0 -1
- package/dist/chunk-KLC5XT6F.js.map +0 -1
- package/dist/chunk-MGRDB2BZ.js +0 -1
- package/dist/chunk-TSEDU73T.js +0 -1
- package/dist/chunk-TSEDU73T.js.map +0 -1
- package/dist/chunk-XRGECU7S.js +0 -1
- package/dist/chunk-XRGECU7S.js.map +0 -1
- package/dist/chunk-ZEN5K3GE.js +0 -1
- /package/dist/{chunk-A6OINYNP.js.map → chunk-3WGXGBW5.js.map} +0 -0
- /package/dist/{chunk-7S7ZTZZY.js.map → chunk-7EWZGDWY.js.map} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/** Localized personal-suit display names and descriptions, isolated from suit stats. */
|
|
2
|
+
/**
|
|
3
|
+
* Look up an Odyssey suit's source-backed display name for a locale.
|
|
4
|
+
*
|
|
5
|
+
* @param suit - Either the grade-independent family `Suit.family` carries, such as
|
|
6
|
+
* `"utilitysuit"`, or one grade's Frontier symbol, such as `"utilitysuit_class3"` — the
|
|
7
|
+
* form a journal line writes. Matching ignores case and surrounding whitespace.
|
|
8
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"`, `"de-DE"` or
|
|
9
|
+
* `"en-GB"`. Matching is case-insensitive; underscores are accepted in place of
|
|
10
|
+
* hyphens. A regional or script subtag is dropped: every stored locale is a bare
|
|
11
|
+
* language tag.
|
|
12
|
+
* @returns The localized suit name; the canonical `Suit.name` for any English tag; or
|
|
13
|
+
* `null` when the suit is unknown or the locale is not one of the six this catalogue
|
|
14
|
+
* stores.
|
|
15
|
+
* @remarks
|
|
16
|
+
* All six stored locales are complete for this dataset, so a supported locale always
|
|
17
|
+
* answers. The game names a suit per family rather than per grade, so every grade of one
|
|
18
|
+
* suit resolves to the same name. The name is the suit's own: the outfitting list
|
|
19
|
+
* prefixes it with the manufacturer — "Remlok Maverick Suit" — which names a shop
|
|
20
|
+
* listing rather than the suit, and is not stored. This lookup bundles no suit stats.
|
|
21
|
+
* @throws {TypeError} If `suit` is present and not a string, or `locale` is not a
|
|
22
|
+
* string. A nullish `suit` is a lookup miss and returns `null`.
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { getSuitName } from '@elite-dangerous-almanac/core/i18n/suits';
|
|
26
|
+
*
|
|
27
|
+
* getSuitName('utilitysuit', 'de-DE'); // -> 'Maverick-Anzug'
|
|
28
|
+
* getSuitName('explorationsuit_class3', 'fr'); // -> 'Combinaison Artemis'
|
|
29
|
+
* getSuitName('utilitysuit', 'it'); // -> null
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare function getSuitName(suit: string, locale: string): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* Look up an Odyssey suit's display description — the prose the game shows a player, in
|
|
35
|
+
* all six stored locales.
|
|
36
|
+
*
|
|
37
|
+
* @param suit - Either the grade-independent family `Suit.family` carries or one grade's
|
|
38
|
+
* Frontier symbol, exactly as {@link getSuitName} accepts. Matching ignores case and
|
|
39
|
+
* surrounding whitespace.
|
|
40
|
+
* @param locale - A BCP 47 locale. All six stored locales are complete for this dataset.
|
|
41
|
+
* @returns The localized description, or `null` when the suit is unknown or the
|
|
42
|
+
* requested locale is not one this catalogue stores.
|
|
43
|
+
* @remarks
|
|
44
|
+
* This is display prose, not a statement of what the suit does: it names no shield
|
|
45
|
+
* strength, no battery capacity and no resistance. Those are the stats
|
|
46
|
+
* `SUITS` carries, and the two are deliberately not the same string. English is the
|
|
47
|
+
* game's own wording here rather than a projection of `Suit.name`.
|
|
48
|
+
* @throws {TypeError} If a present `suit` or `locale` is not a string.
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* import { getSuitDescription } from '@elite-dangerous-almanac/core/i18n/suits';
|
|
52
|
+
*
|
|
53
|
+
* getSuitDescription('flightsuit', 'en')?.startsWith('Remlok'); // -> true
|
|
54
|
+
* getSuitDescription('flightsuit', 'ja'); // -> null
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
declare function getSuitDescription(suit: string, locale: string): string | null;
|
|
58
|
+
|
|
59
|
+
export { getSuitDescription, getSuitName };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{getSuitDescription,getSuitName}from"../chunk-FJIWJYKO.js"; //# sourceMappingURL=suits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"O"}
|
package/dist/materials/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-OFZGNWBT.js";export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-7EWZGDWY.js";export{ALL_MICRO_RESOURCES}from"../chunk-DAQ3PJ4R.js";export{COMPONENT_MICRO_RESOURCES}from"../chunk-HTB52N6S.js";export{CONSUMABLE_MICRO_RESOURCES}from"../chunk-K7L7SMIR.js";export{DATA_MICRO_RESOURCES}from"../chunk-GVLDFJEY.js";export{ITEM_MICRO_RESOURCES}from"../chunk-WHWFKHV3.js"; export{ALL_MATERIALS}from"../chunk-KBCA4GEZ.js";export{ENCODED_MATERIALS}from"../chunk-A5TCT2AJ.js";export{MANUFACTURED_MATERIALS}from"../chunk-PF3HZ73R.js";export{RAW_MATERIALS}from"../chunk-Q6YDPREF.js"; //# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ALL_MICRO_RESOURCES}from"../chunk-
|
|
1
|
+
export{ALL_MICRO_RESOURCES}from"../chunk-DAQ3PJ4R.js"; //# sourceMappingURL=micro-resources-all.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-
|
|
1
|
+
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-7EWZGDWY.js"; //# sourceMappingURL=micro-resources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{BuildMetrics}from"../chunk-
|
|
1
|
+
export{BuildMetrics}from"../chunk-YJAH6DFY.js"; //# sourceMappingURL=build-metrics.js.map
|
package/dist/ships/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{LoadoutEditError,ShipLoadout}from"../chunk-
|
|
1
|
+
export{LoadoutEditError,ShipLoadout}from"../chunk-SC4MEHVY.js";export{validateLoadout}from"../chunk-3GNYPM6J.js";export{hasFrameShiftDriveJumpStats,hasMassCurveStats,hasPowerDistributorStats,hasPowerGenerationStats,hasShieldRegenerationStats,hasWeaponDamageStats}from"../chunk-JTQVWIGL.js";export{OUTFITTING_FAMILIES}from"../chunk-M6G3UDTX.js";export{SHIP_MODULE_LIMITS,calculateModuleLimits}from"../chunk-KPETDYQX.js";export{SHIP_GUNSIGHTS,getShipGunsight,projectGunsight}from"../chunk-XSN53F7W.js";export{BuildMetrics}from"../chunk-YJAH6DFY.js";export{weaponsCapacitorMetrics}from"../chunk-M4FZRDAH.js";export{shieldCapacitorMetrics}from"../chunk-JCYOE3C4.js";export{cellBankSummary,shieldRecovery}from"../chunk-JMAXSXXQ.js"; export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics}from"../chunk-2OBUSQA7.js";export{shieldMassCurveMultiplier,shieldMetrics,shieldStrength}from"../chunk-5VWACBTN.js";export{SHIPS,getShipByName,getShipBySymbol,getShipSlots}from"../chunk-6UNAD74Z.js";export{getLoadoutModifier,inspectSlef,parseSlef,stringifySlef,toSlef}from"../chunk-T4MKUKYS.js";export{getSourceModuleValue,sourcePurchaseFromLoadout,sumSourceModuleValues}from"../chunk-NIURLW2F.js";export{powerBudget}from"../chunk-GGQMIQPC.js";export{getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,unresolvedModifiers}from"../chunk-IN36YSS4.js";export{getBulkheadsForShip,getModuleBySymbol,getModulesByName}from"../chunk-5YEHJM6V.js";export{PRE_ENGINEERED_MODULES,getPreEngineeredVariants,isPreEngineered}from"../chunk-BJU27V6C.js"; export{mobilityCapacitorMetrics}from"../chunk-VEEBJFJ7.js";export{mobilityMetrics,thrusterMassCurveMultiplier}from"../chunk-A4QKXXZD.js"; export{EXPERIMENTAL_EFFECTS,getExperimentalEffect}from"../chunk-77I24V6B.js";export{OVERHEAT_HEAT_LEVEL,effectiveWeaponThermalLoad,equilibriumHeatLevel,heatLevelAtTime,heatMetrics,secondsToHeatLevel}from"../chunk-6HA2YIKW.js";export{frameShiftDriveMassFactor,fuelPerJump,singleJumpRange,totalRange}from"../chunk-VTMCSCXV.js";export{calculateCargoCapacity,calculateFuelCapacity,calculatePassengerCapacity,calculateUnladenMass}from"../chunk-C3LLPLLD.js";export{armourMetrics}from"../chunk-Q5ALV3DI.js";export{effectiveHitPoints,mapDamageTypes,stackArmourResistance,stackShieldResistance,systemsResistance}from"../chunk-F44QX47A.js"; export{computeModifiers,sumMaterials}from"../chunk-A7IVMYNF.js"; export{resolveBlueprintForModule}from"../chunk-XSLPWM5N.js";export{BLUEPRINTS,getBlueprint,getBlueprintGrade}from"../chunk-AYAKU4YA.js"; export{distributorMetrics}from"../chunk-M2TCZKRT.js"; export{ENGINEERING_OPTION_GROUPS,getBlueprintsForModule,getEngineeringGroup,getExperimentalsForBlueprint,getExperimentalsForModule}from"../chunk-EHFHRQEP.js";export{ammunitionCapacity}from"../chunk-AA3K5XUE.js"; export{SLOT_RESTRICTION_LABELS,enumerateSlots,parseSlotName}from"../chunk-RAO35XDF.js"; //# sourceMappingURL=index.js.map
|
|
@@ -39,8 +39,13 @@ type LoadoutIssueCode = 'duplicateSlot' | 'unknownSlot' | 'missingRequiredSlot'
|
|
|
39
39
|
* Failing only at `laden` is a warning: the hold is the one load a pilot chooses.
|
|
40
40
|
*/
|
|
41
41
|
type ThrusterLoad = 'dry' | 'unladen' | 'laden';
|
|
42
|
-
/**
|
|
43
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Stable machine-readable constraint behind an `incompatibleModule` issue.
|
|
44
|
+
*
|
|
45
|
+
* `builtInHullModule` is the only one that does not depend on the mount: the cargo hatch
|
|
46
|
+
* comes with the hull and goes in no mount an editor can set.
|
|
47
|
+
*/
|
|
48
|
+
type ModuleFitConstraint = 'immutableSlot' | 'builtInHullModule' | 'armourRequired' | 'wrongHullArmour' | 'restrictedHull' | 'restrictedMount' | 'wrongCoreType' | 'hardpointRequired' | 'utilityRequired' | 'optionalInternalRequired' | 'coreModuleInOptionalSlot' | 'oversized' | 'unknownConstraint';
|
|
44
49
|
/**
|
|
45
50
|
* One language-neutral value carried by a structured loadout diagnostic: a scalar
|
|
46
51
|
* string/number, or a string list the consumer can format for its locale. Paired name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{validateLoadout}from"../chunk-
|
|
1
|
+
export{validateLoadout}from"../chunk-3GNYPM6J.js"; //# sourceMappingURL=loadout-validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ALL_MODULES}from"../chunk-
|
|
1
|
+
export{ALL_MODULES}from"../chunk-MT5AHPNP.js"; //# sourceMappingURL=modules-all.js.map
|
|
@@ -7,7 +7,9 @@ import './slots.js';
|
|
|
7
7
|
* The **optional internal** modules — the `internal` outfitting category:
|
|
8
8
|
* everything that fills an optional internal slot (cargo racks, shield generators,
|
|
9
9
|
* fuel scoops, refineries, passenger cabins, limpet and planetary controllers,
|
|
10
|
-
* hull/module reinforcement, …)
|
|
10
|
+
* hull/module reinforcement, …), plus the articles the registry files here that an
|
|
11
|
+
* optional slot does not take: the hull's own Cargo Hatch and the Guardian hybrid
|
|
12
|
+
* power plants and distributors, which go in a core mount.
|
|
11
13
|
*
|
|
12
14
|
* The other categories live in `./modules-core`, `./modules-hardpoint` and
|
|
13
15
|
* `./modules-utility`, so importing this module never bundles them.
|
|
@@ -20,14 +22,23 @@ import './slots.js';
|
|
|
20
22
|
*/
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
|
-
* All 484
|
|
25
|
+
* All 484 modules in the `internal` outfitting category, in registry order.
|
|
24
26
|
*
|
|
25
27
|
* @remarks
|
|
26
28
|
* Every record has `category: 'internal'`, added from the file it was read from
|
|
27
|
-
* rather than repeated on every record.
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
29
|
+
* rather than repeated on every record. **The category is the registry's filing, not a
|
|
30
|
+
* fitting rule**, so do not read a fit off it: `ModularCargoBayDoor` (family
|
|
31
|
+
* `cargoHatches`) is the hull's built-in Cargo Hatch and goes in the fixed `CargoHatch`
|
|
32
|
+
* mount alone; the fifteen Guardian hybrid power plants and distributors carry a core
|
|
33
|
+
* {@link ships!OutfittingModule.slot | slot} and fit only that core mount; and others
|
|
34
|
+
* here reserve a restricted mount or a named hull. Ask
|
|
35
|
+
* {@link ships!ShipLoadout.modulesForSlot | ShipLoadout.modulesForSlot} what a mount
|
|
36
|
+
* takes rather than filtering this array by size.
|
|
37
|
+
*
|
|
38
|
+
* To keep the other three categories out of your bundle, search this array directly —
|
|
39
|
+
* `INTERNAL_MODULES.find((m) => m.symbol.toLowerCase() === wanted)`, lower-cased because
|
|
40
|
+
* a journal's symbols are — rather than with the lookups in `./modules`, which default
|
|
41
|
+
* to all 1194 modules.
|
|
31
42
|
*
|
|
32
43
|
* @example
|
|
33
44
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{INTERNAL_MODULES}from"../chunk-
|
|
1
|
+
export{INTERNAL_MODULES}from"../chunk-IMNOEFUE.js"; //# sourceMappingURL=modules-internal.js.map
|
package/dist/ships/modules.d.ts
CHANGED
|
@@ -73,7 +73,11 @@ import { ModuleSlot, SlotRestriction } from './slots.js';
|
|
|
73
73
|
* which are the same seven {@link CoreSlotType}s plus armour. A fuel tank is a `core`
|
|
74
74
|
* module that also fits an optional slot.
|
|
75
75
|
* - `internal` — optional internals (cargo racks, shield generators, fuel scoops,
|
|
76
|
-
* passenger cabins, limpet and planetary controllers, …).
|
|
76
|
+
* passenger cabins, limpet and planetary controllers, …). The registry also files two
|
|
77
|
+
* kinds of article here that no optional slot takes: the built-in Cargo Hatch, which
|
|
78
|
+
* fits the hull's own fixed `CargoHatch` mount, and the Guardian hybrid power plants
|
|
79
|
+
* and distributors, which carry a core {@link OutfittingModule.slot | slot} and fit
|
|
80
|
+
* only that core mount.
|
|
77
81
|
* - `hardpoint` — the weapons and tools mounted on a hardpoint.
|
|
78
82
|
* - `utility` — the small utility-mount fittings (chaff, heat sinks, point defence,
|
|
79
83
|
* shield boosters, scanners).
|
package/dist/ships/modules.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getBulkheadsForShip,getModuleBySymbol,getModulesByName}from"../chunk-
|
|
1
|
+
export{getBulkheadsForShip,getModuleBySymbol,getModulesByName}from"../chunk-5YEHJM6V.js"; //# sourceMappingURL=modules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,unresolvedModifiers}from"../chunk-
|
|
1
|
+
export{getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,unresolvedModifiers}from"../chunk-IN36YSS4.js"; //# sourceMappingURL=pre-engineered-stats.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{shieldCapacitorMetrics}from"../chunk-
|
|
1
|
+
export{shieldCapacitorMetrics}from"../chunk-JCYOE3C4.js"; //# sourceMappingURL=shield-capacitor.js.map
|
|
@@ -996,6 +996,12 @@ declare class ShipLoadout {
|
|
|
996
996
|
* the same article on the screen twice, once with no price. A build that already
|
|
997
997
|
* carries one keeps it; only the choices are filtered.
|
|
998
998
|
*
|
|
999
|
+
* The Cargo Hatch is absent for the same reason it cannot be removed: it is part of
|
|
1000
|
+
* the hull. The source registry files it under the `internal` category — which is
|
|
1001
|
+
* why {@link ships/modules-internal!INTERNAL_MODULES | INTERNAL_MODULES} carries it
|
|
1002
|
+
* — but the hull is built with one and the fixed `CargoHatch` mount is the only
|
|
1003
|
+
* place it goes, so no mount this method describes accepts it.
|
|
1004
|
+
*
|
|
999
1005
|
* @param slotKey - The slot key to fit, matched case-insensitively (journal spelling).
|
|
1000
1006
|
* @returns The fitting modules, in complete-catalogue order.
|
|
1001
1007
|
* @throws {RangeError} If the hull has no slot with that key.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{LoadoutEditError,ShipLoadout}from"../chunk-
|
|
1
|
+
export{LoadoutEditError,ShipLoadout}from"../chunk-SC4MEHVY.js"; //# sourceMappingURL=ship-loadout.js.map
|
package/dist/ships/weapons.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics}from"../chunk-
|
|
1
|
+
export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics}from"../chunk-2OBUSQA7.js"; //# sourceMappingURL=weapons.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elite-dangerous-almanac/core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"description": "Elite Dangerous static data and calculations: astronomy, ships and outfitting, personal equipment and engineering, materials, and market commodities.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -236,6 +236,14 @@
|
|
|
236
236
|
"types": "./dist/i18n/module-families.d.ts",
|
|
237
237
|
"import": "./dist/i18n/module-families.js"
|
|
238
238
|
},
|
|
239
|
+
"./i18n/personal-modifications": {
|
|
240
|
+
"types": "./dist/i18n/personal-modifications.d.ts",
|
|
241
|
+
"import": "./dist/i18n/personal-modifications.js"
|
|
242
|
+
},
|
|
243
|
+
"./i18n/personal-weapons": {
|
|
244
|
+
"types": "./dist/i18n/personal-weapons.d.ts",
|
|
245
|
+
"import": "./dist/i18n/personal-weapons.js"
|
|
246
|
+
},
|
|
239
247
|
"./i18n/pre-engineered": {
|
|
240
248
|
"types": "./dist/i18n/pre-engineered.d.ts",
|
|
241
249
|
"import": "./dist/i18n/pre-engineered.js"
|
|
@@ -244,6 +252,10 @@
|
|
|
244
252
|
"types": "./dist/i18n/slots.d.ts",
|
|
245
253
|
"import": "./dist/i18n/slots.js"
|
|
246
254
|
},
|
|
255
|
+
"./i18n/suits": {
|
|
256
|
+
"types": "./dist/i18n/suits.d.ts",
|
|
257
|
+
"import": "./dist/i18n/suits.js"
|
|
258
|
+
},
|
|
247
259
|
"./materials": {
|
|
248
260
|
"types": "./dist/materials/index.d.ts",
|
|
249
261
|
"import": "./dist/materials/index.js"
|
package/dist/chunk-4U7KYQGK.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{builtInModuleBySymbol,getModuleBySymbol}from"./chunk-NZXSIHAW.js";import{getPreEngineeredVariants}from"./chunk-BJU27V6C.js";import{ALL_MODULES}from"./chunk-ZEN5K3GE.js";import{getBlueprintGrade,getBlueprint,BLUEPRINTS}from"./chunk-AYAKU4YA.js";import{EXPERIMENTAL_EFFECTS,getExperimentalEffect}from"./chunk-77I24V6B.js";import{fieldForLabel,damageTypeForLabel,capabilityValueForLabel,baseStats,computeModifiers,labelsForDamageType,scaleForLabel}from"./chunk-A7IVMYNF.js";import{round6,burstPartOrOne,float32FiringCycle,float32RateOfFire,preciseModifierValue,BURST_PATTERN_LABELS,journalRateOfFire,preciseValueFor}from"./chunk-EFQOUATZ.js";import{resolveBlueprintForModule}from"./chunk-XSLPWM5N.js";import{getBlueprintsForModule,getExperimentalsForModule,getEngineeringGroup}from"./chunk-EHFHRQEP.js";import{normalizeKey}from"./chunk-BKWLI44T.js";import{requireStringIfPresent}from"./chunk-PKWVG2JY.js";import{deepFreeze}from"./chunk-DURKO7JU.js";function scaleDamageComponents(components,baseDamage,effectiveDamage){const scale=baseDamage!==void 0&&baseDamage!==0&&effectiveDamage!==void 0?effectiveDamage/baseDamage:1;return{...components.kinetic===void 0?{}:{kinetic:components.kinetic*scale},...components.thermal===void 0?{}:{thermal:components.thermal*scale},...components.explosive===void 0?{}:{explosive:components.explosive*scale},...components.absolute===void 0?{}:{absolute:components.absolute*scale},...components.antiXeno===void 0?{}:{antiXeno:components.antiXeno*scale},...components.unclassified===void 0?{}:{unclassified:components.unclassified.map(value=>value*scale)}}}function fixedModifierFeatures(modifiers){return modifiers.map(modifier=>({label:modifier.label,method:modifier.method,min:modifier.value,max:modifier.value}))}var FITTED_ITEM="ShipLoadout: fitted module Item";function isNonOutfittingSlot(slotKey){return/^(paintjob|shipname\d+|shipid\d+|bobble\d+|decal\d+|shipkit.+|weaponcolour|enginecolour|vesselvoice|shipcockpit|stringlights)$/i.test(slotKey)}function isCargoHatchSlot(slotKey){return slotKey.toLowerCase()==="cargohatch"}function isBuiltInHullModule(module){return isCargoHatchSlot(module.Slot)&&module.Item.toLowerCase().startsWith("modularcargobaydoor")}function cloneLoadoutModule(module){return{Slot:module.Slot,Item:module.Item,...module.On===void 0?{}:{On:module.On},...module.Priority===void 0?{}:{Priority:module.Priority},...module.Health===void 0?{}:{Health:module.Health},...module.Value===void 0?{}:{Value:module.Value},...module.Engineering===void 0?{}:{Engineering:{BlueprintName:module.Engineering.BlueprintName,Level:module.Engineering.Level,Quality:module.Engineering.Quality,...module.Engineering.ExperimentalEffect===void 0?{}:{ExperimentalEffect:module.Engineering.ExperimentalEffect},...module.Engineering.ExperimentalEffect_Localised===void 0?{}:{ExperimentalEffect_Localised:module.Engineering.ExperimentalEffect_Localised},...module.Engineering.Modifiers===void 0?{}:{Modifiers:module.Engineering.Modifiers.map(modifier=>({...modifier}))}}}}}function matchingKeyIn(keyed,slotKey){if(keyed.has(slotKey))return slotKey;const wanted=slotKey.toLowerCase();for(const key of keyed.keys()){if(key.toLowerCase()===wanted)return key}return null}function ownKeyIn(keyed,canonicalKey){return matchingKeyIn(keyed,canonicalKey)??(keyed.size>0&&[...keyed.keys()].every(key=>key===key.toLowerCase())?canonicalKey.toLowerCase():canonicalKey)}function orderBySlotLayout(values,layout,slotOf){const order=new Map(layout.map((slot,index)=>[slot.key.toLowerCase(),index]));return[...values].sort((left,right)=>(order.get(slotOf(left).toLowerCase())??Number.MAX_SAFE_INTEGER)-(order.get(slotOf(right).toLowerCase())??Number.MAX_SAFE_INTEGER))}function cloneModuleStats(module){try{return deepFreeze(structuredClone(module))}catch(error){if(!(error instanceof Error&&error.name==="DataCloneError"))throw error;return deepFreeze({...module,...module.restrictedToShips===void 0?{}:{restrictedToShips:[...module.restrictedToShips]},...module.limitIncrease===void 0?{}:{limitIncrease:{...module.limitIncrease}},...module.damageDistribution===void 0?{}:{damageDistribution:{...module.damageDistribution}},...module.damageComponents===void 0?{}:{damageComponents:{...module.damageComponents,...module.damageComponents.unclassified===void 0?{}:{unclassified:[...module.damageComponents.unclassified]}}},...module.projectileRange===void 0?{}:{projectileRange:{...module.projectileRange}}})}}var GUARDIAN_WEAPON_GROUPS=/* @__PURE__ */new Set(["guardianGauss","guardianPlasma","guardianShard"]);function missingBaseLabels(stats,base,features,experimental){const contributions=[...features,...experimental??[]];return[...new Set(contributions.map(contribution=>contribution.label).filter(label=>{if(base[label]!==void 0)return false;return fieldForLabel(label,stats)===null}))]}function recipeSignature(blueprintSymbol){const blueprint=getBlueprint(blueprintSymbol);if(!blueprint)return null;const grades=Object.entries(blueprint.grades).map(([grade,{features:features}])=>`${grade}:${features.map(feature=>`${feature.label}/${feature.method??""}`).sort().join(",")}`).sort().join(";");return`${blueprint.name.toLowerCase()}|${grades}`}var isGenericSpelling=blueprintSymbol=>blueprintSymbol.toLowerCase().startsWith("misc_");function isSoldWithBlueprint(item,wanted){return getPreEngineeredVariants(item).some(variant=>variant.acquisition==="mercenary"&&variant.blueprintSymbol.toLowerCase()===wanted)}function blueprintRoutesFor(item){const routes=/* @__PURE__ */new Map;for(const blueprintSymbol of getBlueprintsForModule(item))routes.set(blueprintSymbol,"ordinary");for(const variant of getPreEngineeredVariants(item)){if(variant.acquisition==="mercenary"&&!routes.has(variant.blueprintSymbol)){routes.set(variant.blueprintSymbol,"mercenary")}}return routes}function blueprintAvailableFor(item,blueprintSymbol){const offered=getBlueprintsForModule(item);const asWritten=normalizeKey(blueprintSymbol,"ShipLoadout.applyBlueprint: blueprintSymbol");const resolved=resolveBlueprintForModule(item,blueprintSymbol).trim();const wanted=resolved.toLowerCase();if(offered.some(id=>id.toLowerCase()===wanted))return true;if(isSoldWithBlueprint(item,wanted)||isSoldWithBlueprint(item,asWritten))return true;if(!isGenericSpelling(wanted))return false;const signature=recipeSignature(resolved);if(signature===null)return false;return offered.some(id=>recipeSignature(id)===signature&&!isGenericSpelling(id))}function experimentalAvailableFor(item,experimentalEffectSymbol){const wanted=normalizeKey(experimentalEffectSymbol,"ShipLoadout.applyBlueprint: options.experimentalEffectSymbol");return getExperimentalsForModule(item).some(id=>id.toLowerCase()===wanted)}function primitiveLabelFor(stats,label){if(label==="MaximumRange"&&stats.maximumRange!==void 0)return"Range";if(label==="DamageFalloffRange"&&stats.falloffRange!==void 0){return"FalloffRange"}if(label==="Range"&&stats.scannerRange!==void 0)return"ScannerRange";if(label==="DSS_PatchRadius")return"ProbeRadius";if(label==="FuelScoopRate")return"RefuelRate";if(label==="EnergyPerRegen"&&stats.shieldRegenRate!==void 0){return"DistributorDraw"}return label}function primitiveEngineeringInputsFor(stats,grade,experimental){const canonicalGrade={...grade,features:grade.features.map(feature=>{const label=primitiveLabelFor(stats,feature.label);return label===feature.label?feature:{...feature,label:label}})};if(!experimental)return{grade:canonicalGrade};return{grade:canonicalGrade,experimental:{...experimental,modifiers:experimental.modifiers.map(modifier=>{const label=primitiveLabelFor(stats,modifier.label);return label===modifier.label?modifier:{...modifier,label:label}})}}}function matchesCalculatedModifiers(captured,calculated){if(!captured||captured.length!==calculated.length)return false;const byLabel=new Map(captured.map(modifier=>[modifier.Label.trim().toLowerCase(),modifier]));if(byLabel.size!==captured.length)return false;return calculated.every(expected=>{const actual=byLabel.get(expected.Label.trim().toLowerCase());if(!actual)return false;if(expected.Value!==void 0){return actual.Value!==void 0&&Math.abs(actual.Value-expected.Value)<=1e-5*Math.max(1,Math.abs(expected.Value))}return actual.ValueStr===expected.ValueStr})}function identityArticles(item,engineering){if(engineering.Modifiers!==void 0||typeof engineering.BlueprintName!=="string"){return[]}const wanted=engineering.BlueprintName.trim().toLowerCase();const experimental=engineering.ExperimentalEffect?.trim().toLowerCase();return getPreEngineeredVariants(item).filter(candidate=>candidate.blueprintSymbol.trim().toLowerCase()===wanted&&candidate.grade===engineering.Level&&(candidate.experimentalEffectSymbol===void 0?experimental===void 0&&engineering.ExperimentalEffect_Localised===void 0:candidate.experimentalEffectSymbol.trim().toLowerCase()===experimental))}function unrollableFixedArticle(item,engineering){const matches=identityArticles(item,engineering).filter(candidate=>!blueprintAvailableFor(item,candidate.blueprintSymbol));return matches.length===1?matches[0]:null}function rolledOverFixedArticle(item,engineering){const matches=identityArticles(item,engineering).filter(candidate=>blueprintAvailableFor(item,candidate.blueprintSymbol));return matches.length===1?matches[0]:null}function statesInertModifiers(stats,modifiers){return modifiers.every(modifier=>{if(damageTypeForLabel(modifier.Label)!==null||capabilityValueForLabel(modifier.Label)!==null){return false}const field=fieldForLabel(modifier.Label,stats);return field===null||typeof stats[field]!=="number"})}function ordinaryEngineeringProof(item,engineering,experimental){const recipe=resolveBlueprintForModule(item,engineering.BlueprintName);const fixedCandidate=getPreEngineeredVariants(item).some(candidate=>candidate.acquisition!=="mercenary"&&candidate.blueprintSymbol.trim().toLowerCase()===recipe.trim().toLowerCase());if(!fixedCandidate)return"notFixedCandidate";const grade=getBlueprintGrade(recipe,engineering.Level);const quality=engineering.Quality;const stock=builtInModuleBySymbol(item,FITTED_ITEM);if(!stock||!grade||experimental===null||!Number.isFinite(quality)||quality<0||quality>1){return"unproven"}const current=primitiveEngineeringInputsFor(stock,grade,experimental);if(missingBaseLabels(stock,baseStats(stock),current.grade.features,current.experimental?.modifiers).length>0){return"unproven"}const calculated=journalModifiersFor(stock,computeModifiers(baseStats(stock),current.grade,quality,current.experimental));const damageDistribution=current.experimental?.damageDistribution??current.grade.damageDistribution;if(damageDistribution){for(const type of["kinetic","thermal","explosive","absolute"]){const value=damageDistribution[type];if(value===void 0)continue;const label=labelsForDamageType(type)[0];if(label===void 0)continue;calculated.push({Label:label,Value:value*scaleForLabel(label),OriginalValue:(stock.damageDistribution?.[type]??0)*scaleForLabel(label)})}}return matchesCalculatedModifiers(engineering.Modifiers,calculated)?"proven":"unproven"}function float32DamagePerSecond(damage,rounds,rate,burstRounds,cycle){if(cycle!==void 0&&(rounds!==1||burstRounds!==1)){const damagePerCycle=Math.fround(Math.fround(Math.fround(damage)*Math.fround(rounds))*Math.fround(burstRounds));return Math.fround(damagePerCycle/cycle)}return Math.fround(Math.fround(Math.fround(damage)*Math.fround(rounds))*Math.fround(rate))}var JOURNAL_MODIFIER_ORDER=["CargoCapacity","GuardianModuleResistance","Mass","Integrity","PowerDraw","BootTime","PowerCapacity","HeatEfficiency","FSDOptimalMass","MaxFuelPerJump","FSDHeatRate","EngineOptimalMass","EngineOptPerformance","EngineHeatRate","ShieldGenOptimalMass","ShieldGenStrength","DamagePerSecond","Damage","DistributorDraw","ThermalLoad","ArmourPenetration","MaximumRange","ShotSpeed","RateOfFire","DamageType","$Kinetic;","$Thermal;","$Explosive;","$Absolute;","AmmoClipSize","AmmoMaximum","ReloadTime","Jitter","DamageFalloffRange","DefenceModifierShieldMultiplier","DefenceModifierHealthMultiplier","DefenceModifierHealthAddition","DefenceModifierShieldAddition","RegenRate","BrokenRegenRate","EnergyPerRegen","KineticResistance","ThermicResistance","ExplosiveResistance","CausticResistance","DamageProtection","ModuleDefenceAbsorption","WeaponsCapacity","WeaponsRecharge","EnginesCapacity","EnginesRecharge","SystemsCapacity","SystemsRecharge","ShieldBankSpinUp","ShieldBankDuration","ShieldBankReinforcement","ShieldBankHeat","FSDInterdictorRange","FSDInterdictorFacingLimit","SensorTargetScanAngle","MaxAngle","ScannerTimeToScan","Range","DSS_PatchRadius","FuelScoopRate","FuelCapacity"];var JOURNAL_MODIFIER_RANK=new Map(JOURNAL_MODIFIER_ORDER.map((label,index)=>[label,index]));function sortJournalModifiers(modifiers){return modifiers.map((modifier,index)=>({modifier:modifier,index:index})).sort((a,b)=>(JOURNAL_MODIFIER_RANK.get(a.modifier.Label)??JOURNAL_MODIFIER_ORDER.length)-(JOURNAL_MODIFIER_RANK.get(b.modifier.Label)??JOURNAL_MODIFIER_ORDER.length)||a.index-b.index).map(({modifier:modifier})=>modifier)}function journalModifiersFor(stats,modifiers){const weapon=stats.damage!==void 0;const valueFor=(label,fallback)=>{const modifier=modifiers.find(candidate=>candidate.Label===label);return(modifier&&preciseModifierValue(modifier))??Math.fround(fallback)};const burstTouched=["BurstInterval","BurstSize","BurstRateOfFire"].some(label=>modifiers.some(modifier=>modifier.Label===label));const damageTouched=modifiers.some(modifier=>modifier.Label==="Damage");const rateTouched=burstTouched||modifiers.some(modifier=>modifier.Label==="RateOfFire");let damagePerSecond;let derivedRate;if(weapon&&(damageTouched||rateTouched)){const continuous=stats.burstInterval===void 0&&stats.rateOfFire===void 0;const baseDamage=Math.fround(stats.damage);const effectiveDamage=valueFor("Damage",stats.damage);if(continuous){damagePerSecond={Label:"DamagePerSecond",Value:round6(effectiveDamage),OriginalValue:round6(baseDamage)}}else{const burstRounds=burstPartOrOne(valueFor("BurstSize",stats.burstRounds??1));const burstRate=burstPartOrOne(valueFor("BurstRateOfFire",stats.burstRateOfFire??1));const baseBurstRounds=Math.fround(burstPartOrOne(stats.burstRounds));const baseBurstRate=Math.fround(burstPartOrOne(stats.burstRateOfFire));const baseInterval=stats.burstInterval===void 0?void 0:Math.fround(stats.burstInterval);const baseCycle=baseInterval===void 0?void 0:float32FiringCycle(baseInterval,baseBurstRounds,baseBurstRate);const baseRate=baseInterval!==void 0?float32RateOfFire(baseInterval,baseBurstRounds,baseBurstRate):stats.rateOfFire===void 0?void 0:Math.fround(stats.rateOfFire);const rateModifier=modifiers.find(modifier=>modifier.Label==="RateOfFire");const effectiveRate=rateModifier&&preciseModifierValue(rateModifier);const effectiveInterval=valueFor("BurstInterval",stats.burstInterval??0);const effectiveCycle=effectiveRate===void 0?float32FiringCycle(effectiveInterval,burstRounds,burstRate):void 0;const rate=effectiveRate??(effectiveCycle===void 0?void 0:Math.fround(Math.fround(burstRounds)/effectiveCycle));if(baseRate!==void 0&&rate!==void 0){const stockRounds=Math.fround(stats.roundsPerShot??1);const effectiveRounds=Math.fround(modifiers.find(modifier=>modifier.Label==="Rounds"||modifier.Label==="RoundsPerShot")?.Value??stockRounds);damagePerSecond={Label:"DamagePerSecond",Value:round6(float32DamagePerSecond(effectiveDamage,effectiveRounds,rate,burstRounds,effectiveCycle)),OriginalValue:round6(float32DamagePerSecond(baseDamage,stockRounds,baseRate,baseBurstRounds,baseCycle))};if(burstTouched){derivedRate={Label:"RateOfFire",Value:round6(rate),OriginalValue:round6(baseRate)}}}}}const result=[];for(const modifier of modifiers){const label=modifier.Label;if(weapon&&["BurstInterval","BurstSize","BurstRateOfFire"].includes(label))continue;if(weapon&&label==="Damage"&&stats.rateOfFire===void 0)continue;let journalLabel=label;if(label==="Range"&&stats.maximumRange!==void 0)journalLabel="MaximumRange";else if(label==="FalloffRange"&&stats.falloffRange!==void 0){journalLabel="DamageFalloffRange"}else if(label==="ScannerRange"&&stats.scannerRange!==void 0){journalLabel="Range"}else if(label==="ProbeRadius")journalLabel="DSS_PatchRadius";else if(label==="RefuelRate")journalLabel="FuelScoopRate";else if(label==="DistributorDraw"&&stats.shieldRegenRate!==void 0){journalLabel="EnergyPerRegen"}result.push(journalLabel===label?modifier:{...modifier,Label:journalLabel})}if(damagePerSecond)result.push(damagePerSecond);if(derivedRate){const direct=result.findIndex(modifier=>modifier.Label==="RateOfFire");if(direct>=0)result[direct]=derivedRate;else result.push(derivedRate)}return sortJournalModifiers(result)}function isFinalGuardianWeaponEngineering(item,blueprint){const group=getEngineeringGroup(item);if(group===null||!GUARDIAN_WEAPON_GROUPS.has(group))return false;const resolved=resolveBlueprintForModule(item,blueprint);return getBlueprint(resolved)!==null&&!blueprintAvailableFor(item,blueprint)}function engineerableBase(item,statsOverride){const stats=statsOverride??builtInModuleBySymbol(item,FITTED_ITEM);if(!stats||stats.engineeringLocked)return null;return{stats:stats,base:baseStats(stats)}}function availableBlueprintsFor(item,statsOverride){const engineerable=engineerableBase(item,statsOverride);if(!engineerable)return[];const{stats:stats,base:base}=engineerable;const available=[];for(const[blueprintSymbol,route]of blueprintRoutesFor(item)){const blueprint=BLUEPRINTS[blueprintSymbol];if(!blueprint)continue;const grades=Object.entries(blueprint.grades).filter(([,grade])=>missingBaseLabels(stats,base,grade.features).length===0).map(([grade])=>Number(grade)).filter(Number.isFinite).sort((a,b)=>a-b);if(grades.length>0)available.push({blueprintSymbol:blueprintSymbol,grades:grades,route:route})}return available}function availableExperimentalsFor(item,statsOverride){const engineerable=engineerableBase(item,statsOverride);if(!engineerable)return[];const{stats:stats,base:base}=engineerable;return getExperimentalsForModule(item).filter(experimentalEffectSymbol=>{const effect=EXPERIMENTAL_EFFECTS[experimentalEffectSymbol];return effect!==void 0&&missingBaseLabels(stats,base,effect.modifiers).length===0})}var MAX_ENGINEERING_GRADE=5;function modifiersWithExperimental(variant,experimental){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);const effectName=experimental===void 0?variant.experimentalEffectSymbol:experimental;if(!module||!variant.modifiers?.length&&effectName==null)return null;const effect=effectName==null?void 0:getExperimentalEffect(effectName);if(effectName!==null&&effectName!==void 0&&!effect)return null;return computeModifiers(baseStats(module),fixedModifierFeatures(variant.modifiers??[]),1,effect??void 0)}function getPreEngineeredModifiers(variant){return modifiersWithExperimental(variant)??[]}function journalModifiersWithExperimental(variant,experimental){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);if(!module)return[];const modifiers=journalModifiersFor(module,modifiersWithExperimental(variant,experimental)??[]);const effectName=experimental===void 0?variant.experimentalEffectSymbol:experimental;const damageDistribution=effectName?getExperimentalEffect(effectName)?.damageDistribution:void 0;if(!damageDistribution)return modifiers;for(const type of["kinetic","thermal","explosive","absolute"]){const value=damageDistribution[type];const label=labelsForDamageType(type)[0];if(value===void 0||label===void 0)continue;modifiers.push({Label:label,Value:value*scaleForLabel(label),OriginalValue:(module.damageDistribution?.[type]??0)*scaleForLabel(label)})}return modifiers}function getPreEngineeredJournalModifiers(variant){return journalModifiersWithExperimental(variant)}function sameJournalNumber(actual,expected,base){return Math.abs(actual-expected)<=Math.max(1e-5,Math.abs(base)*1e-4,Math.abs(expected)*1e-6)}function modifierKey(modifier,module){return fieldForLabel(modifier.Label,module)??`label:${normalizeKey(modifier.Label,"identifyPreEngineeredVariant: module.Engineering.Modifiers[].Label")}`}function sameModifier(actual,expected){if(expected.Value!==void 0){return actual.Value!==void 0&&sameJournalNumber(actual.Value,expected.Value,expected.OriginalValue??expected.Value)}return expected.ValueStr!==void 0&&actual.ValueStr!==void 0}function matchesModifierSignature(actualByKey,expected,module){let matched=0;for(const predicted of expected){const actual=actualByKey.get(modifierKey(predicted,module));if(!actual)continue;if(!sameModifier(actual,predicted))return false;matched++}return matched>=Math.max(1,expected.length-1)}function identifyPreEngineeredVariant(module){const engineering=module.Engineering;if(!engineering)return null;requireStringIfPresent(module.Item,"identifyPreEngineeredVariant: module.Item");const stock=getModuleBySymbol(module.Item,ALL_MODULES);if(!stock)return null;const capturedBlueprint=normalizeKey(engineering.BlueprintName,"identifyPreEngineeredVariant: module.Engineering.BlueprintName");const variants=getPreEngineeredVariants(module.Item);const blueprintMatches=variants.filter(candidate=>candidate.blueprintSymbol.toLowerCase()===capturedBlueprint);const blueprintMatch=blueprintMatches.length===1?blueprintMatches[0]:null;const capturedGrade=engineering.Level;if(blueprintMatch?.acquisition==="mercenary"&&Number.isInteger(capturedGrade)&&capturedGrade>=blueprintMatch.grade&&capturedGrade<=MAX_ENGINEERING_GRADE){return blueprintMatch}if(engineering.Modifiers===void 0){const capturedExperimental=normalizeKey(engineering.ExperimentalEffect,"identifyPreEngineeredVariant: module.Engineering.ExperimentalEffect");const identityMatches=blueprintMatches.filter(candidate=>candidate.engineeringLocked===true&&candidate.grade===capturedGrade&&(candidate.experimentalEffectSymbol===void 0?capturedExperimental===void 0&&engineering.ExperimentalEffect_Localised===void 0:candidate.experimentalEffectSymbol.toLowerCase()===capturedExperimental));return identityMatches.length===1?identityMatches[0]:null}if(!engineering.Modifiers?.length)return null;const actualByKey=/* @__PURE__ */new Map;for(const modifier of engineering.Modifiers){actualByKey.set(modifierKey(modifier,stock),modifier)}requireStringIfPresent(engineering.ExperimentalEffect,"identifyPreEngineeredVariant: module.Engineering.ExperimentalEffect");const matches=[];for(const candidate of variants){if(!candidate.modifiers?.length)continue;if(candidate.grade!==engineering.Level)continue;if(candidate.acquisition==="eventReward"&&(engineering.ExperimentalEffect!==void 0||engineering.ExperimentalEffect_Localised!==void 0||capturedBlueprint!==candidate.blueprintSymbol.toLowerCase())){continue}const primitive=modifiersWithExperimental(candidate,engineering.ExperimentalEffect??null);if(!primitive?.length)continue;const matched=matchesModifierSignature(actualByKey,primitive,stock)||matchesModifierSignature(actualByKey,journalModifiersWithExperimental(candidate,engineering.ExperimentalEffect??null),stock);if(matched)matches.push(candidate)}return matches.length===1?matches[0]:null}function unresolvedModifiers(variant){const resolved=new Set(getPreEngineeredModifiers(variant).map(modifier=>modifier.Label));return(variant.modifiers??[]).map(modifier=>modifier.label).filter(label=>!resolved.has(label))}function getPreEngineeredStats(variant){const module=getModuleBySymbol(variant.symbol,ALL_MODULES);if(!module)return null;if(!variant.modifiers?.length&&!variant.engineeringLocked&&variant.experimentalEffectSymbol===void 0)return{...module};const applied=getPreEngineeredModifiers(variant);const resolved={...module,...variant.engineeringLocked?{engineeringLocked:true}:{}};for(const{Label:Label,Value:Value,ValueStr:ValueStr}of applied){const field=fieldForLabel(Label,module);if(field&&field!=="damageDistribution"&&Value!==void 0){Object.assign(resolved,{[field]:Value/scaleForLabel(Label)})}else if(field&&ValueStr!==void 0&&capabilityValueForLabel(Label)!==null){Object.assign(resolved,{[field]:true})}}const experimentalDamageDistribution=variant.experimentalEffectSymbol?getExperimentalEffect(variant.experimentalEffectSymbol)?.damageDistribution:void 0;if(experimentalDamageDistribution){resolved.damageDistribution={...experimentalDamageDistribution};delete resolved.damageComponents}if(resolved.rateOfFire!==void 0&&!applied.some(m=>m.Label==="RateOfFire")&&applied.some(m=>BURST_PATTERN_LABELS.some(label=>label===m.Label))){const rate=journalRateOfFire(preciseValueFor(applied,"BurstInterval")??resolved.burstInterval,preciseValueFor(applied,"BurstSize")??resolved.burstRounds,preciseValueFor(applied,"BurstRateOfFire")??resolved.burstRateOfFire);if(rate!==void 0)resolved.rateOfFire=rate}if(module.damageComponents&&!experimentalDamageDistribution){resolved.damageComponents=scaleDamageComponents(module.damageComponents,module.damage,resolved.damage)}return resolved}export{FITTED_ITEM,availableBlueprintsFor,availableExperimentalsFor,blueprintAvailableFor,blueprintRoutesFor,cloneLoadoutModule,cloneModuleStats,experimentalAvailableFor,getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,isBuiltInHullModule,isCargoHatchSlot,isFinalGuardianWeaponEngineering,isNonOutfittingSlot,journalModifiersFor,matchingKeyIn,missingBaseLabels,orderBySlotLayout,ordinaryEngineeringProof,ownKeyIn,primitiveEngineeringInputsFor,rolledOverFixedArticle,scaleDamageComponents,statesInertModifiers,unresolvedModifiers,unrollableFixedArticle};//# sourceMappingURL=chunk-4U7KYQGK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ships/internal/damage-components.ts","../src/ships/internal/fixed-modifier-features.ts","../src/ships/internal/loadout-state.ts","../src/ships/internal/loadout-engineering.ts","../src/ships/pre-engineered-stats.ts"],"names":["builtInModuleBySymbol","getModuleBySymbol","getPreEngineeredVariants","ALL_MODULES","getBlueprintGrade","getBlueprint","BLUEPRINTS","EXPERIMENTAL_EFFECTS","getExperimentalEffect","fieldForLabel","damageTypeForLabel","capabilityValueForLabel","baseStats","computeModifiers","labelsForDamageType","scaleForLabel","round6","burstPartOrOne","float32FiringCycle","float32RateOfFire","preciseModifierValue","BURST_PATTERN_LABELS","journalRateOfFire","preciseValueFor","resolveBlueprintForModule","getBlueprintsForModule","getExperimentalsForModule","getEngineeringGroup","normalizeKey","requireStringIfPresent","deepFreeze","scaleDamageComponents","components","baseDamage","effectiveDamage","scale","kinetic","thermal","explosive","absolute","antiXeno","unclassified","map","value","fixedModifierFeatures","modifiers","modifier","label","method","min","max","FITTED_ITEM","isNonOutfittingSlot","slotKey","test","isCargoHatchSlot","toLowerCase","isBuiltInHullModule","module","Slot","Item","startsWith","cloneLoadoutModule","On","Priority","Health","Value","Engineering","BlueprintName","Level","Quality","ExperimentalEffect","ExperimentalEffect_Localised","Modifiers","matchingKeyIn","keyed","has","wanted","key","keys","ownKeyIn","canonicalKey","size","every","orderBySlotLayout","values","layout","slotOf","order","Map","slot","index","sort","left","right","get","Number","MAX_SAFE_INTEGER","cloneModuleStats","structuredClone","error","Error","name","restrictedToShips","limitIncrease","damageDistribution","damageComponents","projectileRange","GUARDIAN_WEAPON_GROUPS","Set","missingBaseLabels","stats","base","features","experimental","contributions","contribution","filter","recipeSignature","blueprintSymbol","blueprint","grades","Object","entries","grade","feature","join","isGenericSpelling","isSoldWithBlueprint","item","some","variant","acquisition","blueprintRoutesFor","routes","set","blueprintAvailableFor","offered","asWritten","resolved","trim","id","signature","experimentalAvailableFor","experimentalEffectSymbol","primitiveLabelFor","maximumRange","falloffRange","scannerRange","shieldRegenRate","primitiveEngineeringInputsFor","canonicalGrade","matchesCalculatedModifiers","captured","calculated","length","byLabel","Label","expected","actual","Math","abs","ValueStr","identityArticles","engineering","candidate","unrollableFixedArticle","matches","rolledOverFixedArticle","statesInertModifiers","field","ordinaryEngineeringProof","recipe","fixedCandidate","quality","stock","isFinite","current","journalModifiersFor","type","push","OriginalValue","float32DamagePerSecond","damage","rounds","rate","burstRounds","cycle","damagePerCycle","fround","JOURNAL_MODIFIER_ORDER","JOURNAL_MODIFIER_RANK","sortJournalModifiers","a","b","weapon","valueFor","fallback","find","burstTouched","damageTouched","rateTouched","damagePerSecond","derivedRate","continuous","burstInterval","rateOfFire","burstRate","burstRateOfFire","baseBurstRounds","baseBurstRate","baseInterval","baseCycle","baseRate","rateModifier","effectiveRate","effectiveInterval","effectiveCycle","stockRounds","roundsPerShot","effectiveRounds","result","includes","journalLabel","direct","findIndex","isFinalGuardianWeaponEngineering","group","engineerableBase","statsOverride","engineeringLocked","availableBlueprintsFor","engineerable","available","route","availableExperimentalsFor","effect","MAX_ENGINEERING_GRADE","modifiersWithExperimental","symbol","effectName","getPreEngineeredModifiers","journalModifiersWithExperimental","getPreEngineeredJournalModifiers","sameJournalNumber","modifierKey","sameModifier","matchesModifierSignature","actualByKey","matched","predicted","identifyPreEngineeredVariant","capturedBlueprint","variants","blueprintMatches","blueprintMatch","capturedGrade","isInteger","capturedExperimental","identityMatches","primitive","unresolvedModifiers","getPreEngineeredStats","applied","assign","experimentalDamageDistribution","m"],"mappings":"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"}
|
package/dist/chunk-6GJHUWMO.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{assertEquipmentGrade}from"./chunk-2W5MW376.js";import{findInKeyIndex,createKeyIndex}from"./chunk-BKWLI44T.js";import{deepFreeze}from"./chunk-DURKO7JU.js";var weapons_default=[{symbol:"wpn_s_pistol_kinetic_sauto",name:"Karma P-15",upgradeGroup:"karma",class:"pistol",slot:"secondary",damageType:"kinetic",fireMode:"semi-automatic",rateOfFire:10,magazineSize:24,reserveAmmo:120,headshotMultiplier:2,effectiveRange:25,grades:{1:{damage:1.4,modificationSlots:0},2:{damage:1.8,modificationSlots:1},3:{damage:2.4,modificationSlots:2},4:{damage:3.8,modificationSlots:3},5:{damage:4.1,modificationSlots:4}},engineeringType:"kinetic"},{symbol:"wpn_m_assaultrifle_kinetic_fauto",name:"Karma AR-50",upgradeGroup:"karma",class:"rifle",slot:"primary",damageType:"kinetic",fireMode:"automatic",rateOfFire:9.5,magazineSize:50,reserveAmmo:200,headshotMultiplier:2,effectiveRange:50,grades:{1:{damage:1,modificationSlots:0},2:{damage:1.2,modificationSlots:1},3:{damage:1.6,modificationSlots:2},4:{damage:2.2,modificationSlots:3},5:{damage:2.8,modificationSlots:4}},engineeringType:"kinetic"},{symbol:"wpn_m_submachinegun_kinetic_fauto",name:"Karma C-44",upgradeGroup:"karma",class:"carbine",slot:"primary",damageType:"kinetic",fireMode:"automatic",rateOfFire:13.3,magazineSize:45,reserveAmmo:360,headshotMultiplier:2,effectiveRange:25,grades:{1:{damage:.6,modificationSlots:0},2:{damage:.9,modificationSlots:1},3:{damage:1.1,modificationSlots:2},4:{damage:1.5,modificationSlots:3},5:{damage:1.9,modificationSlots:4}},engineeringType:"kinetic"},{symbol:"wpn_m_launcher_rocket_sauto",name:"Karma L-6",upgradeGroup:"karma",class:"launcher",slot:"primary",damageType:"explosive",fireMode:"automatic",rateOfFire:1,magazineSize:2,reserveAmmo:8,headshotMultiplier:1,effectiveRange:300,grades:{1:{damage:40,modificationSlots:0},2:{damage:52.4,modificationSlots:1},3:{damage:69.2,modificationSlots:2},4:{damage:90,modificationSlots:3},5:{damage:119.2,modificationSlots:4}},engineeringType:"kinetic"},{symbol:"wpn_m_assaultrifle_laser_fauto",name:"TK Aphelion",upgradeGroup:"takada",class:"rifle",slot:"primary",damageType:"thermal",fireMode:"automatic",rateOfFire:5.7,magazineSize:25,reserveAmmo:150,headshotMultiplier:1,effectiveRange:70,grades:{1:{damage:1.6,modificationSlots:0},2:{damage:2.1,modificationSlots:1},3:{damage:2.7,modificationSlots:2},4:{damage:3.6,modificationSlots:3},5:{damage:4.7,modificationSlots:4}},engineeringType:"laser"},{symbol:"wpn_m_submachinegun_laser_fauto",name:"TK Eclipse",upgradeGroup:"takada",class:"carbine",slot:"primary",damageType:"thermal",fireMode:"automatic",rateOfFire:10,magazineSize:45,reserveAmmo:280,headshotMultiplier:1,effectiveRange:25,grades:{1:{damage:.9,modificationSlots:0},2:{damage:1.1,modificationSlots:1},3:{damage:1.5,modificationSlots:2},4:{damage:1.9,modificationSlots:3},5:{damage:2.5,modificationSlots:4}},engineeringType:"laser"},{symbol:"wpn_s_pistol_laser_sauto",name:"TK Zenith",upgradeGroup:"takada",class:"pistol",slot:"secondary",damageType:"thermal",fireMode:"burst",rateOfFire:5.7,magazineSize:18,reserveAmmo:90,headshotMultiplier:1,effectiveRange:35,grades:{1:{damage:1.7,modificationSlots:0},2:{damage:2.2,modificationSlots:1},3:{damage:2.9,modificationSlots:2},4:{damage:3.8,modificationSlots:3},5:{damage:5,modificationSlots:4}},engineeringType:"laser"},{symbol:"wpn_m_sniper_plasma_charged",name:"Manticore Executioner",upgradeGroup:"manticore",class:"sniper",slot:"primary",damageType:"plasma",fireMode:"semi-automatic",rateOfFire:.8,magazineSize:3,reserveAmmo:30,headshotMultiplier:3,effectiveRange:100,grades:{1:{damage:15,modificationSlots:0},2:{damage:19.6,modificationSlots:1},3:{damage:26,modificationSlots:2},4:{damage:34,modificationSlots:3},5:{damage:44.7,modificationSlots:4}},engineeringType:"plasma"},{symbol:"wpn_s_pistol_plasma_charged",name:"Manticore Tormentor",upgradeGroup:"manticore",class:"pistol",slot:"secondary",damageType:"plasma",fireMode:"semi-automatic",rateOfFire:1.7,magazineSize:6,reserveAmmo:72,headshotMultiplier:2,effectiveRange:15,grades:{1:{damage:7.5,modificationSlots:0},2:{damage:9.8,modificationSlots:1},3:{damage:13,modificationSlots:2},4:{damage:17,modificationSlots:3},5:{damage:22.4,modificationSlots:4}},engineeringType:"plasma"},{symbol:"wpn_m_shotgun_plasma_doublebarrel",name:"Manticore Intimidator",upgradeGroup:"manticore",class:"shotgun",slot:"primary",damageType:"plasma",fireMode:"semi-automatic",rateOfFire:1.3,magazineSize:2,reserveAmmo:24,headshotMultiplier:1.5,effectiveRange:7,grades:{1:{damage:1.8,modificationSlots:0},2:{damage:2.3,modificationSlots:1},3:{damage:3,modificationSlots:2},4:{damage:4,modificationSlots:3},5:{damage:5.2,modificationSlots:4}},engineeringType:"plasma"},{symbol:"wpn_m_assaultrifle_plasma_fauto",name:"Manticore Oppressor",upgradeGroup:"manticore",class:"rifle",slot:"primary",damageType:"plasma",fireMode:"automatic",rateOfFire:6.7,magazineSize:50,reserveAmmo:300,headshotMultiplier:1.5,effectiveRange:35,grades:{1:{damage:1.1,modificationSlots:0},2:{damage:1.4,modificationSlots:1},3:{damage:1.9,modificationSlots:2},4:{damage:2.5,modificationSlots:3},5:{damage:3.275,modificationSlots:4}},engineeringType:"plasma"}];var PERSONAL_WEAPONS=deepFreeze(weapons_default);var BY_SYMBOL=/* @__PURE__ */createKeyIndex(PERSONAL_WEAPONS,"symbol");var BY_NAME=/* @__PURE__ */createKeyIndex(PERSONAL_WEAPONS,"name");function getPersonalWeaponBySymbol(symbol){return findInKeyIndex(BY_SYMBOL,symbol,"getPersonalWeaponBySymbol: symbol")}function getPersonalWeaponByName(name){return findInKeyIndex(BY_NAME,name,"getPersonalWeaponByName: name")}function getPersonalWeaponGrade(weapon,grade){assertEquipmentGrade(grade,"getPersonalWeaponGrade");return weapon.grades[String(grade)]??null}export{PERSONAL_WEAPONS,getPersonalWeaponByName,getPersonalWeaponBySymbol,getPersonalWeaponGrade};//# sourceMappingURL=chunk-6GJHUWMO.js.map
|
package/dist/chunk-B7EYTZRK.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{assertEquipmentGrade}from"./chunk-2W5MW376.js";import{findInKeyIndex,normalizeKey,createKeyIndex}from"./chunk-BKWLI44T.js";import{deepFreeze}from"./chunk-DURKO7JU.js";var suits_default=[{family:"utilitysuit",name:"Maverick Suit",primarySlots:1,secondarySlots:1,grades:{1:{symbol:"utilitysuit_class1",modificationSlots:0,shieldStrength:13.5,shieldRegeneration:.99,kineticResistance:-.6,thermalResistance:.5,plasmaResistance:-.1,explosiveResistance:0},2:{symbol:"utilitysuit_class2",modificationSlots:1,shieldStrength:16.5,shieldRegeneration:1.21,kineticResistance:-.34,thermalResistance:.58,plasmaResistance:.07,explosiveResistance:.16},3:{symbol:"utilitysuit_class3",modificationSlots:2,shieldStrength:20.3,shieldRegeneration:1.49,kineticResistance:-.13,thermalResistance:.64,plasmaResistance:.22,explosiveResistance:.29},4:{symbol:"utilitysuit_class4",modificationSlots:3,shieldStrength:24.9,shieldRegeneration:1.82,kineticResistance:.06,thermalResistance:.7,plasmaResistance:.35,explosiveResistance:.41},5:{symbol:"utilitysuit_class5",modificationSlots:4,shieldStrength:30.4,shieldRegeneration:2.23,kineticResistance:.19,thermalResistance:.75,plasmaResistance:.45,explosiveResistance:.5}}},{family:"tacticalsuit",name:"Dominator Suit",primarySlots:2,secondarySlots:1,grades:{1:{symbol:"tacticalsuit_class1",modificationSlots:0,shieldStrength:15,shieldRegeneration:1.1,kineticResistance:-.5,thermalResistance:.6,plasmaResistance:0,explosiveResistance:0},2:{symbol:"tacticalsuit_class2",modificationSlots:1,shieldStrength:18.3,shieldRegeneration:1.34,kineticResistance:-.26,thermalResistance:.66,plasmaResistance:.16,explosiveResistance:.16},3:{symbol:"tacticalsuit_class3",modificationSlots:2,shieldStrength:22.5,shieldRegeneration:1.65,kineticResistance:-.07,thermalResistance:.72,plasmaResistance:.29,explosiveResistance:.29},4:{symbol:"tacticalsuit_class4",modificationSlots:3,shieldStrength:27.6,shieldRegeneration:2.02,kineticResistance:.19,thermalResistance:.78,plasmaResistance:.46,explosiveResistance:.46},5:{symbol:"tacticalsuit_class5",modificationSlots:4,shieldStrength:33.8,shieldRegeneration:2.48,kineticResistance:.25,thermalResistance:.8,plasmaResistance:.5,explosiveResistance:.5}}},{family:"explorationsuit",name:"Artemis Suit",primarySlots:1,secondarySlots:1,grades:{1:{symbol:"explorationsuit_class1",modificationSlots:0,shieldStrength:12,shieldRegeneration:.88,kineticResistance:-.7,thermalResistance:.39,plasmaResistance:-.2,explosiveResistance:0},2:{symbol:"explorationsuit_class2",modificationSlots:1,shieldStrength:14.7,shieldRegeneration:1.07,kineticResistance:-.42,thermalResistance:.5,plasmaResistance:0,explosiveResistance:.16},3:{symbol:"explorationsuit_class3",modificationSlots:2,shieldStrength:18,shieldRegeneration:1.32,kineticResistance:-.21,thermalResistance:.57,plasmaResistance:.14,explosiveResistance:.29},4:{symbol:"explorationsuit_class4",modificationSlots:3,shieldStrength:22.1,shieldRegeneration:1.62,kineticResistance:0,thermalResistance:.65,plasmaResistance:.29,explosiveResistance:.41},5:{symbol:"explorationsuit_class5",modificationSlots:4,shieldStrength:27,shieldRegeneration:1.98,kineticResistance:.14,thermalResistance:.7,plasmaResistance:.39,explosiveResistance:.5}}},{family:"flightsuit",name:"Flight Suit",primarySlots:0,secondarySlots:1,grades:{1:{symbol:"flightsuit",modificationSlots:0,shieldStrength:7.5,shieldRegeneration:.55,kineticResistance:-.7,thermalResistance:.39,plasmaResistance:-.2,explosiveResistance:0}}}];var SUITS=deepFreeze(suits_default);var BY_FAMILY=/* @__PURE__ */createKeyIndex(SUITS,"family");var BY_NAME=/* @__PURE__ */createKeyIndex(SUITS,"name");var BY_SYMBOL=/* @__PURE__ */Object.freeze(Object.fromEntries(SUITS.flatMap(suit=>Object.entries(suit.grades).map(([grade,stats])=>[stats.symbol.toLowerCase(),Object.freeze({suit:suit,grade:Number(grade)})]))));function getSuitByFamily(family){return findInKeyIndex(BY_FAMILY,family,"getSuitByFamily: family")}function getSuitByName(name){return findInKeyIndex(BY_NAME,name,"getSuitByName: name")}function getSuitBySymbol(symbol){const key=normalizeKey(symbol,"getSuitBySymbol: symbol");return Object.hasOwn(BY_SYMBOL,key)?BY_SYMBOL[key]:null}function getSuitGrade(suit,grade){assertEquipmentGrade(grade,"getSuitGrade");return suit.grades[String(grade)]??null}export{SUITS,getSuitByFamily,getSuitByName,getSuitBySymbol,getSuitGrade};//# sourceMappingURL=chunk-B7EYTZRK.js.map
|
package/dist/chunk-C5HG4GJI.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function sumPersonalEngineeringIngredients(...recipes){const totals=/* @__PURE__ */new Map;for(const ingredient of recipes.flat()){const key=ingredient.symbol.toLowerCase();const previous=totals.get(key);totals.set(key,{symbol:previous?.symbol??ingredient.symbol,count:(previous?.count??0)+ingredient.count})}return[...totals.values()]}export{sumPersonalEngineeringIngredients};//# sourceMappingURL=chunk-C5HG4GJI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/equipment/engineering.ts"],"names":["sumPersonalEngineeringIngredients","recipes","totals","Map","ingredient","flat","key","symbol","toLowerCase","previous","get","set","count","values"],"mappings":"AA4BO,SAASA,qCACTC,SAEH,MAAMC,sBAAA,IAAaC,IACnB,IAAA,MAAWC,cAAcH,QAAQI,OAAQ,CACrC,MAAMC,IAAMF,WAAWG,OAAOC,cAC9B,MAAMC,SAAWP,OAAOQ,IAAIJ,KAC5BJ,OAAOS,IAAIL,IAAK,CACZC,OAAQE,UAAUF,QAAUH,WAAWG,OACvCK,OAAQH,UAAUG,OAAS,GAAKR,WAAWQ,OAEnD,CACA,MAAO,IAAIV,OAAOW,SACtB,QAAAb"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ships/build-metrics.ts"],"names":["loadoutInternals","fittedThrusterParamsFor","preEngineeredVariantFor","powerConsumerFor","powerAvailable","heatInputResultFor","completeResult","cellBankInputsFor","armourInputFor","weaponStatsFor","weaponsCapacitorInputFor","mobilityInputResultFor","shieldInputResultFor","shieldCapacitorInputResultFor","shieldRecoveryInputResultFor","distributorInputResultFor","incompleteResult","weaponsCapacitorMetrics","weaponMetrics","sumWeaponMetrics","powerBudget","isNonOutfittingSlot","isBuiltInHullModule","orderBySlotLayout","shieldCapacitorMetrics","cellBankSummary","shieldRecovery","shieldMetrics","heatMetrics","frameShiftDriveMassFactor","singleJumpRange","fuelPerJump","totalRange","calculateUnladenMass","mobilityCapacitorMetrics","mobilityMetrics","distributorMetrics","getExperimentalEffectCost","ammunitionCapacity","armourMetrics","requirePips","requireFiniteNonNegative","getBlueprintCost","sumMaterials","deepFreeze","FACADE","requireLoadOptions","scope","options","field","value","BuildMetrics","_BuildMetrics","build","state","constructor","this","of","loadout","frameShiftDrive","drive","resolveDrive","TypeError","thrusters","modules","statsFor","loadedMass","cargo","fuel","fuelCapacity","main","maxJumpRange","fsd","maxJumpFuel","jumpRange","ladenJumpRange","cargoCapacity","distance","standardLoadResult","load","standardLoad","jumpRangeSummary","maximum","require","unladen","laden","max","totalMax","totalUnladen","totalLaden","buildMass","unladenMass","Object","freeze","hull","ship","hullMass","calculationModules","total","buildCost","hullCost","mercCoins","unpriced","materials","module","stats","cost","Slot","push","slot","symbol","Item","variant","mercCoinCost","engineering","Engineering","grade","Level","bought","Number","isInteger","climb","BlueprintName","experimental","ExperimentalEffect","toLowerCase","experimentalEffectSymbol","credits","rebuy","Math","trunc","consumers","consumer","heatMetricsResult","input","effectiveModules","complete","mobilityMetricsResult","mobility","mobilityCapacitorMetricsResult","mobilityCapacitor","shieldMetricsResult","shields","shieldCapacitorMetricsResult","shieldCapacitor","shieldRecoveryResult","recovery","cellBanks","layout","bank","weapons","record","effectiveModule","name","enabled","On","metrics","ammunition","maximumRange","falloffRange","projectileRange","armourPiercing","orderedWeapons","weapon","filter","map","weaponsPips","distributorMetricsResult","distributor","mobilityInput","enginesPips","statedMainFuel","systemsPips","pips","RangeError","mass","maximumFuel","fitted","frameShiftDriveModule","driveError","maxFuel","error","Error","reason","message","params","carriedFuel","min","isFinite","driveParams","result","what","issues","issue","join"],"mappings":"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"}
|
package/dist/chunk-KLC5XT6F.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{CONSUMABLE_MICRO_RESOURCES}from"./chunk-K7L7SMIR.js";import{DATA_MICRO_RESOURCES}from"./chunk-GVLDFJEY.js";import{ITEM_MICRO_RESOURCES}from"./chunk-WHWFKHV3.js";import{COMPONENT_MICRO_RESOURCES}from"./chunk-HTB52N6S.js";var ALL_MICRO_RESOURCES=Object.freeze([...COMPONENT_MICRO_RESOURCES,...CONSUMABLE_MICRO_RESOURCES,...DATA_MICRO_RESOURCES,...ITEM_MICRO_RESOURCES]);export{ALL_MICRO_RESOURCES};//# sourceMappingURL=chunk-KLC5XT6F.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/materials/micro-resources-all.ts"],"names":["CONSUMABLE_MICRO_RESOURCES","DATA_MICRO_RESOURCES","ITEM_MICRO_RESOURCES","COMPONENT_MICRO_RESOURCES","ALL_MICRO_RESOURCES","Object","freeze"],"mappings":"O,4NA6BO,IAAMI,oBAAgDC,OAAOC,OAAO,IACpEH,6BACAH,8BACAC,wBACAC,8BACNE"}
|
package/dist/chunk-MGRDB2BZ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{findByRawKey}from"./chunk-BKWLI44T.js";import{deepFreeze}from"./chunk-DURKO7JU.js";var modifications_default={suit_increasedmeleedamage:{name:"Added Melee Damage",target:"suit",engineers:["Jude Navarro","Kit Fowler","Eleanor Bresa"]},suit_adsmovementspeed:{name:"Combat Movement Speed",target:"suit",engineers:["Terra Velasquez","Yarden Bond","Baltanos"]},suit_improvedarmourrating:{name:"Damage Resistance",target:"suit",engineers:["Jude Navarro","Uma Laszlo","Eleanor Bresa"]},suit_improvedradar:{name:"Enhanced Tracking",target:"suit",engineers:["Domino Green","Oden Geiger","Rosa Dayette"]},suit_increasedammoreserves:{name:"Extra Ammo Capacity",target:"suit",engineers:["Jude Navarro","Kit Fowler","Eleanor Bresa"]},suit_backpackcapacity:{name:"Extra Backpack Capacity",target:"suit",engineers:["Domino Green","Wellington Beck","Rosa Dayette"]},suit_increasedshieldregen:{name:"Faster Shield Regeneration",target:"suit",engineers:["Kit Fowler","Uma Laszlo","Eleanor Bresa"]},suit_increasedbatterycapacity:{name:"Improved Battery Capacity",target:"suit",engineers:["Oden Geiger","Wellington Beck","Rosa Dayette"]},suit_improvedjumpassist:{name:"Improved Jump Assist",target:"suit",engineers:["Hero Ferrari","Yarden Bond","Baltanos"]},suit_increasedo2capacity:{name:"Increased Air Reserves",target:"suit",engineers:["Hero Ferrari","Terra Velasquez","Baltanos"]},suit_increasedsprintduration:{name:"Increased Sprint Duration",target:"suit",engineers:["Hero Ferrari","Terra Velasquez","Baltanos"]},suit_nightvision:{name:"Night Vision",target:"suit",engineers:["Oden Geiger","Yi Shen"]},suit_quieterfootsteps:{name:"Quieter Footsteps",target:"suit",engineers:["Yarden Bond","Yi Shen"]},suit_reducedtoolbatteryconsumption:{name:"Reduced Tool Battery Consumption",target:"suit",engineers:["Domino Green","Wellington Beck","Rosa Dayette"]},weapon_suppression_unpressurised:{name:"Audio Masking",target:"weapon",engineers:["Yarden Bond","Yi Shen"]},weapon_handling:{name:"Faster Handling",target:"weapon",engineers:["Hero Ferrari","Yarden Bond","Baltanos"]},weapon_range_kinetic:{name:"Greater Range",target:"weapon",engineers:["Domino Green","Wellington Beck","Rosa Dayette"]},weapon_range_laser:{name:"Greater Range",target:"weapon",engineers:["Domino Green","Wellington Beck","Rosa Dayette"]},weapon_range_plasma:{name:"Greater Range",target:"weapon",engineers:["Domino Green","Wellington Beck","Rosa Dayette"]},weapon_headshotdamage_kinetic:{name:"Headshot Damage",target:"weapon",engineers:["Uma Laszlo","Yi Shen"]},weapon_headshotdamage_laser:{name:"Headshot Damage",target:"weapon",engineers:["Uma Laszlo","Yi Shen"]},weapon_headshotdamage_plasma:{name:"Headshot Damage",target:"weapon",engineers:["Uma Laszlo","Yi Shen"]},weapon_accuracy_kinetic:{name:"Higher Accuracy",target:"weapon",engineers:["Yarden Bond","Terra Velasquez","Baltanos"]},weapon_accuracy_laser:{name:"Higher Accuracy",target:"weapon",engineers:["Yarden Bond","Terra Velasquez","Baltanos"]},weapon_accuracy_plasma:{name:"Higher Accuracy",target:"weapon",engineers:["Yarden Bond","Terra Velasquez","Baltanos"]},weapon_clipsize:{name:"Magazine Size",target:"weapon",engineers:["Jude Navarro","Kit Fowler","Eleanor Bresa"]},weapon_suppression_pressurised:{name:"Noise Suppressor",target:"weapon",engineers:["Hero Ferrari","Terra Velasquez","Baltanos"]},weapon_reloadspeed:{name:"Reload Speed",target:"weapon",engineers:["Jude Navarro","Uma Laszlo","Eleanor Bresa"]},weapon_scope:{name:"Scope",target:"weapon",engineers:["Oden Geiger","Wellington Beck","Rosa Dayette"]},weapon_stability:{name:"Stability",target:"weapon",engineers:["Domino Green","Oden Geiger","Rosa Dayette"]},weapon_backpackreloading:{name:"Stowed Reloading",target:"weapon",engineers:["Kit Fowler","Uma Laszlo","Eleanor Bresa"]}};var PERSONAL_MODIFICATIONS=deepFreeze(modifications_default);function getPersonalModification(symbol){return findByRawKey(PERSONAL_MODIFICATIONS,symbol,"getPersonalModification: symbol")}export{PERSONAL_MODIFICATIONS,getPersonalModification};//# sourceMappingURL=chunk-MGRDB2BZ.js.map
|