@shipload/sdk 1.0.0-next.71 → 1.0.0-next.72

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.
@@ -498,24 +498,6 @@
498
498
  "type": "entity",
499
499
  "tier": 1
500
500
  },
501
- {
502
- "id": 10202,
503
- "mass": 32000,
504
- "type": "entity",
505
- "tier": 1
506
- },
507
- {
508
- "id": 10203,
509
- "mass": 19000,
510
- "type": "entity",
511
- "tier": 1
512
- },
513
- {
514
- "id": 10204,
515
- "mass": 19000,
516
- "type": "entity",
517
- "tier": 1
518
- },
519
501
  {
520
502
  "id": 10205,
521
503
  "mass": 80000,
@@ -528,12 +510,6 @@
528
510
  "type": "entity",
529
511
  "tier": 1
530
512
  },
531
- {
532
- "id": 10207,
533
- "mass": 24000,
534
- "type": "entity",
535
- "tier": 1
536
- },
537
513
  {
538
514
  "id": 10208,
539
515
  "mass": 48000,
@@ -736,6 +712,36 @@
736
712
  "type": "entity",
737
713
  "tier": 2
738
714
  },
715
+ {
716
+ "id": 11202,
717
+ "mass": 51200,
718
+ "type": "entity",
719
+ "tier": 2
720
+ },
721
+ {
722
+ "id": 11203,
723
+ "mass": 30400,
724
+ "type": "entity",
725
+ "tier": 2
726
+ },
727
+ {
728
+ "id": 11204,
729
+ "mass": 30400,
730
+ "type": "entity",
731
+ "tier": 2
732
+ },
733
+ {
734
+ "id": 11207,
735
+ "mass": 38400,
736
+ "type": "entity",
737
+ "tier": 2
738
+ },
739
+ {
740
+ "id": 11209,
741
+ "mass": 30400,
742
+ "type": "entity",
743
+ "tier": 2
744
+ },
739
745
  {
740
746
  "id": 11212,
741
747
  "mass": 43200,
@@ -84,6 +84,13 @@
84
84
  "zCoord": 0,
85
85
  "defaultLabel": "Construction Dock"
86
86
  },
