@shipload/sdk 1.0.0-next.41 → 1.0.0-next.43
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/scan.d.ts +19 -1
- package/lib/scan.js +54 -28
- package/lib/scan.js.map +1 -1
- package/lib/scan.m.js +52 -29
- package/lib/scan.m.js.map +1 -1
- package/lib/shipload.d.ts +98 -1
- package/lib/shipload.js +297 -165
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +286 -166
- package/lib/shipload.m.js.map +1 -1
- package/package.json +1 -1
- package/src/data/capabilities.ts +8 -0
- package/src/data/recipes.json +1 -143
- package/src/derivation/capabilities.test.ts +4 -4
- package/src/derivation/capabilities.ts +1 -1
- package/src/derivation/capability-mappings.ts +49 -4
- package/src/derivation/recipe-usage.test.ts +8 -9
- package/src/derivation/wormhole.ts +5 -0
- package/src/index-module.ts +19 -2
- package/src/managers/actions.ts +17 -0
- package/src/managers/entities.ts +9 -0
- package/src/managers/index.ts +1 -0
- package/src/managers/players.ts +25 -0
- package/src/nft/buildImmutableData.ts +2 -2
- package/src/scan/index.ts +93 -29
- package/src/scan/scan-wasm.base64.ts +1 -1
- package/src/scheduling/unwrap.test.ts +60 -0
- package/src/scheduling/unwrap.ts +187 -0
- package/src/travel/route-planner.ts +82 -1
package/lib/shipload.m.js
CHANGED
|
@@ -3682,7 +3682,7 @@ var recipes = [
|
|
|
3682
3682
|
quantity: 300
|
|
3683
3683
|
},
|
|
3684
3684
|
{
|
|
3685
|
-
itemId:
|
|
3685
|
+
itemId: 10010,
|
|
3686
3686
|
quantity: 300
|
|
3687
3687
|
}
|
|
3688
3688
|
],
|
|
@@ -4198,149 +4198,6 @@ var recipes = [
|
|
|
4198
4198
|
],
|
|
4199
4199
|
blendWeights: [
|
|
4200
4200
|
]
|
|
4201
|
-
},
|
|
4202
|
-
{
|
|
4203
|
-
outputItemId: 20001,
|
|
4204
|
-
outputMass: 500,
|
|
4205
|
-
inputs: [
|
|
4206
|
-
{
|
|
4207
|
-
itemId: 10001,
|
|
4208
|
-
quantity: 200
|
|
4209
|
-
},
|
|
4210
|
-
{
|
|
4211
|
-
itemId: 102,
|
|
4212
|
-
quantity: 15
|
|
4213
|
-
}
|
|
4214
|
-
],
|
|
4215
|
-
statSlots: [
|
|
4216
|
-
{
|
|
4217
|
-
sources: [
|
|
4218
|
-
{
|
|
4219
|
-
inputIndex: 0,
|
|
4220
|
-
statIndex: 0
|
|
4221
|
-
},
|
|
4222
|
-
{
|
|
4223
|
-
inputIndex: 1,
|
|
4224
|
-
statIndex: 0
|
|
4225
|
-
}
|
|
4226
|
-
]
|
|
4227
|
-
},
|
|
4228
|
-
{
|
|
4229
|
-
sources: [
|
|
4230
|
-
{
|
|
4231
|
-
inputIndex: 0,
|
|
4232
|
-
statIndex: 1
|
|
4233
|
-
},
|
|
4234
|
-
{
|
|
4235
|
-
inputIndex: 1,
|
|
4236
|
-
statIndex: 2
|
|
4237
|
-
}
|
|
4238
|
-
]
|
|
4239
|
-
}
|
|
4240
|
-
],
|
|
4241
|
-
blendWeights: [
|
|
4242
|
-
1,
|
|
4243
|
-
1
|
|
4244
|
-
]
|
|
4245
|
-
},
|
|
4246
|
-
{
|
|
4247
|
-
outputItemId: 20002,
|
|
4248
|
-
outputMass: 300,
|
|
4249
|
-
inputs: [
|
|
4250
|
-
{
|
|
4251
|
-
itemId: 10002,
|
|
4252
|
-
quantity: 200
|
|
4253
|
-
},
|
|
4254
|
-
{
|
|
4255
|
-
itemId: 402,
|
|
4256
|
-
quantity: 10
|
|
4257
|
-
},
|
|
4258
|
-
{
|
|
4259
|
-
itemId: 502,
|
|
4260
|
-
quantity: 20
|
|
4261
|
-
}
|
|
4262
|
-
],
|
|
4263
|
-
statSlots: [
|
|
4264
|
-
{
|
|
4265
|
-
sources: [
|
|
4266
|
-
{
|
|
4267
|
-
inputIndex: 0,
|
|
4268
|
-
statIndex: 0
|
|
4269
|
-
},
|
|
4270
|
-
{
|
|
4271
|
-
inputIndex: 1,
|
|
4272
|
-
statIndex: 1
|
|
4273
|
-
}
|
|
4274
|
-
]
|
|
4275
|
-
},
|
|
4276
|
-
{
|
|
4277
|
-
sources: [
|
|
4278
|
-
{
|
|
4279
|
-
inputIndex: 0,
|
|
4280
|
-
statIndex: 1
|
|
4281
|
-
},
|
|
4282
|
-
{
|
|
4283
|
-
inputIndex: 2,
|
|
4284
|
-
statIndex: 2
|
|
4285
|
-
}
|
|
4286
|
-
]
|
|
4287
|
-
}
|
|
4288
|
-
],
|
|
4289
|
-
blendWeights: [
|
|
4290
|
-
1,
|
|
4291
|
-
1,
|
|
4292
|
-
1
|
|
4293
|
-
]
|
|
4294
|
-
},
|
|
4295
|
-
{
|
|
4296
|
-
outputItemId: 20200,
|
|
4297
|
-
outputMass: 80000,
|
|
4298
|
-
inputs: [
|
|
4299
|
-
{
|
|
4300
|
-
itemId: 20001,
|
|
4301
|
-
quantity: 600
|
|
4302
|
-
},
|
|
4303
|
-
{
|
|
4304
|
-
itemId: 20002,
|
|
4305
|
-
quantity: 200
|
|
4306
|
-
}
|
|
4307
|
-
],
|
|
4308
|
-
statSlots: [
|
|
4309
|
-
{
|
|
4310
|
-
sources: [
|
|
4311
|
-
{
|
|
4312
|
-
inputIndex: 0,
|
|
4313
|
-
statIndex: 0
|
|
4314
|
-
}
|
|
4315
|
-
]
|
|
4316
|
-
},
|
|
4317
|
-
{
|
|
4318
|
-
sources: [
|
|
4319
|
-
{
|
|
4320
|
-
inputIndex: 0,
|
|
4321
|
-
statIndex: 1
|
|
4322
|
-
}
|
|
4323
|
-
]
|
|
4324
|
-
},
|
|
4325
|
-
{
|
|
4326
|
-
sources: [
|
|
4327
|
-
{
|
|
4328
|
-
inputIndex: 1,
|
|
4329
|
-
statIndex: 0
|
|
4330
|
-
}
|
|
4331
|
-
]
|
|
4332
|
-
},
|
|
4333
|
-
{
|
|
4334
|
-
sources: [
|
|
4335
|
-
{
|
|
4336
|
-
inputIndex: 1,
|
|
4337
|
-
statIndex: 1
|
|
4338
|
-
}
|
|
4339
|
-
]
|
|
4340
|
-
}
|
|
4341
|
-
],
|
|
4342
|
-
blendWeights: [
|
|
4343
|
-
]
|
|
4344
4201
|
}
|
|
4345
4202
|
];
|
|
4346
4203
|
|
|
@@ -5598,6 +5455,21 @@ function deriveLocationSize(loc) {
|
|
|
5598
5455
|
return Math.floor(LOCATION_MIN_DEPTH + curved * range);
|
|
5599
5456
|
}
|
|
5600
5457
|
|
|
5458
|
+
const COORD_MIN = -2147483648;
|
|
5459
|
+
const COORD_MAX = 2147483647;
|
|
5460
|
+
const COORD_OFFSET = 2147485000;
|
|
5461
|
+
const SECTOR_DIV = 100000000;
|
|
5462
|
+
const REGION_DIV = 10000;
|
|
5463
|
+
const SECTORS_PER_AXIS = 43;
|
|
5464
|
+
const REGION_PER_AXIS = 10000;
|
|
5465
|
+
const LOCAL_HALF = 5000;
|
|
5466
|
+
const LOCAL_MIN = -5000;
|
|
5467
|
+
const LOCAL_MAX = 4999;
|
|
5468
|
+
const SECTOR_COUNT = SECTORS_PER_AXIS * SECTORS_PER_AXIS;
|
|
5469
|
+
const REGION_COUNT = REGION_PER_AXIS * REGION_PER_AXIS;
|
|
5470
|
+
const SECTOR_FEISTEL = { n: SECTOR_COUNT, halfBits: 6, label: 'sector' };
|
|
5471
|
+
const REGION_FEISTEL = { n: REGION_COUNT, halfBits: 14, label: 'region' };
|
|
5472
|
+
|
|
5601
5473
|
const WH = {
|
|
5602
5474
|
RSIZE: 75,
|
|
5603
5475
|
ZONE: 16384,
|
|
@@ -5664,6 +5536,9 @@ function endpointInRegion(seed, R, key) {
|
|
|
5664
5536
|
function dist$1(a, b) {
|
|
5665
5537
|
return Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);
|
|
5666
5538
|
}
|
|
5539
|
+
function inBounds(c) {
|
|
5540
|
+
return c.x >= COORD_MIN && c.x <= COORD_MAX && c.y >= COORD_MIN && c.y <= COORD_MAX;
|
|
5541
|
+
}
|
|
5667
5542
|
function wormholeOfRegion(seed, R) {
|
|
5668
5543
|
const P = partnerRegion(seed, R);
|
|
5669
5544
|
if (P.rx === R.rx && P.ry === R.ry)
|
|
@@ -5673,6 +5548,8 @@ function wormholeOfRegion(seed, R) {
|
|
|
5673
5548
|
return null;
|
|
5674
5549
|
const A = endpointInRegion(seed, R, key);
|
|
5675
5550
|
const B = endpointInRegion(seed, P, key);
|
|
5551
|
+
if (!inBounds(A) || !inBounds(B))
|
|
5552
|
+
return null;
|
|
5676
5553
|
if (dist$1(A, B) < WH.MIN_REACH)
|
|
5677
5554
|
return null;
|
|
5678
5555
|
return { A, B };
|
|
@@ -9308,6 +9185,14 @@ class EntitiesManager extends BaseManager {
|
|
|
9308
9185
|
const entities = result;
|
|
9309
9186
|
return entities.map((e) => new Entity(e));
|
|
9310
9187
|
}
|
|
9188
|
+
async getAllEntities(kind) {
|
|
9189
|
+
const rows = await this.server.table('entity').all();
|
|
9190
|
+
if (!kind) {
|
|
9191
|
+
return rows;
|
|
9192
|
+
}
|
|
9193
|
+
const wanted = Name.from(kind);
|
|
9194
|
+
return rows.filter((row) => wanted.equals(row.kind));
|
|
9195
|
+
}
|
|
9311
9196
|
async getSummaries(owner, kind) {
|
|
9312
9197
|
const ownerName = this.resolveOwner(owner);
|
|
9313
9198
|
const result = await this.server.readonly('getsummaries', {
|
|
@@ -9341,6 +9226,24 @@ class PlayersManager extends BaseManager {
|
|
|
9341
9226
|
}
|
|
9342
9227
|
return new Player(playerRow);
|
|
9343
9228
|
}
|
|
9229
|
+
async getPlayers() {
|
|
9230
|
+
const rows = await this.server.table('player').all();
|
|
9231
|
+
return rows.map((row) => new Player(row));
|
|
9232
|
+
}
|
|
9233
|
+
async getRoster() {
|
|
9234
|
+
const [players, companies] = await Promise.all([
|
|
9235
|
+
this.server.table('player').all(),
|
|
9236
|
+
this.platform.table('company').all(),
|
|
9237
|
+
]);
|
|
9238
|
+
const companyNames = new Map();
|
|
9239
|
+
for (const company of companies) {
|
|
9240
|
+
companyNames.set(company.account.toString(), company.name);
|
|
9241
|
+
}
|
|
9242
|
+
return players.map((player) => ({
|
|
9243
|
+
owner: player.owner,
|
|
9244
|
+
company: companyNames.get(player.owner.toString()),
|
|
9245
|
+
}));
|
|
9246
|
+
}
|
|
9344
9247
|
}
|
|
9345
9248
|
|
|
9346
9249
|
const RESERVE_TIERS = {
|
|
@@ -9991,21 +9894,6 @@ class LocationsManager extends BaseManager {
|
|
|
9991
9894
|
}
|
|
9992
9895
|
}
|
|
9993
9896
|
|
|
9994
|
-
const COORD_MIN = -2147483648;
|
|
9995
|
-
const COORD_MAX = 2147483647;
|
|
9996
|
-
const COORD_OFFSET = 2147485000;
|
|
9997
|
-
const SECTOR_DIV = 100000000;
|
|
9998
|
-
const REGION_DIV = 10000;
|
|
9999
|
-
const SECTORS_PER_AXIS = 43;
|
|
10000
|
-
const REGION_PER_AXIS = 10000;
|
|
10001
|
-
const LOCAL_HALF = 5000;
|
|
10002
|
-
const LOCAL_MIN = -5000;
|
|
10003
|
-
const LOCAL_MAX = 4999;
|
|
10004
|
-
const SECTOR_COUNT = SECTORS_PER_AXIS * SECTORS_PER_AXIS;
|
|
10005
|
-
const REGION_COUNT = REGION_PER_AXIS * REGION_PER_AXIS;
|
|
10006
|
-
const SECTOR_FEISTEL = { n: SECTOR_COUNT, halfBits: 6, label: 'sector' };
|
|
10007
|
-
const REGION_FEISTEL = { n: REGION_COUNT, halfBits: 14, label: 'region' };
|
|
10008
|
-
|
|
10009
9897
|
const ROUNDS = 4;
|
|
10010
9898
|
const keyCache = new Map();
|
|
10011
9899
|
function deriveRoundKeys(seed, label) {
|
|
@@ -12573,6 +12461,19 @@ class ActionsManager extends BaseManager {
|
|
|
12573
12461
|
},
|
|
12574
12462
|
}, ATOMICASSETS_ABI);
|
|
12575
12463
|
}
|
|
12464
|
+
sendAsset(owner, recipient, assetId, memo = '') {
|
|
12465
|
+
return Action.from({
|
|
12466
|
+
account: this.atomicAssetsAccount,
|
|
12467
|
+
name: 'transfer',
|
|
12468
|
+
authorization: [{ actor: Name.from(owner), permission: 'active' }],
|
|
12469
|
+
data: {
|
|
12470
|
+
from: Name.from(owner),
|
|
12471
|
+
to: Name.from(recipient),
|
|
12472
|
+
asset_ids: [UInt64.from(assetId)],
|
|
12473
|
+
memo,
|
|
12474
|
+
},
|
|
12475
|
+
}, ATOMICASSETS_ABI);
|
|
12476
|
+
}
|
|
12576
12477
|
unwrapCargoTx(owner, assetId, hostId) {
|
|
12577
12478
|
return [this.transferForUnwrap(owner, assetId), this.placecargo(owner, hostId, assetId)];
|
|
12578
12479
|
}
|
|
@@ -13541,7 +13442,7 @@ function gathererDepthForTier(tol, tier) {
|
|
|
13541
13442
|
}
|
|
13542
13443
|
function computeGathererCapabilities(stats, tier) {
|
|
13543
13444
|
const str = stats.strength;
|
|
13544
|
-
const con = stats.
|
|
13445
|
+
const con = stats.saturation;
|
|
13545
13446
|
const tol = stats.tolerance;
|
|
13546
13447
|
return {
|
|
13547
13448
|
yield: 200 + str,
|
|
@@ -14539,8 +14440,23 @@ function reconstruct(cameFrom, origin, dest) {
|
|
|
14539
14440
|
const waypoints = path.slice(1);
|
|
14540
14441
|
return { ok: true, waypoints, legs: waypoints.length, totalDistance };
|
|
14541
14442
|
}
|
|
14443
|
+
let scanProvider = null;
|
|
14444
|
+
const graphCache = new Map();
|
|
14445
|
+
function setScanProvider(provider) {
|
|
14446
|
+
scanProvider = provider;
|
|
14447
|
+
graphCache.clear();
|
|
14448
|
+
}
|
|
14542
14449
|
function sdkSystemGraph(seed) {
|
|
14543
14450
|
const s = Checksum256.from(seed);
|
|
14451
|
+
const seedHex = s.toString();
|
|
14452
|
+
const cached = graphCache.get(seedHex);
|
|
14453
|
+
if (cached)
|
|
14454
|
+
return cached;
|
|
14455
|
+
const graph = scanProvider ? wasmSystemGraph(s, seedHex, scanProvider) : jsSystemGraph(s);
|
|
14456
|
+
graphCache.set(seedHex, graph);
|
|
14457
|
+
return graph;
|
|
14458
|
+
}
|
|
14459
|
+
function jsSystemGraph(s) {
|
|
14544
14460
|
return {
|
|
14545
14461
|
hasSystem: (c) => hasSystem(s, { x: c.x, y: c.y }) || wormholeAt(s, c.x, c.y) !== null,
|
|
14546
14462
|
nearby: (c, reachTiles) => {
|
|
@@ -14565,6 +14481,57 @@ function sdkSystemGraph(seed) {
|
|
|
14565
14481
|
},
|
|
14566
14482
|
};
|
|
14567
14483
|
}
|
|
14484
|
+
const SCAN_BUCKET = 48;
|
|
14485
|
+
function wasmSystemGraph(s, seedHex, scan) {
|
|
14486
|
+
const bucketCache = new Map();
|
|
14487
|
+
const bucketSystems = (bx, by) => {
|
|
14488
|
+
const k = `${bx},${by}`;
|
|
14489
|
+
let v = bucketCache.get(k);
|
|
14490
|
+
if (v === undefined) {
|
|
14491
|
+
const xMin = bx * SCAN_BUCKET;
|
|
14492
|
+
const yMin = by * SCAN_BUCKET;
|
|
14493
|
+
v = scan
|
|
14494
|
+
.systemsInBox(seedHex, xMin, yMin, xMin + SCAN_BUCKET - 1, yMin + SCAN_BUCKET - 1)
|
|
14495
|
+
.map((cell) => ({ x: cell.x, y: cell.y }));
|
|
14496
|
+
bucketCache.set(k, v);
|
|
14497
|
+
}
|
|
14498
|
+
return v;
|
|
14499
|
+
};
|
|
14500
|
+
return {
|
|
14501
|
+
hasSystem: (c) => scan.getLocationType(seedHex, c.x, c.y) !== 0 || wormholeAt(s, c.x, c.y) !== null,
|
|
14502
|
+
nearby: (c, reachTiles) => {
|
|
14503
|
+
const r = Math.floor(reachTiles);
|
|
14504
|
+
const seen = new Set([`${c.x},${c.y}`]);
|
|
14505
|
+
const out = [];
|
|
14506
|
+
const bx0 = Math.floor((c.x - r) / SCAN_BUCKET);
|
|
14507
|
+
const bx1 = Math.floor((c.x + r) / SCAN_BUCKET);
|
|
14508
|
+
const by0 = Math.floor((c.y - r) / SCAN_BUCKET);
|
|
14509
|
+
const by1 = Math.floor((c.y + r) / SCAN_BUCKET);
|
|
14510
|
+
for (let bx = bx0; bx <= bx1; bx++) {
|
|
14511
|
+
for (let by = by0; by <= by1; by++) {
|
|
14512
|
+
for (const cell of bucketSystems(bx, by)) {
|
|
14513
|
+
const dist = Math.hypot(cell.x - c.x, cell.y - c.y);
|
|
14514
|
+
if (dist > reachTiles)
|
|
14515
|
+
continue;
|
|
14516
|
+
const k = `${cell.x},${cell.y}`;
|
|
14517
|
+
if (seen.has(k))
|
|
14518
|
+
continue;
|
|
14519
|
+
seen.add(k);
|
|
14520
|
+
out.push({ coord: { x: cell.x, y: cell.y }, dist });
|
|
14521
|
+
}
|
|
14522
|
+
}
|
|
14523
|
+
}
|
|
14524
|
+
for (const coord of nearbyWormholes(s, c.x, c.y, reachTiles)) {
|
|
14525
|
+
const k = `${coord.x},${coord.y}`;
|
|
14526
|
+
if (seen.has(k))
|
|
14527
|
+
continue;
|
|
14528
|
+
seen.add(k);
|
|
14529
|
+
out.push({ coord, dist: Math.hypot(coord.x - c.x, coord.y - c.y) });
|
|
14530
|
+
}
|
|
14531
|
+
return out;
|
|
14532
|
+
},
|
|
14533
|
+
};
|
|
14534
|
+
}
|
|
14568
14535
|
|
|
14569
14536
|
function computePerLegReach(s, haulCount = 0) {
|
|
14570
14537
|
const capacity = s.generator?.capacity;
|
|
@@ -15604,6 +15571,117 @@ function cancelEligibility(entity, laneKey, fromTaskIndex, input) {
|
|
|
15604
15571
|
return { ok: true, range, effects };
|
|
15605
15572
|
}
|
|
15606
15573
|
|
|
15574
|
+
const NFT_TRANSIT_THRUST = 400;
|
|
15575
|
+
function derivedLoaders(lanes) {
|
|
15576
|
+
if (!lanes || lanes.length === 0)
|
|
15577
|
+
return null;
|
|
15578
|
+
let totalMass = 0;
|
|
15579
|
+
let totalThrust = 0;
|
|
15580
|
+
for (const l of lanes) {
|
|
15581
|
+
totalMass += Number(l.mass);
|
|
15582
|
+
totalThrust += Number(l.thrust);
|
|
15583
|
+
}
|
|
15584
|
+
const count = lanes.length;
|
|
15585
|
+
return {
|
|
15586
|
+
mass: Math.floor(totalMass / count),
|
|
15587
|
+
thrust: Math.min(totalThrust, 65535),
|
|
15588
|
+
quantity: count,
|
|
15589
|
+
};
|
|
15590
|
+
}
|
|
15591
|
+
function acceleration(thrust, mass) {
|
|
15592
|
+
if (mass <= 0)
|
|
15593
|
+
return 0;
|
|
15594
|
+
return (thrust / mass) * PRECISION$1;
|
|
15595
|
+
}
|
|
15596
|
+
function flightTime(distance, accel) {
|
|
15597
|
+
if (accel <= 0 || distance <= 0)
|
|
15598
|
+
return 0;
|
|
15599
|
+
return Math.floor(2 * Math.sqrt(distance / accel));
|
|
15600
|
+
}
|
|
15601
|
+
function distance2d(ax, ay, bx, by) {
|
|
15602
|
+
const dx = ax - bx;
|
|
15603
|
+
const dy = ay - by;
|
|
15604
|
+
return Math.floor(Math.sqrt(dx * dx + dy * dy) * PRECISION$1);
|
|
15605
|
+
}
|
|
15606
|
+
function unwrapTransitDuration(itemMass, origin, dest) {
|
|
15607
|
+
if (itemMass <= 0)
|
|
15608
|
+
return 0;
|
|
15609
|
+
return flightTime(distance2d(origin.x, origin.y, dest.x, dest.y), acceleration(NFT_TRANSIT_THRUST, itemMass));
|
|
15610
|
+
}
|
|
15611
|
+
function unwrapLoadDuration(loaders, itemMass, destZ) {
|
|
15612
|
+
if (!loaders || itemMass <= 0)
|
|
15613
|
+
return 0;
|
|
15614
|
+
const total = itemMass + loaders.mass;
|
|
15615
|
+
const flight = flightTime(destZ, acceleration(loaders.thrust, total));
|
|
15616
|
+
return Math.floor(flight / loaders.quantity);
|
|
15617
|
+
}
|
|
15618
|
+
function estimateUnwrapDuration(dest, item) {
|
|
15619
|
+
const itemMass = Number(calcCargoItemMass({
|
|
15620
|
+
item_id: item.itemId,
|
|
15621
|
+
quantity: item.quantity,
|
|
15622
|
+
modules: item.modules,
|
|
15623
|
+
}));
|
|
15624
|
+
const loaders = derivedLoaders(dest.loader_lanes);
|
|
15625
|
+
const dz = Number(dest.coordinates.z ?? 0);
|
|
15626
|
+
const load = unwrapLoadDuration(loaders, itemMass, dz);
|
|
15627
|
+
const transit = unwrapTransitDuration(itemMass, { x: item.originX, y: item.originY }, {
|
|
15628
|
+
x: Number(dest.coordinates.x),
|
|
15629
|
+
y: Number(dest.coordinates.y),
|
|
15630
|
+
});
|
|
15631
|
+
return load + transit;
|
|
15632
|
+
}
|
|
15633
|
+
const INCOMING_HOLD_KINDS = new Set([2, 3, 5]);
|
|
15634
|
+
function incomingHoldMass(holds) {
|
|
15635
|
+
if (!holds)
|
|
15636
|
+
return 0;
|
|
15637
|
+
let total = 0;
|
|
15638
|
+
for (const h of holds) {
|
|
15639
|
+
if (INCOMING_HOLD_KINDS.has(Number(h.kind)))
|
|
15640
|
+
total += Number(h.incoming_mass);
|
|
15641
|
+
}
|
|
15642
|
+
return total;
|
|
15643
|
+
}
|
|
15644
|
+
function cargoListMass(items) {
|
|
15645
|
+
let m = 0;
|
|
15646
|
+
for (const it of items)
|
|
15647
|
+
m += Number(calcCargoItemMass(it));
|
|
15648
|
+
return m;
|
|
15649
|
+
}
|
|
15650
|
+
function projectedPeakCargomass(entity, at, addMass, removeMass = 0) {
|
|
15651
|
+
const events = [];
|
|
15652
|
+
for (const ordered of orderedTasks(entity)) {
|
|
15653
|
+
const eff = taskCargoEffect(ordered.task);
|
|
15654
|
+
const delta = cargoListMass(eff.added) - cargoListMass(eff.removed);
|
|
15655
|
+
events.push({ t: ordered.completesAt.getTime(), delta });
|
|
15656
|
+
}
|
|
15657
|
+
events.push({ t: at.getTime(), delta: addMass - removeMass });
|
|
15658
|
+
events.sort((a, b) => (a.t !== b.t ? a.t - b.t : b.delta - a.delta));
|
|
15659
|
+
let running = Number(entity.cargomass);
|
|
15660
|
+
let peak = running;
|
|
15661
|
+
for (const e of events) {
|
|
15662
|
+
running += e.delta;
|
|
15663
|
+
if (running < 0)
|
|
15664
|
+
running = 0;
|
|
15665
|
+
if (running > peak)
|
|
15666
|
+
peak = running;
|
|
15667
|
+
}
|
|
15668
|
+
return Math.min(peak, 4294967295);
|
|
15669
|
+
}
|
|
15670
|
+
function receiveFits(dest, item, now) {
|
|
15671
|
+
const capacity = Number(dest.capacity ?? 0);
|
|
15672
|
+
if (capacity <= 0)
|
|
15673
|
+
return false;
|
|
15674
|
+
const itemMass = Number(calcCargoItemMass({
|
|
15675
|
+
item_id: item.itemId,
|
|
15676
|
+
quantity: item.quantity,
|
|
15677
|
+
modules: item.modules,
|
|
15678
|
+
}));
|
|
15679
|
+
const duration = estimateUnwrapDuration(dest, item);
|
|
15680
|
+
const candidateCompletes = candidateLaneCompletesAt(dest, LANE_MOBILITY, duration, now);
|
|
15681
|
+
const peak = projectedPeakCargomass(dest, candidateCompletes, itemMass + incomingHoldMass(dest.holds));
|
|
15682
|
+
return peak <= capacity;
|
|
15683
|
+
}
|
|
15684
|
+
|
|
15607
15685
|
function maxCraftable(entity, recipe, crafterSpeed, now) {
|
|
15608
15686
|
if (recipe.inputs.length === 0)
|
|
15609
15687
|
return 0;
|
|
@@ -16047,6 +16125,10 @@ function traceToRawCategoryStat(recipe, source, visited = new Set()) {
|
|
|
16047
16125
|
nextVisited.add(input.itemId);
|
|
16048
16126
|
return traceToRawCategoryStat(subRecipe, subSource, nextVisited);
|
|
16049
16127
|
}
|
|
16128
|
+
function sourceLabelForOutput(itemId) {
|
|
16129
|
+
const item = getItem(itemId);
|
|
16130
|
+
return item.type === 'entity' ? 'Hull' : item.name;
|
|
16131
|
+
}
|
|
16050
16132
|
let cached;
|
|
16051
16133
|
function deriveStatMappings() {
|
|
16052
16134
|
if (cached)
|
|
@@ -16058,16 +16140,17 @@ function deriveStatMappings() {
|
|
|
16058
16140
|
const recipe = getRecipe(itemId);
|
|
16059
16141
|
if (!recipe)
|
|
16060
16142
|
continue;
|
|
16143
|
+
const source = sourceLabelForOutput(itemId);
|
|
16061
16144
|
for (const [slotIdxStr, consumer] of Object.entries(slots)) {
|
|
16062
16145
|
const slotIdx = Number(slotIdxStr);
|
|
16063
16146
|
const slot = recipe.statSlots[slotIdx];
|
|
16064
16147
|
if (!slot)
|
|
16065
16148
|
continue;
|
|
16066
|
-
for (const
|
|
16067
|
-
const stat = traceToRawCategoryStat(recipe,
|
|
16149
|
+
for (const src of slot.sources) {
|
|
16150
|
+
const stat = traceToRawCategoryStat(recipe, src);
|
|
16068
16151
|
if (!stat)
|
|
16069
16152
|
continue;
|
|
16070
|
-
const key = `${stat.label}|${consumer.capability}|${consumer.attribute}`;
|
|
16153
|
+
const key = `${stat.label}|${consumer.capability}|${consumer.attribute}|${source}`;
|
|
16071
16154
|
if (seen.has(key))
|
|
16072
16155
|
continue;
|
|
16073
16156
|
seen.add(key);
|
|
@@ -16075,6 +16158,7 @@ function deriveStatMappings() {
|
|
|
16075
16158
|
stat: stat.label,
|
|
16076
16159
|
capability: consumer.capability,
|
|
16077
16160
|
attribute: consumer.attribute,
|
|
16161
|
+
source,
|
|
16078
16162
|
});
|
|
16079
16163
|
}
|
|
16080
16164
|
}
|
|
@@ -16091,6 +16175,42 @@ function getStatMappingsForStat(stat) {
|
|
|
16091
16175
|
function getStatMappingsForCapability(capability) {
|
|
16092
16176
|
return deriveStatMappings().filter((m) => m.capability === capability);
|
|
16093
16177
|
}
|
|
16178
|
+
function getProducersForAttribute(capability, attribute) {
|
|
16179
|
+
const seen = new Set();
|
|
16180
|
+
const out = [];
|
|
16181
|
+
for (const m of deriveStatMappings()) {
|
|
16182
|
+
if (m.capability !== capability || m.attribute !== attribute)
|
|
16183
|
+
continue;
|
|
16184
|
+
if (seen.has(m.source))
|
|
16185
|
+
continue;
|
|
16186
|
+
seen.add(m.source);
|
|
16187
|
+
out.push(m.source);
|
|
16188
|
+
}
|
|
16189
|
+
return out;
|
|
16190
|
+
}
|
|
16191
|
+
function getCapabilityAttributeRows() {
|
|
16192
|
+
const rows = [];
|
|
16193
|
+
for (const ca of capabilityAttributes) {
|
|
16194
|
+
const producers = getProducersForAttribute(ca.capability, ca.attribute);
|
|
16195
|
+
if (producers.length === 0) {
|
|
16196
|
+
rows.push({
|
|
16197
|
+
capability: ca.capability,
|
|
16198
|
+
attribute: ca.attribute,
|
|
16199
|
+
description: ca.description,
|
|
16200
|
+
});
|
|
16201
|
+
continue;
|
|
16202
|
+
}
|
|
16203
|
+
for (const source of producers) {
|
|
16204
|
+
rows.push({
|
|
16205
|
+
capability: ca.capability,
|
|
16206
|
+
attribute: ca.attribute,
|
|
16207
|
+
description: ca.description,
|
|
16208
|
+
source,
|
|
16209
|
+
});
|
|
16210
|
+
}
|
|
16211
|
+
}
|
|
16212
|
+
return rows;
|
|
16213
|
+
}
|
|
16094
16214
|
|
|
16095
16215
|
function getAllRecipes() {
|
|
16096
16216
|
return recipes;
|
|
@@ -16795,8 +16915,8 @@ function buildModuleImmutable(itemId, quantity, stats, originX, originY) {
|
|
|
16795
16915
|
const ref = decodeStat(stats, 3);
|
|
16796
16916
|
base.push({ first: 'strength', second: ['uint16', str] });
|
|
16797
16917
|
base.push({ first: 'tolerance', second: ['uint16', tol] });
|
|
16798
|
-
base.push({ first: '
|
|
16799
|
-
base.push({ first: '
|
|
16918
|
+
base.push({ first: 'saturation', second: ['uint16', con] });
|
|
16919
|
+
base.push({ first: 'plasticity', second: ['uint16', ref] });
|
|
16800
16920
|
base.push({ first: 'yield', second: ['uint16', computeGathererYield(str)] });
|
|
16801
16921
|
base.push({ first: 'drain', second: ['uint16', computeGathererDrain(con)] });
|
|
16802
16922
|
base.push({ first: 'depth', second: ['uint16', computeGathererDepth(tol, item.tier)] });
|
|
@@ -17113,5 +17233,5 @@ function planParallelTransfer(entity, target) {
|
|
|
17113
17233
|
return allocateProportional(laneWeights, requestedQty).filter((e) => e.quantity > 0);
|
|
17114
17234
|
}
|
|
17115
17235
|
|
|
17116
|
-
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, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, 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_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, 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, RESOURCE_TIER_MULT_TENTHS, 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, applyResourceTierMultiplier, 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, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass$1 as 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, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, 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, getAllRecipes, getCapabilityAttributes, getCategoryInfo, getComponentDemand, 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, getRecipeConsumers, getResourceDemand, 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 };
|
|
17236
|
+
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, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, 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_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, 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, RESOURCE_TIER_MULT_TENTHS, 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, applyResourceTierMultiplier, 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, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoItem, cargoItemToStack, cargoReadyAt, cargoRef, cargoUtils, categoryColors, categoryFromIndex, categoryLabel, categoryLabelFromIndex, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass$1 as 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, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, Shipload as default, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, 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, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findNearbyPlanets, flightSpeedFactor, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatTier, gathererDepthForTier, getAllRecipes, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, 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, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasLoaders, hasMass, hasSchedule, hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, incomingHoldMass, 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, nearbyWormholes, needsRecharge, normalizeDisplayName, parseWireEntity, partnerRegion, planParallelGather, planParallelTransfer, planRoute, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, rollTier, rollWithinTier, rollupCrafter, rollupGatherer, rollupLoaders, rotation, schedule, sdkSystemGraph, selectGatherLane, setScanProvider, setSubscriptionsDebug, sourceLabelForOutput, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, subtractFromStacks, taskCargoChanges, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, typeLabel, unwrapLoadDuration, unwrapTransitDuration, validateDisplayName, validateSchedule, workerLaneKey, wormholeAt, wormholeAtRegionEndpoint, yieldThresholdAt };
|
|
17117
17237
|
//# sourceMappingURL=shipload.m.js.map
|