@elite-dangerous-almanac/core 0.1.8 → 0.2.0
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/i18n/SOURCES.md +2 -2
- package/PROVENANCE/ships/SOURCES.md +11 -9
- package/README.md +54 -40
- package/dist/astro/galaxy-grid.js +1 -1
- package/dist/astro/index.d.ts +1 -1
- package/dist/astro/index.js +1 -1
- package/dist/astro/naming-region-origins.d.ts +1 -1
- package/dist/astro/naming-region-origins.js +1 -1
- package/dist/astro/nebulae.d.ts +2 -2
- package/dist/astro/permit-locks.d.ts +2 -1
- package/dist/astro/permit-locks.js +1 -1
- package/dist/astro/procedural-system.d.ts +2 -1
- package/dist/astro/procedural-system.js +1 -1
- package/dist/astro/sector-name.d.ts +2 -1
- package/dist/astro/sector-name.js +1 -1
- package/dist/astro/system-address.d.ts +1 -1
- package/dist/astro/system-name.d.ts +14 -9
- package/dist/astro/system-name.js +1 -1
- package/dist/chunk-2W5MW376.js +1 -0
- package/dist/chunk-2W5MW376.js.map +1 -0
- package/dist/{chunk-VZZUNSDF.js → chunk-4KJ7CR74.js} +1 -1
- package/dist/{chunk-VZZUNSDF.js.map → chunk-4KJ7CR74.js.map} +1 -1
- package/dist/{chunk-6EUVIZAS.js → chunk-4QYTVSNR.js} +1 -1
- package/dist/{chunk-EKQCVCMK.js → chunk-5ZVYRX6Z.js} +1 -1
- package/dist/{chunk-EKQCVCMK.js.map → chunk-5ZVYRX6Z.js.map} +1 -1
- package/dist/chunk-6GJHUWMO.js +1 -0
- package/dist/chunk-6GJHUWMO.js.map +1 -0
- package/dist/chunk-6L56LWTT.js +1 -0
- package/dist/chunk-6L56LWTT.js.map +1 -0
- package/dist/{chunk-GQ5GX5TB.js → chunk-6O4NRRSB.js} +1 -1
- package/dist/chunk-6O4NRRSB.js.map +1 -0
- package/dist/{chunk-WNGQ3IAM.js → chunk-6UNAD74Z.js} +1 -1
- package/dist/{chunk-WNGQ3IAM.js.map → chunk-6UNAD74Z.js.map} +1 -1
- package/dist/{chunk-JPBMRJFC.js → chunk-77I24V6B.js} +1 -1
- package/dist/chunk-77I24V6B.js.map +1 -0
- package/dist/chunk-7ATBEOVC.js +1 -0
- package/dist/chunk-7ATBEOVC.js.map +1 -0
- package/dist/chunk-7TQ2X6Q3.js +1 -0
- package/dist/chunk-7TQ2X6Q3.js.map +1 -0
- package/dist/{chunk-6EPYVBAX.js → chunk-A6OINYNP.js} +1 -1
- package/dist/{chunk-Q3QCLNVG.js → chunk-AYAKU4YA.js} +1 -1
- package/dist/chunk-AYAKU4YA.js.map +1 -0
- package/dist/chunk-B7EYTZRK.js +1 -0
- package/dist/chunk-B7EYTZRK.js.map +1 -0
- package/dist/{chunk-EBAHNZ36.js → chunk-CIULJH3G.js} +1 -1
- package/dist/{chunk-EBAHNZ36.js.map → chunk-CIULJH3G.js.map} +1 -1
- package/dist/{chunk-SNADUQSJ.js → chunk-CJK2IBI2.js} +1 -1
- package/dist/{chunk-SNADUQSJ.js.map → chunk-CJK2IBI2.js.map} +1 -1
- package/dist/{chunk-DYPOL3CI.js → chunk-CJQ37JII.js} +1 -1
- package/dist/chunk-CJQ37JII.js.map +1 -0
- package/dist/chunk-D6YEHR5S.js +1 -0
- package/dist/chunk-D6YEHR5S.js.map +1 -0
- package/dist/{chunk-Z6XMXMVI.js → chunk-DBDCOHI4.js} +1 -1
- package/dist/chunk-DBDCOHI4.js.map +1 -0
- package/dist/{chunk-AFVYCQWL.js → chunk-DCB4COCL.js} +1 -1
- package/dist/{chunk-AFVYCQWL.js.map → chunk-DCB4COCL.js.map} +1 -1
- package/dist/{chunk-CJWFY6OX.js → chunk-DSMLYA2M.js} +1 -1
- package/dist/{chunk-CJWFY6OX.js.map → chunk-DSMLYA2M.js.map} +1 -1
- package/dist/{chunk-UXBCLFGU.js → chunk-DWRNXUAX.js} +1 -1
- package/dist/{chunk-UXBCLFGU.js.map → chunk-DWRNXUAX.js.map} +1 -1
- package/dist/chunk-EVW4Z4CB.js +1 -0
- package/dist/chunk-EVW4Z4CB.js.map +1 -0
- package/dist/{chunk-4S6WB7QR.js → chunk-FF2X4K5P.js} +1 -1
- package/dist/chunk-FF2X4K5P.js.map +1 -0
- package/dist/chunk-FYVPZBXN.js +1 -0
- package/dist/chunk-FYVPZBXN.js.map +1 -0
- package/dist/{chunk-QTZPA2FR.js → chunk-GLWPSVFV.js} +1 -1
- package/dist/chunk-GLWPSVFV.js.map +1 -0
- package/dist/chunk-GZYPQIO2.js +1 -0
- package/dist/chunk-GZYPQIO2.js.map +1 -0
- package/dist/chunk-H47K3UWG.js +1 -0
- package/dist/chunk-H47K3UWG.js.map +1 -0
- package/dist/chunk-JGOAQLYW.js +1 -0
- package/dist/chunk-JGOAQLYW.js.map +1 -0
- package/dist/{chunk-JWWYAMGD.js → chunk-MGRDB2BZ.js} +1 -1
- package/dist/{chunk-JWWYAMGD.js.map → chunk-MGRDB2BZ.js.map} +1 -1
- package/dist/{chunk-MKGJPVPS.js → chunk-MRTTQYT5.js} +1 -1
- package/dist/{chunk-MKGJPVPS.js.map → chunk-MRTTQYT5.js.map} +1 -1
- package/dist/chunk-MTJ4MS7W.js +1 -0
- package/dist/chunk-MTJ4MS7W.js.map +1 -0
- package/dist/chunk-NIURLW2F.js +1 -0
- package/dist/chunk-NIURLW2F.js.map +1 -0
- package/dist/chunk-OLKNYGGT.js +1 -0
- package/dist/chunk-OLKNYGGT.js.map +1 -0
- package/dist/chunk-OYFMHDYT.js +1 -0
- package/dist/chunk-OYFMHDYT.js.map +1 -0
- package/dist/chunk-OYR5HUQZ.js +1 -0
- package/dist/chunk-OYR5HUQZ.js.map +1 -0
- package/dist/chunk-PL75RTA2.js +1 -0
- package/dist/{chunk-2VPVZELZ.js.map → chunk-PL75RTA2.js.map} +1 -1
- package/dist/chunk-PY5L6WC5.js +1 -0
- package/dist/chunk-PY5L6WC5.js.map +1 -0
- package/dist/{chunk-W6EPHHTS.js → chunk-Q2L75GSI.js} +1 -1
- package/dist/chunk-Q2L75GSI.js.map +1 -0
- package/dist/chunk-QJ7GB6FF.js +1 -0
- package/dist/chunk-QJ7GB6FF.js.map +1 -0
- package/dist/chunk-QTAMQ6ME.js +1 -0
- package/dist/chunk-QTAMQ6ME.js.map +1 -0
- package/dist/{chunk-FMPRCYKY.js → chunk-RRYBSAPX.js} +1 -1
- package/dist/chunk-RRYBSAPX.js.map +1 -0
- package/dist/{chunk-J42ZXLBL.js → chunk-T62GO4AA.js} +1 -1
- package/dist/chunk-T62GO4AA.js.map +1 -0
- package/dist/{chunk-E3BRVGJJ.js → chunk-TBZJIQ5P.js} +1 -1
- package/dist/{chunk-E3BRVGJJ.js.map → chunk-TBZJIQ5P.js.map} +1 -1
- package/dist/chunk-V3AEUBHV.js +1 -0
- package/dist/chunk-V3AEUBHV.js.map +1 -0
- package/dist/chunk-VYDQHPY2.js +1 -0
- package/dist/chunk-VYDQHPY2.js.map +1 -0
- package/dist/chunk-XUHAPOM6.js +1 -0
- package/dist/chunk-XUHAPOM6.js.map +1 -0
- package/dist/chunk-Y6KJJMIM.js +1 -0
- package/dist/chunk-Y6KJJMIM.js.map +1 -0
- package/dist/chunk-YXPZ7QQB.js +1 -0
- package/dist/chunk-YXPZ7QQB.js.map +1 -0
- package/dist/{chunk-Y6UZWNP4.js → chunk-ZCEAPJDH.js} +1 -1
- package/dist/{chunk-Y6UZWNP4.js.map → chunk-ZCEAPJDH.js.map} +1 -1
- package/dist/commodities/commodities.d.ts +20 -10
- package/dist/commodities/commodities.js +1 -1
- package/dist/commodities/index.d.ts +15 -4
- package/dist/commodities/index.js +1 -1
- package/dist/equipment/index.js +1 -1
- package/dist/equipment/modification-costs.d.ts +2 -1
- package/dist/equipment/modification-costs.js.map +1 -1
- package/dist/equipment/modification-journal.js +1 -1
- package/dist/equipment/modifications.d.ts +2 -1
- package/dist/equipment/modifications.js +1 -1
- package/dist/equipment/suits.d.ts +6 -3
- package/dist/equipment/suits.js +1 -1
- package/dist/equipment/upgrade-costs.d.ts +8 -4
- package/dist/equipment/upgrade-costs.js +1 -1
- package/dist/equipment/upgrade-costs.js.map +1 -1
- package/dist/equipment/weapons.d.ts +13 -5
- package/dist/equipment/weapons.js +1 -1
- package/dist/i18n/blueprints.d.ts +6 -6
- package/dist/i18n/blueprints.js +1 -1
- package/dist/i18n/diagnostics.d.ts +1 -13
- package/dist/i18n/engineering-groups.d.ts +1 -0
- package/dist/i18n/engineering-groups.js +1 -1
- package/dist/i18n/experimental-effect-descriptions.d.ts +4 -3
- package/dist/i18n/experimental-effect-descriptions.js +1 -1
- package/dist/i18n/experimental-effects.d.ts +5 -4
- package/dist/i18n/experimental-effects.js +1 -1
- package/dist/i18n/index.d.ts +1 -13
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/pre-engineered.d.ts +7 -6
- package/dist/i18n/pre-engineered.js +1 -1
- package/dist/materials/index.d.ts +16 -4
- package/dist/materials/index.js +1 -1
- package/dist/materials/materials.d.ts +36 -19
- package/dist/materials/materials.js +1 -1
- package/dist/materials/micro-resources.d.ts +18 -7
- package/dist/materials/micro-resources.js +1 -1
- package/dist/ships/armour.d.ts +20 -4
- package/dist/ships/armour.js +1 -1
- package/dist/ships/blueprint-costs.d.ts +20 -17
- package/dist/ships/blueprint-costs.js +1 -1
- package/dist/ships/blueprint-journal.d.ts +9 -8
- package/dist/ships/blueprint-journal.js +1 -1
- package/dist/ships/blueprints.d.ts +14 -12
- package/dist/ships/blueprints.js +1 -1
- package/dist/ships/build-metrics.d.ts +1061 -0
- package/dist/ships/build-metrics.js +1 -0
- package/dist/ships/build-metrics.js.map +1 -0
- package/dist/ships/distributor.d.ts +10 -3
- package/dist/ships/distributor.js +1 -1
- package/dist/ships/engineering-options.d.ts +8 -6
- package/dist/ships/engineering-options.js +1 -1
- package/dist/ships/engineering.d.ts +2 -16
- package/dist/ships/engineering.js +1 -1
- package/dist/ships/experimental-effect-costs.d.ts +5 -5
- package/dist/ships/experimental-effect-costs.js +1 -1
- package/dist/ships/experimental-effects.d.ts +9 -8
- package/dist/ships/experimental-effects.js +1 -1
- package/dist/ships/heat.d.ts +7 -2
- package/dist/ships/heat.js +1 -1
- package/dist/ships/index.d.ts +34 -22
- package/dist/ships/index.js +1 -1
- package/dist/ships/jump-range.d.ts +10 -3
- package/dist/ships/jump-range.js +1 -1
- package/dist/ships/loadout-calculations.d.ts +1 -1
- package/dist/ships/loadout-calculations.js +1 -1
- package/dist/ships/mobility-capacitor.d.ts +90 -0
- package/dist/ships/mobility-capacitor.js +1 -0
- package/dist/ships/mobility-capacitor.js.map +1 -0
- package/dist/ships/mobility.d.ts +29 -17
- package/dist/ships/mobility.js +1 -1
- package/dist/ships/power.d.ts +12 -5
- package/dist/ships/power.js +1 -1
- package/dist/ships/pre-engineered-stats.d.ts +10 -8
- package/dist/ships/pre-engineered-stats.js +1 -1
- package/dist/ships/pre-engineered.d.ts +6 -6
- package/dist/ships/pre-engineered.js +1 -1
- package/dist/ships/resistances.d.ts +2 -2
- package/dist/ships/resistances.js +1 -1
- package/dist/ships/shield-capacitor.d.ts +133 -0
- package/dist/ships/shield-capacitor.js +1 -0
- package/dist/ships/shield-capacitor.js.map +1 -0
- package/dist/ships/shield-recovery.d.ts +16 -2
- package/dist/ships/shield-recovery.js +1 -1
- package/dist/ships/shields.d.ts +86 -28
- package/dist/ships/shields.js +1 -1
- package/dist/ships/ship-loadout.d.ts +91 -797
- package/dist/ships/ship-loadout.js +1 -1
- package/dist/ships/ships.d.ts +7 -6
- package/dist/ships/ships.js +1 -1
- package/dist/ships/slef.d.ts +1 -1
- package/dist/ships/source-purchase.d.ts +2 -1
- package/dist/ships/source-purchase.js +1 -1
- package/dist/ships/weapons-capacitor.d.ts +10 -3
- package/dist/ships/weapons-capacitor.js +1 -1
- package/dist/ships/weapons.d.ts +22 -6
- package/dist/ships/weapons.js +1 -1
- package/dist/{system-address-DYsN1qOT.d.ts → system-address-cyJaeZIS.d.ts} +2 -1
- package/package.json +17 -2
- package/dist/chunk-2FHHMYDC.js +0 -1
- package/dist/chunk-2FHHMYDC.js.map +0 -1
- package/dist/chunk-2TW4ZBI3.js +0 -1
- package/dist/chunk-2TW4ZBI3.js.map +0 -1
- package/dist/chunk-2VPVZELZ.js +0 -1
- package/dist/chunk-3BM5BHI3.js +0 -1
- package/dist/chunk-3BM5BHI3.js.map +0 -1
- package/dist/chunk-4S6WB7QR.js.map +0 -1
- package/dist/chunk-6BO5JJNI.js +0 -1
- package/dist/chunk-6BO5JJNI.js.map +0 -1
- package/dist/chunk-CX7B67OI.js +0 -1
- package/dist/chunk-CX7B67OI.js.map +0 -1
- package/dist/chunk-DVL5RBKX.js +0 -1
- package/dist/chunk-DVL5RBKX.js.map +0 -1
- package/dist/chunk-DYPOL3CI.js.map +0 -1
- package/dist/chunk-FGXWVFN6.js +0 -1
- package/dist/chunk-FGXWVFN6.js.map +0 -1
- package/dist/chunk-FMPRCYKY.js.map +0 -1
- package/dist/chunk-G3265B27.js +0 -1
- package/dist/chunk-G3265B27.js.map +0 -1
- package/dist/chunk-GQ5GX5TB.js.map +0 -1
- package/dist/chunk-IOJXLDJN.js +0 -1
- package/dist/chunk-IOJXLDJN.js.map +0 -1
- package/dist/chunk-IYU4WLFM.js +0 -1
- package/dist/chunk-IYU4WLFM.js.map +0 -1
- package/dist/chunk-J42ZXLBL.js.map +0 -1
- package/dist/chunk-JPBMRJFC.js.map +0 -1
- package/dist/chunk-LJI7VXJD.js +0 -1
- package/dist/chunk-LJI7VXJD.js.map +0 -1
- package/dist/chunk-OCND33TO.js +0 -1
- package/dist/chunk-OCND33TO.js.map +0 -1
- package/dist/chunk-P2QOL63K.js +0 -1
- package/dist/chunk-P2QOL63K.js.map +0 -1
- package/dist/chunk-Q3QCLNVG.js.map +0 -1
- package/dist/chunk-QTZPA2FR.js.map +0 -1
- package/dist/chunk-RLUS76LZ.js +0 -1
- package/dist/chunk-RLUS76LZ.js.map +0 -1
- package/dist/chunk-TEOJCBSG.js +0 -1
- package/dist/chunk-TEOJCBSG.js.map +0 -1
- package/dist/chunk-TMMGS6TC.js +0 -1
- package/dist/chunk-TMMGS6TC.js.map +0 -1
- package/dist/chunk-W6EPHHTS.js.map +0 -1
- package/dist/chunk-Z6XMXMVI.js.map +0 -1
- package/dist/chunk-ZNCXENNB.js +0 -1
- package/dist/chunk-ZNCXENNB.js.map +0 -1
- /package/dist/{chunk-6EUVIZAS.js.map → chunk-4QYTVSNR.js.map} +0 -0
- /package/dist/{chunk-6EPYVBAX.js.map → chunk-A6OINYNP.js.map} +0 -0
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Look up an experimental effect's display description.
|
|
4
4
|
*
|
|
5
|
-
* @param
|
|
5
|
+
* @param experimentalEffectSymbol - Frontier's experimental-effect id. Matching ignores case and
|
|
6
|
+
* surrounding whitespace.
|
|
6
7
|
* @param locale - A BCP 47 locale. The current source supplies canonical English only.
|
|
7
8
|
* @returns The localized description, or `null` when the effect is unknown, has no
|
|
8
9
|
* source description, or the requested locale is unavailable.
|
|
9
|
-
* @throws {TypeError} If a present `
|
|
10
|
+
* @throws {TypeError} If a present `experimentalEffectSymbol` or `locale` is not a string.
|
|
10
11
|
* @example
|
|
11
12
|
* ```ts
|
|
12
13
|
* import { getExperimentalEffectDescription } from '@elite-dangerous-almanac/core/i18n/experimental-effect-descriptions';
|
|
@@ -15,6 +16,6 @@
|
|
|
15
16
|
* getExperimentalEffectDescription('special_auto_loader', 'fr'); // -> null
|
|
16
17
|
* ```
|
|
17
18
|
*/
|
|
18
|
-
declare function getExperimentalEffectDescription(
|
|
19
|
+
declare function getExperimentalEffectDescription(experimentalEffectSymbol: string, locale: string): string | null;
|
|
19
20
|
|
|
20
21
|
export { getExperimentalEffectDescription };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getExperimentalEffectDescription}from"../chunk-
|
|
1
|
+
export{getExperimentalEffectDescription}from"../chunk-FF2X4K5P.js"; //# sourceMappingURL=experimental-effect-descriptions.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Look up an engineering experimental effect's source-backed display name for a locale.
|
|
4
4
|
*
|
|
5
|
-
* @param
|
|
5
|
+
* @param experimentalEffectSymbol - Frontier's experimental-effect id, such as
|
|
6
6
|
* `"special_concordant_sequence"`. Matching ignores case and surrounding whitespace.
|
|
7
7
|
* @param locale - A BCP 47 language or regional tag, such as `"de"`, `"de-DE"` or
|
|
8
8
|
* `"en-GB"`. Matching is case-insensitive; underscores are accepted in place of
|
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
* @remarks
|
|
15
15
|
* This function bundles names only, not modifier mechanics or material costs. Missing
|
|
16
16
|
* translations never silently fall back to English.
|
|
17
|
-
* @throws {TypeError} If `
|
|
18
|
-
* string. A nullish `
|
|
17
|
+
* @throws {TypeError} If `experimentalEffectSymbol` is present and not a string, or
|
|
18
|
+
* `locale` is not a string. A nullish `experimentalEffectSymbol` is a lookup miss and
|
|
19
|
+
* returns `null`.
|
|
19
20
|
* @example
|
|
20
21
|
* ```ts
|
|
21
22
|
* import { getExperimentalEffectName } from '@elite-dangerous-almanac/core/i18n/experimental-effects';
|
|
@@ -25,6 +26,6 @@
|
|
|
25
26
|
* getExperimentalEffectName('special_concordant_sequence', 'ja-JP'); // -> null
|
|
26
27
|
* ```
|
|
27
28
|
*/
|
|
28
|
-
declare function getExperimentalEffectName(
|
|
29
|
+
declare function getExperimentalEffectName(experimentalEffectSymbol: string, locale: string): string | null;
|
|
29
30
|
|
|
30
31
|
export { getExperimentalEffectName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getExperimentalEffectName}from"../chunk-
|
|
1
|
+
export{getExperimentalEffectName}from"../chunk-DSMLYA2M.js"; //# sourceMappingURL=experimental-effects.js.map
|
package/dist/i18n/index.d.ts
CHANGED
|
@@ -18,20 +18,8 @@ import '../ships/engineering-options.js';
|
|
|
18
18
|
import '../ships/module-families.js';
|
|
19
19
|
import '../ships/ship-loadout.js';
|
|
20
20
|
import '../ships/slef.js';
|
|
21
|
-
import '../ships/jump-range.js';
|
|
22
|
-
import '../ships/engineering.js';
|
|
23
|
-
import '../ships/power.js';
|
|
24
|
-
import '../ships/heat.js';
|
|
25
|
-
import '../ships/shields.js';
|
|
26
|
-
import '../ships/resistances.js';
|
|
27
|
-
import '../ships/armour.js';
|
|
28
|
-
import '../ships/weapons.js';
|
|
29
|
-
import '../ships/ammunition.js';
|
|
30
|
-
import '../ships/weapons-capacitor.js';
|
|
31
|
-
import '../ships/distributor.js';
|
|
32
|
-
import '../ships/mobility.js';
|
|
33
|
-
import '../ships/shield-recovery.js';
|
|
34
21
|
import '../ships/pre-engineered.js';
|
|
22
|
+
import '../ships/ammunition.js';
|
|
35
23
|
import '../ships/source-purchase.js';
|
|
36
24
|
|
|
37
25
|
/**
|
package/dist/i18n/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getMicroResourceName}from"../chunk-GRSNX36B.js";export{getOutfittingFamilyName}from"../chunk-SD6GNFDX.js";export{getModuleName}from"../chunk-LZYHBFJC.js";export{getPreEngineeredVariantName}from"../chunk-
|
|
1
|
+
export{getMicroResourceName}from"../chunk-GRSNX36B.js";export{getOutfittingFamilyName}from"../chunk-SD6GNFDX.js";export{getModuleName}from"../chunk-LZYHBFJC.js";export{getPreEngineeredVariantName}from"../chunk-T62GO4AA.js";export{getShipManufacturer,getShipName}from"../chunk-KJFUNIIY.js";export{getLoadoutSlotName,getSlotRestrictionLabel}from"../chunk-ZRG35JSH.js"; export{getBlueprintName}from"../chunk-DBDCOHI4.js";export{getCalculationIssueMessage,getLoadoutEditErrorMessage,getLoadoutIssueMessage,getSlefDiagnosticMessage}from"../chunk-6G6TYW2D.js";export{getEngineeringGroupName}from"../chunk-5ZVYRX6Z.js";export{getExperimentalEffectDescription}from"../chunk-FF2X4K5P.js";export{getExperimentalEffectName}from"../chunk-DSMLYA2M.js";export{getMaterialName}from"../chunk-TW7LUBHD.js"; //# sourceMappingURL=index.js.map
|
|
@@ -6,10 +6,10 @@ import { PreEngineeredAcquisition } from '../ships/pre-engineered.js';
|
|
|
6
6
|
interface PreEngineeredVariantIdentity {
|
|
7
7
|
/** Base outfitting-module symbol. */
|
|
8
8
|
readonly symbol: string;
|
|
9
|
-
/** Frontier blueprint or fixed-reward
|
|
10
|
-
readonly
|
|
11
|
-
/** Frontier experimental-effect
|
|
12
|
-
readonly
|
|
9
|
+
/** Frontier blueprint or fixed-reward symbol. */
|
|
10
|
+
readonly blueprintSymbol: string;
|
|
11
|
+
/** Frontier experimental-effect symbol, or `null`/omitted when none is fitted. */
|
|
12
|
+
readonly experimentalEffectSymbol?: string | null;
|
|
13
13
|
/** Route through which the variant is obtained. */
|
|
14
14
|
readonly acquisition: PreEngineeredAcquisition;
|
|
15
15
|
}
|
|
@@ -22,14 +22,15 @@ interface PreEngineeredVariantIdentity {
|
|
|
22
22
|
* @returns The explicit localized name, or `null` for an unknown variant or unavailable
|
|
23
23
|
* translation. Decorative reward names currently have English values only.
|
|
24
24
|
* @throws {TypeError} If `variant` is not an object, a required identity field or a
|
|
25
|
-
* non-null `
|
|
25
|
+
* non-null `experimentalEffectSymbol` value is not a string, or `locale` is not a
|
|
26
|
+
* string.
|
|
26
27
|
* @example
|
|
27
28
|
* ```ts
|
|
28
29
|
* import { getPreEngineeredVariantName } from '@elite-dangerous-almanac/core/i18n/pre-engineered';
|
|
29
30
|
*
|
|
30
31
|
* getPreEngineeredVariantName({
|
|
31
32
|
* symbol: 'Hpt_FlakMortar_Turret_Medium',
|
|
32
|
-
*
|
|
33
|
+
* blueprintSymbol: 'Decorative_Red',
|
|
33
34
|
* acquisition: 'eventReward',
|
|
34
35
|
* }, 'en'); // -> 'Festive Red Remote Release Flak Launcher'
|
|
35
36
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getPreEngineeredVariantName}from"../chunk-
|
|
1
|
+
export{getPreEngineeredVariantName}from"../chunk-T62GO4AA.js"; //# sourceMappingURL=pre-engineered.js.map
|
|
@@ -22,14 +22,26 @@
|
|
|
22
22
|
* getMicroResourceBySymbol('graphene')?.name; // -> 'Graphene'
|
|
23
23
|
* ```
|
|
24
24
|
*
|
|
25
|
-
*
|
|
26
|
-
* a subset — one category's catalogue, or an array you have filtered yourself
|
|
25
|
+
* The by-key lookups also take an optional trailing argument to **narrow** the search
|
|
26
|
+
* to a subset — one category's catalogue, or an array you have filtered yourself. It
|
|
27
|
+
* must be one of the exported catalogues *by reference*; `ALL_MATERIALS` (or omitting
|
|
28
|
+
* it) is the one that answers from an index rather than a scan:
|
|
27
29
|
*
|
|
28
30
|
* ```ts
|
|
29
|
-
* import {
|
|
31
|
+
* import { getMaterialByName } from '@elite-dangerous-almanac/core/materials';
|
|
30
32
|
* import { RAW_MATERIALS } from '@elite-dangerous-almanac/core/materials/materials-raw';
|
|
31
33
|
*
|
|
32
|
-
*
|
|
34
|
+
* getMaterialByName('imperial shielding', RAW_MATERIALS); // -> null; it is manufactured
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* A lookup that returns an array takes no catalogue — narrow its result, or the subset
|
|
38
|
+
* you already imported, with `.filter()`:
|
|
39
|
+
*
|
|
40
|
+
* ```ts
|
|
41
|
+
* import { MaterialGrade } from '@elite-dangerous-almanac/core/materials';
|
|
42
|
+
* import { RAW_MATERIALS } from '@elite-dangerous-almanac/core/materials/materials-raw';
|
|
43
|
+
*
|
|
44
|
+
* RAW_MATERIALS.filter((m) => m.grade === MaterialGrade.Rare).length; // -> 7, one per raw line
|
|
33
45
|
* ```
|
|
34
46
|
*
|
|
35
47
|
* @packageDocumentation
|
package/dist/materials/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-
|
|
1
|
+
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-MRTTQYT5.js";export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-OYR5HUQZ.js";export{ALL_MICRO_RESOURCES}from"../chunk-GVNTKCVF.js";export{ITEM_MICRO_RESOURCES}from"../chunk-WHWFKHV3.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{ALL_MATERIALS}from"../chunk-V4C6FIE2.js";export{ENCODED_MATERIALS}from"../chunk-Q5XOGATC.js";export{MANUFACTURED_MATERIALS}from"../chunk-HKXXFIRI.js";export{RAW_MATERIALS}from"../chunk-SQS7672E.js"; //# sourceMappingURL=index.js.map
|
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
* getMaterialByName('iron')?.grade; // -> MaterialGrade.VeryCommon (1)
|
|
17
17
|
* ```
|
|
18
18
|
*
|
|
19
|
-
*
|
|
20
|
-
* subset — one category's catalogue, or any array you have filtered
|
|
19
|
+
* The three **by-key** lookups take an optional second argument to **narrow** the
|
|
20
|
+
* search to a subset — one category's catalogue, or any array you have filtered
|
|
21
|
+
* yourself:
|
|
21
22
|
*
|
|
22
23
|
* | Module | Export | Entries |
|
|
23
24
|
* | --- | --- | --- |
|
|
@@ -27,9 +28,19 @@
|
|
|
27
28
|
* | `./materials-all` | `ALL_MATERIALS` | 146 (the default) |
|
|
28
29
|
*
|
|
29
30
|
* It narrows *results*, not bundle size: importing a lookup pulls all three
|
|
30
|
-
* catalogues, since that is what it falls back to —
|
|
31
|
+
* catalogues, since that is what it falls back to — 17.2 KiB minified for all 146.
|
|
31
32
|
* {@link materialsInCategory} reaches the same subsets from a plain string.
|
|
32
33
|
*
|
|
34
|
+
* **Only `ALL_MATERIALS` itself is indexed.** A by-key lookup answers from an O(1)
|
|
35
|
+
* index when the catalogue you pass *is* `ALL_MATERIALS` — the same object, not a copy
|
|
36
|
+
* — and scans linearly otherwise, including for `[...ALL_MATERIALS]`, which holds the
|
|
37
|
+
* same 146 records. Omitting the argument always takes the indexed path, so pass one
|
|
38
|
+
* only when you mean to exclude the rest.
|
|
39
|
+
*
|
|
40
|
+
* The filtering lookups ({@link materialsByGrade}, {@link materialsInLine},
|
|
41
|
+
* {@link materialsInCategory}) take no catalogue: each returns an array, so narrowing
|
|
42
|
+
* one is `.filter()` on the result or on the subset you already imported.
|
|
43
|
+
*
|
|
33
44
|
* Data originates from EDCD FDevIDs, with Thargoid materials absent from that
|
|
34
45
|
* pinned source supplied by INARA; see [`data/materials/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/materials/SOURCES.md).
|
|
35
46
|
*
|
|
@@ -168,10 +179,14 @@ interface Material {
|
|
|
168
179
|
* Here, `symbol` is Frontier's internal item id for the material.
|
|
169
180
|
*
|
|
170
181
|
* @param symbol - The internal symbol, e.g. `"GridResistors"`, or the lower-cased
|
|
171
|
-
* form the player journal reports (`"gridresistors"`).
|
|
182
|
+
* form the player journal reports (`"gridresistors"`). Leading/trailing whitespace
|
|
183
|
+
* and case are ignored.
|
|
172
184
|
* @param materials - Optional subset to search instead of all 146 materials —
|
|
173
185
|
* `RAW_MATERIALS`, `MANUFACTURED_MATERIALS`, `ENCODED_MATERIALS`, or any array you
|
|
174
|
-
* have filtered yourself. Omit it unless you specifically want to exclude the rest
|
|
186
|
+
* have filtered yourself. Omit it unless you specifically want to exclude the rest:
|
|
187
|
+
* the indexed O(1) path is taken only when the argument is omitted or is
|
|
188
|
+
* `ALL_MATERIALS` **by reference**, and every other array — a copy of that same
|
|
189
|
+
* catalogue included — is scanned.
|
|
175
190
|
* @returns The matching {@link Material}, or `null` if no material has that symbol.
|
|
176
191
|
* @throws {TypeError} If `symbol` is present and not a string. A nullish
|
|
177
192
|
* `symbol` is a miss, answered the way an unrecognised one is.
|
|
@@ -187,6 +202,7 @@ declare function getMaterialBySymbol(symbol: string, materials?: readonly Materi
|
|
|
187
202
|
* Look up a material by its display name (case-insensitive).
|
|
188
203
|
*
|
|
189
204
|
* @param name - The display name as the catalogue spells it, e.g. `"Grid Resistors"`.
|
|
205
|
+
* Leading/trailing whitespace and case are ignored.
|
|
190
206
|
* @param materials - Optional subset to search (see {@link getMaterialBySymbol}).
|
|
191
207
|
* @returns The matching {@link Material}, or `null` if no material has that name.
|
|
192
208
|
* @throws {TypeError} If `name` is present and not a string. A nullish
|
|
@@ -202,7 +218,8 @@ declare function getMaterialByName(name: string, materials?: readonly Material[]
|
|
|
202
218
|
/**
|
|
203
219
|
* Look up a raw material by its chemical element symbol (case-insensitive).
|
|
204
220
|
*
|
|
205
|
-
* @param elementSymbol - The element symbol, e.g. `"Fe"` or `"fe"`.
|
|
221
|
+
* @param elementSymbol - The element symbol, e.g. `"Fe"` or `"fe"`. Leading/trailing
|
|
222
|
+
* whitespace and case are ignored.
|
|
206
223
|
* @param materials - Optional subset to search (see {@link getMaterialBySymbol}).
|
|
207
224
|
* @returns The matching {@link Material}, or `null`. Only raw materials carry an
|
|
208
225
|
* element symbol, so a manufactured or encoded subset never matches.
|
|
@@ -217,29 +234,30 @@ declare function getMaterialByName(name: string, materials?: readonly Material[]
|
|
|
217
234
|
*/
|
|
218
235
|
declare function getMaterialByElementSymbol(elementSymbol: string, materials?: readonly Material[]): Material | null;
|
|
219
236
|
/**
|
|
220
|
-
* Every material of a given grade, in catalogue order.
|
|
237
|
+
* Every material of a given grade, across all three categories, in catalogue order.
|
|
221
238
|
*
|
|
222
|
-
* @param grade - The grade to match, 1–5 (or a {@link MaterialGrade} member).
|
|
223
|
-
*
|
|
224
|
-
* @returns A new array of matches (possibly empty).
|
|
239
|
+
* @param grade - The grade to match, 1–5 (or a {@link MaterialGrade} member). A grade
|
|
240
|
+
* no material carries matches nothing, the way an unrecognised symbol does.
|
|
241
|
+
* @returns A new array of matches (possibly empty).
|
|
242
|
+
* @throws {TypeError} If `grade` is present and not a number. A nullish `grade` is a
|
|
243
|
+
* miss, answered the way an unrecognised one is.
|
|
225
244
|
* @example
|
|
226
245
|
* ```ts
|
|
227
246
|
* import { MaterialGrade, materialsByGrade } from '@elite-dangerous-almanac/core/materials/materials';
|
|
228
247
|
* import { RAW_MATERIALS } from '@elite-dangerous-almanac/core/materials/materials-raw';
|
|
229
248
|
*
|
|
230
|
-
* materialsByGrade(MaterialGrade.VeryRare).length;
|
|
231
|
-
*
|
|
249
|
+
* materialsByGrade(MaterialGrade.VeryRare).length; // -> across every category
|
|
250
|
+
* RAW_MATERIALS.filter((m) => m.grade === MaterialGrade.Rare).length; // -> 7, one per raw line
|
|
232
251
|
* ```
|
|
233
252
|
*/
|
|
234
|
-
declare function materialsByGrade(grade: MaterialGrade
|
|
253
|
+
declare function materialsByGrade(grade: MaterialGrade): Material[];
|
|
235
254
|
/**
|
|
236
255
|
* Every material in a given line, in catalogue order.
|
|
237
256
|
*
|
|
238
257
|
* @param line - The line to match, e.g. `MaterialLine.Chemical`. A plain string of
|
|
239
258
|
* the line's value works too: leading/trailing whitespace and case are ignored, like
|
|
240
259
|
* every other lookup here.
|
|
241
|
-
* @
|
|
242
|
-
* @returns A new array of matches (possibly empty). The input is not modified.
|
|
260
|
+
* @returns A new array of matches (possibly empty).
|
|
243
261
|
* @throws {TypeError} If `line` is present and not a string. A nullish
|
|
244
262
|
* `line` is a miss, answered the way an unrecognised one is.
|
|
245
263
|
* @example
|
|
@@ -249,7 +267,7 @@ declare function materialsByGrade(grade: MaterialGrade, materials?: readonly Mat
|
|
|
249
267
|
* materialsInLine(MaterialLine.Chemical).map((m) => m.grade); // -> [1, 2, 3, 4, 5]
|
|
250
268
|
* ```
|
|
251
269
|
*/
|
|
252
|
-
declare function materialsInLine(line: string
|
|
270
|
+
declare function materialsInLine(line: string): Material[];
|
|
253
271
|
/**
|
|
254
272
|
* Every material in a given category, in catalogue order.
|
|
255
273
|
*
|
|
@@ -260,8 +278,7 @@ declare function materialsInLine(line: string, materials?: readonly Material[]):
|
|
|
260
278
|
*
|
|
261
279
|
* @param category - The category to match: `'raw'`, `'manufactured'` or `'encoded'`.
|
|
262
280
|
* Leading/trailing whitespace and case are ignored, like every other lookup here.
|
|
263
|
-
* @
|
|
264
|
-
* @returns A new array of matches (possibly empty). The input is not modified.
|
|
281
|
+
* @returns A new array of matches (possibly empty).
|
|
265
282
|
* @throws {TypeError} If `category` is present and not a string. A nullish
|
|
266
283
|
* `category` is a miss, answered the way an unrecognised one is.
|
|
267
284
|
* @example
|
|
@@ -272,6 +289,6 @@ declare function materialsInLine(line: string, materials?: readonly Material[]):
|
|
|
272
289
|
* materialsInCategory('Encoded').length; // -> 47; case is ignored
|
|
273
290
|
* ```
|
|
274
291
|
*/
|
|
275
|
-
declare function materialsInCategory(category: string
|
|
292
|
+
declare function materialsInCategory(category: string): Material[];
|
|
276
293
|
|
|
277
294
|
export { type Material, type MaterialCategory, MaterialGrade, MaterialLine, getMaterialByElementSymbol, getMaterialByName, getMaterialBySymbol, materialsByGrade, materialsInCategory, materialsInLine };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-
|
|
1
|
+
export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-OYR5HUQZ.js"; //# sourceMappingURL=materials.js.map
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
* getMicroResourceBySymbol('graphene')?.category; // -> 'component'
|
|
16
16
|
* ```
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
* subset — one category's catalogue, or any array you have filtered yourself:
|
|
18
|
+
* The two **by-key** lookups take an optional second argument to **narrow** the search
|
|
19
|
+
* to a subset — one category's catalogue, or any array you have filtered yourself:
|
|
20
20
|
*
|
|
21
21
|
* | Module | Export | Entries |
|
|
22
22
|
* | --- | --- | --- |
|
|
@@ -27,9 +27,18 @@
|
|
|
27
27
|
* | `./micro-resources-all` | `ALL_MICRO_RESOURCES` | 226 (the default) |
|
|
28
28
|
*
|
|
29
29
|
* It narrows *results*, not bundle size: importing a lookup pulls all four
|
|
30
|
-
* catalogues, since that is what it falls back to — 13.
|
|
30
|
+
* catalogues, since that is what it falls back to — 13.4 KiB minified for all 226.
|
|
31
31
|
* {@link microResourcesInCategory} reaches the same subsets from a plain string.
|
|
32
32
|
*
|
|
33
|
+
* **Only `ALL_MICRO_RESOURCES` itself is indexed.** A by-key lookup answers from an
|
|
34
|
+
* O(1) index when the catalogue you pass *is* `ALL_MICRO_RESOURCES` — the same object,
|
|
35
|
+
* not a copy — and scans linearly otherwise, including for `[...ALL_MICRO_RESOURCES]`,
|
|
36
|
+
* which holds the same 226 records. Omitting the argument always takes the indexed
|
|
37
|
+
* path, so pass one only when you mean to exclude the rest.
|
|
38
|
+
*
|
|
39
|
+
* {@link microResourcesInCategory} takes no catalogue: it returns an array, so
|
|
40
|
+
* narrowing it is `.filter()` on the result or on the subset you already imported.
|
|
41
|
+
*
|
|
33
42
|
* Data originates from EDCD FDevIDs (`microresources.csv`), in-game verification and
|
|
34
43
|
* Inara; see [`data/materials/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/materials/SOURCES.md).
|
|
35
44
|
*
|
|
@@ -83,7 +92,10 @@ interface MicroResource {
|
|
|
83
92
|
* @param microResources - Optional subset to search instead of all 226 micro
|
|
84
93
|
* resources — `COMPONENT_MICRO_RESOURCES`, `CONSUMABLE_MICRO_RESOURCES`,
|
|
85
94
|
* `DATA_MICRO_RESOURCES`, `ITEM_MICRO_RESOURCES`, or any array you have filtered
|
|
86
|
-
* yourself. Omit it unless you specifically want to exclude the rest
|
|
95
|
+
* yourself. Omit it unless you specifically want to exclude the rest: the indexed O(1)
|
|
96
|
+
* path is taken only when the argument is omitted or is `ALL_MICRO_RESOURCES` **by
|
|
97
|
+
* reference**, and every other array — a copy of that same catalogue included — is
|
|
98
|
+
* scanned.
|
|
87
99
|
* @returns The matching {@link MicroResource}, or `null` if no micro resource has
|
|
88
100
|
* that symbol.
|
|
89
101
|
* @throws {TypeError} If `symbol` is present and not a string. A nullish
|
|
@@ -119,8 +131,7 @@ declare function getMicroResourceByName(name: string, microResources?: readonly
|
|
|
119
131
|
*
|
|
120
132
|
* @param category - The category to match, e.g. `'component'`. Leading/trailing
|
|
121
133
|
* whitespace and case are ignored, like every other lookup here.
|
|
122
|
-
* @
|
|
123
|
-
* @returns A new array of matches (possibly empty). The input is not modified.
|
|
134
|
+
* @returns A new array of matches (possibly empty).
|
|
124
135
|
* @throws {TypeError} If `category` is present and not a string. A nullish
|
|
125
136
|
* `category` is a miss, answered the way an unrecognised one is.
|
|
126
137
|
* @example
|
|
@@ -131,6 +142,6 @@ declare function getMicroResourceByName(name: string, microResources?: readonly
|
|
|
131
142
|
* microResourcesInCategory('Consumable').length; // -> 6; case is ignored
|
|
132
143
|
* ```
|
|
133
144
|
*/
|
|
134
|
-
declare function microResourcesInCategory(category: string
|
|
145
|
+
declare function microResourcesInCategory(category: string): MicroResource[];
|
|
135
146
|
|
|
136
147
|
export { type MicroResource, type MicroResourceCategory, getMicroResourceByName, getMicroResourceBySymbol, microResourcesInCategory };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-
|
|
1
|
+
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-MRTTQYT5.js"; //# sourceMappingURL=micro-resources.js.map
|
package/dist/ships/armour.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { DamageResistanceParams, DamageResistances, DamageTypeValues } from './r
|
|
|
14
14
|
* stack onto with diminishing returns — see `./resistances`. Module reinforcement
|
|
15
15
|
* packages protect the *modules* rather than the hull, and are reported separately.
|
|
16
16
|
*
|
|
17
|
-
* This module is data-free. {@link
|
|
17
|
+
* This module is data-free. {@link BuildMetrics.armourMetrics} (in `./build-metrics`)
|
|
18
18
|
* gathers a build's bulkhead and reinforcement packages, post-engineering, and calls
|
|
19
19
|
* {@link armourMetrics} for you.
|
|
20
20
|
*
|
|
@@ -77,7 +77,7 @@ interface ArmourInput {
|
|
|
77
77
|
* @remarks
|
|
78
78
|
* Absent means **no** bulkhead: no armour bonus and no resistances, so the hull
|
|
79
79
|
* reports its bare `baseArmour`. No ship in the game flies like that;
|
|
80
|
-
* `
|
|
80
|
+
* `BuildMetrics.armourMetrics()` substitutes the hull's stock lightweight alloy
|
|
81
81
|
* instead, and you should pass the hull's own armour record here to do the same.
|
|
82
82
|
*/
|
|
83
83
|
readonly bulkhead?: BulkheadParams | null;
|
|
@@ -86,7 +86,14 @@ interface ArmourInput {
|
|
|
86
86
|
/** Each fitted, powered module reinforcement package. Defaults to none. */
|
|
87
87
|
readonly moduleReinforcements?: readonly ModuleReinforcementParams[];
|
|
88
88
|
}
|
|
89
|
-
/**
|
|
89
|
+
/**
|
|
90
|
+
* A build's armour: hit points, where they come from, and what the hull resists.
|
|
91
|
+
*
|
|
92
|
+
* @remarks
|
|
93
|
+
* Frozen — nested records and lists included — so a result can be held, cached and
|
|
94
|
+
* shared without a defensive copy. Derive a changed figure with a spread rather than
|
|
95
|
+
* by assigning into one.
|
|
96
|
+
*/
|
|
90
97
|
interface ArmourMetrics {
|
|
91
98
|
/** Total hull hit points. */
|
|
92
99
|
readonly hitPoints: number;
|
|
@@ -94,7 +101,16 @@ interface ArmourMetrics {
|
|
|
94
101
|
readonly bulkheads: number;
|
|
95
102
|
/** What the hull reinforcement packages add. */
|
|
96
103
|
readonly reinforcement: number;
|
|
97
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* Effective resistances, bulkhead and reinforcement stacked with diminishing returns.
|
|
106
|
+
*
|
|
107
|
+
* @remarks
|
|
108
|
+
* Fractions rather than percentages, and **unrounded**: the stacking is
|
|
109
|
+
* floating-point arithmetic, so a nominal −20% reads as `-0.19999999999999996`
|
|
110
|
+
* rather than `-0.2`. Round where the figure is displayed, not before it is
|
|
111
|
+
* composed further — {@link ArmourMetrics.effectiveHitPoints} is derived from
|
|
112
|
+
* exactly these values.
|
|
113
|
+
*/
|
|
98
114
|
readonly resistances: DamageResistances;
|
|
99
115
|
/**
|
|
100
116
|
* Effective hit points against each damage type — `hitPoints / (1 − resistance)`,
|
package/dist/ships/armour.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{armourMetrics}from"../chunk-
|
|
1
|
+
export{armourMetrics}from"../chunk-FYVPZBXN.js"; //# sourceMappingURL=armour.js.map
|
|
@@ -39,7 +39,7 @@ import './slots.js';
|
|
|
39
39
|
*/
|
|
40
40
|
type BlueprintGradeCosts = Readonly<Record<string, readonly EngineeringMaterial[]>>;
|
|
41
41
|
/**
|
|
42
|
-
* Every craftable blueprint's per-roll material recipes, keyed by Frontier
|
|
42
|
+
* Every craftable blueprint's per-roll material recipes, keyed by Frontier symbol and then grade.
|
|
43
43
|
*
|
|
44
44
|
* @remarks
|
|
45
45
|
* Its ids and grade sets are the craftable subset of `BLUEPRINTS` from
|
|
@@ -59,7 +59,7 @@ declare const BLUEPRINT_COSTS: Readonly<Record<string, BlueprintGradeCosts>>;
|
|
|
59
59
|
/**
|
|
60
60
|
* Look up all per-grade material recipes for one blueprint.
|
|
61
61
|
*
|
|
62
|
-
* @param
|
|
62
|
+
* @param blueprintSymbol - The blueprint id, e.g. `"FSD_LongRange"`, matched
|
|
63
63
|
* case-insensitively after trimming surrounding whitespace.
|
|
64
64
|
* @remarks
|
|
65
65
|
* The material half only, straight from the catalogue. The Merc Coin some recipes charge
|
|
@@ -68,8 +68,8 @@ declare const BLUEPRINT_COSTS: Readonly<Record<string, BlueprintGradeCosts>>;
|
|
|
68
68
|
*
|
|
69
69
|
* @returns The frozen grade-to-material-list record, or `null` if no ordinary craft
|
|
70
70
|
* cost is catalogued (including a known fixed reward identity).
|
|
71
|
-
* @throws {TypeError} If `
|
|
72
|
-
* `
|
|
71
|
+
* @throws {TypeError} If `blueprintSymbol` is present and not a string. A nullish
|
|
72
|
+
* `blueprintSymbol` is a miss, answered the way an unrecognised one is.
|
|
73
73
|
* @example
|
|
74
74
|
* ```ts
|
|
75
75
|
* import { getBlueprintCosts } from '@elite-dangerous-almanac/core/ships/blueprint-costs';
|
|
@@ -78,7 +78,7 @@ declare const BLUEPRINT_COSTS: Readonly<Record<string, BlueprintGradeCosts>>;
|
|
|
78
78
|
* // -> [{ symbol: 'Arsenic', name: 'Arsenic', count: 1 }, ...]
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
81
|
-
declare function getBlueprintCosts(
|
|
81
|
+
declare function getBlueprintCosts(blueprintSymbol: string): BlueprintGradeCosts | null;
|
|
82
82
|
/**
|
|
83
83
|
* What one engineering step costs — the materials it consumes and the Merc Coin billed
|
|
84
84
|
* beside them.
|
|
@@ -109,15 +109,15 @@ interface BlueprintCost {
|
|
|
109
109
|
/**
|
|
110
110
|
* Look up what **one roll** at one blueprint grade costs.
|
|
111
111
|
*
|
|
112
|
-
* @param
|
|
112
|
+
* @param blueprintSymbol - The blueprint id, e.g. `"FSD_LongRange"`, matched
|
|
113
113
|
* case-insensitively after trimming surrounding whitespace.
|
|
114
114
|
* @param grade - The grade, `1`–`5`.
|
|
115
115
|
* @returns The materials one roll consumes and the Merc Coin it bills, or `null` if no
|
|
116
116
|
* ordinary craft cost is catalogued for the blueprint and grade. `materials` is the
|
|
117
117
|
* frozen catalogue list; `mercCoins` is `0` unless the recipe charges a currency.
|
|
118
118
|
* @throws {RangeError} If `grade` is not an integer from 1 through 5.
|
|
119
|
-
* @throws {TypeError} If `
|
|
120
|
-
* `
|
|
119
|
+
* @throws {TypeError} If `blueprintSymbol` is present and not a string. A nullish
|
|
120
|
+
* `blueprintSymbol` is a miss, answered the way an unrecognised one is.
|
|
121
121
|
* @example
|
|
122
122
|
* ```ts
|
|
123
123
|
* import { getBlueprintGradeCost } from '@elite-dangerous-almanac/core/ships/blueprint-costs';
|
|
@@ -128,12 +128,15 @@ interface BlueprintCost {
|
|
|
128
128
|
* getBlueprintGradeCost('RailGun_LongShot', 5)?.mercCoins; // -> 50
|
|
129
129
|
* ```
|
|
130
130
|
*/
|
|
131
|
-
declare function getBlueprintGradeCost(
|
|
131
|
+
declare function getBlueprintGradeCost(blueprintSymbol: string, grade: number): BlueprintCost | null;
|
|
132
132
|
/**
|
|
133
133
|
* Compute the **total** cost of engineering a module up to a grade — every grade the
|
|
134
|
-
* module still has to climb, each rolled the number of times it takes to complete
|
|
135
|
-
*
|
|
136
|
-
*
|
|
134
|
+
* module still has to climb, each rolled the number of times it takes to complete,
|
|
135
|
+
* summed into one shopping list and one Merc Coin total.
|
|
136
|
+
*
|
|
137
|
+
* **Grade `N` takes `N` rolls** to fill its progress bar (grade 1 → 1 roll, grade 2 → 2
|
|
138
|
+
* rolls, … grade 5 → 5 rolls), and each roll costs that grade's recipe once, so the
|
|
139
|
+
* climb is weighted rather than a plain sum — for the materials and the Merc Coin alike.
|
|
137
140
|
*
|
|
138
141
|
* By default it prices the whole climb from unengineered; pass `currentGrade` to price
|
|
139
142
|
* only what remains. Each grade `g` in `currentGrade + 1 … grade` contributes
|
|
@@ -153,7 +156,7 @@ declare function getBlueprintGradeCost(fdname: string, grade: number): Blueprint
|
|
|
153
156
|
* same at every grade. Either spelling therefore prices correctly without a fitted
|
|
154
157
|
* module; cross-catalogue tests pin that invariant.
|
|
155
158
|
*
|
|
156
|
-
* @param
|
|
159
|
+
* @param blueprintSymbol - The blueprint id, e.g. `"FSD_LongRange"`, matched
|
|
157
160
|
* case-insensitively after trimming surrounding whitespace.
|
|
158
161
|
* @param grade - The target grade, `1`–`5`.
|
|
159
162
|
* @param currentGrade - The completed grade, `0`–`5`; defaults to `0` for an
|
|
@@ -166,8 +169,8 @@ declare function getBlueprintGradeCost(fdname: string, grade: number): Blueprint
|
|
|
166
169
|
* charges no currency, so `null` remains the one answer meaning "not catalogued".
|
|
167
170
|
* @throws {RangeError} If `grade` is not an integer from 1 through 5, or `currentGrade`
|
|
168
171
|
* is not an integer from 0 through 5.
|
|
169
|
-
* @throws {TypeError} If `
|
|
170
|
-
* `
|
|
172
|
+
* @throws {TypeError} If `blueprintSymbol` is present and not a string. A nullish
|
|
173
|
+
* `blueprintSymbol` is a miss, answered the way an unrecognised one is.
|
|
171
174
|
* @example
|
|
172
175
|
* ```ts
|
|
173
176
|
* import { getBlueprintCost } from '@elite-dangerous-almanac/core/ships/blueprint-costs';
|
|
@@ -181,7 +184,7 @@ declare function getBlueprintGradeCost(fdname: string, grade: number): Blueprint
|
|
|
181
184
|
* getBlueprintCost('FuelScoop_Efficiency', 5)?.mercCoins; // -> 350
|
|
182
185
|
* ```
|
|
183
186
|
*/
|
|
184
|
-
declare function getBlueprintCost(
|
|
187
|
+
declare function getBlueprintCost(blueprintSymbol: string, grade: number, currentGrade?: number): BlueprintCost | null;
|
|
185
188
|
/**
|
|
186
189
|
* Merc Coin charged for **one roll** of a blueprint, keyed by grade (`"1"`–`"5"`).
|
|
187
190
|
*
|
|
@@ -195,7 +198,7 @@ declare function getBlueprintCost(fdname: string, grade: number, currentGrade?:
|
|
|
195
198
|
type BlueprintMercCoinCosts = Readonly<Record<string, number>>;
|
|
196
199
|
/**
|
|
197
200
|
* The Merc Coin charged per roll by every blueprint that charges any, keyed by Frontier
|
|
198
|
-
*
|
|
201
|
+
* symbol and then grade.
|
|
199
202
|
*
|
|
200
203
|
* @remarks
|
|
201
204
|
* The raw catalogue behind {@link BlueprintCost.mercCoins}; reach for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{BLUEPRINT_COSTS,BLUEPRINT_MERC_COIN_COSTS,getBlueprintCost,getBlueprintCosts,getBlueprintGradeCost}from"../chunk-
|
|
1
|
+
export{BLUEPRINT_COSTS,BLUEPRINT_MERC_COIN_COSTS,getBlueprintCost,getBlueprintCosts,getBlueprintGradeCost}from"../chunk-MTJ4MS7W.js"; //# sourceMappingURL=blueprint-costs.js.map
|
|
@@ -39,17 +39,18 @@
|
|
|
39
39
|
* unaffected — both spellings of a pair bill the same at every grade, so
|
|
40
40
|
* `getBlueprintCost` needs no module.
|
|
41
41
|
*
|
|
42
|
-
* @param
|
|
43
|
-
* @param
|
|
44
|
-
* trimmed. Colliding journal spellings are resolved against `
|
|
42
|
+
* @param moduleSymbol - A module symbol, e.g. `"Hpt_CloudScanner_Size0_Class5"`.
|
|
43
|
+
* @param blueprintSymbol - A blueprint catalogue or journal id, matched case-insensitively and
|
|
44
|
+
* trimmed. Colliding journal spellings are resolved against `moduleSymbol`.
|
|
45
45
|
* @returns The id to join to `BLUEPRINTS`, in that catalogue's spelling when a journal
|
|
46
|
-
* name resolved, and otherwise `
|
|
46
|
+
* name resolved, and otherwise `blueprintSymbol` exactly as it was passed — byte for byte, so a
|
|
47
47
|
* caller who never meets the collision never sees their own spelling rewritten.
|
|
48
48
|
*
|
|
49
|
-
* @throws {TypeError} If `
|
|
49
|
+
* @throws {TypeError} If `blueprintSymbol` is not a string, including when it is missing — this
|
|
50
50
|
* returns an id rather than reporting whether one is known, so there is no miss for a
|
|
51
|
-
* nullish one to be. A nullish `
|
|
52
|
-
*
|
|
51
|
+
* nullish one to be. A nullish `moduleSymbol` *is* a miss: an unknown module offers no
|
|
52
|
+
* menu,
|
|
53
|
+
* and `blueprintSymbol` comes back unchanged.
|
|
53
54
|
* @example
|
|
54
55
|
* ```ts
|
|
55
56
|
* import { resolveBlueprintForModule } from '@elite-dangerous-almanac/core/ships/blueprint-journal';
|
|
@@ -69,6 +70,6 @@
|
|
|
69
70
|
* // -> 'Weapon_Overcharged'
|
|
70
71
|
* ```
|
|
71
72
|
*/
|
|
72
|
-
declare function resolveBlueprintForModule(
|
|
73
|
+
declare function resolveBlueprintForModule(moduleSymbol: string, blueprintSymbol: string): string;
|
|
73
74
|
|
|
74
75
|
export { resolveBlueprintForModule };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{resolveBlueprintForModule}from"../chunk-
|
|
1
|
+
export{resolveBlueprintForModule}from"../chunk-OLKNYGGT.js"; //# sourceMappingURL=blueprint-journal.js.map
|