87
+ {
88
+ "kind": "asmblyard",
89
+ "classification": "OrbitalStructure",
90
+ "capabilityFlags": 20,
91
+ "zCoord": 0,
92
+ "defaultLabel": "Assembly Yard"
93
+ },
87
94
  {
88
95
  "kind": "depot",
89
96
  "classification": "PlanetaryStructure",
@@ -96,117 +103,146 @@
96
103
  {
97
104
  "itemId": 10201,
98
105
  "kind": "ship",
99
- "displayLabel": "Ship"
106
+ "displayLabel": "Ship",
107
+ "baseCapacityFn": "ship"
100
108
  },
101
109
  {
102
110
  "itemId": 10210,
103
111
  "kind": "ship",
104
- "displayLabel": "Roustabout"
112
+ "displayLabel": "Roustabout",
113
+ "baseCapacityFn": "ship"
105
114
  },
106
115
  {
107
116
  "itemId": 10211,
108
117
  "kind": "ship",
109
- "displayLabel": "Prospector"
118
+ "displayLabel": "Prospector",
119
+ "baseCapacityFn": "ship"
110
120
  },
111
121
  {
112
122
  "itemId": 10212,
113
123
  "kind": "ship",
114
- "displayLabel": "Tender"
124
+ "displayLabel": "Tender",
125
+ "baseCapacityFn": "ship"
115
126
  },
116
127
  {
117
128
  "itemId": 10213,
118
129
  "kind": "ship",
119
- "displayLabel": "Wright"
130
+ "displayLabel": "Wright",
131
+ "baseCapacityFn": "ship"
120
132
  },
121
133
  {
122
134
  "itemId": 10214,
123
135
  "kind": "ship",
124
- "displayLabel": "Tug"
136
+ "displayLabel": "Tug",
137
+ "baseCapacityFn": "ship"
125
138
  },
126
139
  {
127
140
  "itemId": 10215,
128
141
  "kind": "ship",
129
- "displayLabel": "Porter"
142
+ "displayLabel": "Porter",
143
+ "baseCapacityFn": "ship"
130
144
  },
131
145
  {
132
146
  "itemId": 10218,
133
147
  "kind": "ship",
134
- "displayLabel": "Smith"
135
- },
136
- {
137
- "itemId": 10202,
138
- "kind": "warehouse",
139
- "displayLabel": ""
140
- },
141
- {
142
- "itemId": 10203,
143
- "kind": "extractor",
144
- "displayLabel": ""
145
- },
146
- {
147
- "itemId": 10204,
148
- "kind": "factory",
149
- "displayLabel": ""
148
+ "displayLabel": "Smith",
149
+ "baseCapacityFn": "ship"
150
150
  },
151
151
  {
152
152
  "itemId": 10205,
153
153
  "kind": "mdriver",
154
- "displayLabel": ""
154
+ "displayLabel": "",
155
+ "baseCapacityFn": "container"
155
156
  },
156
157
  {
157
158
  "itemId": 10206,
158
159
  "kind": "mcatcher",
159
- "displayLabel": ""
160
+ "displayLabel": "",
161
+ "baseCapacityFn": "container"
160
162
  },
161
163
  {
162
164
  "itemId": 10200,
163
165
  "kind": "container",
164
- "displayLabel": ""
166
+ "displayLabel": "",
167
+ "baseCapacityFn": "container"
165
168
  },
166
169
  {
167
170
  "itemId": 11200,
168
171
  "kind": "container",
169
- "displayLabel": ""
170
- },
171
- {
172
- "itemId": 10207,
173
- "kind": "hub",
174
- "displayLabel": ""
172
+ "displayLabel": "",
173
+ "baseCapacityFn": "container"
175
174
  },
176
175
  {
177
176
  "itemId": 10208,
178
177
  "kind": "workshop",
179
- "displayLabel": ""
178
+ "displayLabel": "",
179
+ "baseCapacityFn": "workshop"
180
180
  },
181
181
  {
182
182
  "itemId": 10209,
183
183
  "kind": "builddock",
184
- "displayLabel": ""
184
+ "displayLabel": "",
185
+ "baseCapacityFn": "container"
185
186
  },
186
187
  {
187
188
  "itemId": 10216,
188
189
  "kind": "nexus",
189
- "displayLabel": ""
190
+ "displayLabel": "",
191
+ "baseCapacityFn": "container"
190
192
  },
191
193
  {
192
194
  "itemId": 11212,
193
195
  "kind": "ship",
194
- "displayLabel": "Prospector"
196
+ "displayLabel": "Prospector",
197
+ "baseCapacityFn": "ship"
195
198
  },
196
199
  {
197
200
  "itemId": 11213,
198
201
  "kind": "ship",
199
- "displayLabel": "Prospector"
202
+ "displayLabel": "Prospector",
203
+ "baseCapacityFn": "ship"
200
204
  },
201
205
  {
202
206
  "itemId": 11214,
203
207
  "kind": "ship",
204
- "displayLabel": "Dredger"
208
+ "displayLabel": "Dredger",
209
+ "baseCapacityFn": "ship"
205
210
  },
206
211
  {
207
212
  "itemId": 10219,
208
213
  "kind": "depot",
209
- "displayLabel": ""
214
+ "displayLabel": "",
215
+ "baseCapacityFn": "depot"
216
+ },
217
+ {
218
+ "itemId": 11202,
219
+ "kind": "warehouse",
220
+ "displayLabel": "",
221
+ "baseCapacityFn": "warehouse"
222
+ },
223
+ {
224
+ "itemId": 11203,
225
+ "kind": "extractor",
226
+ "displayLabel": "",
227
+ "baseCapacityFn": "container"
228
+ },
229
+ {
230
+ "itemId": 11204,
231
+ "kind": "factory",
232
+ "displayLabel": "",
233
+ "baseCapacityFn": "container"
234
+ },
235
+ {
236
+ "itemId": 11207,
237
+ "kind": "hub",
238
+ "displayLabel": "",
239
+ "baseCapacityFn": ""
240
+ },
241
+ {
242
+ "itemId": 11209,
243
+ "kind": "asmblyard",
244
+ "displayLabel": "Assembly Yard",
245
+ "baseCapacityFn": "container"
210
246
  }
211
247
  ]
212
248
  }
@@ -36,6 +36,7 @@ export type EntityTypeName =
36
36
  | 'mcatcher'
37
37
  | 'hub'
38
38
  | 'depot'
39
+ | 'asmblyard'
39
40
 
