@shipload/sdk 2.0.0-rc16 → 2.0.0-rc17
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/lib/shipload.d.ts +3 -3
- package/lib/shipload.js +35 -35
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +34 -34
- package/lib/shipload.m.js.map +1 -1
- package/package.json +1 -1
- package/src/capabilities/modules.ts +2 -2
- package/src/data/capabilities.ts +16 -16
- package/src/data/recipes.ts +9 -9
- package/src/entities/ship-deploy.ts +2 -2
- package/src/index-module.ts +2 -2
- package/src/nft/description.ts +3 -3
- package/src/resolution/describe-module.ts +2 -2
- package/src/resolution/resolve-item.ts +3 -3
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ export const ITEM_ENGINE_T1 = 10100
|
|
|
2
2
|
export const ITEM_GENERATOR_T1 = 10101
|
|
3
3
|
export const ITEM_GATHERER_T1 = 10102
|
|
4
4
|
export const ITEM_LOADER_T1 = 10103
|
|
5
|
-
export const
|
|
5
|
+
export const ITEM_CRAFTER_T1 = 10104
|
|
6
6
|
export const ITEM_STORAGE_T1 = 10105
|
|
7
7
|
export const ITEM_HAULER_T1 = 10106
|
|
8
8
|
|
|
@@ -41,7 +41,7 @@ export function getModuleCapabilityType(itemId: number): number {
|
|
|
41
41
|
return MODULE_GATHERER
|
|
42
42
|
case ITEM_LOADER_T1:
|
|
43
43
|
return MODULE_LOADER
|
|
44
|
-
case
|
|
44
|
+
case ITEM_CRAFTER_T1:
|
|
45
45
|
return MODULE_CRAFTER
|
|
46
46
|
case ITEM_STORAGE_T1:
|
|
47
47
|
return MODULE_STORAGE
|
package/src/data/capabilities.ts
CHANGED
|
@@ -19,7 +19,7 @@ export const capabilityNames: string[] = [
|
|
|
19
19
|
'Loader',
|
|
20
20
|
'Gathering',
|
|
21
21
|
'Warp',
|
|
22
|
-
'
|
|
22
|
+
'Crafter',
|
|
23
23
|
'Launch',
|
|
24
24
|
'Hauler',
|
|
25
25
|
]
|
|
@@ -38,13 +38,13 @@ export const capabilityAttributes: CapabilityAttribute[] = [
|
|
|
38
38
|
{capability: 'Gathering', attribute: 'depth', description: 'Maximum gather depth'},
|
|
39
39
|
{capability: 'Gathering', attribute: 'speed', description: 'Gathering speed/penetration'},
|
|
40
40
|
{capability: 'Warp', attribute: 'range', description: 'Maximum warp distance'},
|
|
41
|
-
{capability: '
|
|
41
|
+
{capability: 'Crafter', attribute: 'speed', description: 'Crafting time per item'},
|
|
42
42
|
{
|
|
43
|
-
capability: '
|
|
43
|
+
capability: 'Crafter',
|
|
44
44
|
attribute: 'drain',
|
|
45
45
|
description: 'Energy consumed per second while crafting',
|
|
46
46
|
},
|
|
47
|
-
{capability: '
|
|
47
|
+
{capability: 'Crafter', attribute: 'quality', description: 'Modifier on output quality'},
|
|
48
48
|
{capability: 'Launch', attribute: 'range', description: 'Maximum launch distance'},
|
|
49
49
|
{capability: 'Launch', attribute: 'capacity', description: 'Maximum mass per launch'},
|
|
50
50
|
{capability: 'Launch', attribute: 'drain', description: 'Energy consumed per launch'},
|
|
@@ -140,9 +140,9 @@ export const statMappings: StatMapping[] = [
|
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
stat: 'Conductivity',
|
|
143
|
-
capability: '
|
|
143
|
+
capability: 'Crafter',
|
|
144
144
|
attribute: 'drain',
|
|
145
|
-
rationale: 'Efficient energy transfer reduces
|
|
145
|
+
rationale: 'Efficient energy transfer reduces crafting energy cost',
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
stat: 'Conductivity',
|
|
@@ -152,9 +152,9 @@ export const statMappings: StatMapping[] = [
|
|
|
152
152
|
},
|
|
153
153
|
{
|
|
154
154
|
stat: 'Ductility',
|
|
155
|
-
capability: '
|
|
155
|
+
capability: 'Crafter',
|
|
156
156
|
attribute: 'quality',
|
|
157
|
-
rationale: 'Precise shaping enables tighter
|
|
157
|
+
rationale: 'Precise shaping enables tighter crafting tolerances',
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
stat: 'Ductility',
|
|
@@ -212,7 +212,7 @@ export const statMappings: StatMapping[] = [
|
|
|
212
212
|
},
|
|
213
213
|
{
|
|
214
214
|
stat: 'Reactivity',
|
|
215
|
-
capability: '
|
|
215
|
+
capability: 'Crafter',
|
|
216
216
|
attribute: 'speed',
|
|
217
217
|
rationale: 'Reactive gases accelerate chemical/thermal processing',
|
|
218
218
|
},
|
|
@@ -230,7 +230,7 @@ export const statMappings: StatMapping[] = [
|
|
|
230
230
|
},
|
|
231
231
|
{
|
|
232
232
|
stat: 'Thermal',
|
|
233
|
-
capability: '
|
|
233
|
+
capability: 'Crafter',
|
|
234
234
|
attribute: 'quality',
|
|
235
235
|
rationale: 'Precise thermal control during fabrication',
|
|
236
236
|
},
|
|
@@ -272,7 +272,7 @@ export const statMappings: StatMapping[] = [
|
|
|
272
272
|
},
|
|
273
273
|
{
|
|
274
274
|
stat: 'Hardness',
|
|
275
|
-
capability: '
|
|
275
|
+
capability: 'Crafter',
|
|
276
276
|
attribute: 'speed',
|
|
277
277
|
rationale: 'Hard tooling surfaces cut and shape materials faster',
|
|
278
278
|
},
|
|
@@ -290,19 +290,19 @@ export const statMappings: StatMapping[] = [
|
|
|
290
290
|
},
|
|
291
291
|
{
|
|
292
292
|
stat: 'Clarity',
|
|
293
|
-
capability: '
|
|
293
|
+
capability: 'Crafter',
|
|
294
294
|
attribute: 'quality',
|
|
295
295
|
rationale: 'Precision optics for calibration during fabrication',
|
|
296
296
|
},
|
|
297
297
|
{
|
|
298
298
|
stat: 'Clarity',
|
|
299
|
-
capability: '
|
|
299
|
+
capability: 'Crafter',
|
|
300
300
|
attribute: 'drain',
|
|
301
301
|
rationale: 'Precision computing optimizes energy routing in factory',
|
|
302
302
|
},
|
|
303
303
|
{
|
|
304
304
|
stat: 'Plasticity',
|
|
305
|
-
capability: '
|
|
305
|
+
capability: 'Crafter',
|
|
306
306
|
attribute: 'speed',
|
|
307
307
|
rationale: 'Easily reshaped materials speed up processing',
|
|
308
308
|
},
|
|
@@ -332,9 +332,9 @@ export const statMappings: StatMapping[] = [
|
|
|
332
332
|
},
|
|
333
333
|
{
|
|
334
334
|
stat: 'Insulation',
|
|
335
|
-
capability: '
|
|
335
|
+
capability: 'Crafter',
|
|
336
336
|
attribute: 'drain',
|
|
337
|
-
rationale: 'Better insulation reduces energy loss during
|
|
337
|
+
rationale: 'Better insulation reduces energy loss during crafting',
|
|
338
338
|
},
|
|
339
339
|
{
|
|
340
340
|
stat: 'Insulation',
|
package/src/data/recipes.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
ITEM_GENERATOR_T1,
|
|
5
5
|
ITEM_HAULER_T1,
|
|
6
6
|
ITEM_LOADER_T1,
|
|
7
|
-
|
|
7
|
+
ITEM_CRAFTER_T1,
|
|
8
8
|
ITEM_STORAGE_T1,
|
|
9
9
|
MODULE_ANY,
|
|
10
10
|
MODULE_CRAFTER,
|
|
@@ -22,7 +22,7 @@ export {
|
|
|
22
22
|
ITEM_GENERATOR_T1,
|
|
23
23
|
ITEM_GATHERER_T1,
|
|
24
24
|
ITEM_LOADER_T1,
|
|
25
|
-
|
|
25
|
+
ITEM_CRAFTER_T1,
|
|
26
26
|
ITEM_STORAGE_T1,
|
|
27
27
|
ITEM_HAULER_T1,
|
|
28
28
|
}
|
|
@@ -202,7 +202,7 @@ export const components: ComponentDefinition[] = [
|
|
|
202
202
|
{
|
|
203
203
|
id: ITEM_TOOL_BIT,
|
|
204
204
|
name: 'Tool Bit',
|
|
205
|
-
description: 'Dense regolith cutting head for
|
|
205
|
+
description: 'Dense regolith cutting head for crafting operations.',
|
|
206
206
|
color: '#C4A57B',
|
|
207
207
|
mass: 30000,
|
|
208
208
|
stats: [
|
|
@@ -210,12 +210,12 @@ export const components: ComponentDefinition[] = [
|
|
|
210
210
|
{key: 'composition', source: 'regolith'},
|
|
211
211
|
],
|
|
212
212
|
recipe: [{category: 'regolith' as ResourceCategory, quantity: 20}],
|
|
213
|
-
usedIn: [{type: 'module', name: '
|
|
213
|
+
usedIn: [{type: 'module', name: 'Crafter'}],
|
|
214
214
|
},
|
|
215
215
|
{
|
|
216
216
|
id: ITEM_REACTION_CHAMBER,
|
|
217
217
|
name: 'Reaction Chamber',
|
|
218
|
-
description: 'Gas-pressurized vessel for controlled
|
|
218
|
+
description: 'Gas-pressurized vessel for controlled crafting reactions.',
|
|
219
219
|
color: '#B8E4A0',
|
|
220
220
|
mass: 50000,
|
|
221
221
|
stats: [
|
|
@@ -223,7 +223,7 @@ export const components: ComponentDefinition[] = [
|
|
|
223
223
|
{key: 'thermal', source: 'gas'},
|
|
224
224
|
],
|
|
225
225
|
recipe: [{category: 'gas' as ResourceCategory, quantity: 32}],
|
|
226
|
-
usedIn: [{type: 'module', name: '
|
|
226
|
+
usedIn: [{type: 'module', name: 'Crafter'}],
|
|
227
227
|
},
|
|
228
228
|
{
|
|
229
229
|
id: ITEM_FOCUSING_ARRAY,
|
|
@@ -449,12 +449,12 @@ export const moduleRecipes: ModuleRecipe[] = [
|
|
|
449
449
|
],
|
|
450
450
|
},
|
|
451
451
|
{
|
|
452
|
-
id: '
|
|
453
|
-
name: '
|
|
452
|
+
id: 'crafter-t1',
|
|
453
|
+
name: 'Crafter',
|
|
454
454
|
description:
|
|
455
455
|
'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
|
|
456
456
|
color: '#B8E4A0',
|
|
457
|
-
itemId:
|
|
457
|
+
itemId: ITEM_CRAFTER_T1,
|
|
458
458
|
moduleType: MODULE_CRAFTER,
|
|
459
459
|
recipe: [
|
|
460
460
|
{itemId: ITEM_TOOL_BIT, quantity: 3},
|
|
@@ -86,7 +86,7 @@ export function computeLoaderCapabilities(stats: Record<string, number>): {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
export function
|
|
89
|
+
export function computeCrafterCapabilities(stats: Record<string, number>): {
|
|
90
90
|
speed: number
|
|
91
91
|
drain: number
|
|
92
92
|
} {
|
|
@@ -247,7 +247,7 @@ export function computeShipCapabilities(
|
|
|
247
247
|
let totalSpeed = 0
|
|
248
248
|
let totalDrain = 0
|
|
249
249
|
for (const m of crafterModules) {
|
|
250
|
-
const caps =
|
|
250
|
+
const caps = computeCrafterCapabilities(decodeCraftedItemStats(m.itemId, m.stats))
|
|
251
251
|
totalSpeed += caps.speed
|
|
252
252
|
totalDrain += caps.drain
|
|
253
253
|
}
|
package/src/index-module.ts
CHANGED
|
@@ -210,7 +210,7 @@ export {
|
|
|
210
210
|
ITEM_REACTION_CHAMBER,
|
|
211
211
|
ITEM_GATHERER_T1,
|
|
212
212
|
ITEM_LOADER_T1,
|
|
213
|
-
|
|
213
|
+
ITEM_CRAFTER_T1,
|
|
214
214
|
ITEM_STORAGE_T1,
|
|
215
215
|
ITEM_HULL_PLATES_T2,
|
|
216
216
|
ITEM_CARGO_LINING_T2,
|
|
@@ -254,7 +254,7 @@ export {
|
|
|
254
254
|
computeGathererCapabilities,
|
|
255
255
|
computeHaulerCapabilities,
|
|
256
256
|
computeLoaderCapabilities,
|
|
257
|
-
|
|
257
|
+
computeCrafterCapabilities,
|
|
258
258
|
computeWarehouseHullCapabilities,
|
|
259
259
|
computeStorageCapabilities,
|
|
260
260
|
computeShipCapabilities,
|
package/src/nft/description.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
ITEM_GATHERER_T1,
|
|
5
5
|
ITEM_GENERATOR_T1,
|
|
6
6
|
ITEM_LOADER_T1,
|
|
7
|
-
|
|
7
|
+
ITEM_CRAFTER_T1,
|
|
8
8
|
ITEM_STORAGE_T1,
|
|
9
9
|
MODULE_CRAFTER,
|
|
10
10
|
MODULE_ENGINE,
|
|
@@ -79,8 +79,8 @@ export function moduleDisplayName(itemId: number): string {
|
|
|
79
79
|
return 'Gatherer'
|
|
80
80
|
case ITEM_LOADER_T1:
|
|
81
81
|
return 'Loader'
|
|
82
|
-
case
|
|
83
|
-
return '
|
|
82
|
+
case ITEM_CRAFTER_T1:
|
|
83
|
+
return 'Crafter'
|
|
84
84
|
case ITEM_STORAGE_T1:
|
|
85
85
|
return 'Storage'
|
|
86
86
|
default:
|
|
@@ -73,8 +73,8 @@ const TEMPLATES: Record<string, TemplateSpec> = {
|
|
|
73
73
|
],
|
|
74
74
|
highlightKeys: ['quantity', 'thrust', 'mass'],
|
|
75
75
|
},
|
|
76
|
-
|
|
77
|
-
id: 'module.
|
|
76
|
+
crafter: {
|
|
77
|
+
id: 'module.crafter.description',
|
|
78
78
|
template: 'manufactures items at {speed} speed while draining {drain} energy per second',
|
|
79
79
|
params: [
|
|
80
80
|
['speed', 'Speed'],
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
computeGeneratorCapabilities,
|
|
23
23
|
computeHaulerCapabilities,
|
|
24
24
|
computeLoaderCapabilities,
|
|
25
|
-
|
|
25
|
+
computeCrafterCapabilities,
|
|
26
26
|
computeShipHullCapabilities,
|
|
27
27
|
} from '../entities/ship-deploy'
|
|
28
28
|
import {computeContainerCapabilities} from '../entities/container'
|
|
@@ -197,9 +197,9 @@ function computeCapabilityGroup(
|
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
case MODULE_CRAFTER: {
|
|
200
|
-
const caps =
|
|
200
|
+
const caps = computeCrafterCapabilities(stats)
|
|
201
201
|
return {
|
|
202
|
-
capability: '
|
|
202
|
+
capability: 'Crafter',
|
|
203
203
|
attributes: [
|
|
204
204
|
{label: 'Speed', value: caps.speed},
|
|
205
205
|
{label: 'Drain', value: caps.drain},
|