@elite-dangerous-almanac/core 0.2.7 → 0.2.9
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/astro/SOURCES.md +13 -12
- package/PROVENANCE/commodities/SOURCES.md +50 -6
- package/PROVENANCE/equipment/SOURCES.md +229 -29
- package/PROVENANCE/i18n/SOURCES.md +328 -73
- package/PROVENANCE/ships/SOURCES.md +352 -216
- package/README.md +30 -7
- package/THIRD_PARTY_NOTICES.md +12 -1
- package/dist/astro/body-rings.d.ts +2 -2
- package/dist/astro/codex-region-lookup.d.ts +1 -1
- package/dist/astro/codex-region-lookup.js +1 -1
- package/dist/astro/hand-authored-regions.d.ts +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-all.d.ts +4 -6
- package/dist/astro/nebulae-all.js +1 -1
- package/dist/astro/nebulae-all.js.map +1 -1
- package/dist/astro/nebulae-planetary.d.ts +4 -5
- package/dist/astro/nebulae-planetary.js +1 -1
- package/dist/astro/nebulae-procgen.d.ts +3 -3
- package/dist/astro/nebulae-real.d.ts +3 -3
- package/dist/astro/nebulae.d.ts +8 -8
- package/dist/astro/permit-locked-regions.d.ts +2 -2
- package/dist/astro/permit-locked-systems.d.ts +1 -1
- package/dist/astro/permit-locks.d.ts +2 -2
- package/dist/astro/procedural-system.d.ts +3 -3
- package/dist/astro/procedural-system.js +1 -1
- package/dist/astro/system-address.d.ts +1 -1
- package/dist/astro/system-address.js +1 -1
- package/dist/astro/system-name.js +1 -1
- package/dist/{chunk-XSLPWM5N.js → chunk-2J6NNI3Y.js} +1 -1
- package/dist/{chunk-DWRNXUAX.js → chunk-2KIZN3BY.js} +1 -1
- package/dist/{chunk-J7BM5NGK.js → chunk-2TY42PTF.js} +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-773VO2GK.js → chunk-4T3TTYUT.js} +1 -1
- package/dist/{chunk-773VO2GK.js.map → chunk-4T3TTYUT.js.map} +1 -1
- package/dist/chunk-7C7NJWCF.js +1 -0
- package/dist/chunk-7C7NJWCF.js.map +1 -0
- package/dist/{chunk-FMA36V6A.js → chunk-7Y5EK2VO.js} +1 -1
- package/dist/{chunk-FMA36V6A.js.map → chunk-7Y5EK2VO.js.map} +1 -1
- package/dist/chunk-AC3U7LRK.js +1 -0
- package/dist/{chunk-MGRDB2BZ.js.map → chunk-AC3U7LRK.js.map} +1 -1
- package/dist/{chunk-BJU27V6C.js → chunk-AUBV6S7V.js} +1 -1
- package/dist/{chunk-BJU27V6C.js.map → chunk-AUBV6S7V.js.map} +1 -1
- package/dist/{chunk-DI5RXSJR.js → chunk-BVLBS2QY.js} +1 -1
- package/dist/{chunk-DI5RXSJR.js.map → chunk-BVLBS2QY.js.map} +1 -1
- package/dist/chunk-C3YZ5KTA.js +1 -0
- package/dist/chunk-C3YZ5KTA.js.map +1 -0
- package/dist/{chunk-6UNAD74Z.js → chunk-C4FUV6GF.js} +1 -1
- package/dist/{chunk-6UNAD74Z.js.map → chunk-C4FUV6GF.js.map} +1 -1
- package/dist/chunk-CEF7SMB2.js +1 -0
- package/dist/chunk-CEF7SMB2.js.map +1 -0
- package/dist/chunk-E2HDF6PJ.js +1 -0
- package/dist/chunk-E2HDF6PJ.js.map +1 -0
- package/dist/{chunk-OFZGNWBT.js → chunk-ETREYN5U.js} +1 -1
- package/dist/{chunk-OFZGNWBT.js.map → chunk-ETREYN5U.js.map} +1 -1
- package/dist/{chunk-KBCA4GEZ.js → chunk-FP2TQJZP.js} +1 -1
- package/dist/{chunk-F7VWRDSL.js → chunk-G7WARJ3X.js} +1 -1
- package/dist/chunk-G7WARJ3X.js.map +1 -0
- package/dist/{chunk-Z4OUB4SJ.js → chunk-GLTCCDN5.js} +1 -1
- package/dist/{chunk-Z4OUB4SJ.js.map → chunk-GLTCCDN5.js.map} +1 -1
- package/dist/chunk-GVNTKCVF.js +1 -0
- package/dist/chunk-GVNTKCVF.js.map +1 -0
- package/dist/{chunk-Q6YDPREF.js → chunk-GZLD7RTK.js} +1 -1
- package/dist/{chunk-Q6YDPREF.js.map → chunk-GZLD7RTK.js.map} +1 -1
- package/dist/chunk-HIJR7DOC.js +1 -0
- package/dist/chunk-HIJR7DOC.js.map +1 -0
- package/dist/{chunk-ETWMPMZP.js → chunk-K5JK3XQB.js} +1 -1
- package/dist/{chunk-GRIK3EDH.js → chunk-KY7KSPU6.js} +1 -1
- package/dist/{chunk-GRIK3EDH.js.map → chunk-KY7KSPU6.js.map} +1 -1
- package/dist/{chunk-EHFHRQEP.js → chunk-M4STXLXO.js} +1 -1
- package/dist/{chunk-EHFHRQEP.js.map → chunk-M4STXLXO.js.map} +1 -1
- package/dist/{chunk-NZXSIHAW.js → chunk-OSMBAFRW.js} +1 -1
- package/dist/{chunk-NZXSIHAW.js.map → chunk-OSMBAFRW.js.map} +1 -1
- package/dist/chunk-PIU24HRN.js +1 -0
- package/dist/chunk-PIU24HRN.js.map +1 -0
- package/dist/{chunk-ELT3FEA4.js → chunk-PKKBYBL4.js} +1 -1
- package/dist/{chunk-ELT3FEA4.js.map → chunk-PKKBYBL4.js.map} +1 -1
- package/dist/{chunk-6HMIF2RJ.js → chunk-Q647OXON.js} +1 -1
- package/dist/{chunk-6HMIF2RJ.js.map → chunk-Q647OXON.js.map} +1 -1
- package/dist/{chunk-BMQM4JBL.js → chunk-QPT2WJYN.js} +1 -1
- package/dist/{chunk-BMQM4JBL.js.map → chunk-QPT2WJYN.js.map} +1 -1
- package/dist/{chunk-A6OINYNP.js → chunk-R2AEZYX7.js} +1 -1
- package/dist/chunk-RA4YJBU5.js +1 -0
- package/dist/chunk-RA4YJBU5.js.map +1 -0
- package/dist/{chunk-MRLUWHGI.js → chunk-RJ3ZLQRB.js} +1 -1
- package/dist/{chunk-MRLUWHGI.js.map → chunk-RJ3ZLQRB.js.map} +1 -1
- package/dist/chunk-SFEQXUIA.js +1 -0
- package/dist/chunk-SIL356HB.js +1 -0
- package/dist/chunk-SIL356HB.js.map +1 -0
- package/dist/chunk-SS7HVNP5.js +1 -0
- package/dist/chunk-SS7HVNP5.js.map +1 -0
- package/dist/chunk-TRGHPX2O.js +1 -0
- package/dist/chunk-TRGHPX2O.js.map +1 -0
- package/dist/{chunk-GMTAFUAG.js → chunk-TYRH73MO.js} +1 -1
- package/dist/{chunk-GMTAFUAG.js.map → chunk-TYRH73MO.js.map} +1 -1
- package/dist/{chunk-7TVFV3VO.js → chunk-U3IRMXMR.js} +1 -1
- package/dist/{chunk-A7IVMYNF.js → chunk-U73MBQ45.js} +1 -1
- package/dist/{chunk-A7IVMYNF.js.map → chunk-U73MBQ45.js.map} +1 -1
- package/dist/{chunk-IZIIGK3W.js → chunk-UE22QU7A.js} +1 -1
- package/dist/{chunk-IZIIGK3W.js.map → chunk-UE22QU7A.js.map} +1 -1
- package/dist/{chunk-DBDCOHI4.js → chunk-UI5RROGI.js} +1 -1
- package/dist/{chunk-DBDCOHI4.js.map → chunk-UI5RROGI.js.map} +1 -1
- package/dist/chunk-URRPEUIK.js +1 -0
- package/dist/{chunk-QJECDMQQ.js.map → chunk-URRPEUIK.js.map} +1 -1
- package/dist/chunk-UTWZZOSA.js +1 -0
- package/dist/chunk-UTWZZOSA.js.map +1 -0
- package/dist/{chunk-ZEN5K3GE.js → chunk-UVX7RCMP.js} +1 -1
- package/dist/{chunk-ZEN5K3GE.js.map → chunk-UVX7RCMP.js.map} +1 -1
- package/dist/{chunk-7ATBEOVC.js → chunk-WG4DPXJI.js} +1 -1
- package/dist/{chunk-XFDMCPDW.js → chunk-WZIBBJHA.js} +1 -1
- package/dist/{chunk-XFDMCPDW.js.map → chunk-WZIBBJHA.js.map} +1 -1
- package/dist/{chunk-7S7ZTZZY.js → chunk-X3MXPE7G.js} +1 -1
- package/dist/{chunk-7S7ZTZZY.js.map → chunk-X3MXPE7G.js.map} +1 -1
- package/dist/{chunk-SD6GNFDX.js → chunk-YBE5M27G.js} +1 -1
- package/dist/{chunk-SD6GNFDX.js.map → chunk-YBE5M27G.js.map} +1 -1
- package/dist/chunk-ZBUTGTZ3.js +1 -0
- package/dist/chunk-ZBUTGTZ3.js.map +1 -0
- package/dist/commodities/commodities-all.d.ts +2 -2
- package/dist/commodities/commodities-all.js +1 -1
- package/dist/commodities/commodities-rare.d.ts +3 -4
- package/dist/commodities/commodities-rare.js +1 -1
- package/dist/commodities/commodities-standard.d.ts +7 -7
- package/dist/commodities/commodities-standard.js +1 -1
- package/dist/commodities/commodities.d.ts +12 -12
- package/dist/commodities/commodities.js +1 -1
- package/dist/commodities/index.js +1 -1
- package/dist/equipment/engineering.d.ts +58 -1
- package/dist/equipment/engineering.js +1 -1
- package/dist/equipment/index.d.ts +14 -3
- package/dist/equipment/index.js +1 -1
- package/dist/equipment/modification-journal.js +1 -1
- package/dist/equipment/modifications.d.ts +43 -11
- package/dist/equipment/modifications.js +1 -1
- package/dist/equipment/suits.d.ts +2 -115
- package/dist/equipment/suits.js +1 -1
- package/dist/equipment/tools.d.ts +102 -0
- package/dist/equipment/tools.js +1 -0
- package/dist/equipment/tools.js.map +1 -0
- package/dist/equipment/upgrade-costs.d.ts +2 -3
- package/dist/equipment/upgrade-costs.js +1 -1
- package/dist/equipment/weapons.d.ts +2 -121
- package/dist/equipment/weapons.js +1 -1
- package/dist/i18n/blueprints.d.ts +2 -3
- package/dist/i18n/blueprints.js +1 -1
- package/dist/i18n/commodities.d.ts +36 -0
- package/dist/i18n/commodities.js +1 -0
- package/dist/i18n/commodities.js.map +1 -0
- package/dist/i18n/experimental-effect-descriptions.d.ts +5 -6
- package/dist/i18n/experimental-effect-descriptions.js +1 -1
- package/dist/i18n/experimental-effects.d.ts +2 -3
- package/dist/i18n/experimental-effects.js +1 -1
- package/dist/i18n/index.d.ts +87 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/materials.d.ts +2 -4
- package/dist/i18n/materials.js +1 -1
- package/dist/i18n/micro-resources.d.ts +2 -4
- package/dist/i18n/micro-resources.js +1 -1
- package/dist/i18n/module-families.d.ts +3 -5
- package/dist/i18n/module-families.js +1 -1
- package/dist/i18n/modules.d.ts +3 -6
- package/dist/i18n/modules.js +1 -1
- package/dist/i18n/personal-modifications.d.ts +66 -0
- package/dist/i18n/personal-modifications.js +1 -0
- package/dist/i18n/personal-modifications.js.map +1 -0
- package/dist/i18n/personal-tools.d.ts +33 -0
- package/dist/i18n/personal-tools.js +1 -0
- package/dist/i18n/personal-tools.js.map +1 -0
- package/dist/i18n/personal-weapons.d.ts +32 -0
- package/dist/i18n/personal-weapons.js +1 -0
- package/dist/i18n/personal-weapons.js.map +1 -0
- package/dist/i18n/pre-engineered.d.ts +1 -1
- package/dist/i18n/slots.d.ts +2 -2
- package/dist/i18n/suits.d.ts +89 -0
- package/dist/i18n/suits.js +1 -0
- package/dist/i18n/suits.js.map +1 -0
- package/dist/materials/index.d.ts +4 -3
- package/dist/materials/index.js +1 -1
- package/dist/materials/materials-all.d.ts +2 -2
- package/dist/materials/materials-all.js +1 -1
- package/dist/materials/materials-raw.d.ts +3 -4
- package/dist/materials/materials-raw.js +1 -1
- package/dist/materials/materials.d.ts +18 -15
- package/dist/materials/materials.js +1 -1
- package/dist/materials/micro-resources-all.d.ts +2 -2
- package/dist/materials/micro-resources-all.js +1 -1
- package/dist/materials/micro-resources-component.d.ts +2 -2
- package/dist/materials/micro-resources-consumable.d.ts +2 -2
- package/dist/materials/micro-resources-data.d.ts +2 -2
- package/dist/materials/micro-resources-item.d.ts +2 -2
- package/dist/materials/micro-resources.d.ts +17 -14
- package/dist/materials/micro-resources.js +1 -1
- package/dist/ships/ammunition.d.ts +4 -4
- package/dist/ships/blueprint-costs.d.ts +13 -13
- package/dist/ships/blueprint-costs.js +1 -1
- package/dist/ships/blueprint-journal.d.ts +3 -3
- package/dist/ships/blueprint-journal.js +1 -1
- package/dist/ships/blueprints.d.ts +3 -3
- package/dist/ships/build-metrics.d.ts +2 -1
- package/dist/ships/build-metrics.js +1 -1
- package/dist/ships/default-loadouts.d.ts +2 -3
- package/dist/ships/default-loadouts.js +1 -1
- package/dist/ships/engineering-options.d.ts +29 -32
- package/dist/ships/engineering-options.js +1 -1
- package/dist/ships/engineering.d.ts +1 -2
- package/dist/ships/engineering.js +1 -1
- package/dist/ships/experimental-effect-costs.d.ts +1 -1
- package/dist/ships/gunsights.d.ts +3 -3
- package/dist/ships/heat.d.ts +1 -1
- package/dist/ships/index.d.ts +4 -5
- package/dist/ships/index.js +1 -1
- package/dist/ships/loadout-validation.d.ts +8 -3
- package/dist/ships/loadout-validation.js +1 -1
- package/dist/ships/module-families.d.ts +1 -1
- package/dist/ships/modules-all.d.ts +2 -3
- package/dist/ships/modules-all.js +1 -1
- package/dist/ships/modules-core.d.ts +3 -3
- package/dist/ships/modules-hardpoint.d.ts +4 -5
- package/dist/ships/modules-hardpoint.js +1 -1
- package/dist/ships/modules-internal.d.ts +19 -9
- package/dist/ships/modules-internal.js +1 -1
- package/dist/ships/modules-utility.d.ts +3 -4
- package/dist/ships/modules-utility.js +1 -1
- package/dist/ships/modules.d.ts +31 -25
- package/dist/ships/modules.js +1 -1
- package/dist/ships/pre-engineered-stats.d.ts +1 -1
- package/dist/ships/pre-engineered-stats.js +1 -1
- package/dist/ships/pre-engineered.d.ts +9 -10
- package/dist/ships/pre-engineered.js +1 -1
- package/dist/ships/ship-loadout.d.ts +13 -7
- package/dist/ships/ship-loadout.js +1 -1
- package/dist/ships/ships.d.ts +1 -2
- package/dist/ships/ships.js +1 -1
- package/dist/ships/slots.d.ts +5 -5
- package/dist/suits-B37rAORs.d.ts +414 -0
- package/dist/{system-address-cyJaeZIS.d.ts → system-address-DmzXRD48.d.ts} +6 -4
- package/package.json +25 -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-6GJHUWMO.js.map +0 -1
- package/dist/chunk-77TT4K53.js +0 -1
- package/dist/chunk-B7EYTZRK.js +0 -1
- package/dist/chunk-B7EYTZRK.js.map +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-QJECDMQQ.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-XSLPWM5N.js.map → chunk-2J6NNI3Y.js.map} +0 -0
- /package/dist/{chunk-DWRNXUAX.js.map → chunk-2KIZN3BY.js.map} +0 -0
- /package/dist/{chunk-J7BM5NGK.js.map → chunk-2TY42PTF.js.map} +0 -0
- /package/dist/{chunk-KBCA4GEZ.js.map → chunk-FP2TQJZP.js.map} +0 -0
- /package/dist/{chunk-ETWMPMZP.js.map → chunk-K5JK3XQB.js.map} +0 -0
- /package/dist/{chunk-A6OINYNP.js.map → chunk-R2AEZYX7.js.map} +0 -0
- /package/dist/{chunk-77TT4K53.js.map → chunk-SFEQXUIA.js.map} +0 -0
- /package/dist/{chunk-7TVFV3VO.js.map → chunk-U3IRMXMR.js.map} +0 -0
- /package/dist/{chunk-7ATBEOVC.js.map → chunk-WG4DPXJI.js.map} +0 -0
|
@@ -1,121 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Odyssey handheld weapons, their journal identifiers and grade-dependent damage.
|
|
5
|
-
*
|
|
6
|
-
* @packageDocumentation
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
/** A weapon manufacturer's shared Pioneer grade-upgrade recipe. */
|
|
10
|
-
type WeaponUpgradeGroup = 'karma' | 'takada' | 'manticore';
|
|
11
|
-
/** Technology suffix used to disambiguate personal-weapon modification recipes. */
|
|
12
|
-
type PersonalWeaponEngineeringType = 'kinetic' | 'laser' | 'plasma';
|
|
13
|
-
/** A handheld weapon's form factor. */
|
|
14
|
-
type PersonalWeaponClass = 'pistol' | 'carbine' | 'rifle' | 'shotgun' | 'sniper' | 'launcher';
|
|
15
|
-
/** Which suit weapon slot accepts the weapon. */
|
|
16
|
-
type PersonalWeaponSlot = 'primary' | 'secondary';
|
|
17
|
-
/** The damage family relevant to resistances and some modification recipes. */
|
|
18
|
-
type PersonalDamageType = 'kinetic' | 'thermal' | 'plasma' | 'explosive';
|
|
19
|
-
/** A handheld weapon firing cycle. */
|
|
20
|
-
type PersonalFireMode = 'automatic' | 'semi-automatic' | 'burst';
|
|
21
|
-
/** Grade-dependent stats for one handheld weapon. */
|
|
22
|
-
interface PersonalWeaponGrade {
|
|
23
|
-
/** Damage per projectile or pellet. */
|
|
24
|
-
readonly damage: number;
|
|
25
|
-
/** Permanent engineering-modification slots available, from `0` through `4`. */
|
|
26
|
-
readonly modificationSlots: number;
|
|
27
|
-
}
|
|
28
|
-
/** One handheld weapon sold by Pioneer Supplies. */
|
|
29
|
-
interface PersonalWeapon {
|
|
30
|
-
/** Frontier item id reported by journal loadout events. */
|
|
31
|
-
readonly symbol: string;
|
|
32
|
-
/** English display name. */
|
|
33
|
-
readonly name: string;
|
|
34
|
-
/** Manufacturer recipe family used for grade upgrades. */
|
|
35
|
-
readonly upgradeGroup: WeaponUpgradeGroup;
|
|
36
|
-
/** Recipe suffix used when the journal omits a modification's weapon technology. */
|
|
37
|
-
readonly engineeringType: PersonalWeaponEngineeringType;
|
|
38
|
-
/** Weapon form factor. */
|
|
39
|
-
readonly class: PersonalWeaponClass;
|
|
40
|
-
/** Suit slot this weapon occupies. */
|
|
41
|
-
readonly slot: PersonalWeaponSlot;
|
|
42
|
-
/** Base damage family. */
|
|
43
|
-
readonly damageType: PersonalDamageType;
|
|
44
|
-
/** Firing cycle. */
|
|
45
|
-
readonly fireMode: PersonalFireMode;
|
|
46
|
-
/** Shots per second. */
|
|
47
|
-
readonly rateOfFire: number;
|
|
48
|
-
/** Rounds loaded in one magazine. */
|
|
49
|
-
readonly magazineSize: number;
|
|
50
|
-
/** Spare rounds carried before suit-capacity changes. */
|
|
51
|
-
readonly reserveAmmo: number;
|
|
52
|
-
/** Headshot damage multiplier (`2` means 200%). */
|
|
53
|
-
readonly headshotMultiplier: number;
|
|
54
|
-
/** Nominal effective range in metres. */
|
|
55
|
-
readonly effectiveRange: number;
|
|
56
|
-
/**
|
|
57
|
-
* Grade records keyed by `"1"` through `"5"` — every weapon carries all five,
|
|
58
|
-
* unlike {@link Suit.grades}, and `equipment.test.ts` pins that. Read one through
|
|
59
|
-
* {@link getPersonalWeaponGrade} to get the same nullable answer suits give.
|
|
60
|
-
*/
|
|
61
|
-
readonly grades: Readonly<Record<`${EquipmentGrade}`, PersonalWeaponGrade>>;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* All eleven handheld weapons in catalogue order.
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```ts
|
|
68
|
-
* import { PERSONAL_WEAPONS } from '@elite-dangerous-almanac/core/equipment/weapons';
|
|
69
|
-
* PERSONAL_WEAPONS.length; // -> 11
|
|
70
|
-
* ```
|
|
71
|
-
*/
|
|
72
|
-
declare const PERSONAL_WEAPONS: readonly PersonalWeapon[];
|
|
73
|
-
/**
|
|
74
|
-
* Look up a handheld weapon by its Frontier journal symbol, case-insensitively.
|
|
75
|
-
*
|
|
76
|
-
* @param symbol - Journal item id such as `"wpn_m_assaultrifle_kinetic_fauto"`,
|
|
77
|
-
* matched case-insensitively after trimming surrounding whitespace.
|
|
78
|
-
* @returns The frozen weapon record, or `null` when unknown.
|
|
79
|
-
* @throws {TypeError} If `symbol` is present and not a string. A nullish symbol is a
|
|
80
|
-
* miss, answered like an unrecognised one.
|
|
81
|
-
* @example
|
|
82
|
-
* ```ts
|
|
83
|
-
* import { getPersonalWeaponBySymbol } from '@elite-dangerous-almanac/core/equipment/weapons';
|
|
84
|
-
* getPersonalWeaponBySymbol('wpn_m_assaultrifle_kinetic_fauto')?.name; // -> 'Karma AR-50'
|
|
85
|
-
* ```
|
|
86
|
-
*/
|
|
87
|
-
declare function getPersonalWeaponBySymbol(symbol: string): PersonalWeapon | null;
|
|
88
|
-
/**
|
|
89
|
-
* Look up a handheld weapon by display name, case-insensitively.
|
|
90
|
-
*
|
|
91
|
-
* @param name - English display name such as `"Karma AR-50"`; surrounding
|
|
92
|
-
* whitespace is ignored.
|
|
93
|
-
* @returns The frozen weapon record, or `null` when unknown.
|
|
94
|
-
* @throws {TypeError} If `name` is present and not a string. A nullish name is a miss,
|
|
95
|
-
* answered like an unrecognised one.
|
|
96
|
-
* @example
|
|
97
|
-
* ```ts
|
|
98
|
-
* import { getPersonalWeaponByName } from '@elite-dangerous-almanac/core/equipment/weapons';
|
|
99
|
-
* getPersonalWeaponByName('Karma AR-50')?.symbol; // -> 'wpn_m_assaultrifle_kinetic_fauto'
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
declare function getPersonalWeaponByName(name: string): PersonalWeapon | null;
|
|
103
|
-
/**
|
|
104
|
-
* Read one handheld weapon's stats at a grade.
|
|
105
|
-
*
|
|
106
|
-
* @param weapon - A catalogue weapon record.
|
|
107
|
-
* @param grade - Integer grade `1`–`5`.
|
|
108
|
-
* @returns The frozen grade record, or `null` when the record carries no such grade.
|
|
109
|
-
* Every catalogued weapon carries all five, so the `null` is the same promise
|
|
110
|
-
* {@link getSuitGrade} makes rather than an outcome the shipped catalogue produces —
|
|
111
|
-
* write the two the same way and neither can surprise you.
|
|
112
|
-
* @throws {RangeError} If `grade` is not an integer from 1 through 5.
|
|
113
|
-
* @example
|
|
114
|
-
* ```ts
|
|
115
|
-
* import { PERSONAL_WEAPONS, getPersonalWeaponGrade } from '@elite-dangerous-almanac/core/equipment/weapons';
|
|
116
|
-
* getPersonalWeaponGrade(PERSONAL_WEAPONS[0]!, 5)?.modificationSlots; // -> 4
|
|
117
|
-
* ```
|
|
118
|
-
*/
|
|
119
|
-
declare function getPersonalWeaponGrade(weapon: PersonalWeapon, grade: number): PersonalWeaponGrade | null;
|
|
120
|
-
|
|
121
|
-
export { PERSONAL_WEAPONS, type PersonalDamageType, type PersonalFireMode, type PersonalWeapon, type PersonalWeaponClass, type PersonalWeaponEngineeringType, type PersonalWeaponGrade, type PersonalWeaponSlot, type WeaponUpgradeGroup, getPersonalWeaponByName, getPersonalWeaponBySymbol, getPersonalWeaponGrade };
|
|
1
|
+
import './engineering.js';
|
|
2
|
+
export { P as PERSONAL_WEAPONS, a as PersonalDamageType, b as PersonalFireMode, e as PersonalWeapon, f as PersonalWeaponClass, g as PersonalWeaponEngineeringType, h as PersonalWeaponGrade, i as PersonalWeaponMetrics, j as PersonalWeaponSlot, R as ReloadTime, k as ScopeMagnification, W as WeaponUpgradeGroup, n as getPersonalWeaponByName, o as getPersonalWeaponBySymbol, p as getPersonalWeaponGrade, u as personalWeaponMetrics } from '../suits-B37rAORs.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{PERSONAL_WEAPONS,getPersonalWeaponByName,getPersonalWeaponBySymbol,getPersonalWeaponGrade}from"../chunk-
|
|
1
|
+
export{PERSONAL_WEAPONS,getPersonalWeaponByName,getPersonalWeaponBySymbol,getPersonalWeaponGrade,personalWeaponMetrics}from"../chunk-PIU24HRN.js"; //# sourceMappingURL=weapons.js.map
|
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @param blueprintSymbol - Frontier's blueprint id, such as `"FSD_LongRange"`. Matching ignores
|
|
6
6
|
* case and surrounding whitespace.
|
|
7
|
-
* @param locale - A BCP 47 language or regional tag, such as `"de"
|
|
8
|
-
*
|
|
9
|
-
* hyphens. A regional tag falls back to its language after an exact-locale miss.
|
|
7
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
8
|
+
* {@link GameLocale} for how a tag is matched.
|
|
10
9
|
* @returns The localized blueprint name; the canonical `Blueprint.name` for any English
|
|
11
10
|
* tag; or `null` when the id is unknown, the locale is
|
|
12
11
|
* unsupported, or the pinned source carries no value for that blueprint and locale.
|
package/dist/i18n/blueprints.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getBlueprintName}from"../chunk-
|
|
1
|
+
export{getBlueprintName}from"../chunk-UI5RROGI.js"; //# sourceMappingURL=blueprints.js.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Localized market-commodity display names, isolated from commodity metadata. */
|
|
2
|
+
/**
|
|
3
|
+
* Look up a market commodity's source-backed display name for a locale.
|
|
4
|
+
*
|
|
5
|
+
* @param symbol - Frontier's commodity symbol, such as `"LavianBrandy"`. Matching
|
|
6
|
+
* ignores case and surrounding whitespace, so the lower-cased form a market or journal
|
|
7
|
+
* line reports resolves too.
|
|
8
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
9
|
+
* {@link GameLocale} for how a tag is matched.
|
|
10
|
+
* @returns The localized commodity name; the canonical `Commodity.name` for any English
|
|
11
|
+
* tag; or `null` when the symbol is unknown or the locale is not one of the six this
|
|
12
|
+
* catalogue stores.
|
|
13
|
+
* @remarks
|
|
14
|
+
* Standard and rare commodities share this one lookup, as they share one symbol space.
|
|
15
|
+
* All six stored locales are complete for this dataset, so a supported locale always
|
|
16
|
+
* answers. This function bundles names only, not categories or the `rare` flag.
|
|
17
|
+
*
|
|
18
|
+
* **This is a heavy `i18n` dataset**: six locales for every good in both commodity
|
|
19
|
+
* catalogues is ~101 KiB minified (~27 KiB gzipped). It has its own module so an application that
|
|
20
|
+
* never shows a translated commodity name does not pay for it — import it from
|
|
21
|
+
* `core/i18n/commodities` rather than the `core/i18n` barrel if you want that boundary
|
|
22
|
+
* to be explicit.
|
|
23
|
+
* @throws {TypeError} If `symbol` is present and not a string, or `locale` is not a
|
|
24
|
+
* string. A nullish `symbol` is a lookup miss and returns `null`.
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* import { getCommodityName } from '@elite-dangerous-almanac/core/i18n/commodities';
|
|
28
|
+
*
|
|
29
|
+
* getCommodityName('LavianBrandy', 'de-DE'); // -> 'Lave-Brandy'
|
|
30
|
+
* getCommodityName('platinum', 'ru'); // -> 'Платина'
|
|
31
|
+
* getCommodityName('platinum', 'it'); // -> null
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
declare function getCommodityName(symbol: string, locale: string): string | null;
|
|
35
|
+
|
|
36
|
+
export { getCommodityName };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{getCommodityName}from"../chunk-TRGHPX2O.js"; //# sourceMappingURL=commodities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"O"}
|
|
@@ -9,12 +9,11 @@
|
|
|
9
9
|
* question — it names the damage split or behaviour the `modifiers` list cannot
|
|
10
10
|
* express — and the two are deliberately not the same string.
|
|
11
11
|
*
|
|
12
|
-
* **This is
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* you want that boundary to be explicit.
|
|
12
|
+
* **This is a heavy `i18n` dataset**: six locales of prose for every effect is ~129 KiB
|
|
13
|
+
* minified (~25 KiB gzipped), more than module names cost. It has its own module so an
|
|
14
|
+
* application that never shows an effect description does not pay for it — import it
|
|
15
|
+
* from `core/i18n/experimental-effect-descriptions` rather than the `core/i18n` barrel
|
|
16
|
+
* if you want that boundary to be explicit.
|
|
18
17
|
*
|
|
19
18
|
* @param experimentalEffectSymbol - Frontier's experimental-effect id. Matching ignores case and
|
|
20
19
|
* surrounding whitespace.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getExperimentalEffectDescription}from"../chunk-
|
|
1
|
+
export{getExperimentalEffectDescription}from"../chunk-RJ3ZLQRB.js"; //# sourceMappingURL=experimental-effect-descriptions.js.map
|
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @param experimentalEffectSymbol - Frontier's experimental-effect id, such as
|
|
6
6
|
* `"special_concordant_sequence"`. Matching ignores case and surrounding whitespace.
|
|
7
|
-
* @param locale - A BCP 47 language or regional tag, such as `"de"
|
|
8
|
-
*
|
|
9
|
-
* hyphens. A regional tag falls back to its language after an exact-locale miss.
|
|
7
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
8
|
+
* {@link GameLocale} for how a tag is matched.
|
|
10
9
|
* @returns The localized effect name; the canonical `ExperimentalEffect.name` for any
|
|
11
10
|
* English tag; or `null` when
|
|
12
11
|
* the id is unknown, the locale is unsupported, or the pinned source carries no value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getExperimentalEffectName}from"../chunk-
|
|
1
|
+
export{getExperimentalEffectName}from"../chunk-QPT2WJYN.js"; //# sourceMappingURL=experimental-effects.js.map
|
package/dist/i18n/index.d.ts
CHANGED
|
@@ -1,13 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sparse, source-backed localized display names and descriptions for Elite Dangerous
|
|
3
|
+
* outfitting, personal-equipment, engineering, material and market-commodity
|
|
4
|
+
* catalogues.
|
|
5
|
+
*
|
|
6
|
+
* Each lookup takes the identifier its owning catalogue is keyed by — a Frontier symbol,
|
|
7
|
+
* or the library id where the game publishes none, as for a suit tool — and a BCP 47
|
|
8
|
+
* locale. English is complete: for a name catalogue it is exactly the owning record's
|
|
9
|
+
* `name`, and for a description catalogue it is the game's own display prose, which no
|
|
10
|
+
* catalogue otherwise publishes.
|
|
11
|
+
* Other locales are intentionally sparse: the function returns `null` when its pinned
|
|
12
|
+
* sources carry no translation, leaving the application in control of fallback policy.
|
|
13
|
+
* A source-backed localized spelling can be identical to English; the lookup returns
|
|
14
|
+
* explicit source values verbatim but never manufactures an English fallback.
|
|
15
|
+
* The catalogues carry English, French, German, Portuguese, Russian and Spanish only,
|
|
16
|
+
* each stored under a bare language tag: a regional or script subtag is dropped
|
|
17
|
+
* (`de-DE` → `de`), and any other language is an unsupported locale.
|
|
18
|
+
*
|
|
19
|
+
* **How sparse, dataset by dataset.** Each column below is the percentage of that
|
|
20
|
+
* lookup's keys carrying a stored value for the locale, so a `0` would mean the dataset
|
|
21
|
+
* holds nothing in that language at all and the lookup returns `null` for every key:
|
|
22
|
+
* most datasets are complete in every locale, while the outfitting families the game
|
|
23
|
+
* does not name separately have no locale at all. Plan fallback per
|
|
24
|
+
* lookup rather than per application. The table is generated from the
|
|
25
|
+
* [`data/i18n/` catalogues](https://github.com/DarkSession/Elite-Dangerous-Almanac/tree/main/data/i18n),
|
|
26
|
+
* so it moves when the data does.
|
|
27
|
+
*
|
|
28
|
+
* <!-- generated by scripts/i18n-coverage.mjs -->
|
|
29
|
+
* | Lookup | Keys | en | de | es | fr | pt | ru |
|
|
30
|
+
* | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
|
|
31
|
+
* | `getBlueprintName` | 107 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
32
|
+
* | `getCommodityName` | 412 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
33
|
+
* | `getExperimentalEffectDescription` | 86 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
34
|
+
* | `getExperimentalEffectName` | 86 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
35
|
+
* | `getMaterialName` | 146 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
36
|
+
* | `getMicroResourceName` | 226 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
37
|
+
* | `getModuleName` | 1203 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
38
|
+
* | `getPersonalModificationDescription` | 31 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
39
|
+
* | `getPersonalModificationName` | 31 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
40
|
+
* | `getPersonalToolName` | 4 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
41
|
+
* | `getPersonalWeaponDescription` | 11 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
42
|
+
* | `getSuitDescription` | 19 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
43
|
+
* | `getSuitName` | 19 | 100 | 100 | 100 | 100 | 100 | 100 |
|
|
44
|
+
* | `getPreEngineeredVariantName` | 76 | 100 | 92 | 89 | 89 | 100 | 100 |
|
|
45
|
+
* | `getOutfittingFamilyName` | 77 | 100 | 75 | 75 | 75 | 75 | 75 |
|
|
46
|
+
* <!-- end generated -->
|
|
47
|
+
*
|
|
48
|
+
* Each dataset lives in a separate runtime module. Import from this barrel for
|
|
49
|
+
* convenience or from the corresponding `i18n/*` subpath for an explicit bundle
|
|
50
|
+
* boundary.
|
|
51
|
+
*
|
|
52
|
+
* Structured diagnostic helpers expose their English fallback only for English
|
|
53
|
+
* locales and return `null` otherwise, so a UI never mistakes English prose for a
|
|
54
|
+
* requested translation. Stable codes and `params` remain available for applications
|
|
55
|
+
* that supply their own message catalogues.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* import {
|
|
60
|
+
* getBlueprintName,
|
|
61
|
+
* getMaterialName,
|
|
62
|
+
* getModuleName,
|
|
63
|
+
* getOutfittingFamilyName,
|
|
64
|
+
* } from '@elite-dangerous-almanac/core/i18n';
|
|
65
|
+
*
|
|
66
|
+
* getModuleName('Int_Hyperdrive_Size6_Class5', 'de'); // -> 'Frameshiftantrieb'
|
|
67
|
+
* getBlueprintName('FSD_LongRange', 'de-DE'); // -> 'Erhöhte FSA-Reichweite'
|
|
68
|
+
* getMaterialName('GridResistors', 'de'); // -> 'Gitterwiderstände'
|
|
69
|
+
*
|
|
70
|
+
* // Sparseness is per dataset, not per locale: German module names are complete,
|
|
71
|
+
* // while no outfitting family the game does not name separately has any.
|
|
72
|
+
* getOutfittingFamilyName('shieldGenerators', 'de'); // -> 'Schildgeneratoren'
|
|
73
|
+
* getOutfittingFamilyName('xenoScanners', 'de'); // -> null
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @packageDocumentation
|
|
77
|
+
*/
|
|
1
78
|
export { getModuleName } from './modules.js';
|
|
2
79
|
export { getOutfittingFamilyName } from './module-families.js';
|
|
3
80
|
export { getBlueprintName } from './blueprints.js';
|
|
4
81
|
export { getExperimentalEffectName } from './experimental-effects.js';
|
|
5
82
|
export { getExperimentalEffectDescription } from './experimental-effect-descriptions.js';
|
|
83
|
+
export { getCommodityName } from './commodities.js';
|
|
6
84
|
export { getMaterialName } from './materials.js';
|
|
7
85
|
export { getMicroResourceName } from './micro-resources.js';
|
|
86
|
+
export { getPersonalMountName, getSuitDescription, getSuitName } from './suits.js';
|
|
87
|
+
export { getPersonalToolName } from './personal-tools.js';
|
|
88
|
+
export { getPersonalWeaponDescription } from './personal-weapons.js';
|
|
89
|
+
export { getPersonalModificationDescription, getPersonalModificationName } from './personal-modifications.js';
|
|
8
90
|
export { getLoadoutSlotName, getSlotRestrictionLabel } from './slots.js';
|
|
9
91
|
export { getCalculationIssueMessage, getLoadoutEditErrorMessage, getLoadoutIssueMessage, getSlefDiagnosticMessage } from './diagnostics.js';
|
|
10
92
|
export { PreEngineeredVariantIdentity, getPreEngineeredVariantName } from './pre-engineered.js';
|
|
93
|
+
import '../suits-B37rAORs.js';
|
|
94
|
+
import '../equipment/engineering.js';
|
|
11
95
|
import '../ships/slots.js';
|
|
12
96
|
import '../ships/loadout-calculations.js';
|
|
13
97
|
import '../ships/loadout-validation.js';
|
|
@@ -28,7 +112,9 @@ import '../ships/source-purchase.js';
|
|
|
28
112
|
* Almanac. Every other locale is sparse and source-dependent. A lookup accepts any
|
|
29
113
|
* string rather than only this union so callers can pass their application locale
|
|
30
114
|
* directly: a regional tag such as `de-DE` falls back to `de`, while an unsupported tag
|
|
31
|
-
* or a missing translation returns `null`.
|
|
115
|
+
* or a missing translation returns `null`. Matching is case-insensitive and accepts an
|
|
116
|
+
* underscore in place of a hyphen; a regional or script subtag is dropped rather than
|
|
117
|
+
* matched, since every stored locale is a bare language tag.
|
|
32
118
|
* A source may explicitly publish a localized value whose spelling equals the canonical
|
|
33
119
|
* English name. Lookups return that source value verbatim; they never generate an
|
|
34
120
|
* English fallback for a missing locale.
|
package/dist/i18n/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{getPersonalModificationDescription,getPersonalModificationName}from"../chunk-SS7HVNP5.js";export{getPersonalToolName}from"../chunk-E2HDF6PJ.js";export{getPersonalWeaponDescription}from"../chunk-7C7NJWCF.js";export{getPreEngineeredVariantName}from"../chunk-T7IQHFQ2.js";export{getLoadoutSlotName,getSlotRestrictionLabel}from"../chunk-ZRG35JSH.js"; export{getPersonalMountName,getSuitDescription,getSuitName}from"../chunk-RA4YJBU5.js";export{getCalculationIssueMessage,getLoadoutEditErrorMessage,getLoadoutIssueMessage,getSlefDiagnosticMessage}from"../chunk-6G6TYW2D.js";export{getExperimentalEffectDescription}from"../chunk-RJ3ZLQRB.js";export{getExperimentalEffectName}from"../chunk-QPT2WJYN.js";export{getMaterialName}from"../chunk-UE22QU7A.js";export{getMicroResourceName}from"../chunk-WZIBBJHA.js";export{getOutfittingFamilyName}from"../chunk-YBE5M27G.js";export{getModuleName}from"../chunk-URRPEUIK.js";export{getBlueprintName}from"../chunk-UI5RROGI.js";export{getCommodityName}from"../chunk-TRGHPX2O.js"; //# sourceMappingURL=index.js.map
|
package/dist/i18n/materials.d.ts
CHANGED
|
@@ -4,10 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @param symbol - Frontier's material symbol, such as `"GridResistors"`. Matching
|
|
6
6
|
* ignores case and surrounding whitespace.
|
|
7
|
-
* @param locale - A BCP 47 language or regional tag, such as `"de"
|
|
8
|
-
*
|
|
9
|
-
* hyphens. A regional or script subtag is dropped: every stored locale is a bare
|
|
10
|
-
* language tag.
|
|
7
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
8
|
+
* {@link GameLocale} for how a tag is matched.
|
|
11
9
|
* @returns The localized material name; the canonical `Material.name` for any English
|
|
12
10
|
* tag; or `null` when the symbol is unknown or the locale is not one of the six this
|
|
13
11
|
* catalogue stores.
|
package/dist/i18n/materials.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getMaterialName}from"../chunk-
|
|
1
|
+
export{getMaterialName}from"../chunk-UE22QU7A.js"; //# sourceMappingURL=materials.js.map
|
|
@@ -4,10 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @param symbol - Frontier's micro-resource symbol, such as `"graphene"`. Matching
|
|
6
6
|
* ignores case and surrounding whitespace.
|
|
7
|
-
* @param locale - A BCP 47 language or regional tag, such as `"de"
|
|
8
|
-
*
|
|
9
|
-
* hyphens. A regional or script subtag is dropped: every stored locale is a bare
|
|
10
|
-
* language tag.
|
|
7
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
8
|
+
* {@link GameLocale} for how a tag is matched.
|
|
11
9
|
* @returns The localized micro-resource name; the canonical `MicroResource.name` for
|
|
12
10
|
* any English tag; or `null` when the symbol is unknown or the locale is not one of the
|
|
13
11
|
* six this catalogue stores.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getMicroResourceName}from"../chunk-
|
|
1
|
+
export{getMicroResourceName}from"../chunk-WZIBBJHA.js"; //# sourceMappingURL=micro-resources.js.map
|
|
@@ -4,17 +4,15 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @param familyId - The stable family id carried by `OutfittingModuleIdentity.familyId`,
|
|
6
6
|
* such as `"shieldGenerators"`. Matching ignores case and surrounding whitespace.
|
|
7
|
-
* @param locale - A BCP 47 language or regional tag, such as `"de"
|
|
8
|
-
*
|
|
9
|
-
* hyphens. A regional or script subtag is dropped: every stored locale is a bare
|
|
10
|
-
* language tag.
|
|
7
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
8
|
+
* {@link GameLocale} for how a tag is matched.
|
|
11
9
|
* @returns The localized family name; the canonical `OUTFITTING_FAMILIES` name for any
|
|
12
10
|
* English tag; or `null` when the family is unknown, the locale is unsupported, or the
|
|
13
11
|
* pinned source carries no category label for that family and locale.
|
|
14
12
|
* @remarks
|
|
15
13
|
* Every module carries a family, so an outfitting list can group and label every choice
|
|
16
14
|
* `ShipLoadout.modulesForSlot()` returns from this lookup alone. The table bundles no
|
|
17
|
-
* module stats. Missing translations never silently fall back to English:
|
|
15
|
+
* module stats. Missing translations never silently fall back to English: some
|
|
18
16
|
* families have no source-backed label in any locale, tracked by
|
|
19
17
|
* [#320](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/320).
|
|
20
18
|
* @throws {TypeError} If `familyId` is present and not a string, or `locale` is not a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getOutfittingFamilyName}from"../chunk-
|
|
1
|
+
export{getOutfittingFamilyName}from"../chunk-YBE5M27G.js"; //# sourceMappingURL=module-families.js.map
|
package/dist/i18n/modules.d.ts
CHANGED
|
@@ -4,10 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @param symbol - Frontier's module symbol, such as `"Int_Hyperdrive_Size6_Class5"`.
|
|
6
6
|
* Matching ignores case and surrounding whitespace.
|
|
7
|
-
* @param locale - A BCP 47 language or regional tag, such as `"de"
|
|
8
|
-
*
|
|
9
|
-
* hyphens. A regional or script subtag is dropped: every stored locale is a bare
|
|
10
|
-
* language tag.
|
|
7
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
8
|
+
* {@link GameLocale} for how a tag is matched.
|
|
11
9
|
* @returns The localized outfitting name; the canonical `OutfittingModule.name` for any
|
|
12
10
|
* English tag; or `null` when the symbol is unknown or the locale is not one of the six
|
|
13
11
|
* this catalogue stores.
|
|
@@ -16,8 +14,7 @@
|
|
|
16
14
|
* answers. The table deduplicates modules that share one name in every locale, which is
|
|
17
15
|
* finer than sharing one canonical English name: the game distinguishes the singular and
|
|
18
16
|
* plural hull alloys, for instance, where English spells both the same. It does not
|
|
19
|
-
* bundle any module stats, so this lookup avoids the
|
|
20
|
-
* catalogue.
|
|
17
|
+
* bundle any module stats, so this lookup avoids the `ALL_MODULES` catalogue.
|
|
21
18
|
* @throws {TypeError} If `symbol` is present and not a string, or `locale` is not a
|
|
22
19
|
* string. A nullish `symbol` is a lookup miss and returns `null`.
|
|
23
20
|
* @example
|
package/dist/i18n/modules.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getModuleName}from"../chunk-
|
|
1
|
+
export{getModuleName}from"../chunk-URRPEUIK.js"; //# sourceMappingURL=modules.js.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Localized personal-equipment modification names and descriptions, isolated from the
|
|
3
|
+
* recipes' modifiers and material costs.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Look up an engineer-applied personal-equipment modification's source-backed display
|
|
7
|
+
* name for a locale.
|
|
8
|
+
*
|
|
9
|
+
* @param modificationSymbol - The recipe symbol `PERSONAL_MODIFICATIONS` is keyed by,
|
|
10
|
+
* such as `"suit_increasedmeleedamage"` or the technology-specific
|
|
11
|
+
* `"weapon_range_laser"`. A journal line writes the unsuffixed `"weapon_range"`, which
|
|
12
|
+
* `resolvePersonalModificationForWeapon` turns into the specific symbol. Matching
|
|
13
|
+
* ignores case and surrounding whitespace.
|
|
14
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
15
|
+
* {@link GameLocale} for how a tag is matched.
|
|
16
|
+
* @returns The localized modification name; the canonical `PersonalModification.name`
|
|
17
|
+
* for any English tag; or `null` when the recipe is unknown or the locale is not one of
|
|
18
|
+
* the six this catalogue stores.
|
|
19
|
+
* @remarks
|
|
20
|
+
* All six stored locales are complete for this dataset, so a supported locale always
|
|
21
|
+
* answers. The game offers Greater Range, Headshot Damage and Improved Hip Fire Accuracy
|
|
22
|
+
* as one menu entry each, so the three Kinetic, Laser and Plasma recipes this repository
|
|
23
|
+
* keys separately share that entry's record rather than storing it three times.
|
|
24
|
+
* @throws {TypeError} If `modificationSymbol` is present and not a string, or `locale`
|
|
25
|
+
* is not a string. A nullish `modificationSymbol` is a lookup miss and returns `null`.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { getPersonalModificationName } from '@elite-dangerous-almanac/core/i18n/personal-modifications';
|
|
29
|
+
*
|
|
30
|
+
* getPersonalModificationName('suit_nightvision', 'de'); // -> 'Nachtsicht'
|
|
31
|
+
* getPersonalModificationName('weapon_range_laser', 'fr'); // -> 'Portée améliorée'
|
|
32
|
+
* getPersonalModificationName('suit_nightvision', 'it'); // -> null
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
declare function getPersonalModificationName(modificationSymbol: string, locale: string): string | null;
|
|
36
|
+
/**
|
|
37
|
+
* Look up an engineer-applied personal-equipment modification's display description —
|
|
38
|
+
* the prose the game shows a player, in all six stored locales.
|
|
39
|
+
*
|
|
40
|
+
* @param modificationSymbol - The recipe symbol `PERSONAL_MODIFICATIONS` is keyed by,
|
|
41
|
+
* exactly as {@link getPersonalModificationName} accepts. Matching ignores case and
|
|
42
|
+
* surrounding whitespace.
|
|
43
|
+
* @param locale - A BCP 47 locale. All six stored locales are complete for this dataset.
|
|
44
|
+
* @returns The localized description, or `null` when the recipe is unknown or the
|
|
45
|
+
* requested locale is not one this catalogue stores.
|
|
46
|
+
* @remarks
|
|
47
|
+
* This is display prose, not a statement of the magnitudes a recipe applies: the game
|
|
48
|
+
* says a modification "allows more ammo to be carried for each weapon", never how much
|
|
49
|
+
* more. `PersonalModification.modifiers` answers that, and the two are deliberately not
|
|
50
|
+
* the same string. It is also the only account of the recipes whose `modifiers` list is
|
|
51
|
+
* empty, whether because the recipe switches a capability on or because it moves a
|
|
52
|
+
* stat the panel puts no number on. English is the game's own wording rather than a
|
|
53
|
+
* projection of `PersonalModification.name`.
|
|
54
|
+
* @throws {TypeError} If a present `modificationSymbol` or `locale` is not a string.
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { getPersonalModificationDescription } from '@elite-dangerous-almanac/core/i18n/personal-modifications';
|
|
58
|
+
*
|
|
59
|
+
* getPersonalModificationDescription('suit_nightvision', 'en');
|
|
60
|
+
* // -> 'Adds Night Vision capabilities to the suit.'
|
|
61
|
+
* getPersonalModificationDescription('suit_nightvision', 'ja'); // -> null
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
declare function getPersonalModificationDescription(modificationSymbol: string, locale: string): string | null;
|
|
65
|
+
|
|
66
|
+
export { getPersonalModificationDescription, getPersonalModificationName };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{getPersonalModificationDescription,getPersonalModificationName}from"../chunk-SS7HVNP5.js"; //# sourceMappingURL=personal-modifications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"O"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Localized suit-tool display names, isolated from tool battery and timing stats. */
|
|
2
|
+
/**
|
|
3
|
+
* Look up a suit tool's source-backed display name for a locale.
|
|
4
|
+
*
|
|
5
|
+
* @param id - The library id `PersonalTool.id` carries, such as `"arc-cutter"`. Matching
|
|
6
|
+
* ignores case and surrounding whitespace.
|
|
7
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
8
|
+
* {@link GameLocale} for how a tag is matched.
|
|
9
|
+
* @returns The localized tool name; the canonical `PersonalTool.name` for any English
|
|
10
|
+
* tag; or `null` when the tool is unknown or the locale is not one of the six this
|
|
11
|
+
* catalogue stores.
|
|
12
|
+
* @remarks
|
|
13
|
+
* All six stored locales are complete for this dataset, so a supported locale always
|
|
14
|
+
* answers. Frontier publishes no item symbol for a tool, so the library id is the only
|
|
15
|
+
* identifier this lookup takes — the same one `getPersonalToolById` takes.
|
|
16
|
+
*
|
|
17
|
+
* A returned value can equal the English, because the game leaves some tool names
|
|
18
|
+
* untranslated. Such a value is the game's own, stored verbatim; the library never
|
|
19
|
+
* supplies an English fallback. This lookup bundles no tool stats.
|
|
20
|
+
* @throws {TypeError} If `id` is present and not a string, or `locale` is not a string. A
|
|
21
|
+
* nullish `id` is a lookup miss and returns `null`.
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { getPersonalToolName } from '@elite-dangerous-almanac/core/i18n/personal-tools';
|
|
25
|
+
*
|
|
26
|
+
* getPersonalToolName('energylink', 'de-DE'); // -> 'Energie-Link'
|
|
27
|
+
* getPersonalToolName('profile-analyser', 'fr'); // -> 'Analyseur de profil'
|
|
28
|
+
* getPersonalToolName('arc-cutter', 'it'); // -> null
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
declare function getPersonalToolName(id: string, locale: string): string | null;
|
|
32
|
+
|
|
33
|
+
export { getPersonalToolName };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{getPersonalToolName}from"../chunk-E2HDF6PJ.js"; //# sourceMappingURL=personal-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"O"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Localized handheld-weapon descriptions, isolated from weapon combat stats. */
|
|
2
|
+
/**
|
|
3
|
+
* Look up a handheld weapon's display description — the prose the game shows a player,
|
|
4
|
+
* in all six stored locales.
|
|
5
|
+
*
|
|
6
|
+
* @param symbol - Frontier's weapon symbol, such as `"wpn_s_pistol_kinetic_sauto"`.
|
|
7
|
+
* Matching ignores case and surrounding whitespace.
|
|
8
|
+
* @param locale - A BCP 47 language or regional tag, such as `"de"` or `"de-DE"`; see
|
|
9
|
+
* {@link GameLocale} for how a tag is matched. All six stored locales are complete for
|
|
10
|
+
* this dataset.
|
|
11
|
+
* @returns The localized description, or `null` when the weapon is unknown or the
|
|
12
|
+
* requested locale is not one this catalogue stores.
|
|
13
|
+
* @remarks
|
|
14
|
+
* **There is no matching name lookup, and that is not a gap.** A handheld weapon's name
|
|
15
|
+
* is a product name — "Karma P-15", "TK Aphelion" — that the game leaves in English in
|
|
16
|
+
* every locale, so `PersonalWeapon.name` is the name in all six. This is display prose
|
|
17
|
+
* and not a statement of the weapon's mechanics: it names no damage figure, rate of fire
|
|
18
|
+
* or effective range, which are the stats `PERSONAL_WEAPONS` carries.
|
|
19
|
+
* @throws {TypeError} If `symbol` is present and not a string, or `locale` is not a
|
|
20
|
+
* string. A nullish `symbol` is a lookup miss and returns `null`.
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { getPersonalWeaponDescription } from '@elite-dangerous-almanac/core/i18n/personal-weapons';
|
|
24
|
+
*
|
|
25
|
+
* getPersonalWeaponDescription('wpn_m_sniper_plasma_charged', 'en');
|
|
26
|
+
* // -> 'A semi-automatic, long-range plasma rifle with high damage output and a low rate of fire.'
|
|
27
|
+
* getPersonalWeaponDescription('wpn_m_sniper_plasma_charged', 'it'); // -> null
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
declare function getPersonalWeaponDescription(symbol: string, locale: string): string | null;
|
|
31
|
+
|
|
32
|
+
export { getPersonalWeaponDescription };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{getPersonalWeaponDescription}from"../chunk-7C7NJWCF.js"; //# sourceMappingURL=personal-weapons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"O"}
|
|
@@ -20,7 +20,7 @@ interface PreEngineeredVariantIdentity {
|
|
|
20
20
|
* because a base module and blueprint alone do not uniquely identify every reward.
|
|
21
21
|
* @param locale - A BCP 47 locale. Regional tags fall back to their supported language.
|
|
22
22
|
* @returns The explicit localized name, or `null` for an unknown variant or unavailable
|
|
23
|
-
* translation. Decorative reward names
|
|
23
|
+
* translation. Decorative reward names have English values only.
|
|
24
24
|
* @throws {TypeError} If `variant` is not an object, a required identity field or a
|
|
25
25
|
* non-null `experimentalEffectSymbol` value is not a string, or `locale` is not a
|
|
26
26
|
* string.
|