fleethub-core 1.11.7 → 1.11.8
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/node/fleethub_core.d.ts +638 -636
- package/node/fleethub_core.js +65 -65
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +70 -70
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +638 -636
- package/pkg/fleethub_core_bg.js +67 -67
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +70 -70
package/node/fleethub_core.d.ts
CHANGED
|
@@ -1,93 +1,157 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
|
-
/**
|
|
4
|
-
*/
|
|
5
|
-
export function set_panic_hook(): void;
|
|
6
3
|
/**
|
|
7
4
|
* @param {ShipConditions} value
|
|
8
5
|
* @returns {ShipConditions}
|
|
9
6
|
*/
|
|
10
7
|
export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
armor_penetration: number;
|
|
18
|
-
remaining_ammo_mod: number;
|
|
8
|
+
/**
|
|
9
|
+
*/
|
|
10
|
+
export function set_panic_hook(): void;
|
|
11
|
+
export interface MoveShipPayload {
|
|
12
|
+
current: [string, string, ShipKey];
|
|
13
|
+
target: [string | null, string, ShipKey];
|
|
19
14
|
}
|
|
20
15
|
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
16
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
17
|
+
|
|
18
|
+
export type GearVecInput = GearInput[];
|
|
19
|
+
|
|
20
|
+
export interface GearInput {
|
|
21
|
+
gear_id: number;
|
|
22
|
+
types: GearTypeIdArray;
|
|
23
|
+
firepower: number;
|
|
24
|
+
torpedo: number;
|
|
25
|
+
anti_air: number;
|
|
26
|
+
armor: number;
|
|
27
|
+
evasion: number;
|
|
28
|
+
asw: number;
|
|
29
|
+
los: number;
|
|
30
|
+
bombing: number;
|
|
31
|
+
accuracy: number;
|
|
32
|
+
range: number;
|
|
33
|
+
radius: number;
|
|
34
|
+
stars: number;
|
|
35
|
+
ace: number;
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
export interface
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
export interface ShipInput {
|
|
39
|
+
ship_id: number;
|
|
40
|
+
ctype: number;
|
|
41
|
+
stype: number;
|
|
42
|
+
yomi: string;
|
|
40
43
|
}
|
|
41
44
|
|
|
42
|
-
export interface
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
export interface EBonuses {
|
|
46
|
+
firepower: number;
|
|
47
|
+
torpedo: number;
|
|
48
|
+
anti_air: number;
|
|
49
|
+
armor: number;
|
|
50
|
+
evasion: number;
|
|
51
|
+
asw: number;
|
|
52
|
+
los: number;
|
|
53
|
+
bombing: number;
|
|
54
|
+
accuracy: number;
|
|
55
|
+
range: number;
|
|
45
56
|
}
|
|
46
57
|
|
|
47
|
-
export interface
|
|
58
|
+
export interface CompAntiAirAnalysis {
|
|
59
|
+
fleet_adjusted_anti_air: number;
|
|
60
|
+
ships: AntiAirReport[];
|
|
61
|
+
anti_air_cutin_chance: [number, number][];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface AntiAirReport {
|
|
48
65
|
ship_id: number;
|
|
66
|
+
role: Role;
|
|
49
67
|
index: number;
|
|
50
|
-
|
|
51
|
-
|
|
68
|
+
adjusted_anti_air: number | null;
|
|
69
|
+
proportional_shotdown_rate: number | null;
|
|
70
|
+
fixed_shotdown_number: number | null;
|
|
71
|
+
guaranteed: number | null;
|
|
72
|
+
anti_air_cutin_chance: [number, number][];
|
|
73
|
+
anti_air_propellant_barrage_chance: number | null;
|
|
52
74
|
}
|
|
53
75
|
|
|
54
|
-
export interface
|
|
55
|
-
|
|
56
|
-
|
|
76
|
+
export interface ActionReport<T> {
|
|
77
|
+
data: Record<string, AttackReport<T>>;
|
|
78
|
+
damage_state_density: Histogram<DamageState, number> | null;
|
|
79
|
+
is_active: boolean;
|
|
57
80
|
}
|
|
58
81
|
|
|
59
|
-
export type
|
|
82
|
+
export type AswAttackType = "DepthCharge" | "Aerial";
|
|
60
83
|
|
|
61
|
-
export type
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
| "
|
|
69
|
-
| "
|
|
70
|
-
| "
|
|
71
|
-
| "
|
|
72
|
-
| "
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
| "
|
|
76
|
-
| "
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
| "
|
|
80
|
-
| "
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
84
|
+
export type ShellingType = "Normal" | "Aerial";
|
|
85
|
+
|
|
86
|
+
export type NightAttackType = "Normal" | "Swordfish" | "Aerial";
|
|
87
|
+
|
|
88
|
+
export type SupportShellingType = ShellingType;
|
|
89
|
+
|
|
90
|
+
export type AttackType =
|
|
91
|
+
| { t: "Asw"; c: AswAttackType }
|
|
92
|
+
| { t: "Shelling"; c: ShellingType }
|
|
93
|
+
| { t: "Night"; c: NightAttackType }
|
|
94
|
+
| { t: "Torpedo" }
|
|
95
|
+
| { t: "SupportShelling"; c: SupportShellingType };
|
|
96
|
+
|
|
97
|
+
export type DayPhaseAttackType =
|
|
98
|
+
| { t: "Shelling"; c: ShellingType }
|
|
99
|
+
| { t: "Asw"; c: AswAttackType };
|
|
100
|
+
|
|
101
|
+
export type NightPhaseAttackType =
|
|
102
|
+
| { t: "Night"; c: NightAttackType }
|
|
103
|
+
| { t: "Asw"; c: AswAttackType };
|
|
104
|
+
|
|
105
|
+
export type TorpedoAttackType = null;
|
|
106
|
+
|
|
107
|
+
export interface ShipMeta {
|
|
108
|
+
id: string;
|
|
109
|
+
ship_id: number;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export interface FleetMeta {
|
|
113
|
+
id: string;
|
|
114
|
+
len: number;
|
|
115
|
+
ships: [string, ShipMeta | null][];
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface CompMeta {
|
|
119
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export type Role = "Main" | "Escort";
|
|
123
|
+
|
|
124
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
125
|
+
formation?: Formation;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export interface NodeAttackAnalyzerConfig {
|
|
129
|
+
air_state?: AirState;
|
|
130
|
+
engagement?: Engagement;
|
|
131
|
+
node_state?: NodeState;
|
|
132
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
133
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export interface NodeAttackAnalysis {
|
|
137
|
+
left: AttackAnalysis;
|
|
138
|
+
right: AttackAnalysis;
|
|
139
|
+
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
140
|
+
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface DamageReport {
|
|
144
|
+
miss_damage_min: number;
|
|
145
|
+
miss_damage_max: number;
|
|
146
|
+
normal_damage_min: number;
|
|
147
|
+
normal_damage_max: number;
|
|
148
|
+
critical_damage_min: number;
|
|
149
|
+
critical_damage_max: number;
|
|
150
|
+
normal_scratch_rate: number;
|
|
151
|
+
critical_scratch_rate: number;
|
|
152
|
+
damage_density: Histogram<number, number>;
|
|
153
|
+
damage_state_density: Histogram<DamageState, number>;
|
|
154
|
+
}
|
|
91
155
|
|
|
92
156
|
export type GearType =
|
|
93
157
|
| "Unknown"
|
|
@@ -165,92 +229,89 @@ export type GearCategory =
|
|
|
165
229
|
| "LandBased"
|
|
166
230
|
| "Misc";
|
|
167
231
|
|
|
168
|
-
export interface
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
a1?: AirSquadronState;
|
|
175
|
-
a2?: AirSquadronState;
|
|
176
|
-
a3?: AirSquadronState;
|
|
177
|
-
hq_level?: number;
|
|
178
|
-
org_type?: OrgType;
|
|
179
|
-
sortie?: FleetKey;
|
|
180
|
-
route_sup?: FleetKey;
|
|
181
|
-
boss_sup?: FleetKey;
|
|
232
|
+
export interface SlotSizeVecState {
|
|
233
|
+
ss1?: number;
|
|
234
|
+
ss2?: number;
|
|
235
|
+
ss3?: number;
|
|
236
|
+
ss4?: number;
|
|
237
|
+
ss5?: number;
|
|
182
238
|
}
|
|
183
239
|
|
|
184
|
-
export
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
240
|
+
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
241
|
+
id?: string;
|
|
242
|
+
ship_id: number;
|
|
243
|
+
level?: number;
|
|
244
|
+
current_hp?: number;
|
|
245
|
+
morale?: number;
|
|
246
|
+
ammo?: number;
|
|
247
|
+
fuel?: number;
|
|
248
|
+
max_hp_mod?: number;
|
|
249
|
+
firepower_mod?: number;
|
|
250
|
+
torpedo_mod?: number;
|
|
251
|
+
armor_mod?: number;
|
|
252
|
+
anti_air_mod?: number;
|
|
253
|
+
evasion_mod?: number;
|
|
254
|
+
asw_mod?: number;
|
|
255
|
+
los_mod?: number;
|
|
256
|
+
luck_mod?: number;
|
|
257
|
+
day_gunfit_accuracy?: number;
|
|
258
|
+
night_gunfit_accuracy?: number;
|
|
259
|
+
custom_power_mods?: CustomPowerModifiers;
|
|
190
260
|
}
|
|
191
261
|
|
|
192
|
-
export
|
|
193
|
-
ship: CompiledEvaler;
|
|
194
|
-
keys?: string[];
|
|
195
|
-
include?: string;
|
|
196
|
-
exclude?: string;
|
|
197
|
-
}
|
|
262
|
+
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
198
263
|
|
|
199
|
-
export
|
|
200
|
-
equip_stype: EquipStype[];
|
|
201
|
-
equip_exslot: number[];
|
|
202
|
-
equip_ship: MstEquipShip[];
|
|
203
|
-
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
204
|
-
rules: EquippabilityRule[];
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
export interface MstEquipExslotShip {
|
|
208
|
-
api_ctypes: Record<number, number> | null;
|
|
209
|
-
api_ship_ids: Record<number, number> | null;
|
|
210
|
-
api_stypes: Record<number, number> | null;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
export interface MstEquipShip {
|
|
214
|
-
api_ship_id: number;
|
|
215
|
-
api_equip_type: number[];
|
|
216
|
-
}
|
|
264
|
+
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
217
265
|
|
|
218
|
-
export
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
266
|
+
export type DayCutin =
|
|
267
|
+
| "Zuiun"
|
|
268
|
+
| "AirSea"
|
|
269
|
+
| "MainMain"
|
|
270
|
+
| "MainAp"
|
|
271
|
+
| "MainRadar"
|
|
272
|
+
| "MainSec"
|
|
273
|
+
| "DoubleAttack"
|
|
274
|
+
| "FBA"
|
|
275
|
+
| "BBA"
|
|
276
|
+
| "BA";
|
|
222
277
|
|
|
223
|
-
export
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
278
|
+
export type NightCutin =
|
|
279
|
+
| "MainTorpRadar"
|
|
280
|
+
| "TorpLookoutRadar"
|
|
281
|
+
| "TorpTsloTorp"
|
|
282
|
+
| "TorpTsloDrum"
|
|
283
|
+
| "NightZuiun2Radar"
|
|
284
|
+
| "NightZuiun2"
|
|
285
|
+
| "NightZuiunRadar"
|
|
286
|
+
| "NightZuiun"
|
|
287
|
+
| "DoubleAttack"
|
|
288
|
+
| "TorpTorpMain"
|
|
289
|
+
| "TorpTorpTorp"
|
|
290
|
+
| "MainMainSec"
|
|
291
|
+
| "MainMainMain"
|
|
292
|
+
| "SubTorpTorp"
|
|
293
|
+
| "SubRadarTorp"
|
|
294
|
+
| "Cvci1_25"
|
|
295
|
+
| "Cvci1_20"
|
|
296
|
+
| "Cvci1_18"
|
|
297
|
+
| "Photobomber";
|
|
232
298
|
|
|
233
|
-
export
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
299
|
+
export type FleetCutin =
|
|
300
|
+
| "NelsonTouch"
|
|
301
|
+
| "NagatoClassCutin"
|
|
302
|
+
| "ColoradoClassCutin"
|
|
303
|
+
| "KongouClassCutin"
|
|
304
|
+
| "Yamato2ShipCutin"
|
|
305
|
+
| "Yamato3ShipCutin";
|
|
237
306
|
|
|
238
|
-
export
|
|
239
|
-
day_cutin: CompDayCutinAnalysis;
|
|
240
|
-
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
241
|
-
}
|
|
307
|
+
export type DayCutinLike = DayCutin | FleetCutin;
|
|
242
308
|
|
|
243
|
-
export
|
|
244
|
-
day: CompDayAnalysis;
|
|
245
|
-
night: CompNightAnalysis;
|
|
246
|
-
contact: ContactAnalysis;
|
|
247
|
-
anti_air: CompAntiAirAnalysis;
|
|
248
|
-
}
|
|
309
|
+
export type NightCutinLike = NightCutin | FleetCutin;
|
|
249
310
|
|
|
250
|
-
export interface
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
311
|
+
export interface SupportShellingSimulatorParams {
|
|
312
|
+
attacker_formation?: Formation;
|
|
313
|
+
target_formation?: Formation;
|
|
314
|
+
engagement: Engagement;
|
|
254
315
|
}
|
|
255
316
|
|
|
256
317
|
export interface MasterShip {
|
|
@@ -287,93 +348,6 @@ export interface MasterShip {
|
|
|
287
348
|
|
|
288
349
|
export type StatInterval = [number | null, number | null];
|
|
289
350
|
|
|
290
|
-
export interface ShellingStyle {
|
|
291
|
-
tag: "ShellingStyle";
|
|
292
|
-
attack_type: ShellingType;
|
|
293
|
-
cutin: DayCutinLike | null;
|
|
294
|
-
power_mod: number;
|
|
295
|
-
accuracy_mod: number;
|
|
296
|
-
hits: number;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
export interface NightAttackStyle {
|
|
300
|
-
tag: "NightAttackStyle";
|
|
301
|
-
attack_type: NightAttackType;
|
|
302
|
-
cutin: NightCutinLike | null;
|
|
303
|
-
power_mod: number;
|
|
304
|
-
accuracy_mod: number;
|
|
305
|
-
hits: number;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
export interface AswAttackStyle {
|
|
309
|
-
tag: "AswAttackStyle";
|
|
310
|
-
attack_type: AswAttackType;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
export interface TorpedoAttackStyle {
|
|
314
|
-
tag: "TorpedoAttackStyle";
|
|
315
|
-
attack_type: TorpedoAttackType;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
319
|
-
|
|
320
|
-
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
321
|
-
|
|
322
|
-
export interface SupportShellingStyle {
|
|
323
|
-
tag: "SupportShellingStyle";
|
|
324
|
-
attack_type: SupportShellingType;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
export type OrgType =
|
|
328
|
-
| "Single"
|
|
329
|
-
| "CarrierTaskForce"
|
|
330
|
-
| "SurfaceTaskForce"
|
|
331
|
-
| "TransportEscort"
|
|
332
|
-
| "EnemySingle"
|
|
333
|
-
| "EnemyCombined";
|
|
334
|
-
|
|
335
|
-
export type GearVecInput = GearInput[];
|
|
336
|
-
|
|
337
|
-
export interface GearInput {
|
|
338
|
-
gear_id: number;
|
|
339
|
-
types: GearTypeIdArray;
|
|
340
|
-
firepower: number;
|
|
341
|
-
torpedo: number;
|
|
342
|
-
anti_air: number;
|
|
343
|
-
armor: number;
|
|
344
|
-
evasion: number;
|
|
345
|
-
asw: number;
|
|
346
|
-
los: number;
|
|
347
|
-
bombing: number;
|
|
348
|
-
accuracy: number;
|
|
349
|
-
range: number;
|
|
350
|
-
radius: number;
|
|
351
|
-
stars: number;
|
|
352
|
-
ace: number;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
export interface ShipInput {
|
|
356
|
-
ship_id: number;
|
|
357
|
-
ctype: number;
|
|
358
|
-
stype: number;
|
|
359
|
-
yomi: string;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
export interface EBonuses {
|
|
363
|
-
firepower: number;
|
|
364
|
-
torpedo: number;
|
|
365
|
-
anti_air: number;
|
|
366
|
-
armor: number;
|
|
367
|
-
evasion: number;
|
|
368
|
-
asw: number;
|
|
369
|
-
los: number;
|
|
370
|
-
bombing: number;
|
|
371
|
-
accuracy: number;
|
|
372
|
-
range: number;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
376
|
-
|
|
377
351
|
export interface MasterGear {
|
|
378
352
|
gear_id: number;
|
|
379
353
|
name: string;
|
|
@@ -400,119 +374,54 @@ export interface MasterGear {
|
|
|
400
374
|
historical_aircraft_group?: number;
|
|
401
375
|
}
|
|
402
376
|
|
|
403
|
-
export interface
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
export interface NodeAttackAnalyzerConfig {
|
|
408
|
-
air_state?: AirState;
|
|
409
|
-
engagement?: Engagement;
|
|
410
|
-
node_state?: NodeState;
|
|
411
|
-
left?: NodeAttackAnalyzerShipConfig;
|
|
412
|
-
right?: NodeAttackAnalyzerShipConfig;
|
|
377
|
+
export interface HitRate {
|
|
378
|
+
normal: number;
|
|
379
|
+
critical: number;
|
|
380
|
+
total: number;
|
|
413
381
|
}
|
|
414
382
|
|
|
415
|
-
export interface
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
383
|
+
export interface HitRateParams {
|
|
384
|
+
accuracy_term: number;
|
|
385
|
+
evasion_term: number;
|
|
386
|
+
target_morale_mod: number;
|
|
387
|
+
critical_rate_constant: number;
|
|
388
|
+
critical_percentage_bonus: number;
|
|
389
|
+
hit_percentage_bonus: number;
|
|
420
390
|
}
|
|
421
391
|
|
|
422
|
-
export interface
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
main_fleet_los_mod: number | null;
|
|
426
|
-
escort_fleet_los_mod: number | null;
|
|
427
|
-
ships: ShipDayCutinAnalysis[];
|
|
392
|
+
export interface ContactAnalysis {
|
|
393
|
+
single: DayContactChance[] | null;
|
|
394
|
+
combined: DayContactChance[] | null;
|
|
428
395
|
}
|
|
429
396
|
|
|
430
|
-
export interface
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
397
|
+
export interface DayContactChance {
|
|
398
|
+
air_state: AirState;
|
|
399
|
+
trigger_rate: number;
|
|
400
|
+
rank3: number;
|
|
401
|
+
rank2: number;
|
|
402
|
+
rank1: number;
|
|
403
|
+
total: number;
|
|
436
404
|
}
|
|
437
405
|
|
|
438
|
-
export interface
|
|
439
|
-
|
|
406
|
+
export interface AttackAnalysis {
|
|
407
|
+
attacker_is_player: boolean;
|
|
408
|
+
attacker_ship_id: number;
|
|
409
|
+
target_ship_id: number;
|
|
410
|
+
historical_params: HistoricalParams;
|
|
411
|
+
day: ActionReport<DayPhaseAttackStyle>;
|
|
412
|
+
night: ActionReport<NightPhaseAttackStyle>;
|
|
413
|
+
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
414
|
+
opening_asw: ActionReport<AswAttackStyle>;
|
|
415
|
+
support_shelling: ActionReport<SupportShellingStyle>;
|
|
440
416
|
}
|
|
441
417
|
|
|
442
|
-
export
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
night_conditions: NightFleetConditions;
|
|
450
|
-
}
|
|
451
|
-
|
|
452
|
-
export interface NightConditions {
|
|
453
|
-
player?: NightFleetConditions;
|
|
454
|
-
enemy?: NightFleetConditions;
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
export interface NightFleetConditions {
|
|
458
|
-
night_contact_rank?: ContactRank | null;
|
|
459
|
-
starshell_index?: number | null;
|
|
460
|
-
searchlight_index?: number | null;
|
|
461
|
-
activates_large_searchlight?: boolean;
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
export type DayCutin =
|
|
465
|
-
| "Zuiun"
|
|
466
|
-
| "AirSea"
|
|
467
|
-
| "MainMain"
|
|
468
|
-
| "MainAp"
|
|
469
|
-
| "MainRadar"
|
|
470
|
-
| "MainSec"
|
|
471
|
-
| "DoubleAttack"
|
|
472
|
-
| "FBA"
|
|
473
|
-
| "BBA"
|
|
474
|
-
| "BA";
|
|
475
|
-
|
|
476
|
-
export type NightCutin =
|
|
477
|
-
| "MainTorpRadar"
|
|
478
|
-
| "TorpLookoutRadar"
|
|
479
|
-
| "TorpTsloTorp"
|
|
480
|
-
| "TorpTsloDrum"
|
|
481
|
-
| "NightZuiun2Radar"
|
|
482
|
-
| "NightZuiun2"
|
|
483
|
-
| "NightZuiunRadar"
|
|
484
|
-
| "NightZuiun"
|
|
485
|
-
| "DoubleAttack"
|
|
486
|
-
| "TorpTorpMain"
|
|
487
|
-
| "TorpTorpTorp"
|
|
488
|
-
| "MainMainSec"
|
|
489
|
-
| "MainMainMain"
|
|
490
|
-
| "SubTorpTorp"
|
|
491
|
-
| "SubRadarTorp"
|
|
492
|
-
| "Cvci1_25"
|
|
493
|
-
| "Cvci1_20"
|
|
494
|
-
| "Cvci1_18"
|
|
495
|
-
| "Photobomber";
|
|
496
|
-
|
|
497
|
-
export type FleetCutin =
|
|
498
|
-
| "NelsonTouch"
|
|
499
|
-
| "NagatoClassCutin"
|
|
500
|
-
| "ColoradoClassCutin"
|
|
501
|
-
| "KongouClassCutin"
|
|
502
|
-
| "Yamato2ShipCutin"
|
|
503
|
-
| "Yamato3ShipCutin";
|
|
504
|
-
|
|
505
|
-
export type DayCutinLike = DayCutin | FleetCutin;
|
|
506
|
-
|
|
507
|
-
export type NightCutinLike = NightCutin | FleetCutin;
|
|
508
|
-
|
|
509
|
-
export type SingleFormation =
|
|
510
|
-
| "LineAhead"
|
|
511
|
-
| "DoubleLine"
|
|
512
|
-
| "Diamond"
|
|
513
|
-
| "Echelon"
|
|
514
|
-
| "LineAbreast"
|
|
515
|
-
| "Vanguard";
|
|
418
|
+
export type SingleFormation =
|
|
419
|
+
| "LineAhead"
|
|
420
|
+
| "DoubleLine"
|
|
421
|
+
| "Diamond"
|
|
422
|
+
| "Echelon"
|
|
423
|
+
| "LineAbreast"
|
|
424
|
+
| "Vanguard";
|
|
516
425
|
|
|
517
426
|
export type CombinedFormation =
|
|
518
427
|
| "Cruising1"
|
|
@@ -522,34 +431,64 @@ export type CombinedFormation =
|
|
|
522
431
|
|
|
523
432
|
export type Formation = SingleFormation | CombinedFormation;
|
|
524
433
|
|
|
525
|
-
export
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
| "NewSupplyDepot"
|
|
532
|
-
| "HarbourSummerPrincess"
|
|
533
|
-
| "PtImp"
|
|
534
|
-
| "BattleshipSummerPrincess"
|
|
535
|
-
| "HeavyCruiserSummerPrincess"
|
|
536
|
-
| "FrenchBattleshipPrincess"
|
|
537
|
-
| "AnchorageWaterDemonVacationMode"
|
|
538
|
-
| "DockPrincess";
|
|
434
|
+
export interface GearState {
|
|
435
|
+
id?: string;
|
|
436
|
+
gear_id: number;
|
|
437
|
+
exp?: number;
|
|
438
|
+
stars?: number;
|
|
439
|
+
}
|
|
539
440
|
|
|
540
|
-
export
|
|
441
|
+
export interface GearVecState {
|
|
442
|
+
g1?: GearState;
|
|
443
|
+
g2?: GearState;
|
|
444
|
+
g3?: GearState;
|
|
445
|
+
g4?: GearState;
|
|
446
|
+
g5?: GearState;
|
|
447
|
+
gx?: GearState;
|
|
448
|
+
}
|
|
541
449
|
|
|
542
|
-
export
|
|
543
|
-
|
|
544
|
-
|
|
450
|
+
export type NodeId = string;
|
|
451
|
+
|
|
452
|
+
export interface NodeState {
|
|
453
|
+
map?: number;
|
|
454
|
+
node?: NodeId;
|
|
455
|
+
phase?: number;
|
|
456
|
+
debuff?: boolean;
|
|
457
|
+
disable_historical_mod?: boolean;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
461
|
+
|
|
462
|
+
export interface MasterBattleDefinitions {
|
|
463
|
+
formation: NestedFormationDef[];
|
|
464
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
465
|
+
day_cutin: DayCutinDef[];
|
|
466
|
+
night_cutin: NightCutinDef[];
|
|
467
|
+
historical_bonuses?: HistoricalBonusDef[];
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
471
|
+
|
|
472
|
+
export interface BattleConditions {
|
|
473
|
+
org_type: OrgType;
|
|
474
|
+
role: Role;
|
|
475
|
+
ship_index: number;
|
|
476
|
+
fleet_len: number;
|
|
545
477
|
formation: Formation;
|
|
546
|
-
|
|
478
|
+
fleet_los_mod: number | null;
|
|
479
|
+
night_conditions: NightFleetConditions;
|
|
547
480
|
}
|
|
548
481
|
|
|
549
|
-
export interface
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
482
|
+
export interface NightConditions {
|
|
483
|
+
player?: NightFleetConditions;
|
|
484
|
+
enemy?: NightFleetConditions;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
export interface NightFleetConditions {
|
|
488
|
+
night_contact_rank?: ContactRank | null;
|
|
489
|
+
starshell_index?: number | null;
|
|
490
|
+
searchlight_index?: number | null;
|
|
491
|
+
activates_large_searchlight?: boolean;
|
|
553
492
|
}
|
|
554
493
|
|
|
555
494
|
export interface FormationCombatModifiersDef {
|
|
@@ -625,176 +564,150 @@ export interface BattleDefinitions {
|
|
|
625
564
|
historical_bonuses: HistoricalBonusDef[];
|
|
626
565
|
}
|
|
627
566
|
|
|
628
|
-
export
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
567
|
+
export type ShipAttr =
|
|
568
|
+
| "Unknown"
|
|
569
|
+
| "NightCarrier"
|
|
570
|
+
| "Installation"
|
|
571
|
+
| "RoyalNavy"
|
|
572
|
+
| "Kai2"
|
|
573
|
+
| "TurbineSpeedBonus"
|
|
574
|
+
| "NewModelBoilerSpeedBonus"
|
|
575
|
+
| "Pillbox"
|
|
576
|
+
| "IsolatedIsland"
|
|
577
|
+
| "HarbourSummerPrincess"
|
|
578
|
+
| "SupplyDepot"
|
|
579
|
+
| "NewSupplyDepot"
|
|
580
|
+
| "PtImp"
|
|
581
|
+
| "BattleshipSummerPrincess"
|
|
582
|
+
| "HeavyCruiserSummerPrincess"
|
|
583
|
+
| "AnchorageWaterDemonVacationMode"
|
|
584
|
+
| "FrenchBattleshipPrincess"
|
|
585
|
+
| "DockPrincess";
|
|
639
586
|
|
|
640
|
-
export
|
|
641
|
-
|
|
642
|
-
|
|
587
|
+
export type Side = "Player" | "Enemy";
|
|
588
|
+
|
|
589
|
+
export type Align = "Left" | "Right";
|
|
590
|
+
|
|
591
|
+
export type SlotSizeVec = (number | null)[];
|
|
592
|
+
|
|
593
|
+
export type SpecialEnemyType =
|
|
594
|
+
| "None"
|
|
595
|
+
| "SoftSkinned"
|
|
596
|
+
| "Pillbox"
|
|
597
|
+
| "IsolatedIsland"
|
|
598
|
+
| "SupplyDepot"
|
|
599
|
+
| "NewSupplyDepot"
|
|
600
|
+
| "HarbourSummerPrincess"
|
|
601
|
+
| "PtImp"
|
|
602
|
+
| "BattleshipSummerPrincess"
|
|
603
|
+
| "HeavyCruiserSummerPrincess"
|
|
604
|
+
| "FrenchBattleshipPrincess"
|
|
605
|
+
| "AnchorageWaterDemonVacationMode"
|
|
606
|
+
| "DockPrincess";
|
|
607
|
+
|
|
608
|
+
export type CompiledEvaler = string;
|
|
609
|
+
|
|
610
|
+
export interface SimulatorResult {
|
|
611
|
+
items: SimulatorResultItem[];
|
|
612
|
+
sunk_vec: [number, number, number][];
|
|
643
613
|
}
|
|
644
614
|
|
|
645
|
-
export interface
|
|
615
|
+
export interface SimulatorResultItem {
|
|
646
616
|
id: string;
|
|
647
|
-
|
|
648
|
-
|
|
617
|
+
fleet_type: FleetType;
|
|
618
|
+
index: number;
|
|
619
|
+
damage_state_map: Record<DamageState, number>;
|
|
649
620
|
}
|
|
650
621
|
|
|
651
|
-
export interface
|
|
652
|
-
|
|
622
|
+
export interface MasterData extends MasterBattleDefinitions {
|
|
623
|
+
created_at: number;
|
|
624
|
+
gears: MasterGear[];
|
|
625
|
+
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
626
|
+
ships: MasterShip[];
|
|
627
|
+
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
628
|
+
ibonuses: MasterIBonuses;
|
|
629
|
+
equippability: MasterEquippability;
|
|
653
630
|
}
|
|
654
631
|
|
|
655
|
-
export
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
map?: number;
|
|
659
|
-
node?: NodeId;
|
|
660
|
-
phase?: number;
|
|
661
|
-
debuff?: boolean;
|
|
662
|
-
disable_historical_mod?: boolean;
|
|
632
|
+
export interface NationalityDef {
|
|
633
|
+
id: number;
|
|
634
|
+
ctypes: number[];
|
|
663
635
|
}
|
|
664
636
|
|
|
665
|
-
export interface
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
ss4?: number;
|
|
670
|
-
ss5?: number;
|
|
637
|
+
export interface MasterAttrRule<T> {
|
|
638
|
+
tag: T;
|
|
639
|
+
name: string;
|
|
640
|
+
expr: CompiledEvaler;
|
|
671
641
|
}
|
|
672
642
|
|
|
673
|
-
export
|
|
643
|
+
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
644
|
+
|
|
645
|
+
export interface AirSquadronState extends GearVecState, SlotSizeVecState {
|
|
674
646
|
id?: string;
|
|
675
|
-
|
|
676
|
-
level?: number;
|
|
677
|
-
current_hp?: number;
|
|
678
|
-
morale?: number;
|
|
679
|
-
ammo?: number;
|
|
680
|
-
fuel?: number;
|
|
681
|
-
max_hp_mod?: number;
|
|
682
|
-
firepower_mod?: number;
|
|
683
|
-
torpedo_mod?: number;
|
|
684
|
-
armor_mod?: number;
|
|
685
|
-
anti_air_mod?: number;
|
|
686
|
-
evasion_mod?: number;
|
|
687
|
-
asw_mod?: number;
|
|
688
|
-
los_mod?: number;
|
|
689
|
-
luck_mod?: number;
|
|
690
|
-
day_gunfit_accuracy?: number;
|
|
691
|
-
night_gunfit_accuracy?: number;
|
|
692
|
-
custom_power_mods?: CustomPowerModifiers;
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
696
|
-
|
|
697
|
-
export type SlotSizeVec = (number | null)[];
|
|
698
|
-
|
|
699
|
-
export interface MoveShipPayload {
|
|
700
|
-
current: [string, string, ShipKey];
|
|
701
|
-
target: [string | null, string, ShipKey];
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
export interface MasterBattleDefinitions {
|
|
705
|
-
formation: NestedFormationDef[];
|
|
706
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
707
|
-
day_cutin: DayCutinDef[];
|
|
708
|
-
night_cutin: NightCutinDef[];
|
|
709
|
-
historical_bonuses?: HistoricalBonusDef[];
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
export interface HitRate {
|
|
713
|
-
normal: number;
|
|
714
|
-
critical: number;
|
|
715
|
-
total: number;
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
export interface HitRateParams {
|
|
719
|
-
accuracy_term: number;
|
|
720
|
-
evasion_term: number;
|
|
721
|
-
target_morale_mod: number;
|
|
722
|
-
critical_rate_constant: number;
|
|
723
|
-
critical_percentage_bonus: number;
|
|
724
|
-
hit_percentage_bonus: number;
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
export interface DamageReport {
|
|
728
|
-
miss_damage_min: number;
|
|
729
|
-
miss_damage_max: number;
|
|
730
|
-
normal_damage_min: number;
|
|
731
|
-
normal_damage_max: number;
|
|
732
|
-
critical_damage_min: number;
|
|
733
|
-
critical_damage_max: number;
|
|
734
|
-
normal_scratch_rate: number;
|
|
735
|
-
critical_scratch_rate: number;
|
|
736
|
-
damage_density: Histogram<number, number>;
|
|
737
|
-
damage_state_density: Histogram<DamageState, number>;
|
|
647
|
+
mode?: AirSquadronMode;
|
|
738
648
|
}
|
|
739
649
|
|
|
740
|
-
export
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
650
|
+
export type AirState =
|
|
651
|
+
| "AirSupremacy"
|
|
652
|
+
| "AirSuperiority"
|
|
653
|
+
| "AirParity"
|
|
654
|
+
| "AirDenial"
|
|
655
|
+
| "AirIncapability";
|
|
744
656
|
|
|
745
|
-
export
|
|
746
|
-
air_state: AirState;
|
|
747
|
-
trigger_rate: number;
|
|
748
|
-
rank3: number;
|
|
749
|
-
rank2: number;
|
|
750
|
-
rank1: number;
|
|
751
|
-
total: number;
|
|
752
|
-
}
|
|
657
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
753
658
|
|
|
754
|
-
export
|
|
755
|
-
attacker_is_player: boolean;
|
|
756
|
-
attacker_ship_id: number;
|
|
757
|
-
target_ship_id: number;
|
|
758
|
-
historical_params: HistoricalParams;
|
|
759
|
-
day: ActionReport<DayPhaseAttackStyle>;
|
|
760
|
-
night: ActionReport<NightPhaseAttackStyle>;
|
|
761
|
-
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
762
|
-
opening_asw: ActionReport<AswAttackStyle>;
|
|
763
|
-
support_shelling: ActionReport<SupportShellingStyle>;
|
|
764
|
-
}
|
|
659
|
+
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
765
660
|
|
|
766
|
-
export
|
|
767
|
-
fleet_adjusted_anti_air: number;
|
|
768
|
-
ships: AntiAirReport[];
|
|
769
|
-
anti_air_cutin_chance: [number, number][];
|
|
770
|
-
}
|
|
661
|
+
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
771
662
|
|
|
772
|
-
export
|
|
773
|
-
ship_id: number;
|
|
774
|
-
role: Role;
|
|
775
|
-
index: number;
|
|
776
|
-
adjusted_anti_air: number | null;
|
|
777
|
-
proportional_shotdown_rate: number | null;
|
|
778
|
-
fixed_shotdown_number: number | null;
|
|
779
|
-
guaranteed: number | null;
|
|
780
|
-
anti_air_cutin_chance: [number, number][];
|
|
781
|
-
anti_air_propellant_barrage_chance: number | null;
|
|
782
|
-
}
|
|
663
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
783
664
|
|
|
784
|
-
export interface
|
|
665
|
+
export interface FleetState {
|
|
785
666
|
id?: string;
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
667
|
+
len?: number;
|
|
668
|
+
s1?: ShipState;
|
|
669
|
+
s2?: ShipState;
|
|
670
|
+
s3?: ShipState;
|
|
671
|
+
s4?: ShipState;
|
|
672
|
+
s5?: ShipState;
|
|
673
|
+
s6?: ShipState;
|
|
674
|
+
s7?: ShipState;
|
|
789
675
|
}
|
|
790
676
|
|
|
791
|
-
export
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
677
|
+
export type GearAttr =
|
|
678
|
+
| "Unknown"
|
|
679
|
+
| "HighAngleMount"
|
|
680
|
+
| "NightFighter"
|
|
681
|
+
| "NightAttacker"
|
|
682
|
+
| "HeavyBomber"
|
|
683
|
+
| "NightRecon"
|
|
684
|
+
| "MainGun"
|
|
685
|
+
| "Radar"
|
|
686
|
+
| "SurfaceRadar"
|
|
687
|
+
| "AirRadar"
|
|
688
|
+
| "DepthChargeProjector"
|
|
689
|
+
| "SynergisticDepthCharge"
|
|
690
|
+
| "AntiSubMortar"
|
|
691
|
+
| "AntiSubWeapon"
|
|
692
|
+
| "ApDepthCharge"
|
|
693
|
+
| "AntiSubAircraft"
|
|
694
|
+
| "LateModelBowTorpedo"
|
|
695
|
+
| "Seaplane"
|
|
696
|
+
| "CbAircraft"
|
|
697
|
+
| "LbAircraft"
|
|
698
|
+
| "JetAircraft"
|
|
699
|
+
| "Fighter"
|
|
700
|
+
| "Recon"
|
|
701
|
+
| "ObservationSeaplane"
|
|
702
|
+
| "CbFighterBomber"
|
|
703
|
+
| "AntiInstDiveBomber"
|
|
704
|
+
| "CbSwordfish"
|
|
705
|
+
| "SemiNightPlane"
|
|
706
|
+
| "HighAltitudeInterceptor";
|
|
707
|
+
|
|
708
|
+
export interface ShipConditions extends ShipPosition {
|
|
709
|
+
formation?: Formation;
|
|
710
|
+
amagiri_index?: number | null;
|
|
798
711
|
}
|
|
799
712
|
|
|
800
713
|
export type ShipCategory =
|
|
@@ -832,56 +745,104 @@ export type ShipType =
|
|
|
832
745
|
| "CT"
|
|
833
746
|
| "AO";
|
|
834
747
|
|
|
835
|
-
export
|
|
748
|
+
export interface AttackPower {
|
|
749
|
+
precap: number;
|
|
750
|
+
is_capped: boolean;
|
|
751
|
+
capped: number;
|
|
752
|
+
normal: number;
|
|
753
|
+
critical: number;
|
|
754
|
+
armor_penetration: number;
|
|
755
|
+
remaining_ammo_mod: number;
|
|
756
|
+
}
|
|
836
757
|
|
|
837
|
-
export
|
|
758
|
+
export interface AttackPowerParams {
|
|
759
|
+
basic: number;
|
|
760
|
+
cap: number;
|
|
761
|
+
precap_mod: AttackPowerModifier;
|
|
762
|
+
postcap_mod: AttackPowerModifier;
|
|
763
|
+
ap_shell_mod: number | null;
|
|
764
|
+
aerial_power: number | null;
|
|
765
|
+
proficiency_critical_mod: number;
|
|
766
|
+
armor_penetration: number;
|
|
767
|
+
remaining_ammo_mod: number;
|
|
768
|
+
special_enemy_mods: SpecialEnemyModifiers;
|
|
769
|
+
historical_mod: AttackPowerModifier;
|
|
770
|
+
custom_mods: CustomPowerModifiers;
|
|
771
|
+
}
|
|
838
772
|
|
|
839
|
-
export interface
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
attack_power_params: AttackPowerParams | null;
|
|
844
|
-
hits: number;
|
|
845
|
-
hit_rate: HitRate | null;
|
|
846
|
-
hit_rate_params: HitRateParams | null;
|
|
847
|
-
damage: DamageReport | null;
|
|
773
|
+
export interface NightContactChance {
|
|
774
|
+
rank1: number;
|
|
775
|
+
rank2: number;
|
|
776
|
+
rank3: number;
|
|
848
777
|
}
|
|
849
778
|
|
|
850
|
-
export interface
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
is_active: boolean;
|
|
779
|
+
export interface CompNightCutinAnalysis {
|
|
780
|
+
night_contact_chance: NightContactChance;
|
|
781
|
+
ships: ShipNightCutinAnalysis[];
|
|
854
782
|
}
|
|
855
783
|
|
|
856
|
-
export
|
|
784
|
+
export interface ShipNightCutinAnalysis {
|
|
785
|
+
ship_id: number;
|
|
786
|
+
index: number;
|
|
787
|
+
normal: NightCutinActionReport;
|
|
788
|
+
chuuha: NightCutinActionReport;
|
|
789
|
+
}
|
|
857
790
|
|
|
858
|
-
export
|
|
791
|
+
export interface NightCutinActionReport
|
|
792
|
+
extends ActionReport<NightPhaseAttackStyle> {
|
|
793
|
+
cutin_term: number | null;
|
|
794
|
+
}
|
|
859
795
|
|
|
860
|
-
export
|
|
796
|
+
export interface AttackAnalyzerShipConfig
|
|
797
|
+
extends ShipConditions,
|
|
798
|
+
NightFleetConditions {
|
|
799
|
+
fleet_los_mod?: number | null;
|
|
800
|
+
}
|
|
861
801
|
|
|
862
|
-
export
|
|
802
|
+
export interface AttackPowerModifier {
|
|
803
|
+
a?: number;
|
|
804
|
+
b?: number;
|
|
805
|
+
}
|
|
863
806
|
|
|
864
|
-
export interface
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
807
|
+
export interface SpecialEnemyModifiers {
|
|
808
|
+
precap_general_mod: AttackPowerModifier;
|
|
809
|
+
stype_mod: AttackPowerModifier;
|
|
810
|
+
landing_craft_synergy_mod: AttackPowerModifier;
|
|
811
|
+
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
812
|
+
m4a1dd_mod: AttackPowerModifier;
|
|
813
|
+
honi_mod: AttackPowerModifier;
|
|
814
|
+
toku_daihatsu_chiha_mod: AttackPowerModifier;
|
|
815
|
+
toku_daihatsu_chiha_kai_mod: AttackPowerModifier;
|
|
816
|
+
postcap_general_mod: AttackPowerModifier;
|
|
817
|
+
pt_mod: AttackPowerModifier | null;
|
|
872
818
|
}
|
|
873
819
|
|
|
874
|
-
export interface
|
|
875
|
-
|
|
876
|
-
|
|
820
|
+
export interface CustomPowerModifiers {
|
|
821
|
+
precap_mod?: AttackPowerModifier;
|
|
822
|
+
postcap_mod?: AttackPowerModifier;
|
|
823
|
+
basic_power_mod?: AttackPowerModifier;
|
|
824
|
+
historical_mod?: AttackPowerModifier;
|
|
877
825
|
}
|
|
878
826
|
|
|
879
|
-
export
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
827
|
+
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
828
|
+
|
|
829
|
+
export type OrgType =
|
|
830
|
+
| "Single"
|
|
831
|
+
| "CarrierTaskForce"
|
|
832
|
+
| "SurfaceTaskForce"
|
|
833
|
+
| "TransportEscort"
|
|
834
|
+
| "EnemySingle"
|
|
835
|
+
| "EnemyCombined";
|
|
836
|
+
|
|
837
|
+
export interface ShipPosition {
|
|
838
|
+
org_type?: OrgType;
|
|
839
|
+
fleet_type?: FleetType;
|
|
840
|
+
fleet_len?: number;
|
|
841
|
+
index?: number;
|
|
883
842
|
}
|
|
884
843
|
|
|
844
|
+
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
845
|
+
|
|
885
846
|
export interface MasterIBonuses {
|
|
886
847
|
shelling_power: MasterIBonusRule[];
|
|
887
848
|
shelling_accuracy: MasterIBonusRule[];
|
|
@@ -907,130 +868,171 @@ export interface MasterIBonusRule {
|
|
|
907
868
|
formula: CompiledEvaler;
|
|
908
869
|
}
|
|
909
870
|
|
|
910
|
-
export interface
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
871
|
+
export interface ShipAnalyzerConfig {
|
|
872
|
+
air_state?: AirState;
|
|
873
|
+
engagement?: Engagement;
|
|
874
|
+
left?: AttackAnalyzerShipConfig;
|
|
875
|
+
right?: AttackAnalyzerShipConfig;
|
|
915
876
|
}
|
|
916
877
|
|
|
917
|
-
export
|
|
918
|
-
|
|
919
|
-
|
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
| "Kai2"
|
|
923
|
-
| "TurbineSpeedBonus"
|
|
924
|
-
| "NewModelBoilerSpeedBonus"
|
|
925
|
-
| "Pillbox"
|
|
926
|
-
| "IsolatedIsland"
|
|
927
|
-
| "HarbourSummerPrincess"
|
|
928
|
-
| "SupplyDepot"
|
|
929
|
-
| "NewSupplyDepot"
|
|
930
|
-
| "PtImp"
|
|
931
|
-
| "BattleshipSummerPrincess"
|
|
932
|
-
| "HeavyCruiserSummerPrincess"
|
|
933
|
-
| "AnchorageWaterDemonVacationMode"
|
|
934
|
-
| "FrenchBattleshipPrincess"
|
|
935
|
-
| "DockPrincess";
|
|
936
|
-
|
|
937
|
-
export interface ShipConditions extends ShipPosition {
|
|
938
|
-
formation?: Formation;
|
|
939
|
-
amagiri_index?: number | null;
|
|
878
|
+
export interface FleetCutinReport<T> {
|
|
879
|
+
cutin: FleetCutin;
|
|
880
|
+
rate: number | null;
|
|
881
|
+
formation: Formation;
|
|
882
|
+
attacks: FleetCutinAttackReport<T>[];
|
|
940
883
|
}
|
|
941
884
|
|
|
942
|
-
export
|
|
885
|
+
export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
886
|
+
index: number;
|
|
887
|
+
ship_id: number;
|
|
888
|
+
power_mod: number;
|
|
889
|
+
}
|
|
943
890
|
|
|
944
|
-
export interface
|
|
945
|
-
|
|
946
|
-
|
|
891
|
+
export interface CompDayCutinAnalysis {
|
|
892
|
+
rank3_air_state: AirState;
|
|
893
|
+
rank2_air_state: AirState;
|
|
894
|
+
main_fleet_los_mod: number | null;
|
|
895
|
+
escort_fleet_los_mod: number | null;
|
|
896
|
+
ships: ShipDayCutinAnalysis[];
|
|
947
897
|
}
|
|
948
898
|
|
|
949
|
-
export interface
|
|
950
|
-
|
|
951
|
-
|
|
899
|
+
export interface ShipDayCutinAnalysis {
|
|
900
|
+
ship_id: number;
|
|
901
|
+
role: Role;
|
|
952
902
|
index: number;
|
|
953
|
-
|
|
903
|
+
rank3: DayCutinReport;
|
|
904
|
+
rank2: DayCutinReport;
|
|
954
905
|
}
|
|
955
906
|
|
|
956
|
-
export interface
|
|
957
|
-
|
|
958
|
-
engagement?: Engagement;
|
|
959
|
-
left?: AttackAnalyzerShipConfig;
|
|
960
|
-
right?: AttackAnalyzerShipConfig;
|
|
907
|
+
export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
908
|
+
observation_term: number | null;
|
|
961
909
|
}
|
|
962
910
|
|
|
963
|
-
export
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
911
|
+
export interface AttackReport<T> {
|
|
912
|
+
style: T;
|
|
913
|
+
proc_rate: number | null;
|
|
914
|
+
attack_power: AttackPower | null;
|
|
915
|
+
attack_power_params: AttackPowerParams | null;
|
|
916
|
+
hits: number;
|
|
917
|
+
hit_rate: HitRate | null;
|
|
918
|
+
hit_rate_params: HitRateParams | null;
|
|
919
|
+
damage: DamageReport | null;
|
|
968
920
|
}
|
|
969
921
|
|
|
970
|
-
export
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
|
974
|
-
|
|
975
|
-
|
|
922
|
+
export interface ShellingStyle {
|
|
923
|
+
tag: "ShellingStyle";
|
|
924
|
+
attack_type: ShellingType;
|
|
925
|
+
cutin: DayCutinLike | null;
|
|
926
|
+
power_mod: number;
|
|
927
|
+
accuracy_mod: number;
|
|
928
|
+
hits: number;
|
|
929
|
+
}
|
|
976
930
|
|
|
977
|
-
export
|
|
931
|
+
export interface NightAttackStyle {
|
|
932
|
+
tag: "NightAttackStyle";
|
|
933
|
+
attack_type: NightAttackType;
|
|
934
|
+
cutin: NightCutinLike | null;
|
|
935
|
+
power_mod: number;
|
|
936
|
+
accuracy_mod: number;
|
|
937
|
+
hits: number;
|
|
938
|
+
}
|
|
978
939
|
|
|
979
|
-
export interface
|
|
980
|
-
|
|
981
|
-
|
|
940
|
+
export interface AswAttackStyle {
|
|
941
|
+
tag: "AswAttackStyle";
|
|
942
|
+
attack_type: AswAttackType;
|
|
982
943
|
}
|
|
983
944
|
|
|
984
|
-
export interface
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
landing_craft_synergy_mod: AttackPowerModifier;
|
|
988
|
-
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
989
|
-
m4a1dd_mod: AttackPowerModifier;
|
|
990
|
-
honi_mod: AttackPowerModifier;
|
|
991
|
-
postcap_general_mod: AttackPowerModifier;
|
|
992
|
-
pt_mod: AttackPowerModifier | null;
|
|
945
|
+
export interface TorpedoAttackStyle {
|
|
946
|
+
tag: "TorpedoAttackStyle";
|
|
947
|
+
attack_type: TorpedoAttackType;
|
|
993
948
|
}
|
|
994
949
|
|
|
995
|
-
export
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
950
|
+
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
951
|
+
|
|
952
|
+
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
953
|
+
|
|
954
|
+
export interface SupportShellingStyle {
|
|
955
|
+
tag: "SupportShellingStyle";
|
|
956
|
+
attack_type: SupportShellingType;
|
|
1000
957
|
}
|
|
1001
958
|
|
|
1002
|
-
export type
|
|
959
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
1003
960
|
|
|
1004
|
-
export
|
|
961
|
+
export interface EquippabilityRule {
|
|
962
|
+
ship: CompiledEvaler;
|
|
963
|
+
keys?: string[];
|
|
964
|
+
include?: string;
|
|
965
|
+
exclude?: string;
|
|
966
|
+
}
|
|
1005
967
|
|
|
1006
|
-
export
|
|
968
|
+
export interface MasterEquippability {
|
|
969
|
+
equip_stype: EquipStype[];
|
|
970
|
+
equip_exslot: number[];
|
|
971
|
+
equip_ship: MstEquipShip[];
|
|
972
|
+
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
973
|
+
rules: EquippabilityRule[];
|
|
974
|
+
}
|
|
1007
975
|
|
|
1008
|
-
export
|
|
976
|
+
export interface MstEquipExslotShip {
|
|
977
|
+
api_ctypes: Record<number, number> | null;
|
|
978
|
+
api_ship_ids: Record<number, number> | null;
|
|
979
|
+
api_stypes: Record<number, number> | null;
|
|
980
|
+
}
|
|
1009
981
|
|
|
1010
|
-
export
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
| { t: "Torpedo" }
|
|
1015
|
-
| { t: "SupportShelling"; c: SupportShellingType };
|
|
982
|
+
export interface MstEquipShip {
|
|
983
|
+
api_ship_id: number;
|
|
984
|
+
api_equip_type: number[];
|
|
985
|
+
}
|
|
1016
986
|
|
|
1017
|
-
export
|
|
1018
|
-
|
|
1019
|
-
|
|
987
|
+
export interface EquipStype {
|
|
988
|
+
id: number;
|
|
989
|
+
equip_type: number[];
|
|
990
|
+
}
|
|
1020
991
|
|
|
1021
|
-
export
|
|
1022
|
-
|
|
1023
|
-
|
|
992
|
+
export interface CompAnalyzerConfig {
|
|
993
|
+
engagement: Engagement;
|
|
994
|
+
formation: Formation;
|
|
995
|
+
anti_air_cutin: number | null;
|
|
996
|
+
ship_anti_air_resist: number;
|
|
997
|
+
fleet_anti_air_resist: number;
|
|
998
|
+
left_night_fleet_conditions: NightFleetConditions;
|
|
999
|
+
right_night_fleet_conditions: NightFleetConditions;
|
|
1000
|
+
}
|
|
1024
1001
|
|
|
1025
|
-
export
|
|
1002
|
+
export interface CompNightAnalysis {
|
|
1003
|
+
night_cutin: CompNightCutinAnalysis;
|
|
1004
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
1005
|
+
}
|
|
1026
1006
|
|
|
1027
|
-
export
|
|
1007
|
+
export interface CompDayAnalysis {
|
|
1008
|
+
day_cutin: CompDayCutinAnalysis;
|
|
1009
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
1010
|
+
}
|
|
1028
1011
|
|
|
1029
|
-
export
|
|
1012
|
+
export interface CompAnalysis {
|
|
1013
|
+
day: CompDayAnalysis;
|
|
1014
|
+
night: CompNightAnalysis;
|
|
1015
|
+
contact: ContactAnalysis;
|
|
1016
|
+
anti_air: CompAntiAirAnalysis;
|
|
1017
|
+
}
|
|
1030
1018
|
|
|
1031
|
-
export
|
|
1019
|
+
export interface OrgState {
|
|
1020
|
+
id?: string;
|
|
1021
|
+
f1?: FleetState;
|
|
1022
|
+
f2?: FleetState;
|
|
1023
|
+
f3?: FleetState;
|
|
1024
|
+
f4?: FleetState;
|
|
1025
|
+
a1?: AirSquadronState;
|
|
1026
|
+
a2?: AirSquadronState;
|
|
1027
|
+
a3?: AirSquadronState;
|
|
1028
|
+
hq_level?: number;
|
|
1029
|
+
org_type?: OrgType;
|
|
1030
|
+
sortie?: FleetKey;
|
|
1031
|
+
route_sup?: FleetKey;
|
|
1032
|
+
boss_sup?: FleetKey;
|
|
1033
|
+
}
|
|
1032
1034
|
|
|
1033
|
-
export type
|
|
1035
|
+
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
1034
1036
|
|
|
1035
1037
|
/**
|
|
1036
1038
|
*/
|
|
@@ -1089,7 +1091,7 @@ export class Analyzer {
|
|
|
1089
1091
|
config: ShipAnalyzerConfig,
|
|
1090
1092
|
left: Ship,
|
|
1091
1093
|
right: Ship,
|
|
1092
|
-
attacker_is_left: boolean
|
|
1094
|
+
attacker_is_left: boolean,
|
|
1093
1095
|
): AttackAnalysis;
|
|
1094
1096
|
/**
|
|
1095
1097
|
* @param {NodeAttackAnalyzerConfig} config
|
|
@@ -1104,7 +1106,7 @@ export class Analyzer {
|
|
|
1104
1106
|
left_comp: Comp,
|
|
1105
1107
|
left_ship: Ship,
|
|
1106
1108
|
right_comp: Comp,
|
|
1107
|
-
right_ship: Ship
|
|
1109
|
+
right_ship: Ship,
|
|
1108
1110
|
): NodeAttackAnalysis;
|
|
1109
1111
|
/**
|
|
1110
1112
|
* @param {Comp} comp
|
|
@@ -1123,7 +1125,7 @@ export class Analyzer {
|
|
|
1123
1125
|
player_comp: Comp,
|
|
1124
1126
|
enemy_comp: Comp,
|
|
1125
1127
|
config: NodeAttackAnalyzerConfig,
|
|
1126
|
-
times: number
|
|
1128
|
+
times: number,
|
|
1127
1129
|
): SimulatorResult;
|
|
1128
1130
|
}
|
|
1129
1131
|
/**
|
|
@@ -1203,7 +1205,7 @@ export class Comp {
|
|
|
1203
1205
|
*/
|
|
1204
1206
|
fighter_power(
|
|
1205
1207
|
escort_participates: boolean,
|
|
1206
|
-
air_type: AirWaveType
|
|
1208
|
+
air_type: AirWaveType,
|
|
1207
1209
|
): number | undefined;
|
|
1208
1210
|
/**
|
|
1209
1211
|
* マップ索敵
|
|
@@ -1342,7 +1344,7 @@ export class Fleet {
|
|
|
1342
1344
|
get_remaining_fuel(
|
|
1343
1345
|
id: string,
|
|
1344
1346
|
rate: number,
|
|
1345
|
-
ceil: boolean
|
|
1347
|
+
ceil: boolean,
|
|
1346
1348
|
): number | undefined;
|
|
1347
1349
|
/**
|
|
1348
1350
|
* @param {string} id
|
|
@@ -1353,7 +1355,7 @@ export class Fleet {
|
|
|
1353
1355
|
get_remaining_ammo(
|
|
1354
1356
|
id: string,
|
|
1355
1357
|
rate: number,
|
|
1356
|
-
ceil: boolean
|
|
1358
|
+
ceil: boolean,
|
|
1357
1359
|
): number | undefined;
|
|
1358
1360
|
/**
|
|
1359
1361
|
* @returns {number}
|
|
@@ -1734,7 +1736,7 @@ export class Org {
|
|
|
1734
1736
|
create_move_ship_payload(
|
|
1735
1737
|
id: string,
|
|
1736
1738
|
x: number,
|
|
1737
|
-
y: number
|
|
1739
|
+
y: number,
|
|
1738
1740
|
): MoveShipPayload | undefined;
|
|
1739
1741
|
/**
|
|
1740
1742
|
* @param {FleetKey} key
|
|
@@ -1963,7 +1965,7 @@ export class Ship {
|
|
|
1963
1965
|
evasion_term(
|
|
1964
1966
|
formation_mod: number,
|
|
1965
1967
|
postcap_additive: number,
|
|
1966
|
-
postcap_multiplicative: number
|
|
1968
|
+
postcap_multiplicative: number,
|
|
1967
1969
|
): number | undefined;
|
|
1968
1970
|
/**
|
|
1969
1971
|
* @param {number} armor_penetration
|