40
41
  export interface KindMeta {
41
42
  kind: Name
@@ -49,6 +50,7 @@ export interface TemplateMeta {
49
50
  itemId: number
50
51
  kind: Name
51
52
  displayLabel: string
53
+ baseCapacityFn: string
52
54
  }
53
55
 
54
56
  interface RawKindEntry {
@@ -63,6 +65,7 @@ interface RawTemplateEntry {
63
65
  itemId: number
64
66
  kind: string
65
67
  displayLabel: string
68
+ baseCapacityFn: string
66
69
  }
67
70
 
68
71
  const KIND_META: Map<string, KindMeta> = (() => {
@@ -96,6 +99,7 @@ const TEMPLATE_BY_ITEM_ID: Map<number, TemplateMeta> = (() => {
96
99
  itemId: r.itemId,
97
100
  kind: Name.from(r.kind),
98
101
  displayLabel: r.displayLabel,
102
+ baseCapacityFn: r.baseCapacityFn,
99
103
  })
100
104
  }
101
105
  return m
@@ -114,6 +118,11 @@ export function getTemplateMeta(itemId: number): TemplateMeta | undefined {
114
118
  return TEMPLATE_BY_ITEM_ID.get(itemId)
115
119
  }
116
120
 
121
+ export function getBaseCapacityFnName(itemId: number): string | undefined {
122
+ const fn = TEMPLATE_BY_ITEM_ID.get(itemId)?.baseCapacityFn
123
+ return fn ? fn : undefined
124
+ }
125
+
117
126
  export function getPackedEntityType(itemId: number): Name | null {
118
127
  return TEMPLATE_BY_ITEM_ID.get(itemId)?.kind ?? null
119
128
  }
@@ -150,6 +159,7 @@ export const ENTITY_MASS_DRIVER = Name.from('mdriver')
150
159
  export const ENTITY_MASS_CATCHER = Name.from('mcatcher')
151
160
  export const ENTITY_HUB = Name.from('hub')
152
161
  export const ENTITY_DEPOT = Name.from('depot')
162
+ export const ENTITY_ASSEMBLY_YARD = Name.from('asmblyard')
153
163
 
154
164
  export function isShip(entity: {type?: Name}): boolean {
155
165
  return entity.type?.equals(ENTITY_SHIP) ?? false
@@ -190,3 +200,6 @@ export function isHub(entity: {type?: Name}): boolean {
190
200
  export function isDepot(entity: {type?: Name}): boolean {
191
201
  return entity.type?.equals(ENTITY_DEPOT) ?? false
192
202
  }
203
+ export function isAssemblyYard(entity: {type?: Name}): boolean {
204
+ return entity.type?.equals(ENTITY_ASSEMBLY_YARD) ?? false
205
+ }
@@ -474,6 +474,35 @@ export const itemMetadata: Record<number, ItemMetadata> = {
474
474
  'A gathering ship that stores what it digs. Its limpet bay works alongside a cargo hold.',
475
475
  color: '#4AE898',
476
476
  },
477
+ 11202: {
478
+ name: 'Warehouse',
479
+ description:
480
+ 'The tier 2 Warehouse. Massive stationary storage facility with a single loader module slot.',
481
+ color: '#EAB308',
482
+ },
483
+ 11203: {
484
+ name: 'Mining Rig',
485
+ description:
486
+ 'The tier 2 Mining Rig. Planetary resource extraction with generator and gatherer module slots.',
487
+ color: '#D4726F',
488
+ },
489
+ 11204: {
490
+ name: 'Factory',
491
+ description:
492
+ 'The tier 2 Factory. Planetary fabrication with generator and crafter module slots.',
493
+ color: '#7BA7D4',
494
+ },
495
+ 11207: {
496
+ name: 'Station Hub',
497
+ description: 'The tier 2 Station Hub. Anchors a player station cluster.',
498
+ color: '#A0B8D0',
499
+ },
500
+ 11209: {
501
+ name: 'Assembly Yard',
502
+ description:
503
+ 'Orbital construction facility with amplified power core and assembly arm module slots.',
504
+ color: '#FFB347',
505
+ },
477
506
  }
478
507
 
479
508
  export const entityMetadata: Record<number, EntityMetadata> = {
@@ -509,6 +538,12 @@ export const entityMetadata: Record<number, EntityMetadata> = {
509
538
  11212: {moduleSlotLabels: ['Power Core', 'Engine', 'Limpet Bay']},
510
539
  11213: {moduleSlotLabels: ['Power Core', 'Engine', 'Auxiliary System', 'Limpet Bay']},
511
540
  11214: {moduleSlotLabels: ['Power Core', 'Engine', 'Limpet Bay', 'Cargo Hold']},
541
+ 11202: {
542
+ moduleSlotLabels: ['Shuttle Bay', 'Cargo Hold', 'Cargo Hold', 'Cargo Hold', 'Cargo Hold'],
543
+ },
544
+ 11203: {moduleSlotLabels: ['Power Core', 'Limpet Bay']},
545
+ 11204: {moduleSlotLabels: ['Power Core', 'Fabricator']},
546
+ 11209: {moduleSlotLabels: ['Power Core', 'Assembly Arm']},
512
547
  }
513
548
 
514
549
  for (const item of items as Array<{id: number}>) {