@elite-dangerous-almanac/core 0.2.12 → 0.2.14
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/galaxy-map/SOURCES.md +47 -0
- package/PROVENANCE/ships/SOURCES.md +61 -16
- package/README.md +19 -3
- package/THIRD_PARTY_NOTICES.md +2 -1
- package/dist/{chunk-Q5ALV3DI.js → chunk-3I2I5KG4.js} +1 -1
- package/dist/{chunk-7UF4XRIR.js → chunk-ABZPSAIN.js} +1 -1
- package/dist/chunk-DAQ3PJ4R.js +1 -0
- package/dist/chunk-DAQ3PJ4R.js.map +1 -0
- package/dist/{chunk-OSMBAFRW.js → chunk-FMPHK3L5.js} +1 -1
- package/dist/{chunk-OSMBAFRW.js.map → chunk-FMPHK3L5.js.map} +1 -1
- package/dist/{chunk-XQJERZUS.js → chunk-HWOP7QWK.js} +1 -1
- package/dist/chunk-LXHFRBWK.js +1 -0
- package/dist/{chunk-UVX7RCMP.js.map → chunk-LXHFRBWK.js.map} +1 -1
- package/dist/{chunk-4T3TTYUT.js → chunk-P3DGQUID.js} +1 -1
- package/dist/{chunk-4T3TTYUT.js.map → chunk-P3DGQUID.js.map} +1 -1
- package/dist/{chunk-25EECUZ2.js → chunk-P5SIDTV5.js} +1 -1
- package/dist/{chunk-25EECUZ2.js.map → chunk-P5SIDTV5.js.map} +1 -1
- package/dist/{chunk-F44QX47A.js → chunk-Q75JSMU6.js} +1 -1
- package/dist/{chunk-F44QX47A.js.map → chunk-Q75JSMU6.js.map} +1 -1
- package/dist/chunk-QNHGTVMZ.js +1 -0
- package/dist/chunk-QNHGTVMZ.js.map +1 -0
- package/dist/{chunk-DEY44PHF.js → chunk-S4BZ64WE.js} +1 -1
- package/dist/chunk-S4BZ64WE.js.map +1 -0
- package/dist/{chunk-DBJKLXLS.js → chunk-SRPCHXW2.js} +1 -1
- package/dist/chunk-T3WRI2U2.js +1 -0
- package/dist/chunk-T3WRI2U2.js.map +1 -0
- package/dist/{chunk-3GNYPM6J.js → chunk-T6BIFKPU.js} +1 -1
- package/dist/{chunk-3GNYPM6J.js.map → chunk-T6BIFKPU.js.map} +1 -1
- package/dist/chunk-XCLOOKC2.js +1 -0
- package/dist/chunk-XCLOOKC2.js.map +1 -0
- package/dist/chunk-Z266X4JF.js +1 -0
- package/dist/chunk-Z266X4JF.js.map +1 -0
- package/dist/galaxy-map/index.d.ts +35 -0
- package/dist/galaxy-map/index.js +1 -0
- package/dist/galaxy-map/index.js.map +1 -0
- package/dist/galaxy-map/markers.d.ts +93 -0
- package/dist/galaxy-map/markers.js +1 -0
- package/dist/galaxy-map/markers.js.map +1 -0
- package/dist/i18n/index.js +1 -1
- package/dist/materials/index.js +1 -1
- package/dist/materials/micro-resources-all.js +1 -1
- package/dist/materials/micro-resources.js +1 -1
- package/dist/ships/armour.js +1 -1
- package/dist/ships/build-metrics.js +1 -1
- package/dist/ships/index.js +1 -1
- package/dist/ships/loadout-validation.d.ts +1 -1
- package/dist/ships/loadout-validation.js +1 -1
- package/dist/ships/modules-all.js +1 -1
- package/dist/ships/modules-hardpoint.js +1 -1
- package/dist/ships/modules.d.ts +26 -13
- package/dist/ships/modules.js +1 -1
- package/dist/ships/pre-engineered-stats.js +1 -1
- package/dist/ships/resistances.d.ts +3 -2
- package/dist/ships/resistances.js +1 -1
- package/dist/ships/shield-capacitor.js +1 -1
- package/dist/ships/shields.js +1 -1
- package/dist/ships/ship-loadout.js +1 -1
- package/dist/ships/weapons.d.ts +2 -0
- package/dist/ships/weapons.js +1 -1
- package/package.json +13 -3
- package/dist/chunk-AAU7OM47.js +0 -1
- package/dist/chunk-AAU7OM47.js.map +0 -1
- package/dist/chunk-BUQLUEQS.js +0 -1
- package/dist/chunk-BUQLUEQS.js.map +0 -1
- package/dist/chunk-DEY44PHF.js.map +0 -1
- package/dist/chunk-KLC5XT6F.js +0 -1
- package/dist/chunk-KLC5XT6F.js.map +0 -1
- package/dist/chunk-P6HCQ2YE.js +0 -1
- package/dist/chunk-P6HCQ2YE.js.map +0 -1
- package/dist/chunk-UVX7RCMP.js +0 -1
- /package/dist/{chunk-Q5ALV3DI.js.map → chunk-3I2I5KG4.js.map} +0 -0
- /package/dist/{chunk-7UF4XRIR.js.map → chunk-ABZPSAIN.js.map} +0 -0
- /package/dist/{chunk-XQJERZUS.js.map → chunk-HWOP7QWK.js.map} +0 -0
- /package/dist/{chunk-DBJKLXLS.js.map → chunk-SRPCHXW2.js.map} +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Data sources — `data/galaxy-map/`
|
|
2
|
+
|
|
3
|
+
**Acquired:** 2026-09-20 UTC. **Upstream revision:** unavailable — the game publishes no
|
|
4
|
+
immutable identifier for its interface artwork, so the captures are the evidence.
|
|
5
|
+
|
|
6
|
+
## Markers
|
|
7
|
+
|
|
8
|
+
- **File:** `markers.jsonc` (one record per galaxy-map marker).
|
|
9
|
+
- **Source:** Frontier Developments plc — bitmap captures of the marker icons the galaxy
|
|
10
|
+
map draws over a system, one PNG per marker.
|
|
11
|
+
- **Derivation:** each record is `{ symbol, color, frameColor }`. `symbol` is a
|
|
12
|
+
kebab-case name for the marker, chosen here rather than taken from the game, which
|
|
13
|
+
exposes no identifier for these icons; it also names the marker's redrawn vector in
|
|
14
|
+
`assets/galaxy-map/`. `color` is the exact RGB value of the capture's dominant opaque
|
|
15
|
+
glyph pixel, written as uppercase `#RRGGBB`. `frameColor` is the same measurement taken
|
|
16
|
+
on the square border.
|
|
17
|
+
- **The captures are not retained, and they carry no checksum.** They are
|
|
18
|
+
Frontier's artwork, and the media-usage rules in `ATTRIBUTIONS.md` cover the redrawn
|
|
19
|
+
vectors this repository ships, not a redistributed copy of the source bitmaps. The
|
|
20
|
+
vectors are drawn from geometric shapes rather than traced, so a capture is not
|
|
21
|
+
recoverable from one. `data/SNAPSHOTS.md` asks for a checksum where the content itself
|
|
22
|
+
cannot be kept, so this is a gap: #59 records what would close it.
|
|
23
|
+
|
|
24
|
+
### Measuring a capture
|
|
25
|
+
|
|
26
|
+
Read the capture's stored RGB. Do not composite it over a background first: that mixes
|
|
27
|
+
the background into the value, in proportion to how transparent the pixel is.
|
|
28
|
+
|
|
29
|
+
`front-line` is the one capture with no opaque pixel, so the Derivation bullet above
|
|
30
|
+
does not describe it. Its alpha is a flat 198 across the whole canvas, so an alpha-keyed
|
|
31
|
+
measurement returns the canvas rather than the glyph. Both of its colours come from the
|
|
32
|
+
RGB planes, which is where its shape sits.
|
|
33
|
+
|
|
34
|
+
### Manual corrections
|
|
35
|
+
|
|
36
|
+
None. Every value is a measurement.
|
|
37
|
+
|
|
38
|
+
### `front-line` is the one marker with two colours
|
|
39
|
+
|
|
40
|
+
The game frames it in `#4A00B5` and draws the arrow inside in `#9418FF`. Every other
|
|
41
|
+
marker frames and draws in one colour, so `frameColor` repeats `color`.
|
|
42
|
+
|
|
43
|
+
### `station-abandoned` is nearly black on purpose
|
|
44
|
+
|
|
45
|
+
Its `#211C21` is the colour the game uses, not a failed measurement or a transparent
|
|
46
|
+
pixel read by mistake. An abandoned station is drawn dark, and a consumer that treats a
|
|
47
|
+
near-black marker colour as an error would reject a correct record.
|
|
@@ -18,6 +18,7 @@ Referred to throughout by source name; the pin is here, once.
|
|
|
18
18
|
| Elite Dangerous in-game verification | game version `4.4.0.3`; direct in-game observation | 2026-08-14 UTC |
|
|
19
19
|
| Elite Dangerous in-game purchase capture | no game version recorded; nine `ModuleBuyAndStore` journal entries from market `128666762`, 17:34-17:37, at a 10% and a 2.5% outfitting discount | 2026-08-30 UTC |
|
|
20
20
|
| Elite Dangerous in-game outfitting observation | no game version recorded; direct in-game observation that outfitting offers no non-SCO size-8 frame shift drive | 2026-08-30 UTC |
|
|
21
|
+
| Elite Dangerous in-game SCO outfitting observation | no game version recorded; direct in-game observation that outfitting offers no SCO frame shift drive below the size of the mount being outfitted | 2026-09-17 UTC |
|
|
21
22
|
| Elite Dangerous Large Planetary Vehicle Hangar readings | **unreleased** — observation of the modules an unreleased update adds, plus outfitting and journal `ModuleBuy` readings at a 10% and 2.5% discount | 2026-09-02 UTC |
|
|
22
23
|
|
|
23
24
|
Every `eddb.js` derivation uses the baseline snapshot unless its catalogue note names
|
|
@@ -434,17 +435,29 @@ FDevIDs, stats from coriolis-data and EDSY, joined on `symbol`.
|
|
|
434
435
|
in the symbol and the display name.
|
|
435
436
|
- **Derivation:** the symbol family is the classification, exactly as it is for `slot`
|
|
436
437
|
above, and it is applied once here so that consumers read a datum instead of
|
|
437
|
-
matching `Int_Hyperdrive_Overcharge` themselves
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
`
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
`fsdHeatRate`, which is a function of a
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
and
|
|
438
|
+
matching `Int_Hyperdrive_Overcharge` themselves. Every record carrying the flag has
|
|
439
|
+
`Overcharge` in its symbol today and no other record does, so the two agree; stating
|
|
440
|
+
the capability keeps that agreement from being something a consumer has to rely on.
|
|
441
|
+
Stored as a sparse flag rather than a `true`/`false` pair on every drive, following
|
|
442
|
+
`alwaysPowered` and `guardianZoneResistance`.
|
|
443
|
+
- **The two lines share every jump constant this catalogue carries** — `optMass`,
|
|
444
|
+
`maxFuel`, `fuelMul`, `fuelPower`, and the `fsdHeatRate`, which is a function of a
|
|
445
|
+
drive's size alone: 10, 14, 18, 27, 37, 43 and 50 for sizes 2 to 8, and where both
|
|
446
|
+
lines offer a size they state the same value. The overcharged supercruise behaviour
|
|
447
|
+
the drives are named for has no published figures and none are stored. The plain line
|
|
448
|
+
runs from size 2 to 7 and the SCO line from 2 to 8, so size 8 is stated on the SCO
|
|
449
|
+
line alone.
|
|
450
|
+
- **An SCO drive is sold only at the size of the mount being outfitted.** Outfitting
|
|
451
|
+
offers a class-4 SCO drive for a class-4 frame shift drive mount and not for a
|
|
452
|
+
class-5 one, where it does offer a class-4 plain drive — an SCO drive cannot be
|
|
453
|
+
underfitted.
|
|
454
|
+
- **Source:** Elite Dangerous in-game SCO outfitting observation, pinned above.
|
|
455
|
+
- **Derivation:** none; the observation is recorded as stated. No catalogue field
|
|
456
|
+
carries it — the drives are exactly the records `supercruiseOvercharge` already
|
|
457
|
+
marks, and every one of them states a `class` matching the `Size` token in its
|
|
458
|
+
symbol, so the flag and the class are together sufficient to state the rule.
|
|
459
|
+
Neither registry source carries a field stating such a restriction, so the
|
|
460
|
+
observation is the only evidence for it.
|
|
448
461
|
- **`cabinCapacity` — a passenger cabin's berths.** The `passengerCabins` records
|
|
449
462
|
carry it; every other record in all four catalogues omits it, and no cabin carries a
|
|
450
463
|
zero. It is the module's own seat count, not the ship's.
|
|
@@ -732,10 +745,11 @@ the armour modules, blueprint grade rolls and crafting costs remain unverified t
|
|
|
732
745
|
It also did not unambiguously settle the shield-generator resistances, shield-booster
|
|
733
746
|
properties or probe radius. Those values are not changed on guesswork. For the
|
|
734
747
|
anti-xeno, Guardian and special weapons whose damage observed in-game does not reduce honestly
|
|
735
|
-
to one conventional scalar, `damageComponents` preserves the exact amounts.
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
748
|
+
to one conventional scalar, `damageComponents` preserves the exact amounts. It read the
|
|
749
|
+
Enzyme Missile Rack's two channels as amounts without settling the minor one's type; that
|
|
750
|
+
type is caustic, and the note below records the correction. The projectile-limited
|
|
751
|
+
hardpoints carry their boundary parameters observed in-game in `projectileRange`; those
|
|
752
|
+
parameters are not presented as effective ranges.
|
|
739
753
|
|
|
740
754
|
**A journal capture is a third source, and it reaches fields in-game verification does
|
|
741
755
|
not.** Every engineered module in a `Loadout` states its own _unmodified_ value beside
|
|
@@ -847,7 +861,7 @@ Resource Siphon, the corrections are:
|
|
|
847
861
|
| Beam Laser, Cannon, Fragment Cannon, Multi-Cannon, Plasma Accelerator, Rail Gun, Shock Cannon and Point Defence records | damage / thermal load | `damage` and `thermalLoad` read from the module panel per symbol |
|
|
848
862
|
| Advanced Plasma Accelerator, Imperial Hammer, Shock Cannons and Mk II Plasma Shock Accelerator | burst interval / combined rate of fire | exact cycle values derived with the catalogue's documented formula |
|
|
849
863
|
| mining, utility and Guardian hardpoints | clip, distributor draw, reload, jitter, falloff and maximum range | observed values per symbol |
|
|
850
|
-
| anti-xeno, Guardian and special weapons | scalar, distribution and exact damage components |
|
|
864
|
+
| anti-xeno, Guardian and special weapons | scalar, distribution and exact damage components | a component record wherever the damage needs more than a share |
|
|
851
865
|
| AX missiles, subsurface displacement missiles and seismic charge launchers | projectile boundary parameters; misleading ordinary ranges absent | `projectileRange` stored; `maximumRange` and `falloffRange` absent |
|
|
852
866
|
|
|
853
867
|
In-game verification gives the integer thruster/FSD masses, 1.1/1.2 enhanced-thruster
|
|
@@ -879,6 +893,37 @@ EDSY's 40 / 70. The catalogue stores the displayed values without further deriva
|
|
|
879
893
|
applies the same correction to their exact thermal and anti-xeno components. The two
|
|
880
894
|
panel readings have no upstream immutable revision.
|
|
881
895
|
|
|
896
|
+
**The Mk II Plasma Shock Accelerator's damage type is Plasma, and it is stored as
|
|
897
|
+
`absolute`.** Plasma is a type of its own, not a second name for absolute damage, and the
|
|
898
|
+
stored share is not a claim that Frontier calls the channel absolute. What the two types
|
|
899
|
+
share is the only property a damage calculation reads from either: nothing resists them.
|
|
900
|
+
No shield generator, armour or hull reinforcement carries a Plasma resistance any more
|
|
901
|
+
than it carries an absolute one, so the whole of this weapon's output lands whatever the
|
|
902
|
+
target has fitted, and a share stored as `absolute` computes its effect exactly. The same
|
|
903
|
+
reading already stores the Operations Plasma conversion's Plasma share as `absolute`,
|
|
904
|
+
under "Engineering (blueprints and experimental effects)" below. What the storage costs is
|
|
905
|
+
the distinction itself, which is why it is written down here: should Frontier ever give a
|
|
906
|
+
defensive module a Plasma resistance, the two types stop agreeing, and this weapon and
|
|
907
|
+
that blueprint are the records to revisit.
|
|
908
|
+
|
|
909
|
+
Its `damageComponents` record goes with the `unclassified` spelling it replaces.
|
|
910
|
+
`damageComponents` preserves amounts a fractional split cannot state honestly — an
|
|
911
|
+
anti-xeno overlay, or a channel whose type is not established — and one conventional type
|
|
912
|
+
at the full scalar is neither.
|
|
913
|
+
|
|
914
|
+
**The Enzyme Missile Rack's minor damage channel is Caustic.** Of the 5 damage its round
|
|
915
|
+
carries, 4 are explosive and 1 is caustic. The amounts are what in-game verification
|
|
916
|
+
established; the minor channel's type it did not, and the share was stored as
|
|
917
|
+
`unclassified` for exactly as long as that was the whole of what was known. The type is
|
|
918
|
+
caustic, and the catalogue's own vocabulary says so twice over: Frontier's symbol for the
|
|
919
|
+
weapon is `Hpt_CausticMissile_Fixed_Medium`, and the enzyme it delivers is the damage the
|
|
920
|
+
Caustic Sink Launcher exists to shed. This is not the Mk II's situation above. Caustic is
|
|
921
|
+
a type the defensive side of the catalogue already names — `causticResistance` on the
|
|
922
|
+
armour and hull reinforcement records meets it, and it is one of the four resistances a build carries —
|
|
923
|
+
so the spelling decides whether a defender's caustic resistance reaches this weapon's
|
|
924
|
+
minor channel at all. `unclassified` would have kept it out of that arithmetic on a point
|
|
925
|
+
the game does settle.
|
|
926
|
+
|
|
882
927
|
**Values that look wrong and are not.** Three records break the pattern their family
|
|
883
928
|
follows and are confirmed outright by EDSY. Recorded so the "breaks its family's curve"
|
|
884
929
|
heuristic does not keep rediscovering them:
|
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ Use a feature barrel when a bundler will tree-shake it:
|
|
|
31
31
|
import { ProceduralSystem } from '@elite-dangerous-almanac/core/astro';
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
There is no package-wide root entry; choose
|
|
34
|
+
There is no package-wide root entry; choose a feature area or a leaf.
|
|
35
35
|
|
|
36
36
|
Use leaf subpaths to avoid evaluating unrelated data modules in native ESM:
|
|
37
37
|
|
|
@@ -43,7 +43,7 @@ import { ShipLoadout } from '@elite-dangerous-almanac/core/ships/ship-loadout';
|
|
|
43
43
|
The heavyweight module registries, planetary/combined nebula catalogues and codex-region
|
|
44
44
|
coordinate lookup are only exported from their leaf subpaths, not the feature barrels.
|
|
45
45
|
|
|
46
|
-
The package
|
|
46
|
+
The package covers these feature areas:
|
|
47
47
|
|
|
48
48
|
- `astro`: procedural names, id64 addresses, regions, nebulae, permit locks, and scanned
|
|
49
49
|
bodies with their physics;
|
|
@@ -53,7 +53,9 @@ The package has six feature areas:
|
|
|
53
53
|
- `i18n`: sparse localized catalogue names, descriptions, slot labels and structured
|
|
54
54
|
diagnostic messages;
|
|
55
55
|
- `materials`: ship engineering materials and Odyssey micro resources;
|
|
56
|
-
- `commodities`: standard and rare market goods
|
|
56
|
+
- `commodities`: standard and rare market goods;
|
|
57
|
+
- `galaxy-map`: the galaxy map's location markers and the colours the game draws them
|
|
58
|
+
in.
|
|
57
59
|
|
|
58
60
|
## Ship assets
|
|
59
61
|
|
|
@@ -98,6 +100,20 @@ foreign or media elements, links, external references, or CSS `url()` values. Th
|
|
|
98
100
|
content guarantee applies to the unmodified package files; applications remain
|
|
99
101
|
responsible for any transformations or user-supplied replacements.
|
|
100
102
|
|
|
103
|
+
## Galaxy-map marker assets
|
|
104
|
+
|
|
105
|
+
The `galaxy-map` catalogue reports each marker's colours, and one SVG per marker holds
|
|
106
|
+
the icon. The package does not carry those files. They live in the repository, at
|
|
107
|
+
[`assets/galaxy-map/<symbol>.svg`](https://github.com/DarkSession/Elite-Dangerous-Almanac/tree/main/assets/galaxy-map),
|
|
108
|
+
where `<symbol>` is the exact symbol the catalogue returns. Copy them into your own
|
|
109
|
+
asset directory.
|
|
110
|
+
|
|
111
|
+
Every shape in an asset paints with `currentColor`, and the root `<svg>` carries the
|
|
112
|
+
marker's own colour. A host that embeds the file inline therefore recolours it with one
|
|
113
|
+
CSS `color` declaration, and one that loads it with `<img>` keeps the game's colour.
|
|
114
|
+
`front-line.svg` is the exception: its frame holds the frame colour as a literal, which
|
|
115
|
+
no `color` declaration reaches.
|
|
116
|
+
|
|
101
117
|
## Examples
|
|
102
118
|
|
|
103
119
|
```ts
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -156,7 +156,8 @@ a verbatim copy produced at build time — edit this file, never the copy.
|
|
|
156
156
|
**CC BY-SA 3.0**) — how the Corrosion Resistant Cargo Racks are obtained, which is why
|
|
157
157
|
two of them carry no list price.
|
|
158
158
|
- **Frontier Developments plc** — the game itself, the ship models represented by the
|
|
159
|
-
shared vector illustrations, the
|
|
159
|
+
shared vector illustrations, the galaxy-map marker artwork redrawn as the shared
|
|
160
|
+
vector markers in `assets/galaxy-map/`, the official
|
|
160
161
|
[Elite Dangerous Gamestore](https://www.elitedangerous.com/store/) product names used
|
|
161
162
|
to correct the four Karma and three TK handheld weapons, and its published statements:
|
|
162
163
|
the [media-usage rules](https://forums.frontier.co.uk/threads/elite-dangerous-media-usage-rules.510879/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mapDamageTypes,stackArmourResistance,effectiveHitPoints}from"./chunk-
|
|
1
|
+
import{mapDamageTypes,stackArmourResistance,effectiveHitPoints}from"./chunk-Q75JSMU6.js";var reinforcementResistances=(sources,type)=>sources.map(source=>source[`${type}Resistance`]??0);function armourMetrics(input){const bulkhead=input.bulkhead??{};const reinforcements=input.reinforcements??[];const moduleReinforcements=input.moduleReinforcements??[];const bulkheads=input.baseArmour*(1+(bulkhead.hullBoost??0));const reinforcement=reinforcements.reduce((sum,pack)=>sum+(pack.hullReinforcement??0)+input.baseArmour*(pack.hullBoost??0),0);const hitPoints=bulkheads+reinforcement;const resistances=Object.freeze(mapDamageTypes(type=>stackArmourResistance(bulkhead[`${type}Resistance`]??0,reinforcementResistances(reinforcements,type))));return Object.freeze({hitPoints:hitPoints,bulkheads:bulkheads,reinforcement:reinforcement,resistances:resistances,effectiveHitPoints:Object.freeze(effectiveHitPoints(hitPoints,resistances)),moduleArmour:moduleReinforcements.reduce((sum,pack)=>sum+(pack.integrity??0),0),moduleProtection:1-moduleReinforcements.reduce((product,pack)=>product*(1-(pack.moduleProtection??0)),1)})}export{armourMetrics};//# sourceMappingURL=chunk-3I2I5KG4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ALL_MICRO_RESOURCES}from"./chunk-
|
|
1
|
+
import{ALL_MICRO_RESOURCES}from"./chunk-DAQ3PJ4R.js";import{findInKeyIndex,findByKey,filterByKey,createKeyIndex}from"./chunk-BKWLI44T.js";var MICRO_RESOURCES_BY_SYMBOL=/* @__PURE__ */createKeyIndex(ALL_MICRO_RESOURCES,"symbol");var MICRO_RESOURCES_BY_NAME=/* @__PURE__ */createKeyIndex(ALL_MICRO_RESOURCES,"name");function getMicroResourceBySymbol(symbol,microResources=ALL_MICRO_RESOURCES){return microResources===ALL_MICRO_RESOURCES?findInKeyIndex(MICRO_RESOURCES_BY_SYMBOL,symbol,"getMicroResourceBySymbol: symbol"):findByKey(microResources,"symbol",symbol,"getMicroResourceBySymbol: symbol")}function getMicroResourceByName(name,microResources=ALL_MICRO_RESOURCES){return microResources===ALL_MICRO_RESOURCES?findInKeyIndex(MICRO_RESOURCES_BY_NAME,name,"getMicroResourceByName: name"):findByKey(microResources,"name",name,"getMicroResourceByName: name")}function microResourcesInCategory(category){return filterByKey(ALL_MICRO_RESOURCES,"category",category,"microResourcesInCategory: category")}export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory};//# sourceMappingURL=chunk-ABZPSAIN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{COMPONENT_MICRO_RESOURCES}from"./chunk-HTB52N6S.js";import{CONSUMABLE_MICRO_RESOURCES}from"./chunk-K7L7SMIR.js";import{DATA_MICRO_RESOURCES}from"./chunk-GVLDFJEY.js";import{ITEM_MICRO_RESOURCES}from"./chunk-WHWFKHV3.js";var ALL_MICRO_RESOURCES=Object.freeze([...COMPONENT_MICRO_RESOURCES,...CONSUMABLE_MICRO_RESOURCES,...DATA_MICRO_RESOURCES,...ITEM_MICRO_RESOURCES]);export{ALL_MICRO_RESOURCES};//# sourceMappingURL=chunk-DAQ3PJ4R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/materials/micro-resources-all.ts"],"names":["COMPONENT_MICRO_RESOURCES","CONSUMABLE_MICRO_RESOURCES","DATA_MICRO_RESOURCES","ITEM_MICRO_RESOURCES","ALL_MICRO_RESOURCES","Object","freeze"],"mappings":"O,4NA6BO,IAAMI,oBAAgDC,OAAOC,OAAO,IACpEN,6BACAC,8BACAC,wBACAC,8BACNC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ALL_MODULES}from"./chunk-
|
|
1
|
+
import{ALL_MODULES}from"./chunk-LXHFRBWK.js";import{findInKeyIndex,findByKey,filterByKey,createKeyIndex}from"./chunk-BKWLI44T.js";var MODULES_BY_SYMBOL=/* @__PURE__ */createKeyIndex(ALL_MODULES,"symbol");function builtInModuleBySymbol(symbol,label){return findInKeyIndex(MODULES_BY_SYMBOL,symbol,label)}function getModuleBySymbol(symbol,modules=ALL_MODULES){return modules===ALL_MODULES?builtInModuleBySymbol(symbol,"getModuleBySymbol: symbol"):findByKey(modules,"symbol",symbol,"getModuleBySymbol: symbol")}function getModulesByName(name,modules=ALL_MODULES){return filterByKey(modules,"name",name,"getModulesByName: name")}function getBulkheadsForShip(ship,modules=ALL_MODULES){return filterByKey(modules,"ship",ship,"getBulkheadsForShip: ship")}export{builtInModuleBySymbol,getBulkheadsForShip,getModuleBySymbol,getModulesByName};//# sourceMappingURL=chunk-FMPHK3L5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ships/internal/module-symbol-index.ts","../src/ships/modules.ts"],"names":["ALL_MODULES","findInKeyIndex","findByKey","filterByKey","createKeyIndex","MODULES_BY_SYMBOL","builtInModuleBySymbol","symbol","label","getModuleBySymbol","modules","getModulesByName","name","getBulkheadsForShip","ship"],"mappings":"O,2HAMA,IAAMK,iCAAoCD,eAAeJ,YAAa,UAS/D,SAASM,sBAAsBC,OAAgBC,OAClD,OAAOP,eAAeI,kBAAmBE,OAAQC,MACrD,
|
|
1
|
+
{"version":3,"sources":["../src/ships/internal/module-symbol-index.ts","../src/ships/modules.ts"],"names":["ALL_MODULES","findInKeyIndex","findByKey","filterByKey","createKeyIndex","MODULES_BY_SYMBOL","builtInModuleBySymbol","symbol","label","getModuleBySymbol","modules","getModulesByName","name","getBulkheadsForShip","ship"],"mappings":"O,2HAMA,IAAMK,iCAAoCD,eAAeJ,YAAa,UAS/D,SAASM,sBAAsBC,OAAgBC,OAClD,OAAOP,eAAeI,kBAAmBE,OAAQC,MACrD,CC03BO,SAASC,kBACZF,OACAG,QAAuCV,aAEvC,OAAOU,UAAYV,YACbM,sBAAsBC,OAAQ,6BAC9BL,UAAUQ,QAAS,SAAUH,OAAQ,4BAC/C,CAoBO,SAASI,iBACZC,KACAF,QAAuCV,aAEvC,OAAOG,YAAYO,QAAS,OAAQE,KAAM,yBAC9C,CA8BO,SAASC,oBACZC,KACAJ,QAAuCV,aAEvC,OAAOG,YAAYO,QAAS,OAAQI,KAAM,4BAC9C,QAAAR,sBAAAO,oBAAAJ,kBAAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{capacitorRechargeAtPips}from"./chunk-JOTAOI5T.js";import{systemsResistance,mapDamageTypes,effectiveHitPoints}from"./chunk-
|
|
1
|
+
import{capacitorRechargeAtPips}from"./chunk-JOTAOI5T.js";import{systemsResistance,mapDamageTypes,effectiveHitPoints}from"./chunk-Q75JSMU6.js";import{requirePips,requireFiniteNonNegative}from"./chunk-65FZECUX.js";var DAMAGE_TYPES=["kinetic","thermal","explosive","caustic"];function shieldCapacitorMetrics(input){const scope="shieldCapacitorMetrics";const systemsPips=input.systemsPips??4;requirePips(scope,"systemsPips",systemsPips);for(const field of["strength","systemsCapacity","systemsRecharge"]){requireFiniteNonNegative(scope,field,input[field])}const resistances=input.resistances;if(typeof resistances!=="object"||resistances===null){throw new TypeError(`${scope}: resistances must carry the four damage types`)}for(const type of DAMAGE_TYPES){if(!Number.isFinite(input.resistances[type])){throw new RangeError(`${scope}: resistances.${type} must be a finite number`)}}const sysResistance=systemsResistance(systemsPips);const effectiveResistances=Object.freeze(mapDamageTypes(type=>1-(1-input.resistances[type])*(1-sysResistance)));return Object.freeze({systemsPips:systemsPips,capacity:input.systemsCapacity,rechargeRate:capacitorRechargeAtPips(input.systemsRecharge,systemsPips),systemsResistance:sysResistance,effectiveResistances:effectiveResistances,effectiveHitPoints:Object.freeze(effectiveHitPoints(input.strength,effectiveResistances))})}export{shieldCapacitorMetrics};//# sourceMappingURL=chunk-HWOP7QWK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{INTERNAL_MODULES}from"./chunk-7Y5EK2VO.js";import{UTILITY_MODULES}from"./chunk-PKKBYBL4.js";import{CORE_MODULES}from"./chunk-ZZTDEDXJ.js";import{HARDPOINT_MODULES}from"./chunk-P3DGQUID.js";var ALL_MODULES=Object.freeze([...CORE_MODULES,...INTERNAL_MODULES,...HARDPOINT_MODULES,...UTILITY_MODULES]);export{ALL_MODULES};//# sourceMappingURL=chunk-LXHFRBWK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ships/modules-all.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/ships/modules-all.ts"],"names":["INTERNAL_MODULES","UTILITY_MODULES","CORE_MODULES","HARDPOINT_MODULES","ALL_MODULES","Object","freeze"],"mappings":"O,6LAyCO,IAAMI,YAA2CC,OAAOC,OAAO,IAC/DJ,gBACAF,oBACAG,qBACAF,yBACNG"}
|