@elite-dangerous-almanac/core 0.1.5 → 0.1.6
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 +40 -41
- package/PROVENANCE/ships/SOURCES.md +21 -2
- package/README.md +11 -5
- package/assets/ships/Adder/gunsight.svg +17 -0
- package/assets/ships/Anaconda/gunsight.svg +32 -0
- package/assets/ships/Asp/gunsight.svg +26 -0
- package/assets/ships/Asp_Scout/gunsight.svg +20 -0
- package/assets/ships/BelugaLiner/gunsight.svg +23 -0
- package/assets/ships/CobraMkIII/gunsight.svg +20 -0
- package/assets/ships/CobraMkIV/gunsight.svg +23 -0
- package/assets/ships/CobraMkV/gunsight.svg +23 -0
- package/assets/ships/Corsair/gunsight.svg +26 -0
- package/assets/ships/Cutter/gunsight.svg +29 -0
- package/assets/ships/DiamondBack/gunsight.svg +20 -0
- package/assets/ships/DiamondBackXL/gunsight.svg +17 -0
- package/assets/ships/Dolphin/gunsight.svg +14 -0
- package/assets/ships/Eagle/gunsight.svg +17 -0
- package/assets/ships/Empire_Courier/gunsight.svg +17 -0
- package/assets/ships/Empire_Eagle/gunsight.svg +17 -0
- package/assets/ships/Empire_Trader/gunsight.svg +20 -0
- package/assets/ships/Explorer_NX/gunsight.svg +29 -0
- package/assets/ships/Federation_Corvette/gunsight.svg +29 -0
- package/assets/ships/Federation_Corvette/schematic-bottom.svg +5 -5
- package/assets/ships/Federation_Corvette/schematic-top.svg +14 -14
- package/assets/ships/Federation_Dropship/gunsight.svg +23 -0
- package/assets/ships/Federation_Dropship_MkII/gunsight.svg +20 -0
- package/assets/ships/Federation_Gunship/gunsight.svg +29 -0
- package/assets/ships/FerDeLance/gunsight.svg +23 -0
- package/assets/ships/Hauler/gunsight.svg +11 -0
- package/assets/ships/Independant_Trader/gunsight.svg +20 -0
- package/assets/ships/Krait_Light/gunsight.svg +20 -0
- package/assets/ships/Krait_MkII/gunsight.svg +23 -0
- package/assets/ships/LakonMiner/gunsight.svg +32 -0
- package/assets/ships/Mamba/gunsight.svg +23 -0
- package/assets/ships/Mandalay/gunsight.svg +26 -0
- package/assets/ships/MediumTransport01/gunsight.svg +23 -0
- package/assets/ships/Orca/gunsight.svg +17 -0
- package/assets/ships/PantherMkII/gunsight.svg +38 -0
- package/assets/ships/Python/gunsight.svg +23 -0
- package/assets/ships/Python_NX/gunsight.svg +26 -0
- package/assets/ships/SideWinder/gunsight.svg +14 -0
- package/assets/ships/SmallCombat01_NX/gunsight.svg +23 -0
- package/assets/ships/Type6/gunsight.svg +14 -0
- package/assets/ships/Type7/gunsight.svg +20 -0
- package/assets/ships/Type8/gunsight.svg +26 -0
- package/assets/ships/Type9/gunsight.svg +23 -0
- package/assets/ships/Type9_Military/gunsight.svg +35 -0
- package/assets/ships/TypeX/gunsight.svg +26 -0
- package/assets/ships/TypeX_2/gunsight.svg +26 -0
- package/assets/ships/TypeX_3/gunsight.svg +29 -0
- package/assets/ships/Viper/gunsight.svg +20 -0
- package/assets/ships/Viper_MkIV/gunsight.svg +20 -0
- package/assets/ships/Vulture/gunsight.svg +14 -0
- package/dist/chunk-2VPVZELZ.js +1 -0
- package/dist/{chunk-MTAGULIO.js.map → chunk-2VPVZELZ.js.map} +1 -1
- package/dist/{chunk-O72KI7RP.js → chunk-3EO7PTAP.js} +1 -1
- package/dist/{chunk-XT6KKGSE.js → chunk-3MPLVD2R.js} +1 -1
- package/dist/chunk-5V4OXZLE.js +1 -0
- package/dist/{chunk-CTJQPQRA.js.map → chunk-5V4OXZLE.js.map} +1 -1
- package/dist/chunk-6FKBZPI6.js +1 -0
- package/dist/{chunk-3IMWUYXJ.js.map → chunk-6FKBZPI6.js.map} +1 -1
- package/dist/{chunk-77QR33ON.js → chunk-BZDTEXXM.js} +1 -1
- package/dist/{chunk-UBYO7VZR.js → chunk-DBGXZF7O.js} +1 -1
- package/dist/chunk-EVEFYI7K.js +1 -0
- package/dist/{chunk-GKDEI2SQ.js.map → chunk-EVEFYI7K.js.map} +1 -1
- package/dist/{chunk-6RLMBSXE.js → chunk-EWAS7KMF.js} +1 -1
- package/dist/chunk-JKWV3CZN.js +1 -0
- package/dist/{chunk-XN6Q7LWU.js.map → chunk-JKWV3CZN.js.map} +1 -1
- package/dist/{chunk-PHPLZEFS.js → chunk-JPBMRJFC.js} +1 -1
- package/dist/{chunk-PHPLZEFS.js.map → chunk-JPBMRJFC.js.map} +1 -1
- package/dist/chunk-JXLCRQH5.js +1 -0
- package/dist/{chunk-EKWLAHRG.js.map → chunk-JXLCRQH5.js.map} +1 -1
- package/dist/chunk-NCKOVFBJ.js +1 -0
- package/dist/{chunk-TFPIPIMU.js.map → chunk-NCKOVFBJ.js.map} +1 -1
- package/dist/chunk-NEFUW32I.js +1 -0
- package/dist/{chunk-2J2UV4ZX.js.map → chunk-NEFUW32I.js.map} +1 -1
- package/dist/chunk-NWBWTJM3.js +1 -0
- package/dist/chunk-NWBWTJM3.js.map +1 -0
- package/dist/chunk-PEHOKSSD.js +1 -0
- package/dist/chunk-PYV7VI6I.js +1 -0
- package/dist/{chunk-EJMNNQIS.js.map → chunk-PYV7VI6I.js.map} +1 -1
- package/dist/{chunk-QI22FKBG.js → chunk-Q3QCLNVG.js} +1 -1
- package/dist/{chunk-QI22FKBG.js.map → chunk-Q3QCLNVG.js.map} +1 -1
- package/dist/chunk-QGAZWX7G.js +1 -0
- package/dist/{chunk-HRVIHQ4A.js.map → chunk-QGAZWX7G.js.map} +1 -1
- package/dist/{chunk-FGNJ7EVM.js → chunk-RC6F6RAU.js} +1 -1
- package/dist/{chunk-FGNJ7EVM.js.map → chunk-RC6F6RAU.js.map} +1 -1
- package/dist/chunk-SNADUQSJ.js +1 -0
- package/dist/chunk-SNADUQSJ.js.map +1 -0
- package/dist/chunk-SU352DIW.js +1 -0
- package/dist/chunk-SU352DIW.js.map +1 -0
- package/dist/{chunk-VB3XZGIB.js → chunk-T4CV4CDF.js} +1 -1
- package/dist/chunk-TEOJCBSG.js +1 -0
- package/dist/chunk-TEOJCBSG.js.map +1 -0
- package/dist/{chunk-QMFBL5XO.js → chunk-UPUC5X2C.js} +1 -1
- package/dist/{chunk-QMFBL5XO.js.map → chunk-UPUC5X2C.js.map} +1 -1
- package/dist/chunk-WHAU3C4E.js +1 -0
- package/dist/{chunk-H3HMVGEY.js.map → chunk-WHAU3C4E.js.map} +1 -1
- package/dist/chunk-ZKU7CMAH.js +1 -0
- package/dist/chunk-ZKU7CMAH.js.map +1 -0
- package/dist/i18n/blueprints.js +1 -1
- package/dist/i18n/diagnostics.d.ts +1 -0
- package/dist/i18n/diagnostics.js +1 -1
- package/dist/i18n/engineering-groups.d.ts +2 -2
- package/dist/i18n/engineering-groups.js +1 -1
- package/dist/i18n/experimental-effect-descriptions.js +1 -1
- package/dist/i18n/experimental-effects.js +1 -1
- package/dist/i18n/index.d.ts +29 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/materials.d.ts +2 -3
- package/dist/i18n/materials.js +1 -1
- package/dist/i18n/micro-resources.d.ts +2 -3
- package/dist/i18n/micro-resources.js +1 -1
- package/dist/i18n/modules.d.ts +3 -4
- package/dist/i18n/modules.js +1 -1
- package/dist/i18n/pre-engineered.js +1 -1
- package/dist/i18n/ships.js +1 -1
- package/dist/i18n/slots.js +1 -1
- package/dist/ships/blueprint-costs.d.ts +2 -1
- package/dist/ships/blueprint-costs.js +1 -1
- package/dist/ships/blueprint-costs.js.map +1 -1
- package/dist/ships/blueprints.d.ts +3 -1
- package/dist/ships/blueprints.js +1 -1
- package/dist/ships/experimental-effect-costs.d.ts +2 -2
- package/dist/ships/experimental-effect-costs.js +1 -1
- package/dist/ships/experimental-effect-costs.js.map +1 -1
- package/dist/ships/experimental-effects.d.ts +2 -1
- package/dist/ships/experimental-effects.js +1 -1
- package/dist/ships/gunsights.js +1 -1
- package/dist/ships/index.d.ts +6 -5
- package/dist/ships/index.js +1 -1
- package/dist/ships/modules-all.js +1 -1
- package/dist/ships/modules-core.js +1 -1
- package/dist/ships/modules-hardpoint.d.ts +1 -0
- package/dist/ships/modules-hardpoint.js +1 -1
- package/dist/ships/modules-internal.d.ts +1 -0
- package/dist/ships/modules-internal.js +1 -1
- package/dist/ships/modules-utility.d.ts +1 -0
- package/dist/ships/modules-utility.js +1 -1
- package/dist/ships/modules.d.ts +22 -5
- package/dist/ships/modules.js +1 -1
- package/dist/ships/pre-engineered-stats.js +1 -1
- package/dist/ships/pre-engineered.js +1 -1
- package/dist/ships/ship-loadout.d.ts +72 -32
- package/dist/ships/ship-loadout.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-2J2UV4ZX.js +0 -1
- package/dist/chunk-3IMWUYXJ.js +0 -1
- package/dist/chunk-CTJQPQRA.js +0 -1
- package/dist/chunk-E45EDCYH.js +0 -1
- package/dist/chunk-E45EDCYH.js.map +0 -1
- package/dist/chunk-EJMNNQIS.js +0 -1
- package/dist/chunk-EKWLAHRG.js +0 -1
- package/dist/chunk-GKDEI2SQ.js +0 -1
- package/dist/chunk-H3HMVGEY.js +0 -1
- package/dist/chunk-HRVIHQ4A.js +0 -1
- package/dist/chunk-M5IBENCW.js +0 -1
- package/dist/chunk-M5IBENCW.js.map +0 -1
- package/dist/chunk-MTAGULIO.js +0 -1
- package/dist/chunk-PNZCLQDJ.js +0 -1
- package/dist/chunk-TFPIPIMU.js +0 -1
- package/dist/chunk-XN6Q7LWU.js +0 -1
- package/dist/chunk-XULHGGG4.js +0 -1
- package/dist/chunk-XULHGGG4.js.map +0 -1
- /package/dist/{chunk-O72KI7RP.js.map → chunk-3EO7PTAP.js.map} +0 -0
- /package/dist/{chunk-XT6KKGSE.js.map → chunk-3MPLVD2R.js.map} +0 -0
- /package/dist/{chunk-77QR33ON.js.map → chunk-BZDTEXXM.js.map} +0 -0
- /package/dist/{chunk-UBYO7VZR.js.map → chunk-DBGXZF7O.js.map} +0 -0
- /package/dist/{chunk-6RLMBSXE.js.map → chunk-EWAS7KMF.js.map} +0 -0
- /package/dist/{chunk-PNZCLQDJ.js.map → chunk-PEHOKSSD.js.map} +0 -0
- /package/dist/{chunk-VB3XZGIB.js.map → chunk-T4CV4CDF.js.map} +0 -0
|
@@ -6,6 +6,14 @@ They are deliberately sparse: absence means that no accepted source carried a va
|
|
|
6
6
|
the lookup API returns `null` for that locale rather than treating English as a
|
|
7
7
|
translation.
|
|
8
8
|
|
|
9
|
+
**Five locales are stored: `en`, `de`, `es`, `fr` and `ru`.** Several accepted sources
|
|
10
|
+
publish more — Portuguese, Brazilian Portuguese, Italian, Hungarian, Georgian and
|
|
11
|
+
Simplified Chinese among them — and those values are deliberately not carried: the
|
|
12
|
+
project supports those five languages and no others. That is a decision about this
|
|
13
|
+
catalogue, not a gap in any source, so re-deriving a catalogue from its source must drop
|
|
14
|
+
the other columns again rather than restore them. Every locale is stored under a bare
|
|
15
|
+
language tag; a regional or script tag resolves to its language.
|
|
16
|
+
|
|
9
17
|
## `module-names.jsonc`
|
|
10
18
|
|
|
11
19
|
- **Acquired:** 2026-08-14 UTC.
|
|
@@ -19,13 +27,11 @@ translation.
|
|
|
19
27
|
Almanac's canonical English name. This prevents broad EDDI families such as
|
|
20
28
|
`CargoRack`, `MissileRack` and `PlanetaryApproachSuite` from erasing the distinct Mk II,
|
|
21
29
|
seeker and advanced names the Almanac carries. EDSY's module `fdname` and effective
|
|
22
|
-
`namekey` fill a missing `de`, `es`, `fr
|
|
30
|
+
`namekey` fill a missing `de`, `es`, `fr` or `ru` value only when EDSY's English
|
|
23
31
|
module name also exactly equals the canonical name. Values shared by modules with one
|
|
24
32
|
canonical name are retained only when they agree, then stored once under that name.
|
|
25
33
|
- **Coverage:** English covers all 1,199 symbols. The explicit translations cover 1,120
|
|
26
|
-
in German, 1,090 in Spanish, 1,088 in French
|
|
27
|
-
822 in Portuguese, 1,029 in Brazilian Portuguese, 1,153 in Russian and 1,028 in
|
|
28
|
-
Simplified Chinese.
|
|
34
|
+
in German, 1,090 in Spanish, 1,088 in French and 1,153 in Russian.
|
|
29
35
|
- **Manual corrections:** none.
|
|
30
36
|
|
|
31
37
|
## `blueprint-names.jsonc`
|
|
@@ -39,7 +45,7 @@ translation.
|
|
|
39
45
|
each language file. Names remain keyed per blueprint because a single English phrase
|
|
40
46
|
can have different grammatical translations for different module families.
|
|
41
47
|
- **Coverage:** English covers all 107 blueprints; EDSY covers 55 in German and 59 each
|
|
42
|
-
in Spanish, French
|
|
48
|
+
in Spanish, French and Russian. The remaining recipes include Operations
|
|
43
49
|
and other newer records EDSY does not identify or translate.
|
|
44
50
|
- **Manual corrections:** EDSY's French `FSD_FastBoot` value ends in one accidental
|
|
45
51
|
ASCII space; the stored display name removes it so a successful lookup is already
|
|
@@ -55,7 +61,7 @@ translation.
|
|
|
55
61
|
EDSY's `expeffect.fdname`; that record's id selects an explicit `expeffect-<id>` entry
|
|
56
62
|
from each language file.
|
|
57
63
|
- **Coverage:** English covers all 86 effects; EDSY covers 84 in German and 85 each in
|
|
58
|
-
Spanish, French
|
|
64
|
+
Spanish, French and Russian.
|
|
59
65
|
- **Manual corrections:** none.
|
|
60
66
|
|
|
61
67
|
## `material-names.jsonc`
|
|
@@ -73,11 +79,7 @@ translation.
|
|
|
73
79
|
parenthetical Guardian and Thargoid category labels where the owning catalogue does;
|
|
74
80
|
localized columns remain verbatim source values.
|
|
75
81
|
- **Coverage:** English, Spanish and Russian cover all 146 materials. The explicit
|
|
76
|
-
translations cover 128 in German
|
|
77
|
-
Georgian. Fourteen of the source's Georgian values are byte-for-byte equal to the
|
|
78
|
-
canonical English spelling and are retained verbatim; they are explicit source values,
|
|
79
|
-
not lookup-generated fallbacks. The pinned source carries no Simplified Chinese
|
|
80
|
-
material names.
|
|
82
|
+
translations cover 128 in German and 140 in French.
|
|
81
83
|
- **Manual corrections:** none.
|
|
82
84
|
|
|
83
85
|
## `micro-resource-names.jsonc`
|
|
@@ -94,18 +96,11 @@ translation.
|
|
|
94
96
|
localized columns are copied. Twenty-eight of the 30 in-game-backed records also have
|
|
95
97
|
rows in Odyssey Materials Helper, while `PowerVirus` and
|
|
96
98
|
`SmallCapacityPowerRegulator` do not. All 30 take the explicit in-game `name` values for
|
|
97
|
-
German, Spanish, French
|
|
98
|
-
|
|
99
|
-
In both cases the owning catalogue remains authoritative for canonical English names.
|
|
99
|
+
German, Spanish, French and Russian. In both cases the owning catalogue remains
|
|
100
|
+
authoritative for canonical English names.
|
|
100
101
|
- **Coverage:** English, Spanish and Russian cover all 226 micro resources. The explicit
|
|
101
|
-
translations cover 218 in German and
|
|
102
|
-
|
|
103
|
-
canonical English spelling and are retained verbatim; they are explicit source values,
|
|
104
|
-
not lookup-generated fallbacks.
|
|
105
|
-
- **Manual corrections:** the 30 in-game values labelled Brazilian Portuguese are stored
|
|
106
|
-
under `pt`, matching the 188 existing Portuguese entries because both sets contain the
|
|
107
|
-
same Brazilian Portuguese game text. `pt-BR` lookups resolve these values through the
|
|
108
|
-
regional-to-language fallback.
|
|
102
|
+
translations cover 218 in German and 225 in French.
|
|
103
|
+
- **Manual corrections:** none.
|
|
109
104
|
|
|
110
105
|
## `ship-names.jsonc`
|
|
111
106
|
|
|
@@ -121,9 +116,8 @@ translation.
|
|
|
121
116
|
Helper's `ships.name.*` key after removing punctuation and folding case. EDSY's
|
|
122
117
|
`eddb.js` `ship.fdname` supplies the second join, with explicit `ship-<id>` language
|
|
123
118
|
entries filling locales absent from the CSV. The resulting source-backed coverage is
|
|
124
|
-
48 ships in Spanish, 44 in French
|
|
125
|
-
|
|
126
|
-
no accepted source carries a German ship-name table.
|
|
119
|
+
48 ships in Spanish, 44 in French and 48 in Russian; no accepted source carries a
|
|
120
|
+
German ship-name table.
|
|
127
121
|
- **Standing conclusion:** every source-backed non-English value is byte-for-byte equal
|
|
128
122
|
to the canonical English ship name. The explicit values remain in the catalogue so a
|
|
129
123
|
lookup distinguishes a source-backed same spelling from an unavailable translation.
|
|
@@ -144,21 +138,19 @@ translation.
|
|
|
144
138
|
|
|
145
139
|
- **Acquired:** 2026-08-18 UTC.
|
|
146
140
|
- **EDSY revision:** commit `e446fbe6e4597dea7ab0bd3105b9a36642388040`;
|
|
147
|
-
database version `424009901`, last-modified marker `20260810`; `lang-en.json
|
|
148
|
-
`lang-
|
|
149
|
-
`9b199db635f7b968b75c8e9a14bdce68e37e4120`,
|
|
150
|
-
`493fa09c4d4a11f0282e1e4076a67fed8d7f317e` and
|
|
141
|
+
database version `424009901`, last-modified marker `20260810`; `lang-en.json` and
|
|
142
|
+
`lang-ru.json` have Git blob ids `9b199db635f7b968b75c8e9a14bdce68e37e4120` and
|
|
151
143
|
`36496372d056754c34da03ca6836e27987c96b6a` respectively.
|
|
152
144
|
- **Derivation:** each of the 48 group ids and its canonical English name is projected
|
|
153
145
|
from `data/ships/engineering-options.jsonc`. That catalogue derives its group menus
|
|
154
146
|
from EDSY, with the supplemental sources and corrections recorded in
|
|
155
147
|
`data/ships/SOURCES.md`. Where a canonical English name matches an EDSY `mtype-*`
|
|
156
148
|
value in `lang-en.json` byte-for-byte and uniquely, explicit values with the same key
|
|
157
|
-
are copied from `lang-
|
|
158
|
-
- **Coverage:** canonical English covers every engineering option group
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
149
|
+
are copied from `lang-ru.json`.
|
|
150
|
+
- **Coverage:** canonical English covers every engineering option group; Russian covers
|
|
151
|
+
44 of 48. The Guardian power-plant, power-distributor and hull-reinforcement groups
|
|
152
|
+
have no distinct EDSY label, and EDSY carries no Russian value for
|
|
153
|
+
`frameShiftDrivesSCO`.
|
|
162
154
|
- **Manual corrections:** none.
|
|
163
155
|
|
|
164
156
|
## `experimental-effect-descriptions.jsonc`
|
|
@@ -175,22 +167,29 @@ translation.
|
|
|
175
167
|
|
|
176
168
|
## `pre-engineered-variant-names.jsonc`
|
|
177
169
|
|
|
178
|
-
- **Acquired:** 2026-08-18 UTC.
|
|
170
|
+
- **Acquired:** 2026-08-18 UTC; the Merc-shop names 2026-08-22 UTC.
|
|
179
171
|
- **Derivation:** all 76 compound identities and English names come from
|
|
180
172
|
`data/ships/pre-engineered.jsonc`. An identity combines the base module symbol,
|
|
181
173
|
blueprint, optional experimental effect and acquisition route. When a variant name
|
|
182
174
|
exactly matches its base module's canonical name, it reuses that record from
|
|
183
|
-
`module-names.jsonc`; the
|
|
175
|
+
`module-names.jsonc`; the 41 distinct display records are stored once. Fixed reward
|
|
184
176
|
names such as the three `Decorative_*` festive launchers remain canonical English.
|
|
177
|
+
- **The 22 Merc-shop rows carry the shop's own names**, in 14 distinct records — the shop
|
|
178
|
+
sells a "Far-Reaching Abrasion Blaster", not an Abrasion Blaster — so they do not reuse
|
|
179
|
+
their base module's record. English and the German, Spanish, French and Russian values
|
|
180
|
+
are supplied by the repository owner from the in-game shop listing; no registry
|
|
181
|
+
publishes them.
|
|
185
182
|
- **Coverage:** English covers every variant. Ordinary names inherit the explicit
|
|
186
|
-
localized values available for their base module;
|
|
187
|
-
translation source.
|
|
183
|
+
localized values available for their base module; the Merc-shop names carry all five
|
|
184
|
+
stored locales; fixed reward names have no accepted translation source.
|
|
188
185
|
- **Manual corrections:** none.
|
|
189
186
|
|
|
190
187
|
## Known gaps
|
|
191
188
|
|
|
192
189
|
Localized coverage follows the accepted sources and is not complete for every catalogue or
|
|
193
|
-
locale.
|
|
194
|
-
|
|
195
|
-
|
|
190
|
+
stored locale. A language absent from all ten catalogues is the locale decision recorded
|
|
191
|
+
above rather than a gap. The accepted sources carry only canonical English for
|
|
192
|
+
outfitting-family labels and some engineering-group labels, slot and restriction labels,
|
|
193
|
+
fixed reward names, and structured loadout, calculation, SLEF and edit messages. Missing
|
|
194
|
+
source-backed translations remain tracked by
|
|
196
195
|
[#320](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/320).
|
|
@@ -130,8 +130,6 @@ identity from FDevIDs, stats and slots from coriolis-data, joined on `symbol`.
|
|
|
130
130
|
### Gunsights
|
|
131
131
|
|
|
132
132
|
- **File:** `gunsights.jsonc` (48 player-flyable hulls, 234 weapon hardpoints).
|
|
133
|
-
- **Source:** in-game gunsight observations from the in-game verification snapshot
|
|
134
|
-
pinned above.
|
|
135
133
|
- **Derivation:** each observation is joined to `ships.jsonc` by case-insensitive hull
|
|
136
134
|
symbol. Its hardpoints are joined by exact journal slot key to the hardpoints returned
|
|
137
135
|
by `enumerateSlots`, then written in the existing `Ship.hardpoints` order. One observed
|
|
@@ -387,6 +385,20 @@ FDevIDs, stats from coriolis-data and EDSY, joined on `symbol`.
|
|
|
387
385
|
The group source, derivation, split
|
|
388
386
|
Guardian families and coverage are documented under Engineering options below; this
|
|
389
387
|
field is a projection of that map, not a separate classification source.
|
|
388
|
+
- **`family` groups the three variable-slot outfitting lists.** Every internal,
|
|
389
|
+
hardpoint and utility record carries one stable descriptive English label: 484
|
|
390
|
+
internal modules in 35 families, 159 hardpoints in 29, and 35 utility fittings in
|
|
391
|
+
12. The 521 core records carry none because their existing `slot` is already the
|
|
392
|
+
grouping the core-internals screen uses; public loaders normalize that deliberate
|
|
393
|
+
absence to `null`. Labels are derived from the canonical `name` identities above and
|
|
394
|
+
the module kind represented by each record, then pluralized for display. Variants
|
|
395
|
+
remain with the base family rather than fragmenting a list: Bi-Weave and Prismatic
|
|
396
|
+
generators are `Shield Generators`; corrosion-resistant and Mk II racks are
|
|
397
|
+
`Cargo Racks`; Powerplay weapons stay with their base weapon; Mk I/Mk II cabins and
|
|
398
|
+
vessel hangars share `Passenger Cabins` and `Vessel Hangars`. Guardian/AX and
|
|
399
|
+
specialist mining weapons retain their distinct kind where their function differs.
|
|
400
|
+
A re-derivation must carry these labels in the normalized identity arrays; no
|
|
401
|
+
upstream column publishes this display classification.
|
|
390
402
|
- **Stats source:** coriolis-data `modules/**` for the mechanical, defence, power and
|
|
391
403
|
weapon stats; EDSY `eddb.js` for mass, integrity, power draw, boot time and the
|
|
392
404
|
engineering base stats coriolis does not carry; and in-game verification for the
|
|
@@ -1732,6 +1744,13 @@ up straight through with no disambiguation at all. Both paths are evidence that
|
|
|
1732
1744
|
and several rows are annotated as having been obtainable both ways — the six SCO "V1"
|
|
1733
1745
|
drives most obviously. `acquisition` records the tag; it is not a claim that no other
|
|
1734
1746
|
route ever existed.
|
|
1747
|
+
- **`name` is the base module's name, except on the Merc-shop rows.** A community-goal or
|
|
1748
|
+
tech-broker article is listed under the module it fits as, so those rows carry the
|
|
1749
|
+
catalogue name verbatim. The 22 `mercenary` rows do not: the shop sells the
|
|
1750
|
+
"Far-Reaching Abrasion Blaster" and the "Support Focused Power Distributor" under those
|
|
1751
|
+
names, 14 distinct ones over the 22 rows. Supplied by the repository owner from the
|
|
1752
|
+
in-game shop listing, acquired 2026-08-22 UTC; the registries carry the transformation,
|
|
1753
|
+
not the label. Their localized values are recorded in `data/i18n/SOURCES.md`.
|
|
1735
1754
|
- **`engineeringLocked: true` marks 12 final weapon rows:** the seven pre-engineered
|
|
1736
1755
|
Guardian weapons and the five fixed Enzyme/AX articles. Their evidence is recorded once
|
|
1737
1756
|
under Engineering options.
|
package/README.md
CHANGED
|
@@ -55,9 +55,10 @@ The package has six feature areas:
|
|
|
55
55
|
|
|
56
56
|
## Ship assets
|
|
57
57
|
|
|
58
|
-
Every catalogued hull includes
|
|
58
|
+
Every catalogued hull includes four SVG files in the installed package:
|
|
59
59
|
|
|
60
60
|
```text
|
|
61
|
+
assets/ships/<symbol>/gunsight.svg
|
|
61
62
|
assets/ships/<symbol>/illustration.svg
|
|
62
63
|
assets/ships/<symbol>/schematic-top.svg
|
|
63
64
|
assets/ships/<symbol>/schematic-bottom.svg
|
|
@@ -67,6 +68,11 @@ assets/ships/<symbol>/schematic-bottom.svg
|
|
|
67
68
|
package files rather than JavaScript subpath exports, so applications can copy them from
|
|
68
69
|
the installed package into their own public or bundled asset directory.
|
|
69
70
|
|
|
71
|
+
`gunsight.svg` is a `600 × 600` frontal plot of the fixed-weapon aim points at a nominal
|
|
72
|
+
1,000-metre target range. Each weapon group under `#weapon-dots` carries the same
|
|
73
|
+
`data-journal-slot` key used by the hull's hardpoint layout. The illustration and both
|
|
74
|
+
schematics use a `1200 × 800` canvas.
|
|
75
|
+
|
|
70
76
|
The two schematics expose a stable annotation contract for hull-anatomy interfaces:
|
|
71
77
|
|
|
72
78
|
- Each annotated feature is a `<g>` group carrying a `data-feature` category. The
|
|
@@ -170,10 +176,10 @@ getEngineeringGroupName('frameShiftDrives', 'de'); // -> null
|
|
|
170
176
|
```
|
|
171
177
|
|
|
172
178
|
The functions return an explicit source value verbatim, so a source-backed spelling may
|
|
173
|
-
happen to equal English; the library itself never supplies an English fallback.
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
179
|
+
happen to equal English; the library itself never supplies an English fallback. The
|
|
180
|
+
catalogues carry English, French, German, Russian and Spanish, each stored under a bare
|
|
181
|
+
language tag: a regional or script subtag is dropped (`de-DE` → `de`), and any other
|
|
182
|
+
language returns `null`.
|
|
177
183
|
|
|
178
184
|
The same contract covers ship manufacturers, pre-engineered variant names, engineering
|
|
179
185
|
group names, experimental-effect descriptions, loadout-slot and restriction labels, and
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="adder" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="7.95e-08" data-offset-y-metres="2.476220131">
|
|
8
|
+
<circle cx="300.000000" cy="290.714175" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!Hardpoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="4.803110899" data-offset-y-metres="-3.305289984">
|
|
11
|
+
<circle cx="318.011666" cy="312.394837" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!Hardpoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-4.81071919" data-offset-y-metres="-3.305160046">
|
|
14
|
+
<circle cx="281.959803" cy="312.394350" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="anaconda" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="LargeHardpoint1" data-journal-slot="LargeHardpoint1" data-socket="!Hardpoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-0.0676546022" data-offset-y-metres="-16.49276972">
|
|
8
|
+
<circle cx="299.746295" cy="361.847886" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="HugeHardpoint1" data-journal-slot="HugeHardpoint1" data-socket="!Hardpoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-0.0500994027" data-offset-y-metres="-20.85164976">
|
|
11
|
+
<circle cx="299.812127" cy="378.193687" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="LargeHardpoint2" data-journal-slot="LargeHardpoint2" data-socket="!Hardpoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-6.395654671" data-offset-y-metres="-6.012909889">
|
|
14
|
+
<circle cx="276.016295" cy="322.548412" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="LargeHardpoint3" data-journal-slot="LargeHardpoint3" data-socket="!Hardpoint3" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="6.260495193" data-offset-y-metres="-6.012919426">
|
|
17
|
+
<circle cx="323.476857" cy="322.548448" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="hardpoint-05" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint4" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="8.197345741" data-offset-y-metres="-10.42525959">
|
|
20
|
+
<circle cx="330.740047" cy="339.094723" r="5"/>
|
|
21
|
+
</g>
|
|
22
|
+
<g id="hardpoint-06" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint5" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-8.332314484" data-offset-y-metres="-10.4250598">
|
|
23
|
+
<circle cx="268.753821" cy="339.093974" r="5"/>
|
|
24
|
+
</g>
|
|
25
|
+
<g id="hardpoint-07" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!Hardpoint7" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="1.396265395" data-offset-y-metres="-27.17289925">
|
|
26
|
+
<circle cx="305.235995" cy="401.898372" r="5"/>
|
|
27
|
+
</g>
|
|
28
|
+
<g id="hardpoint-08" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!Hardpoint8" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-1.532654636" data-offset-y-metres="-27.17029953">
|
|
29
|
+
<circle cx="294.252545" cy="401.888623" r="5"/>
|
|
30
|
+
</g>
|
|
31
|
+
</g>
|
|
32
|
+
</svg>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="asp" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!Hardpoint4" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="4.393425578" data-offset-y-metres="-3.852212012">
|
|
8
|
+
<circle cx="316.475346" cy="314.445795" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!Hardpoint5" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-4.393014318" data-offset-y-metres="-3.852212012">
|
|
11
|
+
<circle cx="283.526196" cy="314.445795" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="SmallHardpoint3" data-journal-slot="SmallHardpoint3" data-socket="!Hardpoint6" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="0.8882707894" data-offset-y-metres="-5.805761874">
|
|
14
|
+
<circle cx="303.331015" cy="321.771607" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="SmallHardpoint4" data-journal-slot="SmallHardpoint4" data-socket="!Hardpoint7" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-0.8607862056" data-offset-y-metres="-5.805761874">
|
|
17
|
+
<circle cx="296.772052" cy="321.771607" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="hardpoint-05" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint8" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="4.019735926" data-offset-y-metres="-0.2208419442">
|
|
20
|
+
<circle cx="315.074010" cy="300.828157" r="5"/>
|
|
21
|
+
</g>
|
|
22
|
+
<g id="hardpoint-06" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint9" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-4.01976431" data-offset-y-metres="-0.2208419442">
|
|
23
|
+
<circle cx="284.925884" cy="300.828157" r="5"/>
|
|
24
|
+
</g>
|
|
25
|
+
</g>
|
|
26
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="asp_scout" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!Hardpoint6" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="0.8882707894" data-offset-y-metres="-5.805761874">
|
|
8
|
+
<circle cx="303.331015" cy="321.771607" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!Hardpoint7" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-0.8607862056" data-offset-y-metres="-5.805761874">
|
|
11
|
+
<circle cx="296.772052" cy="321.771607" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint8" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="4.019735926" data-offset-y-metres="-0.2208419442">
|
|
14
|
+
<circle cx="315.074010" cy="300.828157" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint9" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-4.01976431" data-offset-y-metres="-0.2208419442">
|
|
17
|
+
<circle cx="284.925884" cy="300.828157" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="belugaliner" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint6" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-3.867887652" data-offset-y-metres="19.74544048">
|
|
8
|
+
<circle cx="285.495421" cy="225.954598" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint7" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="3.86789211" data-offset-y-metres="19.74544048">
|
|
11
|
+
<circle cx="314.504595" cy="225.954598" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="MediumHardpoint3" data-journal-slot="MediumHardpoint3" data-socket="!Hardpoint8" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="3.1204e-06" data-offset-y-metres="-12.56546021">
|
|
14
|
+
<circle cx="300.000012" cy="347.120476" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="MediumHardpoint4" data-journal-slot="MediumHardpoint4" data-socket="!Hardpoint11" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="9.956502282" data-offset-y-metres="-13.03135967">
|
|
17
|
+
<circle cx="337.336884" cy="348.867599" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="hardpoint-05" data-name="MediumHardpoint5" data-journal-slot="MediumHardpoint5" data-socket="!Hardpoint12" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-10.04569784" data-offset-y-metres="-13.03135967">
|
|
20
|
+
<circle cx="262.328633" cy="348.867599" r="5"/>
|
|
21
|
+
</g>
|
|
22
|
+
</g>
|
|
23
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="cobramkiii" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-2.725256026" data-offset-y-metres="-2.219459772">
|
|
8
|
+
<circle cx="289.780290" cy="308.322974" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="4.300404012" data-offset-y-metres="-2.219459772">
|
|
11
|
+
<circle cx="316.126515" cy="308.322974" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!Hardpoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="19.62892336" data-offset-y-metres="-4.274562851">
|
|
14
|
+
<circle cx="373.608463" cy="316.029611" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!Hardpoint3" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-18.16507536" data-offset-y-metres="-4.274562851">
|
|
17
|
+
<circle cx="231.880967" cy="316.029611" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="cobramkiv" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-2.725256026" data-offset-y-metres="-2.219459772">
|
|
8
|
+
<circle cx="289.780290" cy="308.322974" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="4.300404012" data-offset-y-metres="-2.219459772">
|
|
11
|
+
<circle cx="316.126515" cy="308.322974" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!Hardpoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="3.627923906" data-offset-y-metres="1.653739929">
|
|
14
|
+
<circle cx="313.604715" cy="293.798475" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!Hardpoint3" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-2.16423589" data-offset-y-metres="1.653739929">
|
|
17
|
+
<circle cx="291.884115" cy="293.798475" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="hardpoint-05" data-name="SmallHardpoint3" data-journal-slot="SmallHardpoint3" data-socket="!Hardpoint8" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="0.7319211364" data-offset-y-metres="1.53098011">
|
|
20
|
+
<circle cx="302.744704" cy="294.258825" r="5"/>
|
|
21
|
+
</g>
|
|
22
|
+
</g>
|
|
23
|
+
</svg>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="cobramkv" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-6.025300026" data-offset-y-metres="-2.749541938">
|
|
8
|
+
<circle cx="277.405125" cy="310.310782" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="6.025300026" data-offset-y-metres="-2.749541938">
|
|
11
|
+
<circle cx="322.594875" cy="310.310782" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!Hardpoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="8.157999992" data-offset-y-metres="-1.031039953">
|
|
14
|
+
<circle cx="330.592500" cy="303.866400" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!Hardpoint3" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-8.157670021" data-offset-y-metres="-1.031039953">
|
|
17
|
+
<circle cx="269.408737" cy="303.866400" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="hardpoint-05" data-name="MediumHardpoint3" data-journal-slot="MediumHardpoint3" data-socket="!Hardpoint8" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="0" data-offset-y-metres="3.086419821">
|
|
20
|
+
<circle cx="300.000000" cy="288.425926" r="5"/>
|
|
21
|
+
</g>
|
|
22
|
+
</g>
|
|
23
|
+
</svg>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="corsair" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="LargeHardpoint1" data-journal-slot="LargeHardpoint1" data-socket="!Hardpoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-0.000246232" data-offset-y-metres="1.928740025">
|
|
8
|
+
<circle cx="299.999077" cy="292.767225" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="LargeHardpoint2" data-journal-slot="LargeHardpoint2" data-socket="!Hardpoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-3.847556298" data-offset-y-metres="-5.660593912">
|
|
11
|
+
<circle cx="285.571664" cy="321.227227" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="LargeHardpoint3" data-journal-slot="LargeHardpoint3" data-socket="!Hardpoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="3.846753652" data-offset-y-metres="-5.660593912">
|
|
14
|
+
<circle cx="314.425326" cy="321.227227" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="MediumHardpoint3" data-journal-slot="MediumHardpoint3" data-socket="!Hardpoint3" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-0.000246232" data-offset-y-metres="-12.9786396">
|
|
17
|
+
<circle cx="299.999077" cy="348.669899" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="hardpoint-05" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint4" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-3.895796245" data-offset-y-metres="0.2843203545">
|
|
20
|
+
<circle cx="285.390764" cy="298.933799" r="5"/>
|
|
21
|
+
</g>
|
|
22
|
+
<g id="hardpoint-06" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint5" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="3.895303781" data-offset-y-metres="0.2843203545">
|
|
23
|
+
<circle cx="314.607389" cy="298.933799" r="5"/>
|
|
24
|
+
</g>
|
|
25
|
+
</g>
|
|
26
|
+
</svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="cutter" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="HugeHardpoint1" data-journal-slot="HugeHardpoint1" data-socket="!HardPoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-1.069889169" data-offset-y-metres="-10.57123017">
|
|
8
|
+
<circle cx="295.987916" cy="339.642113" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="LargeHardpoint1" data-journal-slot="LargeHardpoint1" data-socket="!HardPoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="1.935310006" data-offset-y-metres="8.357470274">
|
|
11
|
+
<circle cx="307.257413" cy="268.659486" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="LargeHardpoint2" data-journal-slot="LargeHardpoint2" data-socket="!HardPoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-4.294200063" data-offset-y-metres="8.357470274">
|
|
14
|
+
<circle cx="283.896750" cy="268.659486" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="MediumHardpoint3" data-journal-slot="MediumHardpoint3" data-socket="!HardPoint3" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="48.76639163" data-offset-y-metres="6.656949758">
|
|
17
|
+
<circle cx="482.873969" cy="275.036438" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="hardpoint-05" data-name="MediumHardpoint4" data-journal-slot="MediumHardpoint4" data-socket="!HardPoint4" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-51.33541119" data-offset-y-metres="6.656949758">
|
|
20
|
+
<circle cx="107.492208" cy="275.036438" r="5"/>
|
|
21
|
+
</g>
|
|
22
|
+
<g id="hardpoint-06" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!HardPoint5" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="5.604150176" data-offset-y-metres="-12.57802987">
|
|
23
|
+
<circle cx="321.015563" cy="347.167612" r="5"/>
|
|
24
|
+
</g>
|
|
25
|
+
<g id="hardpoint-07" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!HardPoint6" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-7.872259736" data-offset-y-metres="-12.57802987">
|
|
26
|
+
<circle cx="270.479026" cy="347.167612" r="5"/>
|
|
27
|
+
</g>
|
|
28
|
+
</g>
|
|
29
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="diamondback" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-4.051528095" data-offset-y-metres="-2.539011695">
|
|
8
|
+
<circle cx="284.806770" cy="309.521294" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="4.051531674" data-offset-y-metres="-2.539011695">
|
|
11
|
+
<circle cx="315.193244" cy="309.521294" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!Hardpoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-1.401858209" data-offset-y-metres="-2.566511847">
|
|
14
|
+
<circle cx="294.743032" cy="309.624419" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="hardpoint-04" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!Hardpoint3" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="1.401851775" data-offset-y-metres="-2.566511847">
|
|
17
|
+
<circle cx="305.256944" cy="309.624419" r="5"/>
|
|
18
|
+
</g>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="diamondbackxl" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="MediumHardpoint1" data-journal-slot="MediumHardpoint1" data-socket="!Hardpoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-4.051529884" data-offset-y-metres="-2.539011695">
|
|
8
|
+
<circle cx="284.806763" cy="309.521294" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="MediumHardpoint2" data-journal-slot="MediumHardpoint2" data-socket="!Hardpoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="4.051529884" data-offset-y-metres="-2.539011695">
|
|
11
|
+
<circle cx="315.193237" cy="309.521294" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="LargeHardpoint1" data-journal-slot="LargeHardpoint1" data-socket="!Hardpoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-3.8e-09" data-offset-y-metres="-5.490321614">
|
|
14
|
+
<circle cx="300.000000" cy="320.588706" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="dolphin" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!HardpointSmall0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-1.491389819" data-offset-y-metres="-1.438220024">
|
|
8
|
+
<circle cx="294.407288" cy="305.393325" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!HardpointSmall1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="1.491010241" data-offset-y-metres="-1.437789917">
|
|
11
|
+
<circle cx="305.591288" cy="305.391712" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
</g>
|
|
14
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" data-identity="eagle" data-target-range-metres="1000" data-half-span-tangent="0.08">
|
|
2
|
+
<g id="gunsight" fill="none" stroke="#22333b" stroke-width="2">
|
|
3
|
+
<circle cx="300" cy="300" r="12"/>
|
|
4
|
+
<circle cx="300" cy="300" r="2" fill="#22333b" stroke="none"/>
|
|
5
|
+
</g>
|
|
6
|
+
<g id="weapon-dots" fill="#e63946" stroke="#ffffff" stroke-width="1.5">
|
|
7
|
+
<g id="hardpoint-01" data-name="SmallHardpoint1" data-journal-slot="SmallHardpoint1" data-socket="!Hardpoint0" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="0" data-offset-y-metres="1.335000038">
|
|
8
|
+
<circle cx="300.000000" cy="294.993750" r="5"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g id="hardpoint-02" data-name="SmallHardpoint2" data-journal-slot="SmallHardpoint2" data-socket="!Hardpoint1" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="-0.9999989867" data-offset-y-metres="-4.16493988">
|
|
11
|
+
<circle cx="296.250004" cy="315.618525" r="5"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="hardpoint-03" data-name="SmallHardpoint3" data-journal-slot="SmallHardpoint3" data-socket="!Hardpoint2" data-direction-ratio-x="0" data-direction-ratio-y="0" data-offset-x-metres="1" data-offset-y-metres="-4.164999962">
|
|
14
|
+
<circle cx="303.750000" cy="315.618750" r="5"/>
|
|
15
|
+
</g>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|