@shipload/sdk 2.0.0-rc14 → 2.0.0-rc16
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 +26 -5
- package/lib/shipload.js +380 -304
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +374 -305
- package/lib/shipload.m.js.map +1 -1
- package/package.json +1 -1
- package/src/data/categories.ts +22 -25
- package/src/data/colors.ts +13 -13
- package/src/data/items.json +15 -15
- package/src/data/recipes.ts +91 -85
- package/src/derivation/crafting.ts +4 -4
- package/src/derivation/resources.ts +23 -23
- package/src/derivation/stats.ts +29 -29
- package/src/entities/container.ts +6 -6
- package/src/entities/entity-inventory.ts +1 -1
- package/src/entities/ship-deploy.ts +17 -17
- package/src/format.ts +12 -0
- package/src/index-module.ts +5 -0
- package/src/market/items.ts +1 -1
- package/src/nft/description.ts +22 -22
- package/src/resolution/display-name.ts +39 -0
- package/src/resolution/resolve-item.ts +9 -9
- package/src/types.ts +33 -1
package/lib/shipload.js
CHANGED
|
@@ -2212,7 +2212,36 @@ function coordsToLocationId(coords) {
|
|
|
2212
2212
|
const id = (x << BigInt(32)) | y;
|
|
2213
2213
|
return antelope.UInt64.from(id);
|
|
2214
2214
|
}
|
|
2215
|
+
const TIER_ADJECTIVES = {
|
|
2216
|
+
1: 'Crude',
|
|
2217
|
+
2: 'Dense',
|
|
2218
|
+
3: 'Pure',
|
|
2219
|
+
4: 'Prime',
|
|
2220
|
+
5: 'Pristine',
|
|
2221
|
+
6: 'Radiant',
|
|
2222
|
+
7: 'Exotic',
|
|
2223
|
+
8: 'Mythic',
|
|
2224
|
+
9: 'Cosmic',
|
|
2225
|
+
10: 'Ascendant',
|
|
2226
|
+
};
|
|
2227
|
+
const CATEGORY_LABELS = {
|
|
2228
|
+
ore: 'Ore',
|
|
2229
|
+
crystal: 'Crystal',
|
|
2230
|
+
gas: 'Gas',
|
|
2231
|
+
regolith: 'Regolith',
|
|
2232
|
+
biomass: 'Biomass',
|
|
2233
|
+
};
|
|
2234
|
+
function tierNumber(tier) {
|
|
2235
|
+
return Number(String(tier).replace(/^t/i, ''));
|
|
2236
|
+
}
|
|
2215
2237
|
exports.Item = class Item extends antelope.Struct {
|
|
2238
|
+
get displayName() {
|
|
2239
|
+
if (this.name && this.name.length > 0)
|
|
2240
|
+
return this.name;
|
|
2241
|
+
const adj = TIER_ADJECTIVES[tierNumber(this.tier)] ?? 'Unknown';
|
|
2242
|
+
const cat = CATEGORY_LABELS[this.category] ?? 'Resource';
|
|
2243
|
+
return `${adj} ${cat}`;
|
|
2244
|
+
}
|
|
2216
2245
|
};
|
|
2217
2246
|
tslib.__decorate([
|
|
2218
2247
|
antelope.Struct.field(antelope.UInt16)
|
|
@@ -2281,21 +2310,21 @@ const PLANET_SUBTYPE_ICY = 3;
|
|
|
2281
2310
|
const PLANET_SUBTYPE_OCEAN = 4;
|
|
2282
2311
|
const PLANET_SUBTYPE_INDUSTRIAL = 5;
|
|
2283
2312
|
const RESOURCE_CATALOG = [
|
|
2284
|
-
{ id:
|
|
2285
|
-
{ id:
|
|
2286
|
-
{ id:
|
|
2287
|
-
{ id:
|
|
2288
|
-
{ id:
|
|
2289
|
-
{ id:
|
|
2290
|
-
{ id:
|
|
2291
|
-
{ id:
|
|
2292
|
-
{ id:
|
|
2293
|
-
{ id:
|
|
2294
|
-
{ id:
|
|
2295
|
-
{ id:
|
|
2296
|
-
{ id:
|
|
2297
|
-
{ id:
|
|
2298
|
-
{ id:
|
|
2313
|
+
{ id: 101, tier: 't1' },
|
|
2314
|
+
{ id: 102, tier: 't2' },
|
|
2315
|
+
{ id: 103, tier: 't3' },
|
|
2316
|
+
{ id: 201, tier: 't1' },
|
|
2317
|
+
{ id: 202, tier: 't2' },
|
|
2318
|
+
{ id: 203, tier: 't3' },
|
|
2319
|
+
{ id: 301, tier: 't1' },
|
|
2320
|
+
{ id: 302, tier: 't2' },
|
|
2321
|
+
{ id: 303, tier: 't3' },
|
|
2322
|
+
{ id: 401, tier: 't1' },
|
|
2323
|
+
{ id: 402, tier: 't2' },
|
|
2324
|
+
{ id: 403, tier: 't3' },
|
|
2325
|
+
{ id: 501, tier: 't1' },
|
|
2326
|
+
{ id: 502, tier: 't2' },
|
|
2327
|
+
{ id: 503, tier: 't3' },
|
|
2299
2328
|
];
|
|
2300
2329
|
function getDepthThreshold(tier) {
|
|
2301
2330
|
switch (tier) {
|
|
@@ -2352,14 +2381,14 @@ function getResourceWeight(itemId, stratum) {
|
|
|
2352
2381
|
return 10;
|
|
2353
2382
|
}
|
|
2354
2383
|
}
|
|
2355
|
-
const ASTEROID_RESOURCES = [
|
|
2356
|
-
const NEBULA_RESOURCES = [
|
|
2357
|
-
const GAS_GIANT_RESOURCES = [
|
|
2358
|
-
const ROCKY_RESOURCES = [
|
|
2359
|
-
const TERRESTRIAL_RESOURCES = [
|
|
2360
|
-
const ICY_RESOURCES = [
|
|
2361
|
-
const OCEAN_RESOURCES = [
|
|
2362
|
-
const INDUSTRIAL_RESOURCES = [
|
|
2384
|
+
const ASTEROID_RESOURCES = [101, 102, 103, 201, 202];
|
|
2385
|
+
const NEBULA_RESOURCES = [202, 203, 301, 302, 303];
|
|
2386
|
+
const GAS_GIANT_RESOURCES = [301, 302, 303, 401, 501];
|
|
2387
|
+
const ROCKY_RESOURCES = [101, 102, 103, 401, 402, 403, 503];
|
|
2388
|
+
const TERRESTRIAL_RESOURCES = [201, 202, 401, 402, 501, 502, 503];
|
|
2389
|
+
const ICY_RESOURCES = [101, 301, 302, 401, 403, 501, 502];
|
|
2390
|
+
const OCEAN_RESOURCES = [201, 203, 301, 303, 501, 502, 503];
|
|
2391
|
+
const INDUSTRIAL_RESOURCES = [101, 102, 103, 201, 203, 402, 403];
|
|
2363
2392
|
function getLocationCandidates(locationType, subtype) {
|
|
2364
2393
|
if (locationType === 2)
|
|
2365
2394
|
return ASTEROID_RESOURCES;
|
|
@@ -4780,139 +4809,139 @@ class BaseManager {
|
|
|
4780
4809
|
|
|
4781
4810
|
var itemsData = [
|
|
4782
4811
|
{
|
|
4783
|
-
id:
|
|
4784
|
-
name: "
|
|
4785
|
-
description: "
|
|
4812
|
+
id: 101,
|
|
4813
|
+
name: "",
|
|
4814
|
+
description: "",
|
|
4786
4815
|
mass: 30000,
|
|
4787
|
-
category: "
|
|
4816
|
+
category: "ore",
|
|
4788
4817
|
tier: "t1",
|
|
4789
|
-
color: "#
|
|
4818
|
+
color: "#C26D3F"
|
|
4790
4819
|
},
|
|
4791
4820
|
{
|
|
4792
|
-
id:
|
|
4793
|
-
name: "
|
|
4794
|
-
description: "
|
|
4821
|
+
id: 102,
|
|
4822
|
+
name: "",
|
|
4823
|
+
description: "",
|
|
4795
4824
|
mass: 27000,
|
|
4796
|
-
category: "
|
|
4825
|
+
category: "ore",
|
|
4797
4826
|
tier: "t2",
|
|
4798
|
-
color: "#
|
|
4827
|
+
color: "#C26D3F"
|
|
4799
4828
|
},
|
|
4800
4829
|
{
|
|
4801
|
-
id:
|
|
4802
|
-
name: "
|
|
4803
|
-
description: "
|
|
4830
|
+
id: 103,
|
|
4831
|
+
name: "",
|
|
4832
|
+
description: "",
|
|
4804
4833
|
mass: 52000,
|
|
4805
|
-
category: "
|
|
4834
|
+
category: "ore",
|
|
4806
4835
|
tier: "t3",
|
|
4807
|
-
color: "#
|
|
4836
|
+
color: "#C26D3F"
|
|
4808
4837
|
},
|
|
4809
4838
|
{
|
|
4810
|
-
id:
|
|
4811
|
-
name: "
|
|
4812
|
-
description: "
|
|
4839
|
+
id: 201,
|
|
4840
|
+
name: "",
|
|
4841
|
+
description: "",
|
|
4813
4842
|
mass: 40000,
|
|
4814
|
-
category: "
|
|
4843
|
+
category: "crystal",
|
|
4815
4844
|
tier: "t1",
|
|
4816
|
-
color: "#
|
|
4845
|
+
color: "#4ADBFF"
|
|
4817
4846
|
},
|
|
4818
4847
|
{
|
|
4819
|
-
id:
|
|
4820
|
-
name: "
|
|
4821
|
-
description: "
|
|
4848
|
+
id: 202,
|
|
4849
|
+
name: "",
|
|
4850
|
+
description: "",
|
|
4822
4851
|
mass: 55000,
|
|
4823
|
-
category: "
|
|
4852
|
+
category: "crystal",
|
|
4824
4853
|
tier: "t2",
|
|
4825
|
-
color: "#
|
|
4854
|
+
color: "#4ADBFF"
|
|
4826
4855
|
},
|
|
4827
4856
|
{
|
|
4828
|
-
id:
|
|
4829
|
-
name: "
|
|
4830
|
-
description: "
|
|
4857
|
+
id: 203,
|
|
4858
|
+
name: "",
|
|
4859
|
+
description: "",
|
|
4831
4860
|
mass: 70000,
|
|
4832
|
-
category: "
|
|
4861
|
+
category: "crystal",
|
|
4833
4862
|
tier: "t3",
|
|
4834
|
-
color: "#
|
|
4863
|
+
color: "#4ADBFF"
|
|
4835
4864
|
},
|
|
4836
4865
|
{
|
|
4837
|
-
id:
|
|
4838
|
-
name: "
|
|
4839
|
-
description: "
|
|
4866
|
+
id: 301,
|
|
4867
|
+
name: "",
|
|
4868
|
+
description: "",
|
|
4840
4869
|
mass: 15000,
|
|
4841
4870
|
category: "gas",
|
|
4842
4871
|
tier: "t1",
|
|
4843
|
-
color: "#
|
|
4872
|
+
color: "#B8E4A0"
|
|
4844
4873
|
},
|
|
4845
4874
|
{
|
|
4846
|
-
id:
|
|
4847
|
-
name: "
|
|
4848
|
-
description: "
|
|
4875
|
+
id: 302,
|
|
4876
|
+
name: "",
|
|
4877
|
+
description: "",
|
|
4849
4878
|
mass: 2000,
|
|
4850
4879
|
category: "gas",
|
|
4851
4880
|
tier: "t2",
|
|
4852
|
-
color: "#
|
|
4881
|
+
color: "#B8E4A0"
|
|
4853
4882
|
},
|
|
4854
4883
|
{
|
|
4855
|
-
id:
|
|
4856
|
-
name: "
|
|
4857
|
-
description: "
|
|
4884
|
+
id: 303,
|
|
4885
|
+
name: "",
|
|
4886
|
+
description: "",
|
|
4858
4887
|
mass: 8000,
|
|
4859
4888
|
category: "gas",
|
|
4860
4889
|
tier: "t3",
|
|
4861
|
-
color: "#
|
|
4890
|
+
color: "#B8E4A0"
|
|
4862
4891
|
},
|
|
4863
4892
|
{
|
|
4864
|
-
id:
|
|
4865
|
-
name: "
|
|
4866
|
-
description: "
|
|
4893
|
+
id: 401,
|
|
4894
|
+
name: "",
|
|
4895
|
+
description: "",
|
|
4867
4896
|
mass: 22000,
|
|
4868
|
-
category: "
|
|
4897
|
+
category: "regolith",
|
|
4869
4898
|
tier: "t1",
|
|
4870
|
-
color: "#
|
|
4899
|
+
color: "#C4A57B"
|
|
4871
4900
|
},
|
|
4872
4901
|
{
|
|
4873
|
-
id:
|
|
4874
|
-
name: "
|
|
4875
|
-
description: "
|
|
4902
|
+
id: 402,
|
|
4903
|
+
name: "",
|
|
4904
|
+
description: "",
|
|
4876
4905
|
mass: 35000,
|
|
4877
|
-
category: "
|
|
4906
|
+
category: "regolith",
|
|
4878
4907
|
tier: "t2",
|
|
4879
|
-
color: "#
|
|
4908
|
+
color: "#C4A57B"
|
|
4880
4909
|
},
|
|
4881
4910
|
{
|
|
4882
|
-
id:
|
|
4883
|
-
name: "
|
|
4884
|
-
description: "
|
|
4911
|
+
id: 403,
|
|
4912
|
+
name: "",
|
|
4913
|
+
description: "",
|
|
4885
4914
|
mass: 45000,
|
|
4886
|
-
category: "
|
|
4915
|
+
category: "regolith",
|
|
4887
4916
|
tier: "t3",
|
|
4888
|
-
color: "#
|
|
4917
|
+
color: "#C4A57B"
|
|
4889
4918
|
},
|
|
4890
4919
|
{
|
|
4891
|
-
id:
|
|
4892
|
-
name: "
|
|
4893
|
-
description: "
|
|
4920
|
+
id: 501,
|
|
4921
|
+
name: "",
|
|
4922
|
+
description: "",
|
|
4894
4923
|
mass: 15000,
|
|
4895
|
-
category: "
|
|
4924
|
+
category: "biomass",
|
|
4896
4925
|
tier: "t1",
|
|
4897
|
-
color: "#
|
|
4926
|
+
color: "#5A8B3E"
|
|
4898
4927
|
},
|
|
4899
4928
|
{
|
|
4900
|
-
id:
|
|
4901
|
-
name: "
|
|
4902
|
-
description: "
|
|
4929
|
+
id: 502,
|
|
4930
|
+
name: "",
|
|
4931
|
+
description: "",
|
|
4903
4932
|
mass: 30000,
|
|
4904
|
-
category: "
|
|
4933
|
+
category: "biomass",
|
|
4905
4934
|
tier: "t2",
|
|
4906
|
-
color: "#
|
|
4935
|
+
color: "#5A8B3E"
|
|
4907
4936
|
},
|
|
4908
4937
|
{
|
|
4909
|
-
id:
|
|
4910
|
-
name: "
|
|
4911
|
-
description: "
|
|
4938
|
+
id: 503,
|
|
4939
|
+
name: "",
|
|
4940
|
+
description: "",
|
|
4912
4941
|
mass: 25000,
|
|
4913
|
-
category: "
|
|
4942
|
+
category: "biomass",
|
|
4914
4943
|
tier: "t3",
|
|
4915
|
-
color: "#
|
|
4944
|
+
color: "#5A8B3E"
|
|
4916
4945
|
}
|
|
4917
4946
|
];
|
|
4918
4947
|
|
|
@@ -4980,38 +5009,38 @@ const components = [
|
|
|
4980
5009
|
{
|
|
4981
5010
|
id: ITEM_HULL_PLATES,
|
|
4982
5011
|
name: 'Hull Plates',
|
|
4983
|
-
description: 'Structural plating formed from
|
|
5012
|
+
description: 'Structural plating formed from ore. Used in hulls, containers, and frames.',
|
|
4984
5013
|
color: '#7B8D9E',
|
|
4985
5014
|
mass: 50000,
|
|
4986
5015
|
stats: [
|
|
4987
|
-
{ key: 'strength', source: '
|
|
4988
|
-
{ key: 'density', source: '
|
|
5016
|
+
{ key: 'strength', source: 'ore' },
|
|
5017
|
+
{ key: 'density', source: 'ore' },
|
|
4989
5018
|
],
|
|
4990
|
-
recipe: [{ category: '
|
|
5019
|
+
recipe: [{ category: 'ore', quantity: 15 }],
|
|
4991
5020
|
usedIn: [
|
|
4992
5021
|
{ type: 'entity', name: 'Container' },
|
|
4993
|
-
{ type: 'entity', name: 'Warehouse
|
|
4994
|
-
{ type: 'entity', name: 'Ship
|
|
5022
|
+
{ type: 'entity', name: 'Warehouse' },
|
|
5023
|
+
{ type: 'entity', name: 'Ship' },
|
|
4995
5024
|
],
|
|
4996
5025
|
},
|
|
4997
5026
|
{
|
|
4998
5027
|
id: ITEM_CARGO_LINING,
|
|
4999
5028
|
name: 'Cargo Lining',
|
|
5000
|
-
description: '
|
|
5001
|
-
color: '#
|
|
5029
|
+
description: 'Composite lining formed from fine regolith bound in biomass polymer. Dense enough to seal cargo holds, flexible enough to absorb vibration.',
|
|
5030
|
+
color: '#C4A57B',
|
|
5002
5031
|
mass: 30000,
|
|
5003
5032
|
stats: [
|
|
5004
|
-
{ key: '
|
|
5005
|
-
{ key: '
|
|
5033
|
+
{ key: 'fineness', source: 'regolith' },
|
|
5034
|
+
{ key: 'saturation', source: 'biomass' },
|
|
5006
5035
|
],
|
|
5007
5036
|
recipe: [
|
|
5008
|
-
{ category: '
|
|
5009
|
-
{ category: '
|
|
5037
|
+
{ category: 'regolith', quantity: 10 },
|
|
5038
|
+
{ category: 'biomass', quantity: 20 },
|
|
5010
5039
|
],
|
|
5011
5040
|
usedIn: [
|
|
5012
5041
|
{ type: 'entity', name: 'Container' },
|
|
5013
|
-
{ type: '
|
|
5014
|
-
{ type: '
|
|
5042
|
+
{ type: 'module', name: 'Loader' },
|
|
5043
|
+
{ type: 'module', name: 'Storage' },
|
|
5015
5044
|
],
|
|
5016
5045
|
},
|
|
5017
5046
|
{
|
|
@@ -5030,73 +5059,76 @@ const components = [
|
|
|
5030
5059
|
{
|
|
5031
5060
|
id: ITEM_POWER_CELL,
|
|
5032
5061
|
name: 'Power Cell',
|
|
5033
|
-
description: 'Crystalline energy storage matrix
|
|
5034
|
-
color: '#
|
|
5062
|
+
description: 'Crystalline energy storage matrix. Resonant lattices retain and release charge.',
|
|
5063
|
+
color: '#4ADBFF',
|
|
5035
5064
|
mass: 30000,
|
|
5036
5065
|
stats: [
|
|
5037
|
-
{ key: 'resonance', source: '
|
|
5038
|
-
{ key: '
|
|
5066
|
+
{ key: 'resonance', source: 'crystal' },
|
|
5067
|
+
{ key: 'reflectivity', source: 'crystal' },
|
|
5068
|
+
],
|
|
5069
|
+
recipe: [{ category: 'crystal', quantity: 20 }],
|
|
5070
|
+
usedIn: [
|
|
5071
|
+
{ type: 'module', name: 'Generator' },
|
|
5072
|
+
{ type: 'module', name: 'Hauler' },
|
|
5039
5073
|
],
|
|
5040
|
-
recipe: [{ category: 'mineral', quantity: 20 }],
|
|
5041
|
-
usedIn: [{ type: 'module', name: 'Generator' }],
|
|
5042
5074
|
},
|
|
5043
5075
|
{
|
|
5044
5076
|
id: ITEM_MATTER_CONDUIT,
|
|
5045
5077
|
name: 'Matter Conduit',
|
|
5046
|
-
description: 'Heavy-duty
|
|
5078
|
+
description: 'Heavy-duty ore shaft used in gathering equipment.',
|
|
5047
5079
|
color: '#7B8D9E',
|
|
5048
5080
|
mass: 50000,
|
|
5049
5081
|
stats: [
|
|
5050
|
-
{ key: 'strength', source: '
|
|
5051
|
-
{ key: 'tolerance', source: '
|
|
5082
|
+
{ key: 'strength', source: 'ore' },
|
|
5083
|
+
{ key: 'tolerance', source: 'ore' },
|
|
5052
5084
|
],
|
|
5053
|
-
recipe: [{ category: '
|
|
5085
|
+
recipe: [{ category: 'ore', quantity: 15 }],
|
|
5054
5086
|
usedIn: [{ type: 'module', name: 'Gatherer' }],
|
|
5055
5087
|
},
|
|
5056
5088
|
{
|
|
5057
5089
|
id: ITEM_SURVEY_PROBE,
|
|
5058
5090
|
name: 'Survey Probe',
|
|
5059
|
-
description: '
|
|
5060
|
-
color: '#
|
|
5091
|
+
description: 'Crystal-lattice sensor array for deep resource detection.',
|
|
5092
|
+
color: '#4ADBFF',
|
|
5061
5093
|
mass: 30000,
|
|
5062
5094
|
stats: [
|
|
5063
|
-
{ key: 'conductivity', source: '
|
|
5064
|
-
{ key: 'reflectivity', source: '
|
|
5095
|
+
{ key: 'conductivity', source: 'crystal' },
|
|
5096
|
+
{ key: 'reflectivity', source: 'crystal' },
|
|
5065
5097
|
],
|
|
5066
|
-
recipe: [{ category: '
|
|
5098
|
+
recipe: [{ category: 'crystal', quantity: 10 }],
|
|
5067
5099
|
usedIn: [{ type: 'module', name: 'Gatherer' }],
|
|
5068
5100
|
},
|
|
5069
5101
|
{
|
|
5070
5102
|
id: ITEM_CARGO_ARM,
|
|
5071
5103
|
name: 'Cargo Arm',
|
|
5072
|
-
description: 'Flexible
|
|
5073
|
-
color: '#
|
|
5104
|
+
description: 'Flexible biomass composite arm for cargo handling.',
|
|
5105
|
+
color: '#5A8B3E',
|
|
5074
5106
|
mass: 30000,
|
|
5075
5107
|
stats: [
|
|
5076
|
-
{ key: 'plasticity', source: '
|
|
5077
|
-
{ key: 'insulation', source: '
|
|
5108
|
+
{ key: 'plasticity', source: 'biomass' },
|
|
5109
|
+
{ key: 'insulation', source: 'biomass' },
|
|
5078
5110
|
],
|
|
5079
|
-
recipe: [{ category: '
|
|
5111
|
+
recipe: [{ category: 'biomass', quantity: 32 }],
|
|
5080
5112
|
usedIn: [{ type: 'module', name: 'Loader' }],
|
|
5081
5113
|
},
|
|
5082
5114
|
{
|
|
5083
5115
|
id: ITEM_TOOL_BIT,
|
|
5084
5116
|
name: 'Tool Bit',
|
|
5085
|
-
description: 'Dense
|
|
5086
|
-
color: '#
|
|
5117
|
+
description: 'Dense regolith cutting head for manufacturing operations.',
|
|
5118
|
+
color: '#C4A57B',
|
|
5087
5119
|
mass: 30000,
|
|
5088
5120
|
stats: [
|
|
5089
|
-
{ key: 'hardness', source: '
|
|
5090
|
-
{ key: '
|
|
5121
|
+
{ key: 'hardness', source: 'regolith' },
|
|
5122
|
+
{ key: 'composition', source: 'regolith' },
|
|
5091
5123
|
],
|
|
5092
|
-
recipe: [{ category: '
|
|
5124
|
+
recipe: [{ category: 'regolith', quantity: 20 }],
|
|
5093
5125
|
usedIn: [{ type: 'module', name: 'Manufacturing' }],
|
|
5094
5126
|
},
|
|
5095
5127
|
{
|
|
5096
5128
|
id: ITEM_REACTION_CHAMBER,
|
|
5097
5129
|
name: 'Reaction Chamber',
|
|
5098
5130
|
description: 'Gas-pressurized vessel for controlled manufacturing reactions.',
|
|
5099
|
-
color: '#
|
|
5131
|
+
color: '#B8E4A0',
|
|
5100
5132
|
mass: 50000,
|
|
5101
5133
|
stats: [
|
|
5102
5134
|
{ key: 'reactivity', source: 'gas' },
|
|
@@ -5108,48 +5140,48 @@ const components = [
|
|
|
5108
5140
|
{
|
|
5109
5141
|
id: ITEM_FOCUSING_ARRAY,
|
|
5110
5142
|
name: 'Focusing Array',
|
|
5111
|
-
description: "Precision-formed
|
|
5112
|
-
color: '#
|
|
5143
|
+
description: "Precision-formed crystal lens array. Routes the haul beam's energy efficiently to the target lock.",
|
|
5144
|
+
color: '#4ADBFF',
|
|
5113
5145
|
mass: 40000,
|
|
5114
5146
|
stats: [
|
|
5115
|
-
{ key: 'conductivity', source: '
|
|
5116
|
-
{ key: '
|
|
5147
|
+
{ key: 'conductivity', source: 'crystal' },
|
|
5148
|
+
{ key: 'resonance', source: 'crystal' },
|
|
5117
5149
|
],
|
|
5118
|
-
recipe: [{ category: '
|
|
5119
|
-
usedIn: [{ type: 'module', name: 'Hauler
|
|
5150
|
+
recipe: [{ category: 'crystal', quantity: 25 }],
|
|
5151
|
+
usedIn: [{ type: 'module', name: 'Hauler' }],
|
|
5120
5152
|
},
|
|
5121
5153
|
{
|
|
5122
5154
|
id: ITEM_HULL_PLATES_T2,
|
|
5123
5155
|
name: 'Hull Plates T2',
|
|
5124
|
-
description: 'Advanced structural plating reinforced with tier 2
|
|
5156
|
+
description: 'Advanced structural plating reinforced with tier 2 ore.',
|
|
5125
5157
|
color: '#9BADB8',
|
|
5126
5158
|
mass: 50000,
|
|
5127
5159
|
stats: [
|
|
5128
|
-
{ key: 'strength', source: '
|
|
5129
|
-
{ key: 'density', source: '
|
|
5160
|
+
{ key: 'strength', source: 'ore' },
|
|
5161
|
+
{ key: 'density', source: 'ore' },
|
|
5130
5162
|
],
|
|
5131
5163
|
recipe: [
|
|
5132
5164
|
{ itemId: ITEM_HULL_PLATES, quantity: 2 },
|
|
5133
|
-
{ category: '
|
|
5165
|
+
{ category: 'ore', quantity: 15 },
|
|
5134
5166
|
],
|
|
5135
|
-
usedIn: [{ type: 'entity', name: 'Container
|
|
5167
|
+
usedIn: [{ type: 'entity', name: 'Container' }],
|
|
5136
5168
|
},
|
|
5137
5169
|
{
|
|
5138
5170
|
id: ITEM_CARGO_LINING_T2,
|
|
5139
|
-
name: 'Cargo Lining
|
|
5140
|
-
description: 'Advanced composite lining with
|
|
5141
|
-
color: '#
|
|
5142
|
-
mass:
|
|
5171
|
+
name: 'Cargo Lining',
|
|
5172
|
+
description: 'Advanced composite lining reinforced with tier 2 regolith and biomass polymer.',
|
|
5173
|
+
color: '#C4A57B',
|
|
5174
|
+
mass: 45000,
|
|
5143
5175
|
stats: [
|
|
5144
|
-
{ key: '
|
|
5145
|
-
{ key: '
|
|
5176
|
+
{ key: 'fineness', source: 'regolith' },
|
|
5177
|
+
{ key: 'saturation', source: 'biomass' },
|
|
5146
5178
|
],
|
|
5147
5179
|
recipe: [
|
|
5148
5180
|
{ itemId: ITEM_CARGO_LINING, quantity: 2 },
|
|
5149
|
-
{ category: '
|
|
5150
|
-
{ category: '
|
|
5181
|
+
{ category: 'regolith', quantity: 5 },
|
|
5182
|
+
{ category: 'biomass', quantity: 10 },
|
|
5151
5183
|
],
|
|
5152
|
-
usedIn: [{ type: 'entity', name: 'Container
|
|
5184
|
+
usedIn: [{ type: 'entity', name: 'Container' }],
|
|
5153
5185
|
},
|
|
5154
5186
|
];
|
|
5155
5187
|
const entityRecipes = [
|
|
@@ -5166,13 +5198,13 @@ const entityRecipes = [
|
|
|
5166
5198
|
stats: [
|
|
5167
5199
|
{ key: 'strength', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'strength' },
|
|
5168
5200
|
{ key: 'density', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'density' },
|
|
5169
|
-
{ key: '
|
|
5170
|
-
{ key: '
|
|
5201
|
+
{ key: 'fineness', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'fineness' },
|
|
5202
|
+
{ key: 'saturation', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'saturation' },
|
|
5171
5203
|
],
|
|
5172
5204
|
},
|
|
5173
5205
|
{
|
|
5174
5206
|
id: 'ship-t1',
|
|
5175
|
-
name: 'Ship
|
|
5207
|
+
name: 'Ship',
|
|
5176
5208
|
description: 'General-purpose vessel with 5 module slots.',
|
|
5177
5209
|
color: '#4AE898',
|
|
5178
5210
|
packedItemId: ITEM_SHIP_T1_PACKED,
|
|
@@ -5183,8 +5215,8 @@ const entityRecipes = [
|
|
|
5183
5215
|
stats: [
|
|
5184
5216
|
{ key: 'strength', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'strength' },
|
|
5185
5217
|
{ key: 'density', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'density' },
|
|
5186
|
-
{ key: '
|
|
5187
|
-
{ key: '
|
|
5218
|
+
{ key: 'fineness', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'fineness' },
|
|
5219
|
+
{ key: 'saturation', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'saturation' },
|
|
5188
5220
|
],
|
|
5189
5221
|
moduleSlots: [
|
|
5190
5222
|
{ type: MODULE_ANY },
|
|
@@ -5196,7 +5228,7 @@ const entityRecipes = [
|
|
|
5196
5228
|
},
|
|
5197
5229
|
{
|
|
5198
5230
|
id: 'warehouse-t1',
|
|
5199
|
-
name: 'Warehouse
|
|
5231
|
+
name: 'Warehouse',
|
|
5200
5232
|
description: 'Massive stationary storage facility with a single loader module slot.',
|
|
5201
5233
|
color: '#EAB308',
|
|
5202
5234
|
packedItemId: ITEM_WAREHOUSE_T1_PACKED,
|
|
@@ -5207,8 +5239,8 @@ const entityRecipes = [
|
|
|
5207
5239
|
stats: [
|
|
5208
5240
|
{ key: 'strength', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'strength' },
|
|
5209
5241
|
{ key: 'density', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'density' },
|
|
5210
|
-
{ key: '
|
|
5211
|
-
{ key: '
|
|
5242
|
+
{ key: 'fineness', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'fineness' },
|
|
5243
|
+
{ key: 'saturation', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'saturation' },
|
|
5212
5244
|
],
|
|
5213
5245
|
moduleSlots: [
|
|
5214
5246
|
{ type: MODULE_LOADER, label: 'Loader' },
|
|
@@ -5220,7 +5252,7 @@ const entityRecipes = [
|
|
|
5220
5252
|
},
|
|
5221
5253
|
{
|
|
5222
5254
|
id: 'container-t2',
|
|
5223
|
-
name: 'Container
|
|
5255
|
+
name: 'Container',
|
|
5224
5256
|
description: 'Advanced cargo container with improved capacity formulas.',
|
|
5225
5257
|
color: '#9BADB8',
|
|
5226
5258
|
packedItemId: ITEM_CONTAINER_T2_PACKED,
|
|
@@ -5231,8 +5263,12 @@ const entityRecipes = [
|
|
|
5231
5263
|
stats: [
|
|
5232
5264
|
{ key: 'strength', sourceComponentId: ITEM_HULL_PLATES_T2, sourceStatKey: 'strength' },
|
|
5233
5265
|
{ key: 'density', sourceComponentId: ITEM_HULL_PLATES_T2, sourceStatKey: 'density' },
|
|
5234
|
-
{ key: '
|
|
5235
|
-
{
|
|
5266
|
+
{ key: 'fineness', sourceComponentId: ITEM_CARGO_LINING_T2, sourceStatKey: 'fineness' },
|
|
5267
|
+
{
|
|
5268
|
+
key: 'saturation',
|
|
5269
|
+
sourceComponentId: ITEM_CARGO_LINING_T2,
|
|
5270
|
+
sourceStatKey: 'saturation',
|
|
5271
|
+
},
|
|
5236
5272
|
],
|
|
5237
5273
|
},
|
|
5238
5274
|
];
|
|
@@ -5253,14 +5289,14 @@ const moduleRecipes = [
|
|
|
5253
5289
|
{
|
|
5254
5290
|
id: 'generator-t1',
|
|
5255
5291
|
name: 'Generator',
|
|
5256
|
-
description: 'Basic energy system. Stores and recharges energy from resonant
|
|
5257
|
-
color: '#
|
|
5292
|
+
description: 'Basic energy system. Stores and recharges energy from resonant crystals.',
|
|
5293
|
+
color: '#4ADBFF',
|
|
5258
5294
|
itemId: ITEM_GENERATOR_T1,
|
|
5259
5295
|
moduleType: MODULE_GENERATOR,
|
|
5260
5296
|
recipe: [{ itemId: ITEM_POWER_CELL, quantity: 5 }],
|
|
5261
5297
|
stats: [
|
|
5262
5298
|
{ key: 'resonance', sourceComponentId: ITEM_POWER_CELL, sourceStatKey: 'resonance' },
|
|
5263
|
-
{ key: '
|
|
5299
|
+
{ key: 'reflectivity', sourceComponentId: ITEM_POWER_CELL, sourceStatKey: 'reflectivity' },
|
|
5264
5300
|
],
|
|
5265
5301
|
},
|
|
5266
5302
|
{
|
|
@@ -5298,7 +5334,7 @@ const moduleRecipes = [
|
|
|
5298
5334
|
id: 'loader-t1',
|
|
5299
5335
|
name: 'Loader',
|
|
5300
5336
|
description: 'Basic cargo handling system. Loads and unloads cargo with articulated arms.',
|
|
5301
|
-
color: '#
|
|
5337
|
+
color: '#5A8B3E',
|
|
5302
5338
|
itemId: ITEM_LOADER_T1,
|
|
5303
5339
|
moduleType: MODULE_LOADER,
|
|
5304
5340
|
recipe: [
|
|
@@ -5306,7 +5342,7 @@ const moduleRecipes = [
|
|
|
5306
5342
|
{ itemId: ITEM_CARGO_ARM, quantity: 3 },
|
|
5307
5343
|
],
|
|
5308
5344
|
stats: [
|
|
5309
|
-
{ key: '
|
|
5345
|
+
{ key: 'fineness', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'fineness' },
|
|
5310
5346
|
{ key: 'plasticity', sourceComponentId: ITEM_CARGO_ARM, sourceStatKey: 'plasticity' },
|
|
5311
5347
|
],
|
|
5312
5348
|
},
|
|
@@ -5314,7 +5350,7 @@ const moduleRecipes = [
|
|
|
5314
5350
|
id: 'manufacturing-t1',
|
|
5315
5351
|
name: 'Manufacturing',
|
|
5316
5352
|
description: 'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
|
|
5317
|
-
color: '#
|
|
5353
|
+
color: '#B8E4A0',
|
|
5318
5354
|
itemId: ITEM_MANUFACTURING_T1,
|
|
5319
5355
|
moduleType: MODULE_CRAFTER,
|
|
5320
5356
|
recipe: [
|
|
@@ -5327,7 +5363,7 @@ const moduleRecipes = [
|
|
|
5327
5363
|
sourceComponentId: ITEM_REACTION_CHAMBER,
|
|
5328
5364
|
sourceStatKey: 'reactivity',
|
|
5329
5365
|
},
|
|
5330
|
-
{ key: '
|
|
5366
|
+
{ key: 'composition', sourceComponentId: ITEM_TOOL_BIT, sourceStatKey: 'composition' },
|
|
5331
5367
|
],
|
|
5332
5368
|
},
|
|
5333
5369
|
{
|
|
@@ -5343,16 +5379,16 @@ const moduleRecipes = [
|
|
|
5343
5379
|
],
|
|
5344
5380
|
stats: [
|
|
5345
5381
|
{ key: 'strength', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'strength' },
|
|
5346
|
-
{ key: '
|
|
5347
|
-
{ key: '
|
|
5348
|
-
{ key: '
|
|
5382
|
+
{ key: 'density', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'density' },
|
|
5383
|
+
{ key: 'fineness', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'fineness' },
|
|
5384
|
+
{ key: 'saturation', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'saturation' },
|
|
5349
5385
|
],
|
|
5350
5386
|
},
|
|
5351
5387
|
{
|
|
5352
5388
|
id: 'hauler-t1',
|
|
5353
|
-
name: 'Hauler
|
|
5389
|
+
name: 'Hauler',
|
|
5354
5390
|
description: 'Projects a haul beam to lock onto and transport containers or warehouses through group travel.',
|
|
5355
|
-
color: '#
|
|
5391
|
+
color: '#4ADBFF',
|
|
5356
5392
|
itemId: ITEM_HAULER_T1,
|
|
5357
5393
|
moduleType: MODULE_HAULER,
|
|
5358
5394
|
recipe: [
|
|
@@ -5361,13 +5397,12 @@ const moduleRecipes = [
|
|
|
5361
5397
|
],
|
|
5362
5398
|
stats: [
|
|
5363
5399
|
{ key: 'resonance', sourceComponentId: ITEM_POWER_CELL, sourceStatKey: 'resonance' },
|
|
5400
|
+
{ key: 'reflectivity', sourceComponentId: ITEM_POWER_CELL, sourceStatKey: 'reflectivity' },
|
|
5364
5401
|
{
|
|
5365
5402
|
key: 'conductivity',
|
|
5366
5403
|
sourceComponentId: ITEM_FOCUSING_ARRAY,
|
|
5367
5404
|
sourceStatKey: 'conductivity',
|
|
5368
5405
|
},
|
|
5369
|
-
{ key: 'clarity', sourceComponentId: ITEM_POWER_CELL, sourceStatKey: 'clarity' },
|
|
5370
|
-
{ key: 'ductility', sourceComponentId: ITEM_FOCUSING_ARRAY, sourceStatKey: 'ductility' },
|
|
5371
5406
|
],
|
|
5372
5407
|
},
|
|
5373
5408
|
];
|
|
@@ -5428,7 +5463,7 @@ function getComponentsForStat(statKey) {
|
|
|
5428
5463
|
return components.filter((c) => c.stats.some((s) => s.key === statKey));
|
|
5429
5464
|
}
|
|
5430
5465
|
|
|
5431
|
-
const
|
|
5466
|
+
const ORE_STATS = [
|
|
5432
5467
|
{
|
|
5433
5468
|
key: 'strength',
|
|
5434
5469
|
label: 'Strength',
|
|
@@ -5449,24 +5484,24 @@ const METAL_STATS = [
|
|
|
5449
5484
|
inverted: true,
|
|
5450
5485
|
},
|
|
5451
5486
|
];
|
|
5452
|
-
const
|
|
5487
|
+
const CRYSTAL_STATS = [
|
|
5453
5488
|
{
|
|
5454
5489
|
key: 'conductivity',
|
|
5455
5490
|
label: 'Conductivity',
|
|
5456
5491
|
abbreviation: 'CON',
|
|
5457
|
-
purpose: 'Efficiency of energy/signal transfer',
|
|
5492
|
+
purpose: 'Efficiency of energy/signal transfer through crystalline lattice',
|
|
5458
5493
|
},
|
|
5459
5494
|
{
|
|
5460
|
-
key: '
|
|
5461
|
-
label: '
|
|
5462
|
-
abbreviation: '
|
|
5463
|
-
purpose: '
|
|
5495
|
+
key: 'resonance',
|
|
5496
|
+
label: 'Resonance',
|
|
5497
|
+
abbreviation: 'RES',
|
|
5498
|
+
purpose: 'Frequency tuning and piezoelectric response — storage and amplification',
|
|
5464
5499
|
},
|
|
5465
5500
|
{
|
|
5466
5501
|
key: 'reflectivity',
|
|
5467
5502
|
label: 'Reflectivity',
|
|
5468
5503
|
abbreviation: 'REF',
|
|
5469
|
-
purpose: '
|
|
5504
|
+
purpose: 'Optical refraction and reflection — lenses, mirrors, focus',
|
|
5470
5505
|
},
|
|
5471
5506
|
];
|
|
5472
5507
|
const GAS_STATS = [
|
|
@@ -5489,52 +5524,52 @@ const GAS_STATS = [
|
|
|
5489
5524
|
purpose: 'Heat capacity for thermal management',
|
|
5490
5525
|
},
|
|
5491
5526
|
];
|
|
5492
|
-
const
|
|
5527
|
+
const REGOLITH_STATS = [
|
|
5493
5528
|
{
|
|
5494
|
-
key: '
|
|
5495
|
-
label: '
|
|
5496
|
-
abbreviation: '
|
|
5497
|
-
purpose: '
|
|
5529
|
+
key: 'composition',
|
|
5530
|
+
label: 'Composition',
|
|
5531
|
+
abbreviation: 'COM',
|
|
5532
|
+
purpose: 'Mineral/metal mix — drives sensor, chip, and optic crafting quality',
|
|
5498
5533
|
},
|
|
5499
5534
|
{
|
|
5500
5535
|
key: 'hardness',
|
|
5501
5536
|
label: 'Hardness',
|
|
5502
5537
|
abbreviation: 'HRD',
|
|
5503
|
-
purpose: '
|
|
5538
|
+
purpose: 'Particle hardness — cutting surfaces, abrasives, wear resistance',
|
|
5504
5539
|
},
|
|
5505
5540
|
{
|
|
5506
|
-
key: '
|
|
5507
|
-
label: '
|
|
5508
|
-
abbreviation: '
|
|
5509
|
-
purpose: '
|
|
5541
|
+
key: 'fineness',
|
|
5542
|
+
label: 'Fineness',
|
|
5543
|
+
abbreviation: 'FIN',
|
|
5544
|
+
purpose: 'Grain size — fine powder for smooth composites and sintering',
|
|
5510
5545
|
},
|
|
5511
5546
|
];
|
|
5512
|
-
const
|
|
5547
|
+
const BIOMASS_STATS = [
|
|
5513
5548
|
{
|
|
5514
5549
|
key: 'plasticity',
|
|
5515
5550
|
label: 'Plasticity',
|
|
5516
5551
|
abbreviation: 'PLA',
|
|
5517
|
-
purpose: '
|
|
5552
|
+
purpose: 'Flexibility and deformation under load',
|
|
5518
5553
|
},
|
|
5519
5554
|
{
|
|
5520
5555
|
key: 'insulation',
|
|
5521
5556
|
label: 'Insulation',
|
|
5522
5557
|
abbreviation: 'INS',
|
|
5523
|
-
purpose: '
|
|
5558
|
+
purpose: 'Thermal and electrical blocking capacity',
|
|
5524
5559
|
},
|
|
5525
5560
|
{
|
|
5526
|
-
key: '
|
|
5527
|
-
label: '
|
|
5528
|
-
abbreviation: '
|
|
5529
|
-
purpose: '
|
|
5561
|
+
key: 'saturation',
|
|
5562
|
+
label: 'Saturation',
|
|
5563
|
+
abbreviation: 'SAT',
|
|
5564
|
+
purpose: 'Concentration of useful organic compounds per unit',
|
|
5530
5565
|
},
|
|
5531
5566
|
];
|
|
5532
5567
|
const STAT_MAP = {
|
|
5533
|
-
|
|
5534
|
-
|
|
5568
|
+
ore: ORE_STATS,
|
|
5569
|
+
crystal: CRYSTAL_STATS,
|
|
5535
5570
|
gas: GAS_STATS,
|
|
5536
|
-
|
|
5537
|
-
|
|
5571
|
+
regolith: REGOLITH_STATS,
|
|
5572
|
+
biomass: BIOMASS_STATS,
|
|
5538
5573
|
};
|
|
5539
5574
|
function getStatDefinitions(category) {
|
|
5540
5575
|
return STAT_MAP[category];
|
|
@@ -5773,11 +5808,11 @@ function decodeStackStats(itemId, stats) {
|
|
|
5773
5808
|
return { stat1: decodeStat(s, 0), stat2: decodeStat(s, 1), stat3: decodeStat(s, 2) };
|
|
5774
5809
|
}
|
|
5775
5810
|
const categoryItemMass = {
|
|
5776
|
-
|
|
5777
|
-
|
|
5811
|
+
ore: 30000,
|
|
5812
|
+
crystal: 40000,
|
|
5778
5813
|
gas: 15000,
|
|
5779
|
-
|
|
5780
|
-
|
|
5814
|
+
regolith: 22000,
|
|
5815
|
+
biomass: 15000,
|
|
5781
5816
|
};
|
|
5782
5817
|
function computeInputMass(itemId, itemType) {
|
|
5783
5818
|
if (itemType === 'component') {
|
|
@@ -5915,7 +5950,7 @@ function synthesizeItem(id, source) {
|
|
|
5915
5950
|
name: source.name,
|
|
5916
5951
|
description: source.description,
|
|
5917
5952
|
mass: source.mass,
|
|
5918
|
-
category: '
|
|
5953
|
+
category: 'ore',
|
|
5919
5954
|
tier: 't1',
|
|
5920
5955
|
color: source.color,
|
|
5921
5956
|
});
|
|
@@ -6897,7 +6932,7 @@ class EntityInventory extends Types.cargo_item {
|
|
|
6897
6932
|
return this.item;
|
|
6898
6933
|
}
|
|
6899
6934
|
get name() {
|
|
6900
|
-
return this.item.
|
|
6935
|
+
return this.item.displayName;
|
|
6901
6936
|
}
|
|
6902
6937
|
get unitMass() {
|
|
6903
6938
|
return this.item.mass;
|
|
@@ -7097,10 +7132,10 @@ class Ship extends Types.entity_info {
|
|
|
7097
7132
|
function computeShipHullCapabilities(stats) {
|
|
7098
7133
|
const density = stats.density ?? 500;
|
|
7099
7134
|
const strength = stats.strength ?? 500;
|
|
7100
|
-
const
|
|
7101
|
-
const
|
|
7135
|
+
const fineness = stats.fineness ?? 500;
|
|
7136
|
+
const saturation = stats.saturation ?? 500;
|
|
7102
7137
|
const hullmass = 25000 + 75 * density;
|
|
7103
|
-
const statSum = strength +
|
|
7138
|
+
const statSum = strength + fineness + saturation;
|
|
7104
7139
|
const exponent = statSum / 2997.0;
|
|
7105
7140
|
const capacity = Math.floor(1000000 * Math.pow(10, exponent));
|
|
7106
7141
|
return { hullmass, capacity };
|
|
@@ -7115,10 +7150,10 @@ function computeEngineCapabilities(stats) {
|
|
|
7115
7150
|
}
|
|
7116
7151
|
function computeGeneratorCapabilities(stats) {
|
|
7117
7152
|
const res = stats.resonance ?? 500;
|
|
7118
|
-
const
|
|
7153
|
+
const ref = stats.reflectivity ?? 500;
|
|
7119
7154
|
return {
|
|
7120
7155
|
capacity: 300 + Math.floor(res / 6),
|
|
7121
|
-
recharge: 1 + Math.floor((
|
|
7156
|
+
recharge: 1 + Math.floor((ref * 3) / 1000),
|
|
7122
7157
|
};
|
|
7123
7158
|
}
|
|
7124
7159
|
function computeGathererCapabilities(stats) {
|
|
@@ -7134,47 +7169,47 @@ function computeGathererCapabilities(stats) {
|
|
|
7134
7169
|
};
|
|
7135
7170
|
}
|
|
7136
7171
|
function computeLoaderCapabilities(stats) {
|
|
7137
|
-
const
|
|
7172
|
+
const fin = stats.fineness ?? 500;
|
|
7138
7173
|
const pla = stats.plasticity ?? 500;
|
|
7139
7174
|
return {
|
|
7140
|
-
mass: Math.max(200, 2000 - Math.floor(
|
|
7175
|
+
mass: Math.max(200, 2000 - Math.floor(fin * 2)),
|
|
7141
7176
|
thrust: 1 + Math.floor(pla / 500),
|
|
7142
7177
|
quantity: 1,
|
|
7143
7178
|
};
|
|
7144
7179
|
}
|
|
7145
7180
|
function computeManufacturingCapabilities(stats) {
|
|
7146
7181
|
const rea = stats.reactivity ?? 500;
|
|
7147
|
-
const
|
|
7182
|
+
const com = stats.composition ?? 500;
|
|
7148
7183
|
return {
|
|
7149
7184
|
speed: 100 + Math.floor((rea * 4) / 5),
|
|
7150
|
-
drain: Math.max(5, 30 - Math.floor(
|
|
7185
|
+
drain: Math.max(5, 30 - Math.floor(com / 33)),
|
|
7151
7186
|
};
|
|
7152
7187
|
}
|
|
7153
7188
|
function computeHaulerCapabilities(stats) {
|
|
7154
7189
|
const res = stats.resonance ?? 500;
|
|
7155
7190
|
const con = stats.conductivity ?? 500;
|
|
7156
|
-
const
|
|
7191
|
+
const ref = stats.reflectivity ?? 500;
|
|
7157
7192
|
return {
|
|
7158
7193
|
capacity: Math.max(1, 1 + Math.floor(res / 400)),
|
|
7159
7194
|
efficiency: 2000 + con * 6,
|
|
7160
|
-
drain: Math.max(3, 15 - Math.floor(
|
|
7195
|
+
drain: Math.max(3, 15 - Math.floor(ref / 80)),
|
|
7161
7196
|
};
|
|
7162
7197
|
}
|
|
7163
7198
|
function computeStorageCapabilities(stats, baseCapacity) {
|
|
7164
7199
|
const strength = stats.strength ?? 500;
|
|
7165
|
-
const
|
|
7166
|
-
const
|
|
7167
|
-
const statSum = strength +
|
|
7200
|
+
const fineness = stats.fineness ?? 500;
|
|
7201
|
+
const saturation = stats.saturation ?? 500;
|
|
7202
|
+
const statSum = strength + fineness + saturation;
|
|
7168
7203
|
const capacityBonus = Math.floor((baseCapacity * (10 + Math.floor((statSum * 10) / 2997))) / 100);
|
|
7169
7204
|
return { capacityBonus };
|
|
7170
7205
|
}
|
|
7171
7206
|
function computeWarehouseHullCapabilities(stats) {
|
|
7172
7207
|
const density = stats.density ?? 500;
|
|
7173
7208
|
const strength = stats.strength ?? 500;
|
|
7174
|
-
const
|
|
7175
|
-
const
|
|
7209
|
+
const fineness = stats.fineness ?? 500;
|
|
7210
|
+
const saturation = stats.saturation ?? 500;
|
|
7176
7211
|
const hullmass = 25000 + 75 * density;
|
|
7177
|
-
const statSum = strength +
|
|
7212
|
+
const statSum = strength + fineness + saturation;
|
|
7178
7213
|
const exponent = statSum / 2997.0;
|
|
7179
7214
|
const capacity = Math.floor(20000000 * Math.pow(10, exponent));
|
|
7180
7215
|
return { hullmass, capacity };
|
|
@@ -7384,10 +7419,10 @@ class Container extends Types.entity_info {
|
|
|
7384
7419
|
function computeContainerCapabilities(stats) {
|
|
7385
7420
|
const density = stats['density'] ?? 500;
|
|
7386
7421
|
const strength = stats['strength'] ?? 500;
|
|
7387
|
-
const
|
|
7388
|
-
const
|
|
7422
|
+
const fineness = stats['fineness'] ?? 500;
|
|
7423
|
+
const saturation = stats['saturation'] ?? 500;
|
|
7389
7424
|
const hullmass = 25000 + 75 * density;
|
|
7390
|
-
const statSum = strength +
|
|
7425
|
+
const statSum = strength + fineness + saturation;
|
|
7391
7426
|
const exponent = statSum / 2997;
|
|
7392
7427
|
const capacity = Math.floor(1000000 * Math.pow(10, exponent));
|
|
7393
7428
|
return { hullmass, capacity };
|
|
@@ -7395,10 +7430,10 @@ function computeContainerCapabilities(stats) {
|
|
|
7395
7430
|
function computeContainerT2Capabilities(stats) {
|
|
7396
7431
|
const strength = stats['strength'] ?? 0;
|
|
7397
7432
|
const density = stats['density'] ?? 0;
|
|
7398
|
-
const
|
|
7399
|
-
const
|
|
7433
|
+
const fineness = stats['fineness'] ?? 0;
|
|
7434
|
+
const saturation = stats['saturation'] ?? 0;
|
|
7400
7435
|
const hullmass = 20000 + 50 * density;
|
|
7401
|
-
const statSum = strength +
|
|
7436
|
+
const statSum = strength + fineness + saturation;
|
|
7402
7437
|
const exponent = statSum / 2500;
|
|
7403
7438
|
const capacity = Math.floor(1500000 * Math.pow(10, exponent));
|
|
7404
7439
|
return { hullmass, capacity };
|
|
@@ -8127,11 +8162,11 @@ function computeHaulerDrain(distance, drain, haulCount) {
|
|
|
8127
8162
|
}
|
|
8128
8163
|
|
|
8129
8164
|
const categoryColors = {
|
|
8130
|
-
|
|
8131
|
-
|
|
8132
|
-
gas: '#
|
|
8133
|
-
|
|
8134
|
-
|
|
8165
|
+
ore: '#C26D3F',
|
|
8166
|
+
crystal: '#4ADBFF',
|
|
8167
|
+
gas: '#B8E4A0',
|
|
8168
|
+
regolith: '#C4A57B',
|
|
8169
|
+
biomass: '#5A8B3E',
|
|
8135
8170
|
};
|
|
8136
8171
|
const tierColors = {
|
|
8137
8172
|
t1: '#8b8b8b',
|
|
@@ -8148,18 +8183,18 @@ const tierLabels = {
|
|
|
8148
8183
|
t5: 'Legendary',
|
|
8149
8184
|
};
|
|
8150
8185
|
const categoryIcons = {
|
|
8151
|
-
|
|
8152
|
-
|
|
8186
|
+
ore: '⬡',
|
|
8187
|
+
crystal: '◈',
|
|
8153
8188
|
gas: '◎',
|
|
8154
|
-
|
|
8155
|
-
|
|
8189
|
+
regolith: '■',
|
|
8190
|
+
biomass: '❋',
|
|
8156
8191
|
};
|
|
8157
8192
|
const categoryIconShapes = {
|
|
8158
|
-
|
|
8159
|
-
|
|
8193
|
+
ore: 'hex',
|
|
8194
|
+
crystal: 'diamond',
|
|
8160
8195
|
gas: 'circle',
|
|
8161
|
-
|
|
8162
|
-
|
|
8196
|
+
regolith: 'square',
|
|
8197
|
+
biomass: 'star',
|
|
8163
8198
|
};
|
|
8164
8199
|
const componentIcon = '▣';
|
|
8165
8200
|
const moduleIcon = '⬢';
|
|
@@ -8233,39 +8268,39 @@ function isCraftedItem(id) {
|
|
|
8233
8268
|
|
|
8234
8269
|
const categories = [
|
|
8235
8270
|
{
|
|
8236
|
-
id: '
|
|
8237
|
-
name: '
|
|
8238
|
-
label: '
|
|
8239
|
-
description: 'Structural
|
|
8240
|
-
color: categoryColors.
|
|
8271
|
+
id: 'ore',
|
|
8272
|
+
name: 'Ore',
|
|
8273
|
+
label: 'Ore',
|
|
8274
|
+
description: 'Structural metal-bearing rock — hulls, frames, load-bearing components',
|
|
8275
|
+
color: categoryColors.ore,
|
|
8241
8276
|
},
|
|
8242
8277
|
{
|
|
8243
|
-
id: '
|
|
8244
|
-
name: '
|
|
8245
|
-
label: '
|
|
8246
|
-
description: '
|
|
8247
|
-
color: categoryColors.
|
|
8278
|
+
id: 'crystal',
|
|
8279
|
+
name: 'Crystal',
|
|
8280
|
+
label: 'Crystal',
|
|
8281
|
+
description: 'Crystalline lattice — conductors, energy storage, resonant systems',
|
|
8282
|
+
color: categoryColors.crystal,
|
|
8248
8283
|
},
|
|
8249
8284
|
{
|
|
8250
8285
|
id: 'gas',
|
|
8251
|
-
name: '
|
|
8286
|
+
name: 'Gas',
|
|
8252
8287
|
label: 'Gas',
|
|
8253
|
-
description: '
|
|
8288
|
+
description: 'Atmospheric volatile — propulsion, thermal processing, chemical reactions',
|
|
8254
8289
|
color: categoryColors.gas,
|
|
8255
8290
|
},
|
|
8256
8291
|
{
|
|
8257
|
-
id: '
|
|
8258
|
-
name: '
|
|
8259
|
-
label: '
|
|
8260
|
-
description: '
|
|
8261
|
-
color: categoryColors.
|
|
8292
|
+
id: 'regolith',
|
|
8293
|
+
name: 'Regolith',
|
|
8294
|
+
label: 'Regolith',
|
|
8295
|
+
description: 'Surface mineral dust — sensors, optics, computation, cutting surfaces',
|
|
8296
|
+
color: categoryColors.regolith,
|
|
8262
8297
|
},
|
|
8263
8298
|
{
|
|
8264
|
-
id: '
|
|
8265
|
-
name: '
|
|
8266
|
-
label: '
|
|
8267
|
-
description: '
|
|
8268
|
-
color: categoryColors.
|
|
8299
|
+
id: 'biomass',
|
|
8300
|
+
name: 'Biomass',
|
|
8301
|
+
label: 'Biomass',
|
|
8302
|
+
description: 'Organic polymer — insulation, composites, bio-processes',
|
|
8303
|
+
color: categoryColors.biomass,
|
|
8269
8304
|
},
|
|
8270
8305
|
];
|
|
8271
8306
|
function getCategoryInfo(id) {
|
|
@@ -8731,7 +8766,7 @@ function resolveResource(id, stats) {
|
|
|
8731
8766
|
}
|
|
8732
8767
|
return {
|
|
8733
8768
|
itemId: id,
|
|
8734
|
-
name:
|
|
8769
|
+
name: item.displayName,
|
|
8735
8770
|
icon: categoryIcons[cat] ?? '⬡',
|
|
8736
8771
|
abbreviation: null,
|
|
8737
8772
|
category: cat,
|
|
@@ -8747,14 +8782,14 @@ function resolveComponent(id, stats) {
|
|
|
8747
8782
|
if (stats !== undefined) {
|
|
8748
8783
|
const decoded = decodeCraftedItemStats(id, toBigStats(stats));
|
|
8749
8784
|
resolvedStats = Object.entries(decoded).map(([key, value]) => {
|
|
8750
|
-
const allDefs = getStatDefinitions('
|
|
8751
|
-
.concat(getStatDefinitions('
|
|
8785
|
+
const allDefs = getStatDefinitions('ore')
|
|
8786
|
+
.concat(getStatDefinitions('crystal'))
|
|
8752
8787
|
.concat(getStatDefinitions('gas'))
|
|
8753
|
-
.concat(getStatDefinitions('
|
|
8754
|
-
.concat(getStatDefinitions('
|
|
8788
|
+
.concat(getStatDefinitions('regolith'))
|
|
8789
|
+
.concat(getStatDefinitions('biomass'));
|
|
8755
8790
|
const def = allDefs.find((d) => d.key === key);
|
|
8756
8791
|
const statDef = comp.stats.find((s) => s.key === key);
|
|
8757
|
-
const cat = (statDef?.source ?? '
|
|
8792
|
+
const cat = (statDef?.source ?? 'ore');
|
|
8758
8793
|
return {
|
|
8759
8794
|
key,
|
|
8760
8795
|
label: def?.label ?? key,
|
|
@@ -8845,9 +8880,9 @@ function computeCapabilityGroup(moduleType, stats) {
|
|
|
8845
8880
|
}
|
|
8846
8881
|
case MODULE_STORAGE: {
|
|
8847
8882
|
const str = stats.strength ?? 500;
|
|
8848
|
-
const
|
|
8849
|
-
const
|
|
8850
|
-
const statSum = str +
|
|
8883
|
+
const fin = stats.fineness ?? 500;
|
|
8884
|
+
const sat = stats.saturation ?? 500;
|
|
8885
|
+
const statSum = str + fin + sat;
|
|
8851
8886
|
const pct = 10 + Math.floor((statSum * 10) / 2997);
|
|
8852
8887
|
return { capability: 'Storage', attributes: [{ label: 'Capacity Bonus', value: pct }] };
|
|
8853
8888
|
}
|
|
@@ -9136,25 +9171,25 @@ function computeBaseCapacityWarehouse(stats) {
|
|
|
9136
9171
|
const computeEngineThrust = (vol) => 400 + idiv(vol * 3, 4);
|
|
9137
9172
|
const computeEngineDrain = (thm) => Math.max(30, 50 - idiv(thm, 70));
|
|
9138
9173
|
const computeGeneratorCap = (res) => 300 + idiv(res, 6);
|
|
9139
|
-
const computeGeneratorRech = (
|
|
9174
|
+
const computeGeneratorRech = (ref) => 1 + idiv(ref * 3, 1000);
|
|
9140
9175
|
const computeGathererYield = (str) => 200 + str;
|
|
9141
9176
|
const computeGathererDrain = (con) => Math.max(250, 1250 - idiv(con * 25, 20));
|
|
9142
9177
|
const computeGathererDepth = (tol) => 200 + idiv(tol * 3, 2);
|
|
9143
9178
|
const computeGathererSpeed = (ref) => 100 + idiv(ref * 4, 5);
|
|
9144
|
-
const computeLoaderMass = (
|
|
9179
|
+
const computeLoaderMass = (fin) => Math.max(200, 2000 - fin * 2);
|
|
9145
9180
|
const computeLoaderThrust = (pla) => 1 + idiv(pla, 500);
|
|
9146
9181
|
const computeCrafterSpeed = (rea) => 100 + idiv(rea * 4, 5);
|
|
9147
|
-
const computeCrafterDrain = (
|
|
9182
|
+
const computeCrafterDrain = (com) => Math.max(5, 30 - idiv(com, 33));
|
|
9148
9183
|
function entityDisplayName(itemId) {
|
|
9149
9184
|
switch (itemId) {
|
|
9150
9185
|
case ITEM_SHIP_T1_PACKED:
|
|
9151
|
-
return 'Ship
|
|
9186
|
+
return 'Ship';
|
|
9152
9187
|
case ITEM_WAREHOUSE_T1_PACKED:
|
|
9153
|
-
return 'Warehouse
|
|
9188
|
+
return 'Warehouse';
|
|
9154
9189
|
case ITEM_CONTAINER_T1_PACKED:
|
|
9155
|
-
return 'Container
|
|
9190
|
+
return 'Container';
|
|
9156
9191
|
case ITEM_CONTAINER_T2_PACKED:
|
|
9157
|
-
return 'Container
|
|
9192
|
+
return 'Container';
|
|
9158
9193
|
default:
|
|
9159
9194
|
return 'Entity';
|
|
9160
9195
|
}
|
|
@@ -9162,17 +9197,17 @@ function entityDisplayName(itemId) {
|
|
|
9162
9197
|
function moduleDisplayName(itemId) {
|
|
9163
9198
|
switch (itemId) {
|
|
9164
9199
|
case ITEM_ENGINE_T1:
|
|
9165
|
-
return 'Engine
|
|
9200
|
+
return 'Engine';
|
|
9166
9201
|
case ITEM_GENERATOR_T1:
|
|
9167
|
-
return 'Generator
|
|
9202
|
+
return 'Generator';
|
|
9168
9203
|
case ITEM_GATHERER_T1:
|
|
9169
|
-
return 'Gatherer
|
|
9204
|
+
return 'Gatherer';
|
|
9170
9205
|
case ITEM_LOADER_T1:
|
|
9171
|
-
return 'Loader
|
|
9206
|
+
return 'Loader';
|
|
9172
9207
|
case ITEM_MANUFACTURING_T1:
|
|
9173
|
-
return 'Manufacturing
|
|
9208
|
+
return 'Manufacturing';
|
|
9174
9209
|
case ITEM_STORAGE_T1:
|
|
9175
|
-
return 'Storage
|
|
9210
|
+
return 'Storage';
|
|
9176
9211
|
default:
|
|
9177
9212
|
return 'Module';
|
|
9178
9213
|
}
|
|
@@ -9194,8 +9229,8 @@ function formatModuleLine(slot, itemId, stats) {
|
|
|
9194
9229
|
}
|
|
9195
9230
|
case MODULE_GENERATOR: {
|
|
9196
9231
|
const res = decodeStat(stats, 0);
|
|
9197
|
-
const
|
|
9198
|
-
out += ` Capacity ${computeGeneratorCap(res)} Recharge ${computeGeneratorRech(
|
|
9232
|
+
const ref = decodeStat(stats, 1);
|
|
9233
|
+
out += ` Capacity ${computeGeneratorCap(res)} Recharge ${computeGeneratorRech(ref)}`;
|
|
9199
9234
|
break;
|
|
9200
9235
|
}
|
|
9201
9236
|
case MODULE_GATHERER: {
|
|
@@ -9207,22 +9242,22 @@ function formatModuleLine(slot, itemId, stats) {
|
|
|
9207
9242
|
break;
|
|
9208
9243
|
}
|
|
9209
9244
|
case MODULE_LOADER: {
|
|
9210
|
-
const
|
|
9245
|
+
const fin = decodeStat(stats, 0);
|
|
9211
9246
|
const pla = decodeStat(stats, 1);
|
|
9212
|
-
out += ` Mass ${computeLoaderMass(
|
|
9247
|
+
out += ` Mass ${computeLoaderMass(fin)} Thrust ${computeLoaderThrust(pla)}`;
|
|
9213
9248
|
break;
|
|
9214
9249
|
}
|
|
9215
9250
|
case MODULE_CRAFTER: {
|
|
9216
9251
|
const rea = decodeStat(stats, 0);
|
|
9217
|
-
const
|
|
9218
|
-
out += ` Speed ${computeCrafterSpeed(rea)} Drain ${computeCrafterDrain(
|
|
9252
|
+
const com = decodeStat(stats, 1);
|
|
9253
|
+
out += ` Speed ${computeCrafterSpeed(rea)} Drain ${computeCrafterDrain(com)}`;
|
|
9219
9254
|
break;
|
|
9220
9255
|
}
|
|
9221
9256
|
case MODULE_STORAGE: {
|
|
9222
9257
|
const str = decodeStat(stats, 0);
|
|
9223
|
-
const
|
|
9224
|
-
const
|
|
9225
|
-
const sum = str +
|
|
9258
|
+
const fin = decodeStat(stats, 2);
|
|
9259
|
+
const sat = decodeStat(stats, 3);
|
|
9260
|
+
const sum = str + fin + sat;
|
|
9226
9261
|
const pct = 10 + idiv(sum * 10, 2997);
|
|
9227
9262
|
out += ` +${pct}% capacity`;
|
|
9228
9263
|
break;
|
|
@@ -9282,8 +9317,43 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
9282
9317
|
buildEntityDescription: buildEntityDescription
|
|
9283
9318
|
});
|
|
9284
9319
|
|
|
9320
|
+
function formatMass(kg) {
|
|
9321
|
+
const t = kg / 1000;
|
|
9322
|
+
const fixed = t.toFixed(2);
|
|
9323
|
+
const trimmed = fixed.replace(/\.?0+$/, '');
|
|
9324
|
+
return `${trimmed} t`;
|
|
9325
|
+
}
|
|
9326
|
+
function formatMassDelta(kg) {
|
|
9327
|
+
if (kg === 0)
|
|
9328
|
+
return '0 t';
|
|
9329
|
+
const sign = kg > 0 ? '+' : '-';
|
|
9330
|
+
return `${sign}${formatMass(Math.abs(kg))}`;
|
|
9331
|
+
}
|
|
9332
|
+
|
|
9333
|
+
function displayName(resolved) {
|
|
9334
|
+
if (resolved.itemType === 'resource') {
|
|
9335
|
+
const adj = TIER_ADJECTIVES[tierNumber(resolved.tier)] ?? 'Unknown';
|
|
9336
|
+
const cat = resolved.category ? CATEGORY_LABELS[resolved.category] : 'Resource';
|
|
9337
|
+
return `${adj} ${cat}`;
|
|
9338
|
+
}
|
|
9339
|
+
return resolved.name;
|
|
9340
|
+
}
|
|
9341
|
+
function describeItem(resolved, opts) {
|
|
9342
|
+
const massFmt = opts?.formatMass ?? formatMass;
|
|
9343
|
+
const mass = massFmt(resolved.mass);
|
|
9344
|
+
const tier = `T${tierNumber(resolved.tier)}`;
|
|
9345
|
+
if (resolved.itemType === 'resource') {
|
|
9346
|
+
const cat = resolved.category ? CATEGORY_LABELS[resolved.category] : 'Resource';
|
|
9347
|
+
const header = `${tier} ${cat}`;
|
|
9348
|
+
const stats = resolved.stats?.map((s) => `${s.label} ${s.value}`).join(', ');
|
|
9349
|
+
return [header, stats, mass].filter(Boolean).join(' · ');
|
|
9350
|
+
}
|
|
9351
|
+
return `${tier} ${resolved.name} · ${mass}`;
|
|
9352
|
+
}
|
|
9353
|
+
|
|
9285
9354
|
exports.ActionsManager = ActionsManager;
|
|
9286
9355
|
exports.BASE_ORBITAL_MASS = BASE_ORBITAL_MASS;
|
|
9356
|
+
exports.CATEGORY_LABELS = CATEGORY_LABELS;
|
|
9287
9357
|
exports.COMMIT_ALREADY_SET = COMMIT_ALREADY_SET;
|
|
9288
9358
|
exports.COMMIT_CANNOT_MATCH = COMMIT_CANNOT_MATCH;
|
|
9289
9359
|
exports.COMMIT_NOT_SET = COMMIT_NOT_SET;
|
|
@@ -9406,6 +9476,7 @@ exports.ScheduleAccessor = ScheduleAccessor;
|
|
|
9406
9476
|
exports.ServerContract = server;
|
|
9407
9477
|
exports.Ship = Ship;
|
|
9408
9478
|
exports.Shipload = Shipload;
|
|
9479
|
+
exports.TIER_ADJECTIVES = TIER_ADJECTIVES;
|
|
9409
9480
|
exports.TIER_ROLL_MAX = TIER_ROLL_MAX;
|
|
9410
9481
|
exports.TRAVEL_MAX_DURATION = TRAVEL_MAX_DURATION;
|
|
9411
9482
|
exports.WAREHOUSE_ALREADY_AT_LOCATION = WAREHOUSE_ALREADY_AT_LOCATION;
|
|
@@ -9511,6 +9582,7 @@ exports.deriveLocationSize = deriveLocationSize;
|
|
|
9511
9582
|
exports.deriveLocationStatic = deriveLocationStatic;
|
|
9512
9583
|
exports.deriveResourceStats = deriveResourceStats;
|
|
9513
9584
|
exports.deriveStratum = deriveStratum;
|
|
9585
|
+
exports.describeItem = describeItem;
|
|
9514
9586
|
exports.describeModule = describeModule;
|
|
9515
9587
|
exports.describeModuleForItem = describeModuleForItem;
|
|
9516
9588
|
exports.describeModuleForSlot = describeModuleForSlot;
|
|
@@ -9519,6 +9591,7 @@ exports.deserializeComponent = deserializeComponent;
|
|
|
9519
9591
|
exports.deserializeEntity = deserializeEntity;
|
|
9520
9592
|
exports.deserializeModule = deserializeModule;
|
|
9521
9593
|
exports.deserializeResource = deserializeResource;
|
|
9594
|
+
exports.displayName = displayName;
|
|
9522
9595
|
exports.distanceBetweenCoordinates = distanceBetweenCoordinates;
|
|
9523
9596
|
exports.distanceBetweenPoints = distanceBetweenPoints;
|
|
9524
9597
|
exports.encodeGatheredCargoStats = encodeGatheredCargoStats;
|
|
@@ -9529,6 +9602,8 @@ exports.entityRecipes = entityRecipes;
|
|
|
9529
9602
|
exports.estimateDealTravelTime = estimateDealTravelTime;
|
|
9530
9603
|
exports.estimateTravelTime = estimateTravelTime;
|
|
9531
9604
|
exports.findNearbyPlanets = findNearbyPlanets;
|
|
9605
|
+
exports.formatMass = formatMass;
|
|
9606
|
+
exports.formatMassDelta = formatMassDelta;
|
|
9532
9607
|
exports.formatModuleLine = formatModuleLine;
|
|
9533
9608
|
exports.getAllCraftableItems = getAllCraftableItems;
|
|
9534
9609
|
exports.getCapabilityAttributes = getCapabilityAttributes;
|
|
@@ -9617,6 +9692,7 @@ exports.stacksEqual = stacksEqual;
|
|
|
9617
9692
|
exports.statMappings = statMappings;
|
|
9618
9693
|
exports.tierColors = tierColors;
|
|
9619
9694
|
exports.tierLabels = tierLabels;
|
|
9695
|
+
exports.tierNumber = tierNumber;
|
|
9620
9696
|
exports.toLocation = toLocation;
|
|
9621
9697
|
exports.validateSchedule = validateSchedule;
|
|
9622
9698
|
//# sourceMappingURL=shipload.js.map
|