@shipload/sdk 1.0.0-next.36 → 1.0.0-next.38
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 +67 -3
- package/lib/shipload.js +279 -82
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +274 -83
- package/lib/shipload.m.js.map +1 -1
- package/lib/testing.js +4 -4
- package/lib/testing.js.map +1 -1
- package/lib/testing.m.js +4 -4
- package/lib/testing.m.js.map +1 -1
- package/package.json +1 -1
- package/src/data/capabilities.ts +7 -10
- package/src/data/capability-formulas.ts +8 -8
- package/src/data/metadata.ts +4 -5
- package/src/data/recipes.json +5 -5
- package/src/derivation/capabilities.test.ts +3 -3
- package/src/derivation/capabilities.ts +30 -31
- package/src/entities/slot-multiplier.ts +4 -0
- package/src/index-module.ts +16 -0
- package/src/nft/buildImmutableData.ts +23 -6
- package/src/nft/description.ts +31 -8
- package/src/resolution/describe-module.ts +13 -5
- package/src/resolution/resolve-item.ts +31 -9
- package/src/travel/reach.ts +23 -0
- package/src/travel/route-planner.ts +183 -0
package/lib/shipload.m.js
CHANGED
|
@@ -3719,11 +3719,11 @@ var recipes = [
|
|
|
3719
3719
|
outputMass: 960000,
|
|
3720
3720
|
inputs: [
|
|
3721
3721
|
{
|
|
3722
|
-
itemId:
|
|
3722
|
+
itemId: 10009,
|
|
3723
3723
|
quantity: 300
|
|
3724
3724
|
},
|
|
3725
3725
|
{
|
|
3726
|
-
itemId:
|
|
3726
|
+
itemId: 10006,
|
|
3727
3727
|
quantity: 300
|
|
3728
3728
|
}
|
|
3729
3729
|
],
|
|
@@ -3731,7 +3731,7 @@ var recipes = [
|
|
|
3731
3731
|
{
|
|
3732
3732
|
sources: [
|
|
3733
3733
|
{
|
|
3734
|
-
inputIndex:
|
|
3734
|
+
inputIndex: 0,
|
|
3735
3735
|
statIndex: 0
|
|
3736
3736
|
}
|
|
3737
3737
|
]
|
|
@@ -3739,8 +3739,8 @@ var recipes = [
|
|
|
3739
3739
|
{
|
|
3740
3740
|
sources: [
|
|
3741
3741
|
{
|
|
3742
|
-
inputIndex:
|
|
3743
|
-
statIndex:
|
|
3742
|
+
inputIndex: 1,
|
|
3743
|
+
statIndex: 0
|
|
3744
3744
|
}
|
|
3745
3745
|
]
|
|
3746
3746
|
}
|
|
@@ -5121,8 +5121,8 @@ const itemMetadata = {
|
|
|
5121
5121
|
color: '#B877FF',
|
|
5122
5122
|
},
|
|
5123
5123
|
10105: {
|
|
5124
|
-
name: '
|
|
5125
|
-
description: '
|
|
5124
|
+
name: 'Cargo Bay',
|
|
5125
|
+
description: 'Expanded cargo storage with reinforced internal holds.',
|
|
5126
5126
|
color: '#8B7355',
|
|
5127
5127
|
},
|
|
5128
5128
|
10106: {
|
|
@@ -5136,8 +5136,8 @@ const itemMetadata = {
|
|
|
5136
5136
|
color: '#9be4ff',
|
|
5137
5137
|
},
|
|
5138
5138
|
10108: {
|
|
5139
|
-
name: 'Battery',
|
|
5140
|
-
description: '
|
|
5139
|
+
name: 'Battery Bank',
|
|
5140
|
+
description: 'Stores additional charge produced by generators.',
|
|
5141
5141
|
color: '#4ADBFF',
|
|
5142
5142
|
},
|
|
5143
5143
|
10200: {
|
|
@@ -5556,7 +5556,7 @@ function endpointInRegion(seed, R, key) {
|
|
|
5556
5556
|
const oy = ((h[4] << 24) | (h[5] << 16) | (h[6] << 8) | h[7]) >>> 0;
|
|
5557
5557
|
return { x: R.rx * WH.RSIZE + (ox % WH.RSIZE), y: R.ry * WH.RSIZE + (oy % WH.RSIZE) };
|
|
5558
5558
|
}
|
|
5559
|
-
function dist(a, b) {
|
|
5559
|
+
function dist$1(a, b) {
|
|
5560
5560
|
return Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);
|
|
5561
5561
|
}
|
|
5562
5562
|
function wormholeOfRegion(seed, R) {
|
|
@@ -5568,7 +5568,7 @@ function wormholeOfRegion(seed, R) {
|
|
|
5568
5568
|
return null;
|
|
5569
5569
|
const A = endpointInRegion(seed, R, key);
|
|
5570
5570
|
const B = endpointInRegion(seed, P, key);
|
|
5571
|
-
if (dist(A, B) < WH.MIN_REACH)
|
|
5571
|
+
if (dist$1(A, B) < WH.MIN_REACH)
|
|
5572
5572
|
return null;
|
|
5573
5573
|
return { A, B };
|
|
5574
5574
|
}
|
|
@@ -13010,6 +13010,9 @@ const clampUint32 = (v) => Math.min(Math.max(Math.floor(v), 0), 4294967295);
|
|
|
13010
13010
|
function applySlotMultiplier(value, outputPct) {
|
|
13011
13011
|
return clampUint16(Math.floor((value * outputPct) / 100));
|
|
13012
13012
|
}
|
|
13013
|
+
function applySlotMultiplierUint32(value, outputPct) {
|
|
13014
|
+
return clampUint32(Math.floor((value * outputPct) / 100));
|
|
13015
|
+
}
|
|
13013
13016
|
function getSlotAmp(layout, slotIndex) {
|
|
13014
13017
|
return layout[slotIndex]?.outputPct ?? 100;
|
|
13015
13018
|
}
|
|
@@ -13082,10 +13085,10 @@ function computeLoaderCapabilities(stats) {
|
|
|
13082
13085
|
}
|
|
13083
13086
|
function computeCrafterCapabilities(stats) {
|
|
13084
13087
|
const rea = stats.reactivity;
|
|
13085
|
-
const
|
|
13088
|
+
const con = stats.conductivity;
|
|
13086
13089
|
return {
|
|
13087
13090
|
speed: 100 + Math.floor((rea * 4) / 5),
|
|
13088
|
-
drain: Math.max(5, 30 - Math.floor(
|
|
13091
|
+
drain: Math.max(5, 30 - Math.floor(con / 33)),
|
|
13089
13092
|
};
|
|
13090
13093
|
}
|
|
13091
13094
|
function computeHaulerCapabilities(stats) {
|
|
@@ -13098,14 +13101,21 @@ function computeHaulerCapabilities(stats) {
|
|
|
13098
13101
|
drain: Math.max(3, 15 - Math.floor(reflectivity / 80)),
|
|
13099
13102
|
};
|
|
13100
13103
|
}
|
|
13101
|
-
function computeStorageCapabilities(stats
|
|
13102
|
-
const strength = stats.strength;
|
|
13103
|
-
const density = stats.density;
|
|
13104
|
-
const hardness = stats.hardness;
|
|
13105
|
-
const cohesion = stats.cohesion;
|
|
13104
|
+
function computeStorageCapabilities(stats) {
|
|
13105
|
+
const strength = stats.strength ?? 0;
|
|
13106
|
+
const density = stats.density ?? 0;
|
|
13107
|
+
const hardness = stats.hardness ?? 0;
|
|
13108
|
+
const cohesion = stats.cohesion ?? 0;
|
|
13106
13109
|
const statSum = strength + density + hardness + cohesion;
|
|
13107
|
-
|
|
13108
|
-
|
|
13110
|
+
return { capacity: 10000000 + Math.floor((statSum * 50000000) / 3996) };
|
|
13111
|
+
}
|
|
13112
|
+
function computeBatteryCapabilities(stats) {
|
|
13113
|
+
const volatility = stats.volatility ?? 0;
|
|
13114
|
+
const thermal = stats.thermal ?? 0;
|
|
13115
|
+
const plasticity = stats.plasticity ?? 0;
|
|
13116
|
+
const insulation = stats.insulation ?? 0;
|
|
13117
|
+
const statSum = volatility + thermal + plasticity + insulation;
|
|
13118
|
+
return { capacity: 2500 + Math.floor((statSum * 7500) / 3996) };
|
|
13109
13119
|
}
|
|
13110
13120
|
function computeBaseCapacity(itemId, stats) {
|
|
13111
13121
|
switch (itemId) {
|
|
@@ -13150,7 +13160,7 @@ function computeEntityCapabilities(stats, itemId, modules, layout) {
|
|
|
13150
13160
|
let totalGathDrain = 0;
|
|
13151
13161
|
let maxGathDepth = 0;
|
|
13152
13162
|
let hasGatherer = false;
|
|
13153
|
-
let
|
|
13163
|
+
let totalStorageCapacity = 0;
|
|
13154
13164
|
const baseCapacity = computeBaseCapacity(itemId, stats);
|
|
13155
13165
|
let installedModuleMass = 0;
|
|
13156
13166
|
let totalCrafterSpeed = 0;
|
|
@@ -13162,8 +13172,7 @@ function computeEntityCapabilities(stats, itemId, modules, layout) {
|
|
|
13162
13172
|
let hasHauler = false;
|
|
13163
13173
|
let totalWarpRange = 0;
|
|
13164
13174
|
let hasWarp = false;
|
|
13165
|
-
let
|
|
13166
|
-
let batteryCount = 0;
|
|
13175
|
+
let totalBatteryCapacity = 0;
|
|
13167
13176
|
const gathererLanes = [];
|
|
13168
13177
|
const crafterLanes = [];
|
|
13169
13178
|
const loaderLanes = [];
|
|
@@ -13216,8 +13225,8 @@ function computeEntityCapabilities(stats, itemId, modules, layout) {
|
|
|
13216
13225
|
});
|
|
13217
13226
|
}
|
|
13218
13227
|
else if (modType === MODULE_STORAGE) {
|
|
13219
|
-
const caps = computeStorageCapabilities(decodedStats
|
|
13220
|
-
|
|
13228
|
+
const caps = computeStorageCapabilities(decodedStats);
|
|
13229
|
+
totalStorageCapacity += applySlotMultiplierUint32(caps.capacity, amp);
|
|
13221
13230
|
}
|
|
13222
13231
|
else if (modType === MODULE_CRAFTER) {
|
|
13223
13232
|
hasCrafter = true;
|
|
@@ -13246,22 +13255,16 @@ function computeEntityCapabilities(stats, itemId, modules, layout) {
|
|
|
13246
13255
|
totalWarpRange += applySlotMultiplier(caps.range, amp);
|
|
13247
13256
|
}
|
|
13248
13257
|
else if (modType === MODULE_BATTERY) {
|
|
13249
|
-
|
|
13250
|
-
|
|
13251
|
-
const thm = decodedStats.thermal ?? 0;
|
|
13252
|
-
const pla = decodedStats.plasticity ?? 0;
|
|
13253
|
-
const ins = decodedStats.insulation ?? 0;
|
|
13254
|
-
totalBatteryStatSum += vol + thm + pla + ins;
|
|
13258
|
+
const caps = computeBatteryCapabilities(decodedStats);
|
|
13259
|
+
totalBatteryCapacity += applySlotMultiplierUint32(caps.capacity, amp);
|
|
13255
13260
|
}
|
|
13256
13261
|
}
|
|
13257
|
-
if (hasGenerator &&
|
|
13258
|
-
|
|
13259
|
-
const bonusPctNum = 10 * batteryCount + Math.floor((totalBatteryStatSum * 10) / 2997);
|
|
13260
|
-
totalGenCapacity += Math.floor((genCapBase * bonusPctNum) / 100);
|
|
13262
|
+
if (hasGenerator && totalBatteryCapacity > 0) {
|
|
13263
|
+
totalGenCapacity += totalBatteryCapacity;
|
|
13261
13264
|
}
|
|
13262
13265
|
const result = {
|
|
13263
13266
|
hullmass: computeBaseHullmass$1(stats) + installedModuleMass,
|
|
13264
|
-
capacity: baseCapacity +
|
|
13267
|
+
capacity: clampUint32(baseCapacity + totalStorageCapacity),
|
|
13265
13268
|
};
|
|
13266
13269
|
if (hasEngine) {
|
|
13267
13270
|
result.engines = { thrust: totalThrust, drain: totalEngineDrain };
|
|
@@ -13911,6 +13914,145 @@ function validateDisplayName(input, opts = {}) {
|
|
|
13911
13914
|
return { valid: true, name };
|
|
13912
13915
|
}
|
|
13913
13916
|
|
|
13917
|
+
const key = (c) => `${c.x},${c.y}`;
|
|
13918
|
+
const sameCoord = (a, b) => a.x === b.x && a.y === b.y;
|
|
13919
|
+
const dist = (a, b) => Math.hypot(a.x - b.x, a.y - b.y);
|
|
13920
|
+
const MAX_LEGS = 12;
|
|
13921
|
+
function planRoute(params) {
|
|
13922
|
+
const { origin, dest, perLegReach, graph } = params;
|
|
13923
|
+
const corridorSlack = params.corridorSlack ?? perLegReach;
|
|
13924
|
+
const nodeBudget = params.nodeBudget ?? 5000;
|
|
13925
|
+
const maxLegs = params.maxLegs ?? MAX_LEGS;
|
|
13926
|
+
if (!graph.hasSystem(dest)) {
|
|
13927
|
+
return { ok: false, reason: 'empty-destination' };
|
|
13928
|
+
}
|
|
13929
|
+
const straightLine = dist(origin, dest);
|
|
13930
|
+
const heuristic = (c) => Math.ceil(dist(c, dest) / perLegReach);
|
|
13931
|
+
const gScore = new Map([[key(origin), 0]]);
|
|
13932
|
+
const cameFrom = new Map();
|
|
13933
|
+
const frontier = [
|
|
13934
|
+
{ coord: origin, g: 0, f: heuristic(origin), remaining: straightLine },
|
|
13935
|
+
];
|
|
13936
|
+
let furthest = origin;
|
|
13937
|
+
let furthestRemaining = dist(origin, dest);
|
|
13938
|
+
let expansions = 0;
|
|
13939
|
+
let cappedByMaxLegs = false;
|
|
13940
|
+
while (frontier.length > 0) {
|
|
13941
|
+
let bestIdx = 0;
|
|
13942
|
+
for (let i = 1; i < frontier.length; i++) {
|
|
13943
|
+
const a = frontier[i];
|
|
13944
|
+
const b = frontier[bestIdx];
|
|
13945
|
+
if (a.f < b.f || (a.f === b.f && a.remaining < b.remaining)) {
|
|
13946
|
+
bestIdx = i;
|
|
13947
|
+
}
|
|
13948
|
+
}
|
|
13949
|
+
const current = frontier.splice(bestIdx, 1)[0];
|
|
13950
|
+
if (sameCoord(current.coord, dest)) {
|
|
13951
|
+
return reconstruct(cameFrom, origin, dest);
|
|
13952
|
+
}
|
|
13953
|
+
if (current.remaining < furthestRemaining) {
|
|
13954
|
+
furthestRemaining = current.remaining;
|
|
13955
|
+
furthest = current.coord;
|
|
13956
|
+
}
|
|
13957
|
+
if (++expansions > nodeBudget)
|
|
13958
|
+
break;
|
|
13959
|
+
for (const n of graph.nearby(current.coord, perLegReach)) {
|
|
13960
|
+
const inCorridor = dist(origin, n.coord) + dist(n.coord, dest) <= straightLine + corridorSlack;
|
|
13961
|
+
if (!inCorridor)
|
|
13962
|
+
continue;
|
|
13963
|
+
const tentativeG = current.g + 1;
|
|
13964
|
+
if (tentativeG > maxLegs) {
|
|
13965
|
+
cappedByMaxLegs = true;
|
|
13966
|
+
continue;
|
|
13967
|
+
}
|
|
13968
|
+
const nk = key(n.coord);
|
|
13969
|
+
if (tentativeG < (gScore.get(nk) ?? Infinity)) {
|
|
13970
|
+
gScore.set(nk, tentativeG);
|
|
13971
|
+
cameFrom.set(nk, current.coord);
|
|
13972
|
+
const remaining = dist(n.coord, dest);
|
|
13973
|
+
frontier.push({
|
|
13974
|
+
coord: n.coord,
|
|
13975
|
+
g: tentativeG,
|
|
13976
|
+
f: tentativeG + Math.ceil(remaining / perLegReach),
|
|
13977
|
+
remaining,
|
|
13978
|
+
});
|
|
13979
|
+
}
|
|
13980
|
+
}
|
|
13981
|
+
}
|
|
13982
|
+
if (cappedByMaxLegs) {
|
|
13983
|
+
return {
|
|
13984
|
+
ok: false,
|
|
13985
|
+
reason: 'max-legs',
|
|
13986
|
+
furthest,
|
|
13987
|
+
partialWaypoints: reconstructWaypoints(cameFrom, origin, furthest),
|
|
13988
|
+
};
|
|
13989
|
+
}
|
|
13990
|
+
return {
|
|
13991
|
+
ok: false,
|
|
13992
|
+
reason: 'no-path',
|
|
13993
|
+
furthest,
|
|
13994
|
+
partialWaypoints: reconstructWaypoints(cameFrom, origin, furthest),
|
|
13995
|
+
};
|
|
13996
|
+
}
|
|
13997
|
+
function reconstructWaypoints(cameFrom, origin, target) {
|
|
13998
|
+
if (sameCoord(target, origin))
|
|
13999
|
+
return [];
|
|
14000
|
+
const path = [target];
|
|
14001
|
+
let cur = target;
|
|
14002
|
+
while (!sameCoord(cur, origin)) {
|
|
14003
|
+
const prev = cameFrom.get(key(cur));
|
|
14004
|
+
if (!prev)
|
|
14005
|
+
break;
|
|
14006
|
+
path.unshift(prev);
|
|
14007
|
+
cur = prev;
|
|
14008
|
+
}
|
|
14009
|
+
return path.slice(1);
|
|
14010
|
+
}
|
|
14011
|
+
function reconstruct(cameFrom, origin, dest) {
|
|
14012
|
+
const path = [dest];
|
|
14013
|
+
let cur = dest;
|
|
14014
|
+
let totalDistance = 0;
|
|
14015
|
+
while (!sameCoord(cur, origin)) {
|
|
14016
|
+
const prev = cameFrom.get(key(cur));
|
|
14017
|
+
if (!prev)
|
|
14018
|
+
break;
|
|
14019
|
+
totalDistance += dist(prev, cur);
|
|
14020
|
+
path.unshift(prev);
|
|
14021
|
+
cur = prev;
|
|
14022
|
+
}
|
|
14023
|
+
const waypoints = path.slice(1);
|
|
14024
|
+
return { ok: true, waypoints, legs: waypoints.length, totalDistance };
|
|
14025
|
+
}
|
|
14026
|
+
function sdkSystemGraph(seed) {
|
|
14027
|
+
const s = Checksum256.from(seed);
|
|
14028
|
+
return {
|
|
14029
|
+
hasSystem: (c) => hasSystem(s, { x: c.x, y: c.y }),
|
|
14030
|
+
nearby: (c, reachTiles) => findNearbyPlanets(s, { x: c.x, y: c.y }, reachTiles * PRECISION$1)
|
|
14031
|
+
.map((d) => ({
|
|
14032
|
+
coord: { x: Number(d.destination.x), y: Number(d.destination.y) },
|
|
14033
|
+
dist: Number(d.distance) / PRECISION$1,
|
|
14034
|
+
}))
|
|
14035
|
+
.filter((n) => !(n.coord.x === c.x && n.coord.y === c.y)),
|
|
14036
|
+
};
|
|
14037
|
+
}
|
|
14038
|
+
|
|
14039
|
+
function computePerLegReach(s, haulCount = 0) {
|
|
14040
|
+
const capacity = s.generator?.capacity;
|
|
14041
|
+
const drain = s.engines?.drain;
|
|
14042
|
+
if (capacity === undefined || drain === undefined || drain === 0n) {
|
|
14043
|
+
throw new Error('entity has no usable engine/generator (cannot compute per-leg reach)');
|
|
14044
|
+
}
|
|
14045
|
+
const haulDrain = s.hauler && haulCount > 0 ? s.hauler.drain * BigInt(haulCount) : 0n;
|
|
14046
|
+
return Number(capacity) / Number(drain + haulDrain);
|
|
14047
|
+
}
|
|
14048
|
+
function computeGroupPerLegReach(participants, haulCount) {
|
|
14049
|
+
const movers = participants.filter((p) => p.engines !== undefined && p.engines.drain !== 0n);
|
|
14050
|
+
if (movers.length === 0) {
|
|
14051
|
+
throw new Error('group has no moving entity (cannot compute per-leg reach)');
|
|
14052
|
+
}
|
|
14053
|
+
return Math.min(...movers.map((p) => computePerLegReach(p, haulCount)));
|
|
14054
|
+
}
|
|
14055
|
+
|
|
13914
14056
|
function idiv(a, b) {
|
|
13915
14057
|
return Math.floor(a / b);
|
|
13916
14058
|
}
|
|
@@ -13949,6 +14091,8 @@ const computeHaulerCapacity = (fin) => Math.max(1, 1 + idiv(fin, 400));
|
|
|
13949
14091
|
const computeHaulerEfficiency = (con) => 2000 + con * 6;
|
|
13950
14092
|
const computeHaulerDrain$1 = (com) => Math.max(3, 15 - idiv(com, 80));
|
|
13951
14093
|
const computeWarpRange = (stat) => 100 + stat * 3;
|
|
14094
|
+
const computeCargoBayCapacity = (strength, density, hardness, cohesion) => 10000000 + idiv((strength + density + hardness + cohesion) * 50000000, 3996);
|
|
14095
|
+
const computeBatteryBankCapacity = (volatility, thermal, plasticity, insulation) => 2500 + idiv((volatility + thermal + plasticity + insulation) * 7500, 3996);
|
|
13952
14096
|
function entityDisplayName(itemId) {
|
|
13953
14097
|
switch (itemId) {
|
|
13954
14098
|
case ITEM_SHIP_T1_PACKED:
|
|
@@ -13980,11 +14124,13 @@ function moduleDisplayName(itemId) {
|
|
|
13980
14124
|
case ITEM_CRAFTER_T1:
|
|
13981
14125
|
return 'Crafter';
|
|
13982
14126
|
case ITEM_STORAGE_T1:
|
|
13983
|
-
return '
|
|
14127
|
+
return 'Cargo Bay';
|
|
13984
14128
|
case ITEM_HAULER_T1:
|
|
13985
14129
|
return 'Hauler';
|
|
13986
14130
|
case ITEM_WARP_T1:
|
|
13987
14131
|
return 'Warp';
|
|
14132
|
+
case ITEM_BATTERY_T1:
|
|
14133
|
+
return 'Battery Bank';
|
|
13988
14134
|
default:
|
|
13989
14135
|
return 'Module';
|
|
13990
14136
|
}
|
|
@@ -14026,17 +14172,16 @@ function formatModuleLine(slot, itemId, stats) {
|
|
|
14026
14172
|
}
|
|
14027
14173
|
case MODULE_CRAFTER: {
|
|
14028
14174
|
const rea = decodeStat(stats, 0);
|
|
14029
|
-
const
|
|
14030
|
-
out += ` Speed ${computeCrafterSpeed(rea)} Drain ${computeCrafterDrain(
|
|
14175
|
+
const con = decodeStat(stats, 1);
|
|
14176
|
+
out += ` Speed ${computeCrafterSpeed(rea)} Drain ${computeCrafterDrain(con)}`;
|
|
14031
14177
|
break;
|
|
14032
14178
|
}
|
|
14033
14179
|
case MODULE_STORAGE: {
|
|
14034
14180
|
const str = decodeStat(stats, 0);
|
|
14035
|
-
const
|
|
14036
|
-
const
|
|
14037
|
-
const
|
|
14038
|
-
|
|
14039
|
-
out += ` +${pct}% capacity`;
|
|
14181
|
+
const den = decodeStat(stats, 1);
|
|
14182
|
+
const hrd = decodeStat(stats, 2);
|
|
14183
|
+
const com = decodeStat(stats, 3);
|
|
14184
|
+
out += ` Cargo Capacity ${computeCargoBayCapacity(str, den, hrd, com)}`;
|
|
14040
14185
|
break;
|
|
14041
14186
|
}
|
|
14042
14187
|
case MODULE_HAULER: {
|
|
@@ -14051,6 +14196,14 @@ function formatModuleLine(slot, itemId, stats) {
|
|
|
14051
14196
|
out += ` Range ${computeWarpRange(stat)}`;
|
|
14052
14197
|
break;
|
|
14053
14198
|
}
|
|
14199
|
+
case MODULE_BATTERY: {
|
|
14200
|
+
const vol = decodeStat(stats, 0);
|
|
14201
|
+
const thm = decodeStat(stats, 1);
|
|
14202
|
+
const pla = decodeStat(stats, 2);
|
|
14203
|
+
const ins = decodeStat(stats, 3);
|
|
14204
|
+
out += ` Energy Capacity ${computeBatteryBankCapacity(vol, thm, pla, ins)}`;
|
|
14205
|
+
break;
|
|
14206
|
+
}
|
|
14054
14207
|
}
|
|
14055
14208
|
return out;
|
|
14056
14209
|
}
|
|
@@ -15373,19 +15526,21 @@ const capabilityNames = [
|
|
|
15373
15526
|
'Crafter',
|
|
15374
15527
|
'Launch',
|
|
15375
15528
|
'Hauler',
|
|
15376
|
-
'Battery',
|
|
15377
15529
|
];
|
|
15378
15530
|
const capabilityAttributes = [
|
|
15379
15531
|
{ capability: 'Hull', attribute: 'mass', description: 'Total mass of the hull' },
|
|
15380
|
-
{ capability: 'Storage', attribute: 'capacity', description: 'Maximum mass that can be stored' },
|
|
15381
15532
|
{
|
|
15382
15533
|
capability: 'Storage',
|
|
15383
|
-
attribute: '
|
|
15384
|
-
description: '
|
|
15534
|
+
attribute: 'capacity',
|
|
15535
|
+
description: 'Cargo capacity added by hulls and installed Cargo Bay modules',
|
|
15385
15536
|
},
|
|
15386
15537
|
{ capability: 'Movement', attribute: 'thrust', description: 'Propulsion force' },
|
|
15387
15538
|
{ capability: 'Movement', attribute: 'drain', description: 'Energy consumed per movement' },
|
|
15388
|
-
{
|
|
15539
|
+
{
|
|
15540
|
+
capability: 'Energy',
|
|
15541
|
+
attribute: 'capacity',
|
|
15542
|
+
description: 'Energy capacity from Generators and installed Battery Bank modules',
|
|
15543
|
+
},
|
|
15389
15544
|
{ capability: 'Energy', attribute: 'recharge', description: 'Energy regeneration rate' },
|
|
15390
15545
|
{ capability: 'Loader', attribute: 'mass', description: 'Weight of the loader unit itself' },
|
|
15391
15546
|
{ capability: 'Loader', attribute: 'thrust', description: 'Loading speed/force' },
|
|
@@ -15423,11 +15578,6 @@ const capabilityAttributes = [
|
|
|
15423
15578
|
attribute: 'drain',
|
|
15424
15579
|
description: 'Energy consumed per target during haul-beam operation',
|
|
15425
15580
|
},
|
|
15426
|
-
{
|
|
15427
|
-
capability: 'Battery',
|
|
15428
|
-
attribute: 'bonus',
|
|
15429
|
-
description: 'Energy capacity bonus added by an installed Battery module',
|
|
15430
|
-
},
|
|
15431
15581
|
];
|
|
15432
15582
|
const invertedAttributes = new Set(['drain', 'mass']);
|
|
15433
15583
|
function isInvertedAttribute(attribute) {
|
|
@@ -15468,10 +15618,10 @@ const SLOT_FORMULAS = {
|
|
|
15468
15618
|
1: { capability: 'Crafter', attribute: 'drain' },
|
|
15469
15619
|
},
|
|
15470
15620
|
storage: {
|
|
15471
|
-
0: { capability: 'Storage', attribute: '
|
|
15472
|
-
1: { capability: 'Storage', attribute: '
|
|
15473
|
-
2: { capability: 'Storage', attribute: '
|
|
15474
|
-
3: { capability: 'Storage', attribute: '
|
|
15621
|
+
0: { capability: 'Storage', attribute: 'capacity' },
|
|
15622
|
+
1: { capability: 'Storage', attribute: 'capacity' },
|
|
15623
|
+
2: { capability: 'Storage', attribute: 'capacity' },
|
|
15624
|
+
3: { capability: 'Storage', attribute: 'capacity' },
|
|
15475
15625
|
},
|
|
15476
15626
|
hauler: {
|
|
15477
15627
|
0: { capability: 'Hauler', attribute: 'capacity' },
|
|
@@ -15482,10 +15632,10 @@ const SLOT_FORMULAS = {
|
|
|
15482
15632
|
0: { capability: 'Warp', attribute: 'range' },
|
|
15483
15633
|
},
|
|
15484
15634
|
battery: {
|
|
15485
|
-
0: { capability: '
|
|
15486
|
-
1: { capability: '
|
|
15487
|
-
2: { capability: '
|
|
15488
|
-
3: { capability: '
|
|
15635
|
+
0: { capability: 'Energy', attribute: 'capacity' },
|
|
15636
|
+
1: { capability: 'Energy', attribute: 'capacity' },
|
|
15637
|
+
2: { capability: 'Energy', attribute: 'capacity' },
|
|
15638
|
+
3: { capability: 'Energy', attribute: 'capacity' },
|
|
15489
15639
|
},
|
|
15490
15640
|
'ship-t1': ENTITY_HULL_SLOTS,
|
|
15491
15641
|
'container-t1': ENTITY_HULL_SLOTS,
|
|
@@ -15729,7 +15879,7 @@ function resolveComponent(id, stats) {
|
|
|
15729
15879
|
stats: resolvedStats,
|
|
15730
15880
|
};
|
|
15731
15881
|
}
|
|
15732
|
-
function computeCapabilityGroup(moduleType, stats, tier) {
|
|
15882
|
+
function computeCapabilityGroup(moduleType, stats, tier, outputPct = 100) {
|
|
15733
15883
|
switch (moduleType) {
|
|
15734
15884
|
case MODULE_ENGINE: {
|
|
15735
15885
|
const caps = computeEngineCapabilities(stats);
|
|
@@ -15795,13 +15945,28 @@ function computeCapabilityGroup(moduleType, stats, tier) {
|
|
|
15795
15945
|
};
|
|
15796
15946
|
}
|
|
15797
15947
|
case MODULE_STORAGE: {
|
|
15798
|
-
const
|
|
15799
|
-
|
|
15800
|
-
|
|
15801
|
-
|
|
15802
|
-
|
|
15803
|
-
|
|
15804
|
-
|
|
15948
|
+
const caps = computeStorageCapabilities(stats);
|
|
15949
|
+
return {
|
|
15950
|
+
capability: 'Storage',
|
|
15951
|
+
attributes: [
|
|
15952
|
+
{
|
|
15953
|
+
label: 'Cargo Capacity',
|
|
15954
|
+
value: applySlotMultiplierUint32(caps.capacity, outputPct),
|
|
15955
|
+
},
|
|
15956
|
+
],
|
|
15957
|
+
};
|
|
15958
|
+
}
|
|
15959
|
+
case MODULE_BATTERY: {
|
|
15960
|
+
const caps = computeBatteryCapabilities(stats);
|
|
15961
|
+
return {
|
|
15962
|
+
capability: 'Energy',
|
|
15963
|
+
attributes: [
|
|
15964
|
+
{
|
|
15965
|
+
label: 'Energy Capacity',
|
|
15966
|
+
value: applySlotMultiplierUint32(caps.capacity, outputPct),
|
|
15967
|
+
},
|
|
15968
|
+
],
|
|
15969
|
+
};
|
|
15805
15970
|
}
|
|
15806
15971
|
default:
|
|
15807
15972
|
return undefined;
|
|
@@ -15886,9 +16051,10 @@ function resolveEntity(id, stats, modules) {
|
|
|
15886
16051
|
catch {
|
|
15887
16052
|
modName = itemMetadata[modItemId]?.name ?? 'Module';
|
|
15888
16053
|
}
|
|
15889
|
-
const group = computeCapabilityGroup(modType, decodedStats, modTier);
|
|
16054
|
+
const group = computeCapabilityGroup(modType, decodedStats, modTier, slot.outputPct);
|
|
15890
16055
|
return {
|
|
15891
16056
|
name: modName,
|
|
16057
|
+
capability: group?.capability,
|
|
15892
16058
|
installed: true,
|
|
15893
16059
|
attributes: group?.attributes,
|
|
15894
16060
|
};
|
|
@@ -15972,9 +16138,15 @@ const TEMPLATES = {
|
|
|
15972
16138
|
},
|
|
15973
16139
|
storage: {
|
|
15974
16140
|
id: 'module.storage.description',
|
|
15975
|
-
template: '
|
|
15976
|
-
params: [['
|
|
15977
|
-
highlightKeys: ['
|
|
16141
|
+
template: 'adds {capacity} cargo capacity',
|
|
16142
|
+
params: [['capacity', 'Cargo Capacity']],
|
|
16143
|
+
highlightKeys: ['capacity'],
|
|
16144
|
+
},
|
|
16145
|
+
energy: {
|
|
16146
|
+
id: 'module.energy-capacity.description',
|
|
16147
|
+
template: 'adds {capacity} energy capacity',
|
|
16148
|
+
params: [['capacity', 'Energy Capacity']],
|
|
16149
|
+
highlightKeys: ['capacity'],
|
|
15978
16150
|
},
|
|
15979
16151
|
hauler: {
|
|
15980
16152
|
id: 'module.hauler.description',
|
|
@@ -16016,9 +16188,12 @@ function describeModuleForItem(resolved) {
|
|
|
16016
16188
|
return describeModule({ capability: group.capability, attributes: group.attributes });
|
|
16017
16189
|
}
|
|
16018
16190
|
function describeModuleForSlot(slot) {
|
|
16019
|
-
if (!slot.installed || !slot.
|
|
16191
|
+
if (!slot.installed || !slot.attributes)
|
|
16020
16192
|
return null;
|
|
16021
|
-
|
|
16193
|
+
const capability = slot.capability ?? slot.name;
|
|
16194
|
+
if (!capability)
|
|
16195
|
+
return null;
|
|
16196
|
+
return describeModule({ capability, attributes: slot.attributes });
|
|
16022
16197
|
}
|
|
16023
16198
|
function renderDescription(desc, options) {
|
|
16024
16199
|
const translate = options?.translate ?? ((_id, fallback) => fallback);
|
|
@@ -16173,11 +16348,11 @@ function buildModuleImmutable(itemId, quantity, stats, originX, originY) {
|
|
|
16173
16348
|
}
|
|
16174
16349
|
case MODULE_CRAFTER: {
|
|
16175
16350
|
const rea = decodeStat(stats, 0);
|
|
16176
|
-
const
|
|
16351
|
+
const con = decodeStat(stats, 1);
|
|
16177
16352
|
base.push({ first: 'reactivity', second: ['uint16', rea] });
|
|
16178
|
-
base.push({ first: '
|
|
16353
|
+
base.push({ first: 'conductivity', second: ['uint16', con] });
|
|
16179
16354
|
base.push({ first: 'speed', second: ['uint16', computeCrafterSpeed(rea)] });
|
|
16180
|
-
base.push({ first: 'drain', second: ['uint16', computeCrafterDrain(
|
|
16355
|
+
base.push({ first: 'drain', second: ['uint16', computeCrafterDrain(con)] });
|
|
16181
16356
|
break;
|
|
16182
16357
|
}
|
|
16183
16358
|
case MODULE_STORAGE: {
|
|
@@ -16185,14 +16360,28 @@ function buildModuleImmutable(itemId, quantity, stats, originX, originY) {
|
|
|
16185
16360
|
const den = decodeStat(stats, 1);
|
|
16186
16361
|
const hrd = decodeStat(stats, 2);
|
|
16187
16362
|
const com = decodeStat(stats, 3);
|
|
16188
|
-
const sum = str + den + hrd + com;
|
|
16189
16363
|
base.push({ first: 'strength', second: ['uint16', str] });
|
|
16190
16364
|
base.push({ first: 'density', second: ['uint16', den] });
|
|
16191
16365
|
base.push({ first: 'hardness', second: ['uint16', hrd] });
|
|
16192
16366
|
base.push({ first: 'cohesion', second: ['uint16', com] });
|
|
16193
16367
|
base.push({
|
|
16194
|
-
first: '
|
|
16195
|
-
second: ['
|
|
16368
|
+
first: 'capacity',
|
|
16369
|
+
second: ['uint32', computeCargoBayCapacity(str, den, hrd, com)],
|
|
16370
|
+
});
|
|
16371
|
+
break;
|
|
16372
|
+
}
|
|
16373
|
+
case MODULE_BATTERY: {
|
|
16374
|
+
const vol = decodeStat(stats, 0);
|
|
16375
|
+
const thm = decodeStat(stats, 1);
|
|
16376
|
+
const pla = decodeStat(stats, 2);
|
|
16377
|
+
const ins = decodeStat(stats, 3);
|
|
16378
|
+
base.push({ first: 'volatility', second: ['uint16', vol] });
|
|
16379
|
+
base.push({ first: 'thermal', second: ['uint16', thm] });
|
|
16380
|
+
base.push({ first: 'plasticity', second: ['uint16', pla] });
|
|
16381
|
+
base.push({ first: 'insulation', second: ['uint16', ins] });
|
|
16382
|
+
base.push({
|
|
16383
|
+
first: 'capacity',
|
|
16384
|
+
second: ['uint32', computeBatteryBankCapacity(vol, thm, pla, ins)],
|
|
16196
16385
|
});
|
|
16197
16386
|
break;
|
|
16198
16387
|
}
|
|
@@ -16278,6 +16467,8 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
16278
16467
|
computeHaulerEfficiency: computeHaulerEfficiency,
|
|
16279
16468
|
computeHaulerDrain: computeHaulerDrain$1,
|
|
16280
16469
|
computeWarpRange: computeWarpRange,
|
|
16470
|
+
computeCargoBayCapacity: computeCargoBayCapacity,
|
|
16471
|
+
computeBatteryBankCapacity: computeBatteryBankCapacity,
|
|
16281
16472
|
entityDisplayName: entityDisplayName,
|
|
16282
16473
|
moduleDisplayName: moduleDisplayName,
|
|
16283
16474
|
formatModuleLine: formatModuleLine,
|
|
@@ -16447,5 +16638,5 @@ function planParallelTransfer(entity, target) {
|
|
|
16447
16638
|
return allocateProportional(laneWeights, requestedQty).filter((e) => e.quantity > 0);
|
|
16448
16639
|
}
|
|
16449
16640
|
|
|
16450
|
-
export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, ActionsManager, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, CANCEL_CONTAINS_GROUPED_TASK, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, ConstructionManager, Coordinates, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EntitiesManager, Entity, EntityClass, EntityInventory, EpochsManager, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_CERAMIC, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GENERATOR_T1, ITEM_HAULER_T1, ITEM_LOADER_T1, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_REACTOR, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESONATOR, ITEM_SENSOR, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, InventoryAccessor, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, Location, LocationType, LocationsManager, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_BATTERY, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, index as NFT, NO_SCHEDULE, NftManager, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION$1 as PRECISION, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayersManager, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScheduleAccessor, server as ServerContract, Types as ServerTypes, Shipload, SubscriptionsManager, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskType, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, WebSocketConnection, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, availableBuildMethods, availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeComponentStats, computeContainerCapabilities, computeContainerT2Capabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computeShipHullCapabilities, computeStorageCapabilities, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, entityDisplayName, estimateDealTravelTime, estimateTravelTime, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gathererDepthForTier, getCapabilityAttributes, getCategoryInfo, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getRecipe, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull, isFullFromMass, isGatherableLocation, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, laneKeyForModule, lerp$1 as lerp, makeEntity, mapEntity, maxCraftable, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, planParallelGather, planParallelTransfer, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, rawScheduleEnd, readCommonBase, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, selectGatherLane, setSubscriptionsDebug, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
|
|
16641
|
+
export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, ActionsManager, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, CANCEL_CONTAINS_GROUPED_TASK, CAP_DEMOLISH, CAP_MODULES, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, ConstructionManager, Coordinates, DEPLOY_ENTITY_HAS_SCHEDULE, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, ENTITY_ALREADY_THERE, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONTAINER, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EntitiesManager, Entity, EntityClass, EntityInventory, EpochsManager, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, HoldKind, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_BATTERY_T1, ITEM_BEAM, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_CERAMIC, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DOES_NOT_EXIST, ITEM_ENGINE_T1, ITEM_EXTRACTOR_T1_PACKED, ITEM_FACTORY_T1_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GENERATOR_T1, ITEM_HAULER_T1, ITEM_LOADER_T1, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_REACTOR, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESONATOR, ITEM_SENSOR, ITEM_SHIP_T1_PACKED, ITEM_STORAGE_T1, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T1_PACKED, ITEM_WARP_T1, InventoryAccessor, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, Location, LocationType, LocationsManager, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_BATTERY, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, index as NFT, NO_SCHEDULE, NftManager, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION$1 as PRECISION, platform as PlatformContract, Types$1 as PlatformTypes, Player, PlayersManager, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_TIER_ADJECTIVES, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScheduleAccessor, server as ServerContract, Types as ServerTypes, Shipload, SubscriptionsManager, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskType, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WH, WOULD_OVERFILL, WOULD_STRAND, WebSocketConnection, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, addressFromCoordinates, allBuildableItems, allPlotBuildableItems, availableBuildMethods, availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildEntityDescription, buildEntityImmutable, buildImmutableData, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, cancelEligibility, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeBatteryCapabilities, computeComponentStats, computeContainerCapabilities, computeContainerT2Capabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerDrain, computeHaulerEfficiency, computeInputMass, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, entityDisplayName, estimateDealTravelTime, estimateTravelTime, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gathererDepthForTier, getCapabilityAttributes, getCategoryInfo, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getRecipe, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, interpolateFlightPosition, isBuildable, isContainer, isCraftedItem, isExtractor, isFactory, isFull, isFullFromMass, isGatherableLocation, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, kindCan, laneKeyForModule, lerp$1 as lerp, makeEntity, mapEntity, maxCraftable, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, planParallelGather, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, rawScheduleEnd, readCommonBase, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setSubscriptionsDebug, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
|
|
16451
16642
|
//# sourceMappingURL=shipload.m.js.map
|