@aephia/atlas-kit 0.6.0-next.141 → 0.6.0-next.142
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/dist/fleets/composition-stats.d.ts +101 -0
- package/dist/fleets/composition-stats.d.ts.map +1 -0
- package/dist/fleets/composition-stats.js +354 -0
- package/dist/fleets/composition-stats.js.map +1 -0
- package/dist/fleets/index.d.ts +1 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +1 -0
- package/dist/fleets/index.js.map +1 -1
- package/dist/internal/c4/fleet-points.d.ts +3 -0
- package/dist/internal/c4/fleet-points.d.ts.map +1 -0
- package/dist/internal/c4/fleet-points.js +8 -0
- package/dist/internal/c4/fleet-points.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +1 -3
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.js +1 -7
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { FleetShipCountsData, FleetStatsData } from '../internal/c4/fleet.js';
|
|
2
|
+
import type { ShipDefinitionSummary } from '../registry/index.js';
|
|
3
|
+
/** Inputs for projecting a Fleet's stored stats after ship assembly. Pass the
|
|
4
|
+
* whole loaded ships section (`listShipConfigurations`), the current Fleet
|
|
5
|
+
* snapshot (omit it for a newly created, empty Fleet) and the ships to add, one
|
|
6
|
+
* entry per add-ship instruction in submission order, as successive
|
|
7
|
+
* `planAddShipToFleet` Plans would submit them.
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* declare const ctx: SageContext, fleet: FleetSnapshot;
|
|
11
|
+
* const input: FleetCompositionStatsInput = {
|
|
12
|
+
* definitions: await listShipConfigurations(ctx),
|
|
13
|
+
* fleet,
|
|
14
|
+
* additions: [{ shipId: 12, amount: 1n }],
|
|
15
|
+
* };
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export interface FleetCompositionStatsInput {
|
|
19
|
+
readonly definitions: readonly Pick<ShipDefinitionSummary, 'id' | 'sizeClass' | 'stats' | 'definitionSequenceId'>[];
|
|
20
|
+
/** A Fleet snapshot, or the same fields from raw Fleet data with
|
|
21
|
+
* `fleetShips` mapped to `{ id: shipId, quantity }`. */
|
|
22
|
+
readonly fleet?: {
|
|
23
|
+
readonly ships: readonly {
|
|
24
|
+
readonly id: number;
|
|
25
|
+
readonly quantity: bigint;
|
|
26
|
+
}[];
|
|
27
|
+
readonly shipCounts: FleetShipCountsData;
|
|
28
|
+
readonly stats: FleetStatsData;
|
|
29
|
+
readonly shipDefinitionsSeqId: number;
|
|
30
|
+
};
|
|
31
|
+
readonly additions: readonly {
|
|
32
|
+
readonly shipId: number;
|
|
33
|
+
readonly amount: bigint;
|
|
34
|
+
}[];
|
|
35
|
+
}
|
|
36
|
+
/** Projected stored Fleet stats after the additions, in the same units as a
|
|
37
|
+
* Fleet's `stats`. `route` says which program path produced them: `new-fleet`
|
|
38
|
+
* starts from an empty Fleet, `stored` builds on the Fleet's stored stats, and
|
|
39
|
+
* `resynchronized` first rebuilds a Fleet on an older ship-definition sequence
|
|
40
|
+
* from the current definitions, as the program does before adding ships.
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* declare const projected: FleetCompositionStats;
|
|
44
|
+
* console.log(projected.route, projected.fleetPoints, projected.stats.cargo.miningRate.value);
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export interface FleetCompositionStats {
|
|
48
|
+
readonly route: 'new-fleet' | 'stored' | 'resynchronized';
|
|
49
|
+
readonly definitionSequenceId: number;
|
|
50
|
+
readonly ships: readonly {
|
|
51
|
+
readonly id: number;
|
|
52
|
+
readonly quantity: bigint;
|
|
53
|
+
}[];
|
|
54
|
+
readonly shipCounts: FleetShipCountsData;
|
|
55
|
+
/** XXS 1, XS 4, Small 9, Medium 16, Large 25, Capital 36, Commander 49, Titan 128. */
|
|
56
|
+
readonly fleetPoints: number;
|
|
57
|
+
readonly stats: FleetStatsData;
|
|
58
|
+
toJSON(): unknown;
|
|
59
|
+
}
|
|
60
|
+
/** Projects the stats a Fleet stores after ship assembly, exactly as the program
|
|
61
|
+
* aggregates them; verified against the program's behaviour. Capacities, Fuel
|
|
62
|
+
* and upkeep rates, mining and load rates, crew, AP/HP/SP and damage are added
|
|
63
|
+
* and capped. Subwarp, warp and lane speeds take the lowest value. Maximum warp
|
|
64
|
+
* distance, warp cooldown, warp spool, shield break delay, damage variance,
|
|
65
|
+
* respawn times and scan cooldown take the highest. Stealth, hit, aim and
|
|
66
|
+
* critical values are truncated per-ship averages, which the program rescales
|
|
67
|
+
* on every addition, so one addition of two ships can differ from two
|
|
68
|
+
* additions of one. Repair cost (weighted by hull points) and repair efficiency
|
|
69
|
+
* (weighted by repair ability) are recomputed over every ship aboard.
|
|
70
|
+
*
|
|
71
|
+
* A Fleet on the definitions' sequence builds on its stored stats and counts.
|
|
72
|
+
* One on an older sequence is first rebuilt from the current definitions of
|
|
73
|
+
* the ships aboard, as the program does before adding ships. A missing ship
|
|
74
|
+
* definition, mixed definition sequences, an amount outside 1n-255n or an
|
|
75
|
+
* overflow the program refuses throw `InvalidDerivationInputError`; other
|
|
76
|
+
* inputs are trusted as typed.
|
|
77
|
+
*
|
|
78
|
+
* Character research does not change stored stats: pass the Character's raw
|
|
79
|
+
* speed and cooldown modifiers to the travel helpers at use time. This is not
|
|
80
|
+
* an eligibility check (`planAddShipToFleet` applies ship size, research tags,
|
|
81
|
+
* Fleet size and formation limits), and checks no funding, entitlement or crew
|
|
82
|
+
* provisioning. Current AP, SP and HP are not projected. Read the Fleet back
|
|
83
|
+
* after confirmation; the chain stays authoritative. Requalify after program
|
|
84
|
+
* changes.
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* declare const ctx: SageContext, fleet: FleetSnapshot, character: CharacterSnapshot;
|
|
88
|
+
* const projected = deriveFleetCompositionStats({
|
|
89
|
+
* definitions: await listShipConfigurations(ctx),
|
|
90
|
+
* fleet,
|
|
91
|
+
* additions: [{ shipId: 12, amount: 1n }],
|
|
92
|
+
* });
|
|
93
|
+
* const travel = deriveFleetTravelProfile({
|
|
94
|
+
* stats: projected.stats,
|
|
95
|
+
* subwarpSpeedModifierRaw: character.modifiers.values.subwarpSpeedModifierRaw,
|
|
96
|
+
* });
|
|
97
|
+
* console.log(projected.stats.cargo.miningRate.value, travel.subwarp?.secondsPerAu);
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare function deriveFleetCompositionStats(input: FleetCompositionStatsInput): FleetCompositionStats;
|
|
101
|
+
//# sourceMappingURL=composition-stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition-stats.d.ts","sourceRoot":"","sources":["../../src/fleets/composition-stats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,IAAI,CACjC,qBAAqB,EACrB,IAAI,GAAG,WAAW,GAAG,OAAO,GAAG,sBAAsB,CACtD,EAAE,CAAC;IACJ;4DACwD;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,KAAK,EAAE,SAAS;YACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC3B,EAAE,CAAC;QACJ,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;QACzC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;QAC/B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;KACvC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;CACL;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IAC1D,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,EAAE,CAAC;IACJ,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,sFAAsF;IACtF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,MAAM,IAAI,OAAO,CAAC;CACnB;AA6OD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,GAChC,qBAAqB,CAwGvB"}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
import { InvalidDerivationInputError } from '../client/index.js';
|
|
2
|
+
import { fleetCapacityPoints } from '../internal/c4/fleet-points.js';
|
|
3
|
+
import { attachJsonSerialization } from '../internal/json.js';
|
|
4
|
+
import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
|
|
5
|
+
const U32 = (1n << 32n) - 1n;
|
|
6
|
+
const CONSUMPTION_U26F6 = 50000000n << 6n;
|
|
7
|
+
const sum = (cap) => ({ kind: 'sum', cap });
|
|
8
|
+
const max = { kind: 'max' };
|
|
9
|
+
const speed = { kind: 'speed' };
|
|
10
|
+
const average = { kind: 'average' };
|
|
11
|
+
const checked = (maximum, minimum = 0n) => ({
|
|
12
|
+
kind: 'checked',
|
|
13
|
+
min: minimum,
|
|
14
|
+
max: maximum,
|
|
15
|
+
});
|
|
16
|
+
const damage = (name) => [
|
|
17
|
+
[`damage${name}`, sum(1000000n), 'number'],
|
|
18
|
+
[`damage${name}Variance`, max, 6],
|
|
19
|
+
];
|
|
20
|
+
// Verified against the program's ship-assembly behaviour.
|
|
21
|
+
const FIELDS = {
|
|
22
|
+
movement: [
|
|
23
|
+
['subwarpSpeed', speed, 16],
|
|
24
|
+
['warpSpeed', speed, 16],
|
|
25
|
+
['warpLaneSpeed', speed, 16],
|
|
26
|
+
['maxWarpDistance', max, 8],
|
|
27
|
+
['warpCoolDownSeconds', max, 'number'],
|
|
28
|
+
['subwarpFuelConsumptionRate', sum(CONSUMPTION_U26F6), 6],
|
|
29
|
+
['warpFuelConsumptionRate', sum(CONSUMPTION_U26F6), 6],
|
|
30
|
+
['planetExitFuelAmount', sum(50000000n), 'number'],
|
|
31
|
+
['warpXpRate', sum(U32), 16],
|
|
32
|
+
['subwarpXpRate', sum(U32), 16],
|
|
33
|
+
],
|
|
34
|
+
cargo: [
|
|
35
|
+
['cargoCapacity', sum(100000000n), 'bigint'],
|
|
36
|
+
['fuelCapacity', sum(100000000n), 'bigint'],
|
|
37
|
+
['ammoCapacity', sum(1000000000n), 'bigint'],
|
|
38
|
+
['ammoConsumptionRate', sum(U32), 14],
|
|
39
|
+
['foodConsumptionRate', sum(U32), 14],
|
|
40
|
+
['miningRate', sum(U32), 14],
|
|
41
|
+
['loadRate', sum(CONSUMPTION_U26F6), 6],
|
|
42
|
+
],
|
|
43
|
+
combat: [
|
|
44
|
+
['ap', sum(1000000n), 'number'],
|
|
45
|
+
['hp', sum(1000000n), 'number'],
|
|
46
|
+
['sp', sum(1000000n), 'number'],
|
|
47
|
+
['ammoConsumptionRate', sum(CONSUMPTION_U26F6), 6],
|
|
48
|
+
['apRegenRate', sum(CONSUMPTION_U26F6), 6],
|
|
49
|
+
['shieldRechargeRate', sum(CONSUMPTION_U26F6), 6],
|
|
50
|
+
['repairRate', sum(CONSUMPTION_U26F6), 6],
|
|
51
|
+
['repairAbility', sum(CONSUMPTION_U26F6), 6],
|
|
52
|
+
['repairEfficiency', { kind: 'repairEfficiency' }, 6],
|
|
53
|
+
['repairCost', { kind: 'repairCost' }, 6],
|
|
54
|
+
['lootRate', sum(1000000n << 6n), 6],
|
|
55
|
+
['shieldBreakDelaySeconds', max, 'number'],
|
|
56
|
+
['warpSpoolTimeSeconds', max, 'number'],
|
|
57
|
+
...[
|
|
58
|
+
'Kinetic',
|
|
59
|
+
'Energy',
|
|
60
|
+
'Emp',
|
|
61
|
+
'Superchill',
|
|
62
|
+
'Shockwave',
|
|
63
|
+
'Graygoo',
|
|
64
|
+
'Heat',
|
|
65
|
+
'Bomb',
|
|
66
|
+
].flatMap(damage),
|
|
67
|
+
...[
|
|
68
|
+
'Decoy',
|
|
69
|
+
'EnergyCapacitor',
|
|
70
|
+
'FireSuppressor',
|
|
71
|
+
'Flare',
|
|
72
|
+
'HealingNanobots',
|
|
73
|
+
'Mine',
|
|
74
|
+
'NegativeRemPlating',
|
|
75
|
+
'WarmingPlates',
|
|
76
|
+
'FaradayShielding',
|
|
77
|
+
].map((name) => [`counter${name}`, sum(1000000n), 'number']),
|
|
78
|
+
['stealthPower', average, 6],
|
|
79
|
+
['hitChance', average, 6],
|
|
80
|
+
['aimAbility', average, 6],
|
|
81
|
+
['critChance', average, 6],
|
|
82
|
+
['critMultiplier', average, 6],
|
|
83
|
+
['fuelConsumptionRate', sum(CONSUMPTION_U26F6), 6],
|
|
84
|
+
['missileDamage', sum(CONSUMPTION_U26F6), 6],
|
|
85
|
+
['missileFireRate', sum(CONSUMPTION_U26F6), 6],
|
|
86
|
+
],
|
|
87
|
+
misc: [
|
|
88
|
+
['requiredCrew', checked(0xffffn), 'number'],
|
|
89
|
+
['passengerCapacity', checked(0xffffn), 'number'],
|
|
90
|
+
['respawnTimeWithoutFeeSeconds', max, 'number'],
|
|
91
|
+
['respawnTimeWithFeeSeconds', max, 'number'],
|
|
92
|
+
['recoveryFeeRaw', checked((1n << 64n) - 1n), 'bigint'],
|
|
93
|
+
['scanCoolDownSeconds', max, 16],
|
|
94
|
+
['scanPower', sum(U32), 6],
|
|
95
|
+
['scanCost', sum(50000000n), 'number'],
|
|
96
|
+
['scanBonus', checked((1n << 31n) - 1n, -(1n << 31n)), 16],
|
|
97
|
+
['lpValue', checked(U32), 'number'],
|
|
98
|
+
['medallionValue', checked(U32), 'number'],
|
|
99
|
+
['xpValue', sum(U32), 16],
|
|
100
|
+
],
|
|
101
|
+
};
|
|
102
|
+
const GROUPS = Object.keys(FIELDS);
|
|
103
|
+
const SIZE_KEYS = {
|
|
104
|
+
'xx-small': 'xxSmall',
|
|
105
|
+
'x-small': 'xSmall',
|
|
106
|
+
small: 'small',
|
|
107
|
+
medium: 'medium',
|
|
108
|
+
large: 'large',
|
|
109
|
+
capital: 'capital',
|
|
110
|
+
commander: 'commander',
|
|
111
|
+
titan: 'titan',
|
|
112
|
+
};
|
|
113
|
+
function invalid(field, value) {
|
|
114
|
+
throw new InvalidDerivationInputError(field, value, 'Pass one current ships section from listShipConfigurations and amounts of 1n-255n; the program refuses this addition.');
|
|
115
|
+
}
|
|
116
|
+
function readRaw(stats) {
|
|
117
|
+
const raw = {};
|
|
118
|
+
for (const group of GROUPS) {
|
|
119
|
+
const translated = stats[group];
|
|
120
|
+
raw[group] = Object.fromEntries(FIELDS[group].map(([name]) => {
|
|
121
|
+
const value = translated[name];
|
|
122
|
+
return [name, typeof value === 'object' ? value.raw : BigInt(value)];
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
return raw;
|
|
126
|
+
}
|
|
127
|
+
function emptyRaw() {
|
|
128
|
+
const raw = {};
|
|
129
|
+
for (const group of GROUPS)
|
|
130
|
+
raw[group] = Object.fromEntries(FIELDS[group].map(([name]) => [name, 0n]));
|
|
131
|
+
return raw;
|
|
132
|
+
}
|
|
133
|
+
function combine(target, ship, amount) {
|
|
134
|
+
for (const group of GROUPS)
|
|
135
|
+
for (const [name, rule] of FIELDS[group]) {
|
|
136
|
+
const current = target[group][name];
|
|
137
|
+
const incoming = ship[group][name];
|
|
138
|
+
let next;
|
|
139
|
+
switch (rule.kind) {
|
|
140
|
+
case 'sum':
|
|
141
|
+
next = minimum(current + minimum(incoming * amount, rule.cap), rule.cap);
|
|
142
|
+
break;
|
|
143
|
+
case 'average':
|
|
144
|
+
next = minimum(current + minimum(incoming * amount, CONSUMPTION_U26F6), CONSUMPTION_U26F6);
|
|
145
|
+
break;
|
|
146
|
+
case 'checked': {
|
|
147
|
+
const scaled = incoming * amount;
|
|
148
|
+
next = current + scaled;
|
|
149
|
+
for (const value of [scaled, next])
|
|
150
|
+
if (value < rule.min || value > rule.max)
|
|
151
|
+
invalid(`${group}.${name}`, value);
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case 'speed':
|
|
155
|
+
next = current === 0n ? incoming : minimum(current, incoming);
|
|
156
|
+
break;
|
|
157
|
+
default:
|
|
158
|
+
next = current > incoming ? current : incoming;
|
|
159
|
+
}
|
|
160
|
+
target[group][name] = next;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function scaleAverages(stats, factor, divide) {
|
|
164
|
+
if (factor <= 1n)
|
|
165
|
+
return;
|
|
166
|
+
for (const [name, rule] of FIELDS.combat)
|
|
167
|
+
if (rule.kind === 'average') {
|
|
168
|
+
const value = stats.combat[name];
|
|
169
|
+
stats.combat[name] = divide
|
|
170
|
+
? value / factor
|
|
171
|
+
: minimum(value * factor, CONSUMPTION_U26F6);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function minimum(left, right) {
|
|
175
|
+
return left < right ? left : right;
|
|
176
|
+
}
|
|
177
|
+
function writeStats(raw) {
|
|
178
|
+
const stats = {};
|
|
179
|
+
for (const group of GROUPS) {
|
|
180
|
+
const values = {};
|
|
181
|
+
for (const [name, , shape] of FIELDS[group]) {
|
|
182
|
+
const value = raw[group][name];
|
|
183
|
+
values[name] =
|
|
184
|
+
shape === 'bigint'
|
|
185
|
+
? value
|
|
186
|
+
: shape === 'number'
|
|
187
|
+
? Number(value)
|
|
188
|
+
: { raw: value, value: Number(value) / 2 ** shape };
|
|
189
|
+
}
|
|
190
|
+
stats[group] = values;
|
|
191
|
+
}
|
|
192
|
+
stats.misc.recoveryFeeAtlas = Number(raw.misc.recoveryFeeRaw) / 100_000_000;
|
|
193
|
+
return stats;
|
|
194
|
+
}
|
|
195
|
+
/** Projects the stats a Fleet stores after ship assembly, exactly as the program
|
|
196
|
+
* aggregates them; verified against the program's behaviour. Capacities, Fuel
|
|
197
|
+
* and upkeep rates, mining and load rates, crew, AP/HP/SP and damage are added
|
|
198
|
+
* and capped. Subwarp, warp and lane speeds take the lowest value. Maximum warp
|
|
199
|
+
* distance, warp cooldown, warp spool, shield break delay, damage variance,
|
|
200
|
+
* respawn times and scan cooldown take the highest. Stealth, hit, aim and
|
|
201
|
+
* critical values are truncated per-ship averages, which the program rescales
|
|
202
|
+
* on every addition, so one addition of two ships can differ from two
|
|
203
|
+
* additions of one. Repair cost (weighted by hull points) and repair efficiency
|
|
204
|
+
* (weighted by repair ability) are recomputed over every ship aboard.
|
|
205
|
+
*
|
|
206
|
+
* A Fleet on the definitions' sequence builds on its stored stats and counts.
|
|
207
|
+
* One on an older sequence is first rebuilt from the current definitions of
|
|
208
|
+
* the ships aboard, as the program does before adding ships. A missing ship
|
|
209
|
+
* definition, mixed definition sequences, an amount outside 1n-255n or an
|
|
210
|
+
* overflow the program refuses throw `InvalidDerivationInputError`; other
|
|
211
|
+
* inputs are trusted as typed.
|
|
212
|
+
*
|
|
213
|
+
* Character research does not change stored stats: pass the Character's raw
|
|
214
|
+
* speed and cooldown modifiers to the travel helpers at use time. This is not
|
|
215
|
+
* an eligibility check (`planAddShipToFleet` applies ship size, research tags,
|
|
216
|
+
* Fleet size and formation limits), and checks no funding, entitlement or crew
|
|
217
|
+
* provisioning. Current AP, SP and HP are not projected. Read the Fleet back
|
|
218
|
+
* after confirmation; the chain stays authoritative. Requalify after program
|
|
219
|
+
* changes.
|
|
220
|
+
* @example
|
|
221
|
+
* ```ts
|
|
222
|
+
* declare const ctx: SageContext, fleet: FleetSnapshot, character: CharacterSnapshot;
|
|
223
|
+
* const projected = deriveFleetCompositionStats({
|
|
224
|
+
* definitions: await listShipConfigurations(ctx),
|
|
225
|
+
* fleet,
|
|
226
|
+
* additions: [{ shipId: 12, amount: 1n }],
|
|
227
|
+
* });
|
|
228
|
+
* const travel = deriveFleetTravelProfile({
|
|
229
|
+
* stats: projected.stats,
|
|
230
|
+
* subwarpSpeedModifierRaw: character.modifiers.values.subwarpSpeedModifierRaw,
|
|
231
|
+
* });
|
|
232
|
+
* console.log(projected.stats.cargo.miningRate.value, travel.subwarp?.secondsPerAu);
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
export function deriveFleetCompositionStats(input) {
|
|
236
|
+
const definitions = new Map();
|
|
237
|
+
let sequence;
|
|
238
|
+
for (const definition of input.definitions) {
|
|
239
|
+
sequence ??= definition.definitionSequenceId;
|
|
240
|
+
if (definition.definitionSequenceId !== sequence)
|
|
241
|
+
invalid('Ship definition sequence', definition.definitionSequenceId);
|
|
242
|
+
definitions.set(definition.id, definition);
|
|
243
|
+
}
|
|
244
|
+
if (sequence === undefined)
|
|
245
|
+
invalid('Ship definitions', 0);
|
|
246
|
+
const rawDefinitions = new Map();
|
|
247
|
+
const lookup = (id) => {
|
|
248
|
+
const definition = definitions.get(id);
|
|
249
|
+
if (definition === undefined)
|
|
250
|
+
invalid('Ship definition id', id);
|
|
251
|
+
let raw = rawDefinitions.get(id);
|
|
252
|
+
if (raw === undefined) {
|
|
253
|
+
raw = readRaw(definition.stats);
|
|
254
|
+
rawDefinitions.set(id, raw);
|
|
255
|
+
}
|
|
256
|
+
return { definition, raw };
|
|
257
|
+
};
|
|
258
|
+
const fleet = input.fleet;
|
|
259
|
+
const ships = new Map(fleet?.ships.map(({ id, quantity }) => [id, quantity]));
|
|
260
|
+
const counts = {
|
|
261
|
+
total: 0n,
|
|
262
|
+
xxSmall: 0n,
|
|
263
|
+
xSmall: 0n,
|
|
264
|
+
small: 0n,
|
|
265
|
+
medium: 0n,
|
|
266
|
+
large: 0n,
|
|
267
|
+
capital: 0n,
|
|
268
|
+
commander: 0n,
|
|
269
|
+
titan: 0n,
|
|
270
|
+
};
|
|
271
|
+
const addCounts = (definition, amount) => {
|
|
272
|
+
const key = SIZE_KEYS[definition.sizeClass];
|
|
273
|
+
counts[key] += amount;
|
|
274
|
+
counts.total += amount;
|
|
275
|
+
if (counts[key] > 0xffffn)
|
|
276
|
+
invalid(`shipCounts.${key}`, counts[key]);
|
|
277
|
+
};
|
|
278
|
+
let route;
|
|
279
|
+
let stats;
|
|
280
|
+
if (fleet === undefined) {
|
|
281
|
+
route = 'new-fleet';
|
|
282
|
+
stats = emptyRaw();
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
stats = readRaw(fleet.stats);
|
|
286
|
+
for (const key of Object.keys(counts))
|
|
287
|
+
counts[key] = BigInt(fleet.shipCounts[key]);
|
|
288
|
+
if (fleet.shipDefinitionsSeqId === sequence)
|
|
289
|
+
route = 'stored';
|
|
290
|
+
else {
|
|
291
|
+
route = 'resynchronized';
|
|
292
|
+
if (ships.size > 0) {
|
|
293
|
+
stats = emptyRaw();
|
|
294
|
+
for (const key of Object.keys(counts))
|
|
295
|
+
counts[key] = 0n;
|
|
296
|
+
for (const [id, quantity] of ships) {
|
|
297
|
+
const { definition, raw } = lookup(id);
|
|
298
|
+
addCounts(definition, quantity);
|
|
299
|
+
combine(stats, raw, quantity);
|
|
300
|
+
}
|
|
301
|
+
scaleAverages(stats, counts.total, true);
|
|
302
|
+
setRepair(stats, ships, lookup);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
for (const { shipId, amount } of input.additions) {
|
|
307
|
+
if (amount < 1n || amount > 255n)
|
|
308
|
+
invalid('Addition amount', amount);
|
|
309
|
+
const { definition, raw } = lookup(shipId);
|
|
310
|
+
scaleAverages(stats, counts.total, false);
|
|
311
|
+
combine(stats, raw, amount);
|
|
312
|
+
addCounts(definition, amount);
|
|
313
|
+
ships.set(shipId, (ships.get(shipId) ?? 0n) + amount);
|
|
314
|
+
scaleAverages(stats, counts.total, true);
|
|
315
|
+
setRepair(stats, ships, lookup);
|
|
316
|
+
}
|
|
317
|
+
const shipCounts = Object.fromEntries(Object.entries(counts).map(([key, value]) => [key, Number(value)]));
|
|
318
|
+
return freezeResolvedSnapshot(attachJsonSerialization({
|
|
319
|
+
route,
|
|
320
|
+
definitionSequenceId: sequence,
|
|
321
|
+
ships: [...ships].map(([id, quantity]) => ({ id, quantity })),
|
|
322
|
+
shipCounts,
|
|
323
|
+
fleetPoints: fleetCapacityPoints([
|
|
324
|
+
shipCounts.xxSmall,
|
|
325
|
+
shipCounts.xSmall,
|
|
326
|
+
shipCounts.small,
|
|
327
|
+
shipCounts.medium,
|
|
328
|
+
shipCounts.large,
|
|
329
|
+
shipCounts.capital,
|
|
330
|
+
shipCounts.commander,
|
|
331
|
+
shipCounts.titan,
|
|
332
|
+
]),
|
|
333
|
+
stats: writeStats(stats),
|
|
334
|
+
}));
|
|
335
|
+
}
|
|
336
|
+
function setRepair(stats, ships, lookup) {
|
|
337
|
+
let costWeighted = 0n;
|
|
338
|
+
let hullWeight = 0n;
|
|
339
|
+
let efficiencyWeighted = 0n;
|
|
340
|
+
let abilityWeight = 0n;
|
|
341
|
+
for (const [id, quantity] of ships) {
|
|
342
|
+
const { combat } = lookup(id).raw;
|
|
343
|
+
const hull = combat.hp * quantity;
|
|
344
|
+
const ability = combat.repairAbility * quantity;
|
|
345
|
+
hullWeight += hull;
|
|
346
|
+
costWeighted += combat.repairCost * hull;
|
|
347
|
+
abilityWeight += ability;
|
|
348
|
+
efficiencyWeighted += combat.repairEfficiency * ability;
|
|
349
|
+
}
|
|
350
|
+
stats.combat.repairCost = hullWeight === 0n ? 0n : costWeighted / hullWeight;
|
|
351
|
+
stats.combat.repairEfficiency =
|
|
352
|
+
abilityWeight === 0n ? 0n : efficiencyWeighted / abilityWeight;
|
|
353
|
+
}
|
|
354
|
+
//# sourceMappingURL=composition-stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition-stats.js","sourceRoot":"","sources":["../../src/fleets/composition-stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAKjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAoF1E,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,SAAW,IAAI,EAAE,CAAC;AAC5C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAClC,MAAM,KAAK,GAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACtC,MAAM,OAAO,GAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1C,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,OAAO,GAAG,EAAE,EAAQ,EAAE,CAAC,CAAC;IACxD,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;CACb,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAoB,EAAE,CAAC;IACjD,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,QAAU,CAAC,EAAE,QAAQ,CAAC;IAC5C,CAAC,SAAS,IAAI,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;CAClC,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,GAAoC;IAC9C,QAAQ,EAAE;QACR,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3B,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC;QACxB,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5B,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3B,CAAC,qBAAqB,EAAE,GAAG,EAAE,QAAQ,CAAC;QACtC,CAAC,4BAA4B,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC,yBAAyB,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,sBAAsB,EAAE,GAAG,CAAC,SAAW,CAAC,EAAE,QAAQ,CAAC;QACpD,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC5B,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;KAChC;IACD,KAAK,EAAE;QACL,CAAC,eAAe,EAAE,GAAG,CAAC,UAAY,CAAC,EAAE,QAAQ,CAAC;QAC9C,CAAC,cAAc,EAAE,GAAG,CAAC,UAAY,CAAC,EAAE,QAAQ,CAAC;QAC7C,CAAC,cAAc,EAAE,GAAG,CAAC,WAAc,CAAC,EAAE,QAAQ,CAAC;QAC/C,CAAC,qBAAqB,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACrC,CAAC,qBAAqB,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACrC,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC5B,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;KACxC;IACD,MAAM,EAAE;QACN,CAAC,IAAI,EAAE,GAAG,CAAC,QAAU,CAAC,EAAE,QAAQ,CAAC;QACjC,CAAC,IAAI,EAAE,GAAG,CAAC,QAAU,CAAC,EAAE,QAAQ,CAAC;QACjC,CAAC,IAAI,EAAE,GAAG,CAAC,QAAU,CAAC,EAAE,QAAQ,CAAC;QACjC,CAAC,qBAAqB,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,aAAa,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC,oBAAoB,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC,YAAY,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC,UAAU,EAAE,GAAG,CAAC,QAAU,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,yBAAyB,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC1C,CAAC,sBAAsB,EAAE,GAAG,EAAE,QAAQ,CAAC;QACvC,GAAG;YACD,SAAS;YACT,QAAQ;YACR,KAAK;YACL,YAAY;YACZ,WAAW;YACX,SAAS;YACT,MAAM;YACN,MAAM;SACP,CAAC,OAAO,CAAC,MAAM,CAAC;QACjB,GAAG;YACD,OAAO;YACP,iBAAiB;YACjB,gBAAgB;YAChB,OAAO;YACP,iBAAiB;YACjB,MAAM;YACN,oBAAoB;YACpB,eAAe;YACf,kBAAkB;SACnB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAS,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG,CAAC,QAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5B,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACzB,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1B,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1B,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9B,CAAC,qBAAqB,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;KAC/C;IACD,IAAI,EAAE;QACJ,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;QAC5C,CAAC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;QACjD,CAAC,8BAA8B,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC/C,CAAC,2BAA2B,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC5C,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC;QACvD,CAAC,qBAAqB,EAAE,GAAG,EAAE,EAAE,CAAC;QAChC,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,UAAU,EAAE,GAAG,CAAC,SAAW,CAAC,EAAE,QAAQ,CAAC;QACxC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1D,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;QACnC,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;QAC1C,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;KAC1B;CACF,CAAC;AACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAY,CAAC;AAC9C,MAAM,SAAS,GAAG;IAChB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;CACN,CAAC;AAKX,SAAS,OAAO,CAAC,KAAa,EAAE,KAAsB;IACpD,MAAM,IAAI,2BAA2B,CACnC,KAAK,EACL,KAAK,EACL,uHAAuH,CACxH,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAqB;IACpC,MAAM,GAAG,GAAG,EAAc,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAG7B,CAAC;QACF,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAE,CAAC;YAChC,OAAO,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,GAAG,GAAG,EAAc,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM;QACxB,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAC,MAAgB,EAAE,IAAc,EAAE,MAAc;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM;QACxB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAE,CAAC;YACpC,IAAI,IAAY,CAAC;YACjB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,KAAK;oBACR,IAAI,GAAG,OAAO,CACZ,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAC9C,IAAI,CAAC,GAAG,CACT,CAAC;oBACF,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,GAAG,OAAO,CACZ,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,EAAE,iBAAiB,CAAC,EACvD,iBAAiB,CAClB,CAAC;oBACF,MAAM;gBACR,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;oBACjC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC;oBACxB,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;wBAChC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG;4BACtC,OAAO,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;oBACvC,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO;oBACV,IAAI,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC9D,MAAM;gBACR;oBACE,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YACnD,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC7B,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAAe,EAAE,MAAc,EAAE,MAAe;IACrE,IAAI,MAAM,IAAI,EAAE;QAAE,OAAO;IACzB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM;QACtC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC;YAClC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM;gBACzB,CAAC,CAAC,KAAK,GAAG,MAAM;gBAChB,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACjD,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,GAAa;IAC/B,MAAM,KAAK,GAAG,EAA4C,CAAC;IAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,AAAD,EAAG,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,KAAK,QAAQ;oBAChB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,KAAK,KAAK,QAAQ;wBAClB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBACf,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QAC5D,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;IAC5E,OAAO,KAAkC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAiC;IAEjC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAClD,IAAI,QAA4B,CAAC;IACjC,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3C,QAAQ,KAAK,UAAU,CAAC,oBAAoB,CAAC;QAC7C,IAAI,UAAU,CAAC,oBAAoB,KAAK,QAAQ;YAC9C,OAAO,CAAC,0BAA0B,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACvE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;IACnD,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE;QAC5B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAChC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CACvD,CAAC;IACF,MAAM,MAAM,GAAsC;QAChD,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;KACV,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,UAAsB,EAAE,MAAc,EAAE,EAAE;QAC3D,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;QACtB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;QACvB,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO;YAAE,OAAO,CAAC,cAAc,GAAG,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,IAAI,KAAqC,CAAC;IAC1C,IAAI,KAAe,CAAC;IACpB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,WAAW,CAAC;QACpB,KAAK,GAAG,QAAQ,EAAE,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAA4B;YAC9D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,oBAAoB,KAAK,QAAQ;YAAE,KAAK,GAAG,QAAQ,CAAC;aACzD,CAAC;YACJ,KAAK,GAAG,gBAAgB,CAAC;YACzB,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACnB,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAA4B;oBAC9D,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACnB,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC;oBACnC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAChC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChC,CAAC;gBACD,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACzC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACjD,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,IAAI;YAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACtD,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACjC,CAAC;IACpC,OAAO,sBAAsB,CAC3B,uBAAuB,CAAC;QACtB,KAAK;QACL,oBAAoB,EAAE,QAAQ;QAC9B,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,UAAU;QACV,WAAW,EAAE,mBAAmB,CAAC;YAC/B,UAAU,CAAC,OAAO;YAClB,UAAU,CAAC,MAAM;YACjB,UAAU,CAAC,KAAK;YAChB,UAAU,CAAC,MAAM;YACjB,UAAU,CAAC,KAAK;YAChB,UAAU,CAAC,OAAO;YAClB,UAAU,CAAC,SAAS;YACpB,UAAU,CAAC,KAAK;SACjB,CAAC;QACF,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;KACzB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,KAAe,EACf,KAAkC,EAClC,MAAkD;IAElD,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC;QACnC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAG,GAAG,QAAQ,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,aAAc,GAAG,QAAQ,CAAC;QACjD,UAAU,IAAI,IAAI,CAAC;QACnB,YAAY,IAAI,MAAM,CAAC,UAAW,GAAG,IAAI,CAAC;QAC1C,aAAa,IAAI,OAAO,CAAC;QACzB,kBAAkB,IAAI,MAAM,CAAC,gBAAiB,GAAG,OAAO,CAAC;IAC3D,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC;IAC7E,KAAK,CAAC,MAAM,CAAC,gBAAgB;QAC3B,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,GAAG,aAAa,CAAC;AACnE,CAAC"}
|
package/dist/fleets/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { deriveFleetWarpLaneEstimate, type FleetWarpLaneEstimate, type FleetWarp
|
|
|
4
4
|
export { deriveFleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimateInput, } from './coordinate-warp-estimate.js';
|
|
5
5
|
export { deriveFleetSubwarpEstimate, type FleetSubwarpEstimate, type FleetSubwarpEstimateInput, } from './subwarp-estimate.js';
|
|
6
6
|
export { deriveFleetMovementCooldown, type FleetMovementCooldownInput, } from './cooldown.js';
|
|
7
|
+
export { deriveFleetCompositionStats, type FleetCompositionStats, type FleetCompositionStatsInput, } from './composition-stats.js';
|
|
7
8
|
export { deriveFleetTravelProfile, type FleetTravelProfile, type FleetTravelProfileInput, } from './travel-profile.js';
|
|
8
9
|
import { SageSdkError, type Address, type DiscoveryRequest, type EntityRef, type ReadOptions, type SageContext, type SageSubscription, type SubscriptionDiagnosticEvent, type SubscriptionOptions } from '../client/index.js';
|
|
9
10
|
import { deriveFleetTimers, interpolateSubwarpPosition, type ResolvedFleetAccountData } from '../internal/fleet.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
|
package/dist/fleets/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { deriveFleetWarpLaneEstimate, } from './warp-lane-estimate.js';
|
|
|
4
4
|
export { deriveFleetCoordinateWarpEstimate, } from './coordinate-warp-estimate.js';
|
|
5
5
|
export { deriveFleetSubwarpEstimate, } from './subwarp-estimate.js';
|
|
6
6
|
export { deriveFleetMovementCooldown, } from './cooldown.js';
|
|
7
|
+
export { deriveFleetCompositionStats, } from './composition-stats.js';
|
|
7
8
|
export { deriveFleetTravelProfile, } from './travel-profile.js';
|
|
8
9
|
import { AccountDecodeError, AccountNotFoundError, ProviderError, SageSdkError, entityRef, } from '../client/index.js';
|
|
9
10
|
import { assertCanonicalFleetAddress, discoverFleetAccounts, discoverFleetAccountsForGame, fleetAccountDefinition, } from '../internal/c4/fleet.js';
|
package/dist/fleets/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleets/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-points.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-points.ts"],"names":[],"mappings":"AAIA,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAKtE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Fleet points each ship class uses, by size-class ordinal. Verified against
|
|
2
|
+
* the program's behaviour; a Titan uses 128, not its 81-point combat size. */
|
|
3
|
+
const FLEET_CAPACITY_POINTS = [1, 4, 9, 16, 25, 36, 49, 128];
|
|
4
|
+
/** Fleet points a set of per-class counts uses. */
|
|
5
|
+
export function fleetCapacityPoints(classes) {
|
|
6
|
+
return classes.reduce((total, count, index) => total + count * FLEET_CAPACITY_POINTS[index], 0);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=fleet-points.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-points.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-points.ts"],"names":[],"mappings":"AAAA;8EAC8E;AAC9E,MAAM,qBAAqB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAU,CAAC;AAEtE,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAAC,OAA0B;IAC5D,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAE,EACtE,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { type SizeClass } from '@staratlas/dev-sage';
|
|
|
3
3
|
import type { RawAccount } from '../../client/contracts.js';
|
|
4
4
|
import type { FleetShipCountsData } from './fleet.js';
|
|
5
5
|
import type { FleetShipAssemblyIntent, FleetShipAssemblyAccounts } from '../planning/fleet-ship-assembly.js';
|
|
6
|
+
export { fleetCapacityPoints } from './fleet-points.js';
|
|
6
7
|
/** At most one Titan, and at most two Commanders and Titans together. */
|
|
7
8
|
export declare const MAX_TITANS_PER_FLEET = 1;
|
|
8
9
|
export declare const MAX_COMMANDERS_AND_TITANS_PER_FLEET = 2;
|
|
@@ -13,8 +14,6 @@ export declare function shipSizeRank(size: (typeof SIZE_ORDER)[number]): number;
|
|
|
13
14
|
export declare function shipSizeName(sizeClass: SizeClass): string;
|
|
14
15
|
/** Per-class ship counts with the selected ships added. */
|
|
15
16
|
export declare function prospectiveShipCounts(counts: FleetShipCountsData, sizeClass: SizeClass, amount: number): readonly number[];
|
|
16
|
-
/** Fleet points a set of per-class counts uses. */
|
|
17
|
-
export declare function fleetCapacityPoints(classes: readonly number[]): number;
|
|
18
17
|
/** Sizes the complete already-validated pinned Fleet encoding, preserving every variable field and zero-valued map entry. */
|
|
19
18
|
export declare function fleetShipAssemblySize(raw: RawAccount, shipId: number, amount: bigint): number;
|
|
20
19
|
/** Bytes the Starbase Player grows when assembly re-tags hulls of other
|
|
@@ -23,5 +22,4 @@ export declare function fleetShipAssemblySize(raw: RawAccount, shipId: number, a
|
|
|
23
22
|
export declare function starbasePlayerEscrowGrowth(raw: RawAccount, shipId: number): number;
|
|
24
23
|
/** Audited singleton instruction with deployment-tested inert legacy indices. */
|
|
25
24
|
export declare function addShipToFleetInstruction(input: FleetShipAssemblyIntent, accounts: FleetShipAssemblyAccounts): Instruction;
|
|
26
|
-
export {};
|
|
27
25
|
//# sourceMappingURL=fleet-ship-assembly.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-ship-assembly.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAEL,KAAK,SAAS,EAMf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-ship-assembly.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAEL,KAAK,SAAS,EAMf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD,QAAA,MAAM,UAAU,+FASN,CAAC;AAEX,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAEtE;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,SAAS,MAAM,EAAE,CAanB;AAED,6HAA6H;AAC7H,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAYR;AACD;;sDAEsD;AACtD,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,MAAM,CAkBR;AACD,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,yBAAyB,GAClC,WAAW,CAqBb"}
|
|
@@ -2,9 +2,7 @@ import { AccountRole } from '@solana/kit';
|
|
|
2
2
|
import { SAGE_PROGRAM_ADDRESS, getAddShipToFleetInstructionDataEncoder, getFleetDecoder, getFleetEncoder, getStarbasePlayerDecoder, getStarbasePlayerEncoder, } from '@staratlas/dev-sage';
|
|
3
3
|
import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '@staratlas/dev-player-profile';
|
|
4
4
|
import { AccountDecodeError } from '../../client/errors.js';
|
|
5
|
-
|
|
6
|
-
* the program's behaviour; a Titan uses 128, not its 81-point combat size. */
|
|
7
|
-
const FLEET_CAPACITY_POINTS = [1, 4, 9, 16, 25, 36, 49, 128];
|
|
5
|
+
export { fleetCapacityPoints } from './fleet-points.js';
|
|
8
6
|
/** At most one Titan, and at most two Commanders and Titans together. */
|
|
9
7
|
export const MAX_TITANS_PER_FLEET = 1;
|
|
10
8
|
export const MAX_COMMANDERS_AND_TITANS_PER_FLEET = 2;
|
|
@@ -41,10 +39,6 @@ export function prospectiveShipCounts(counts, sizeClass, amount) {
|
|
|
41
39
|
classes[sizeClass] = classes[sizeClass] + amount;
|
|
42
40
|
return classes;
|
|
43
41
|
}
|
|
44
|
-
/** Fleet points a set of per-class counts uses. */
|
|
45
|
-
export function fleetCapacityPoints(classes) {
|
|
46
|
-
return classes.reduce((total, count, index) => total + count * FLEET_CAPACITY_POINTS[index], 0);
|
|
47
|
-
}
|
|
48
42
|
/** Sizes the complete already-validated pinned Fleet encoding, preserving every variable field and zero-valued map entry. */
|
|
49
43
|
export function fleetShipAssemblySize(raw, shipId, amount) {
|
|
50
44
|
const fleet = getFleetDecoder().decode(raw.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-ship-assembly.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,oBAAoB,EAEpB,uCAAuC,EACvC,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAO5D
|
|
1
|
+
{"version":3,"file":"fleet-ship-assembly.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED