fleethub-core 1.11.6 → 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 +618 -615
- package/node/fleethub_core.js +65 -66
- 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 +618 -615
- package/pkg/fleethub_core_bg.js +67 -68
- 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,99 +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
|
-
|
|
8
|
+
/**
|
|
9
|
+
*/
|
|
10
|
+
export function set_panic_hook(): void;
|
|
11
|
+
export interface MoveShipPayload {
|
|
12
|
+
current: [string, string, ShipKey];
|
|
13
|
+
target: [string | null, string, ShipKey];
|
|
15
14
|
}
|
|
16
15
|
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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;
|
|
25
36
|
}
|
|
26
37
|
|
|
27
|
-
export interface
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
ap_shell_mod: number | null;
|
|
33
|
-
aerial_power: number | null;
|
|
34
|
-
proficiency_critical_mod: number;
|
|
35
|
-
armor_penetration: number;
|
|
36
|
-
remaining_ammo_mod: number;
|
|
37
|
-
special_enemy_mods: SpecialEnemyModifiers;
|
|
38
|
-
historical_mod: AttackPowerModifier;
|
|
39
|
-
custom_mods: CustomPowerModifiers;
|
|
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
|
-
|
|
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;
|
|
46
56
|
}
|
|
47
57
|
|
|
48
|
-
export interface
|
|
49
|
-
|
|
50
|
-
ships:
|
|
58
|
+
export interface CompAntiAirAnalysis {
|
|
59
|
+
fleet_adjusted_anti_air: number;
|
|
60
|
+
ships: AntiAirReport[];
|
|
61
|
+
anti_air_cutin_chance: [number, number][];
|
|
51
62
|
}
|
|
52
63
|
|
|
53
|
-
export interface
|
|
64
|
+
export interface AntiAirReport {
|
|
54
65
|
ship_id: number;
|
|
66
|
+
role: Role;
|
|
55
67
|
index: number;
|
|
56
|
-
|
|
57
|
-
|
|
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;
|
|
58
74
|
}
|
|
59
75
|
|
|
60
|
-
export interface
|
|
61
|
-
|
|
62
|
-
|
|
76
|
+
export interface ActionReport<T> {
|
|
77
|
+
data: Record<string, AttackReport<T>>;
|
|
78
|
+
damage_state_density: Histogram<DamageState, number> | null;
|
|
79
|
+
is_active: boolean;
|
|
63
80
|
}
|
|
64
81
|
|
|
65
|
-
export type
|
|
82
|
+
export type AswAttackType = "DepthCharge" | "Aerial";
|
|
66
83
|
|
|
67
|
-
export type
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
| "
|
|
75
|
-
| "
|
|
76
|
-
| "
|
|
77
|
-
| "
|
|
78
|
-
| "
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
| "
|
|
82
|
-
| "
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
| "
|
|
86
|
-
| "
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
+
}
|
|
97
155
|
|
|
98
156
|
export type GearType =
|
|
99
157
|
| "Unknown"
|
|
@@ -171,95 +229,91 @@ export type GearCategory =
|
|
|
171
229
|
| "LandBased"
|
|
172
230
|
| "Misc";
|
|
173
231
|
|
|
174
|
-
export interface
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
a1?: AirSquadronState;
|
|
181
|
-
a2?: AirSquadronState;
|
|
182
|
-
a3?: AirSquadronState;
|
|
183
|
-
hq_level?: number;
|
|
184
|
-
org_type?: OrgType;
|
|
185
|
-
sortie?: FleetKey;
|
|
186
|
-
route_sup?: FleetKey;
|
|
187
|
-
boss_sup?: FleetKey;
|
|
232
|
+
export interface SlotSizeVecState {
|
|
233
|
+
ss1?: number;
|
|
234
|
+
ss2?: number;
|
|
235
|
+
ss3?: number;
|
|
236
|
+
ss4?: number;
|
|
237
|
+
ss5?: number;
|
|
188
238
|
}
|
|
189
239
|
|
|
190
|
-
export
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
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;
|
|
197
260
|
}
|
|
198
261
|
|
|
199
|
-
export
|
|
200
|
-
equip_stype: EquipStype[];
|
|
201
|
-
equip_exslot: number[];
|
|
202
|
-
equip_ship: MstEquipShip[];
|
|
203
|
-
equip_exslot_ship: MstEquipExslotShip[];
|
|
204
|
-
rules: EquippabilityRule[];
|
|
205
|
-
}
|
|
262
|
+
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
206
263
|
|
|
207
|
-
export
|
|
208
|
-
api_slotitem_id: number;
|
|
209
|
-
api_ship_ids: number[];
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
export interface MstEquipShip {
|
|
213
|
-
api_ship_id: number;
|
|
214
|
-
api_equip_type: number[];
|
|
215
|
-
}
|
|
264
|
+
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
216
265
|
|
|
217
|
-
export
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
266
|
+
export type DayCutin =
|
|
267
|
+
| "Zuiun"
|
|
268
|
+
| "AirSea"
|
|
269
|
+
| "MainMain"
|
|
270
|
+
| "MainAp"
|
|
271
|
+
| "MainRadar"
|
|
272
|
+
| "MainSec"
|
|
273
|
+
| "DoubleAttack"
|
|
274
|
+
| "FBA"
|
|
275
|
+
| "BBA"
|
|
276
|
+
| "BA";
|
|
221
277
|
|
|
222
|
-
export
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
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";
|
|
231
298
|
|
|
232
|
-
export
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
299
|
+
export type FleetCutin =
|
|
300
|
+
| "NelsonTouch"
|
|
301
|
+
| "NagatoClassCutin"
|
|
302
|
+
| "ColoradoClassCutin"
|
|
303
|
+
| "KongouClassCutin"
|
|
304
|
+
| "Yamato2ShipCutin"
|
|
305
|
+
| "Yamato3ShipCutin";
|
|
236
306
|
|
|
237
|
-
export
|
|
238
|
-
day_cutin: CompDayCutinAnalysis;
|
|
239
|
-
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
240
|
-
}
|
|
307
|
+
export type DayCutinLike = DayCutin | FleetCutin;
|
|
241
308
|
|
|
242
|
-
export
|
|
243
|
-
day: CompDayAnalysis;
|
|
244
|
-
night: CompNightAnalysis;
|
|
245
|
-
contact: ContactAnalysis;
|
|
246
|
-
anti_air: CompAntiAirAnalysis;
|
|
247
|
-
}
|
|
309
|
+
export type NightCutinLike = NightCutin | FleetCutin;
|
|
248
310
|
|
|
249
|
-
export interface
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
311
|
+
export interface SupportShellingSimulatorParams {
|
|
312
|
+
attacker_formation?: Formation;
|
|
313
|
+
target_formation?: Formation;
|
|
314
|
+
engagement: Engagement;
|
|
253
315
|
}
|
|
254
316
|
|
|
255
|
-
export type OrgType =
|
|
256
|
-
| "Single"
|
|
257
|
-
| "CarrierTaskForce"
|
|
258
|
-
| "SurfaceTaskForce"
|
|
259
|
-
| "TransportEscort"
|
|
260
|
-
| "EnemySingle"
|
|
261
|
-
| "EnemyCombined";
|
|
262
|
-
|
|
263
317
|
export interface MasterShip {
|
|
264
318
|
ship_id: number;
|
|
265
319
|
name: string;
|
|
@@ -294,85 +348,6 @@ export interface MasterShip {
|
|
|
294
348
|
|
|
295
349
|
export type StatInterval = [number | null, number | null];
|
|
296
350
|
|
|
297
|
-
export interface ShellingStyle {
|
|
298
|
-
tag: "ShellingStyle";
|
|
299
|
-
attack_type: ShellingType;
|
|
300
|
-
cutin: DayCutinLike | null;
|
|
301
|
-
power_mod: number;
|
|
302
|
-
accuracy_mod: number;
|
|
303
|
-
hits: number;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
export interface NightAttackStyle {
|
|
307
|
-
tag: "NightAttackStyle";
|
|
308
|
-
attack_type: NightAttackType;
|
|
309
|
-
cutin: NightCutinLike | null;
|
|
310
|
-
power_mod: number;
|
|
311
|
-
accuracy_mod: number;
|
|
312
|
-
hits: number;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
export interface AswAttackStyle {
|
|
316
|
-
tag: "AswAttackStyle";
|
|
317
|
-
attack_type: AswAttackType;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
export interface TorpedoAttackStyle {
|
|
321
|
-
tag: "TorpedoAttackStyle";
|
|
322
|
-
attack_type: TorpedoAttackType;
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
326
|
-
|
|
327
|
-
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
328
|
-
|
|
329
|
-
export interface SupportShellingStyle {
|
|
330
|
-
tag: "SupportShellingStyle";
|
|
331
|
-
attack_type: SupportShellingType;
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
export type GearVecInput = GearInput[];
|
|
335
|
-
|
|
336
|
-
export interface GearInput {
|
|
337
|
-
gear_id: number;
|
|
338
|
-
types: GearTypeIdArray;
|
|
339
|
-
firepower: number;
|
|
340
|
-
torpedo: number;
|
|
341
|
-
anti_air: number;
|
|
342
|
-
armor: number;
|
|
343
|
-
evasion: number;
|
|
344
|
-
asw: number;
|
|
345
|
-
los: number;
|
|
346
|
-
bombing: number;
|
|
347
|
-
accuracy: number;
|
|
348
|
-
range: number;
|
|
349
|
-
radius: number;
|
|
350
|
-
stars: number;
|
|
351
|
-
ace: number;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
export interface ShipInput {
|
|
355
|
-
ship_id: number;
|
|
356
|
-
ctype: number;
|
|
357
|
-
stype: number;
|
|
358
|
-
yomi: string;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
export interface EBonuses {
|
|
362
|
-
firepower: number;
|
|
363
|
-
torpedo: number;
|
|
364
|
-
anti_air: number;
|
|
365
|
-
armor: number;
|
|
366
|
-
evasion: number;
|
|
367
|
-
asw: number;
|
|
368
|
-
los: number;
|
|
369
|
-
bombing: number;
|
|
370
|
-
accuracy: number;
|
|
371
|
-
range: number;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
375
|
-
|
|
376
351
|
export interface MasterGear {
|
|
377
352
|
gear_id: number;
|
|
378
353
|
name: string;
|
|
@@ -399,161 +374,121 @@ export interface MasterGear {
|
|
|
399
374
|
historical_aircraft_group?: number;
|
|
400
375
|
}
|
|
401
376
|
|
|
402
|
-
export interface
|
|
403
|
-
|
|
377
|
+
export interface HitRate {
|
|
378
|
+
normal: number;
|
|
379
|
+
critical: number;
|
|
380
|
+
total: number;
|
|
404
381
|
}
|
|
405
382
|
|
|
406
|
-
export interface
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
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;
|
|
412
390
|
}
|
|
413
391
|
|
|
414
|
-
export interface
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
418
|
-
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
392
|
+
export interface ContactAnalysis {
|
|
393
|
+
single: DayContactChance[] | null;
|
|
394
|
+
combined: DayContactChance[] | null;
|
|
419
395
|
}
|
|
420
396
|
|
|
421
|
-
export interface
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
397
|
+
export interface DayContactChance {
|
|
398
|
+
air_state: AirState;
|
|
399
|
+
trigger_rate: number;
|
|
400
|
+
rank3: number;
|
|
401
|
+
rank2: number;
|
|
402
|
+
rank1: number;
|
|
403
|
+
total: number;
|
|
427
404
|
}
|
|
428
405
|
|
|
429
|
-
export interface
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
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>;
|
|
435
416
|
}
|
|
436
417
|
|
|
437
|
-
export
|
|
438
|
-
|
|
439
|
-
|
|
418
|
+
export type SingleFormation =
|
|
419
|
+
| "LineAhead"
|
|
420
|
+
| "DoubleLine"
|
|
421
|
+
| "Diamond"
|
|
422
|
+
| "Echelon"
|
|
423
|
+
| "LineAbreast"
|
|
424
|
+
| "Vanguard";
|
|
440
425
|
|
|
441
|
-
export
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
formation: Formation;
|
|
447
|
-
fleet_los_mod: number | null;
|
|
448
|
-
night_conditions: NightFleetConditions;
|
|
449
|
-
}
|
|
426
|
+
export type CombinedFormation =
|
|
427
|
+
| "Cruising1"
|
|
428
|
+
| "Cruising2"
|
|
429
|
+
| "Cruising3"
|
|
430
|
+
| "Cruising4";
|
|
450
431
|
|
|
451
|
-
export
|
|
452
|
-
player?: NightFleetConditions;
|
|
453
|
-
enemy?: NightFleetConditions;
|
|
454
|
-
}
|
|
432
|
+
export type Formation = SingleFormation | CombinedFormation;
|
|
455
433
|
|
|
456
|
-
export interface
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
434
|
+
export interface GearState {
|
|
435
|
+
id?: string;
|
|
436
|
+
gear_id: number;
|
|
437
|
+
exp?: number;
|
|
438
|
+
stars?: number;
|
|
461
439
|
}
|
|
462
440
|
|
|
463
|
-
export
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
| "FBA"
|
|
472
|
-
| "BBA"
|
|
473
|
-
| "BA";
|
|
474
|
-
|
|
475
|
-
export type NightCutin =
|
|
476
|
-
| "MainTorpRadar"
|
|
477
|
-
| "TorpLookoutRadar"
|
|
478
|
-
| "TorpTsloTorp"
|
|
479
|
-
| "TorpTsloDrum"
|
|
480
|
-
| "NightZuiun2Radar"
|
|
481
|
-
| "NightZuiun2"
|
|
482
|
-
| "NightZuiunRadar"
|
|
483
|
-
| "NightZuiun"
|
|
484
|
-
| "DoubleAttack"
|
|
485
|
-
| "TorpTorpMain"
|
|
486
|
-
| "TorpTorpTorp"
|
|
487
|
-
| "MainMainSec"
|
|
488
|
-
| "MainMainMain"
|
|
489
|
-
| "SubTorpTorp"
|
|
490
|
-
| "SubRadarTorp"
|
|
491
|
-
| "Cvci1_25"
|
|
492
|
-
| "Cvci1_20"
|
|
493
|
-
| "Cvci1_18"
|
|
494
|
-
| "Photobomber";
|
|
495
|
-
|
|
496
|
-
export type FleetCutin =
|
|
497
|
-
| "NelsonTouch"
|
|
498
|
-
| "NagatoClassCutin"
|
|
499
|
-
| "ColoradoClassCutin"
|
|
500
|
-
| "KongouClassCutin"
|
|
501
|
-
| "Yamato2ShipCutin"
|
|
502
|
-
| "Yamato3ShipCutin";
|
|
503
|
-
|
|
504
|
-
export type DayCutinLike = DayCutin | FleetCutin;
|
|
505
|
-
|
|
506
|
-
export type NightCutinLike = NightCutin | FleetCutin;
|
|
441
|
+
export interface GearVecState {
|
|
442
|
+
g1?: GearState;
|
|
443
|
+
g2?: GearState;
|
|
444
|
+
g3?: GearState;
|
|
445
|
+
g4?: GearState;
|
|
446
|
+
g5?: GearState;
|
|
447
|
+
gx?: GearState;
|
|
448
|
+
}
|
|
507
449
|
|
|
508
|
-
export type
|
|
509
|
-
| "LineAhead"
|
|
510
|
-
| "DoubleLine"
|
|
511
|
-
| "Diamond"
|
|
512
|
-
| "Echelon"
|
|
513
|
-
| "LineAbreast"
|
|
514
|
-
| "Vanguard";
|
|
450
|
+
export type NodeId = string;
|
|
515
451
|
|
|
516
|
-
export
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
452
|
+
export interface NodeState {
|
|
453
|
+
map?: number;
|
|
454
|
+
node?: NodeId;
|
|
455
|
+
phase?: number;
|
|
456
|
+
debuff?: boolean;
|
|
457
|
+
disable_historical_mod?: boolean;
|
|
458
|
+
}
|
|
521
459
|
|
|
522
|
-
export type
|
|
460
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
523
461
|
|
|
524
|
-
export
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
| "HarbourSummerPrincess"
|
|
532
|
-
| "PtImp"
|
|
533
|
-
| "BattleshipSummerPrincess"
|
|
534
|
-
| "HeavyCruiserSummerPrincess"
|
|
535
|
-
| "FrenchBattleshipPrincess"
|
|
536
|
-
| "AnchorageWaterDemonVacationMode"
|
|
537
|
-
| "DockPrincess";
|
|
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
|
+
}
|
|
538
469
|
|
|
539
|
-
export type
|
|
470
|
+
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
540
471
|
|
|
541
|
-
export interface
|
|
542
|
-
|
|
543
|
-
|
|
472
|
+
export interface BattleConditions {
|
|
473
|
+
org_type: OrgType;
|
|
474
|
+
role: Role;
|
|
475
|
+
ship_index: number;
|
|
476
|
+
fleet_len: number;
|
|
477
|
+
formation: Formation;
|
|
478
|
+
fleet_los_mod: number | null;
|
|
479
|
+
night_conditions: NightFleetConditions;
|
|
544
480
|
}
|
|
545
481
|
|
|
546
|
-
export interface
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
formation: Formation;
|
|
550
|
-
attacks: FleetCutinAttackReport<T>[];
|
|
482
|
+
export interface NightConditions {
|
|
483
|
+
player?: NightFleetConditions;
|
|
484
|
+
enemy?: NightFleetConditions;
|
|
551
485
|
}
|
|
552
486
|
|
|
553
|
-
export interface
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
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;
|
|
557
492
|
}
|
|
558
493
|
|
|
559
494
|
export interface FormationCombatModifiersDef {
|
|
@@ -629,142 +564,103 @@ export interface BattleDefinitions {
|
|
|
629
564
|
historical_bonuses: HistoricalBonusDef[];
|
|
630
565
|
}
|
|
631
566
|
|
|
632
|
-
export
|
|
633
|
-
|
|
634
|
-
|
|
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";
|
|
586
|
+
|
|
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][];
|
|
635
613
|
}
|
|
636
614
|
|
|
637
|
-
export interface
|
|
615
|
+
export interface SimulatorResultItem {
|
|
638
616
|
id: string;
|
|
639
|
-
|
|
640
|
-
|
|
617
|
+
fleet_type: FleetType;
|
|
618
|
+
index: number;
|
|
619
|
+
damage_state_map: Record<DamageState, number>;
|
|
641
620
|
}
|
|
642
621
|
|
|
643
|
-
export interface
|
|
644
|
-
|
|
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;
|
|
645
630
|
}
|
|
646
631
|
|
|
647
|
-
export
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
map?: number;
|
|
651
|
-
node?: NodeId;
|
|
652
|
-
phase?: number;
|
|
653
|
-
debuff?: boolean;
|
|
654
|
-
disable_historical_mod?: boolean;
|
|
632
|
+
export interface NationalityDef {
|
|
633
|
+
id: number;
|
|
634
|
+
ctypes: number[];
|
|
655
635
|
}
|
|
656
636
|
|
|
657
|
-
export interface
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
ss4?: number;
|
|
662
|
-
ss5?: number;
|
|
637
|
+
export interface MasterAttrRule<T> {
|
|
638
|
+
tag: T;
|
|
639
|
+
name: string;
|
|
640
|
+
expr: CompiledEvaler;
|
|
663
641
|
}
|
|
664
642
|
|
|
665
|
-
export
|
|
643
|
+
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
644
|
+
|
|
645
|
+
export interface AirSquadronState extends GearVecState, SlotSizeVecState {
|
|
666
646
|
id?: string;
|
|
667
|
-
|
|
668
|
-
level?: number;
|
|
669
|
-
current_hp?: number;
|
|
670
|
-
morale?: number;
|
|
671
|
-
ammo?: number;
|
|
672
|
-
fuel?: number;
|
|
673
|
-
max_hp_mod?: number;
|
|
674
|
-
firepower_mod?: number;
|
|
675
|
-
torpedo_mod?: number;
|
|
676
|
-
armor_mod?: number;
|
|
677
|
-
anti_air_mod?: number;
|
|
678
|
-
evasion_mod?: number;
|
|
679
|
-
asw_mod?: number;
|
|
680
|
-
los_mod?: number;
|
|
681
|
-
luck_mod?: number;
|
|
682
|
-
day_gunfit_accuracy?: number;
|
|
683
|
-
night_gunfit_accuracy?: number;
|
|
684
|
-
custom_power_mods?: CustomPowerModifiers;
|
|
647
|
+
mode?: AirSquadronMode;
|
|
685
648
|
}
|
|
686
649
|
|
|
687
|
-
export type
|
|
650
|
+
export type AirState =
|
|
651
|
+
| "AirSupremacy"
|
|
652
|
+
| "AirSuperiority"
|
|
653
|
+
| "AirParity"
|
|
654
|
+
| "AirDenial"
|
|
655
|
+
| "AirIncapability";
|
|
688
656
|
|
|
689
|
-
export
|
|
690
|
-
formation: NestedFormationDef[];
|
|
691
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
692
|
-
day_cutin: DayCutinDef[];
|
|
693
|
-
night_cutin: NightCutinDef[];
|
|
694
|
-
historical_bonuses?: HistoricalBonusDef[];
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
export interface HitRate {
|
|
698
|
-
normal: number;
|
|
699
|
-
critical: number;
|
|
700
|
-
total: number;
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
export interface HitRateParams {
|
|
704
|
-
accuracy_term: number;
|
|
705
|
-
evasion_term: number;
|
|
706
|
-
target_morale_mod: number;
|
|
707
|
-
critical_rate_constant: number;
|
|
708
|
-
critical_percentage_bonus: number;
|
|
709
|
-
hit_percentage_bonus: number;
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
export interface DamageReport {
|
|
713
|
-
miss_damage_min: number;
|
|
714
|
-
miss_damage_max: number;
|
|
715
|
-
normal_damage_min: number;
|
|
716
|
-
normal_damage_max: number;
|
|
717
|
-
critical_damage_min: number;
|
|
718
|
-
critical_damage_max: number;
|
|
719
|
-
normal_scratch_rate: number;
|
|
720
|
-
critical_scratch_rate: number;
|
|
721
|
-
damage_density: Histogram<number, number>;
|
|
722
|
-
damage_state_density: Histogram<DamageState, number>;
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
export interface ContactAnalysis {
|
|
726
|
-
single: DayContactChance[] | null;
|
|
727
|
-
combined: DayContactChance[] | null;
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
export interface DayContactChance {
|
|
731
|
-
air_state: AirState;
|
|
732
|
-
trigger_rate: number;
|
|
733
|
-
rank3: number;
|
|
734
|
-
rank2: number;
|
|
735
|
-
rank1: number;
|
|
736
|
-
total: number;
|
|
737
|
-
}
|
|
657
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
738
658
|
|
|
739
|
-
export
|
|
740
|
-
attacker_is_player: boolean;
|
|
741
|
-
attacker_ship_id: number;
|
|
742
|
-
target_ship_id: number;
|
|
743
|
-
historical_params: HistoricalParams;
|
|
744
|
-
day: ActionReport<DayPhaseAttackStyle>;
|
|
745
|
-
night: ActionReport<NightPhaseAttackStyle>;
|
|
746
|
-
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
747
|
-
opening_asw: ActionReport<AswAttackStyle>;
|
|
748
|
-
support_shelling: ActionReport<SupportShellingStyle>;
|
|
749
|
-
}
|
|
659
|
+
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
750
660
|
|
|
751
|
-
export
|
|
752
|
-
fleet_adjusted_anti_air: number;
|
|
753
|
-
ships: AntiAirReport[];
|
|
754
|
-
anti_air_cutin_chance: [number, number][];
|
|
755
|
-
}
|
|
661
|
+
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
756
662
|
|
|
757
|
-
export
|
|
758
|
-
ship_id: number;
|
|
759
|
-
role: Role;
|
|
760
|
-
index: number;
|
|
761
|
-
adjusted_anti_air: number | null;
|
|
762
|
-
proportional_shotdown_rate: number | null;
|
|
763
|
-
fixed_shotdown_number: number | null;
|
|
764
|
-
guaranteed: number | null;
|
|
765
|
-
anti_air_cutin_chance: [number, number][];
|
|
766
|
-
anti_air_propellant_barrage_chance: number | null;
|
|
767
|
-
}
|
|
663
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
768
664
|
|
|
769
665
|
export interface FleetState {
|
|
770
666
|
id?: string;
|
|
@@ -778,24 +674,42 @@ export interface FleetState {
|
|
|
778
674
|
s7?: ShipState;
|
|
779
675
|
}
|
|
780
676
|
|
|
781
|
-
export
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
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";
|
|
787
707
|
|
|
788
|
-
export interface
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
g3?: GearState;
|
|
792
|
-
g4?: GearState;
|
|
793
|
-
g5?: GearState;
|
|
794
|
-
gx?: GearState;
|
|
708
|
+
export interface ShipConditions extends ShipPosition {
|
|
709
|
+
formation?: Formation;
|
|
710
|
+
amagiri_index?: number | null;
|
|
795
711
|
}
|
|
796
712
|
|
|
797
|
-
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
798
|
-
|
|
799
713
|
export type ShipCategory =
|
|
800
714
|
| "Battleship"
|
|
801
715
|
| "AircraftCarrier"
|
|
@@ -831,56 +745,104 @@ export type ShipType =
|
|
|
831
745
|
| "CT"
|
|
832
746
|
| "AO";
|
|
833
747
|
|
|
834
|
-
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
|
+
}
|
|
835
757
|
|
|
836
|
-
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
|
+
}
|
|
837
772
|
|
|
838
|
-
export
|
|
773
|
+
export interface NightContactChance {
|
|
774
|
+
rank1: number;
|
|
775
|
+
rank2: number;
|
|
776
|
+
rank3: number;
|
|
777
|
+
}
|
|
839
778
|
|
|
840
|
-
export interface
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
attack_power: AttackPower | null;
|
|
844
|
-
attack_power_params: AttackPowerParams | null;
|
|
845
|
-
hits: number;
|
|
846
|
-
hit_rate: HitRate | null;
|
|
847
|
-
hit_rate_params: HitRateParams | null;
|
|
848
|
-
damage: DamageReport | null;
|
|
779
|
+
export interface CompNightCutinAnalysis {
|
|
780
|
+
night_contact_chance: NightContactChance;
|
|
781
|
+
ships: ShipNightCutinAnalysis[];
|
|
849
782
|
}
|
|
850
783
|
|
|
851
|
-
export interface
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
784
|
+
export interface ShipNightCutinAnalysis {
|
|
785
|
+
ship_id: number;
|
|
786
|
+
index: number;
|
|
787
|
+
normal: NightCutinActionReport;
|
|
788
|
+
chuuha: NightCutinActionReport;
|
|
855
789
|
}
|
|
856
790
|
|
|
857
|
-
export
|
|
791
|
+
export interface NightCutinActionReport
|
|
792
|
+
extends ActionReport<NightPhaseAttackStyle> {
|
|
793
|
+
cutin_term: number | null;
|
|
794
|
+
}
|
|
858
795
|
|
|
859
|
-
export
|
|
796
|
+
export interface AttackAnalyzerShipConfig
|
|
797
|
+
extends ShipConditions,
|
|
798
|
+
NightFleetConditions {
|
|
799
|
+
fleet_los_mod?: number | null;
|
|
800
|
+
}
|
|
860
801
|
|
|
861
|
-
export
|
|
802
|
+
export interface AttackPowerModifier {
|
|
803
|
+
a?: number;
|
|
804
|
+
b?: number;
|
|
805
|
+
}
|
|
862
806
|
|
|
863
|
-
export interface
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
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;
|
|
871
818
|
}
|
|
872
819
|
|
|
873
|
-
export interface
|
|
874
|
-
|
|
875
|
-
|
|
820
|
+
export interface CustomPowerModifiers {
|
|
821
|
+
precap_mod?: AttackPowerModifier;
|
|
822
|
+
postcap_mod?: AttackPowerModifier;
|
|
823
|
+
basic_power_mod?: AttackPowerModifier;
|
|
824
|
+
historical_mod?: AttackPowerModifier;
|
|
876
825
|
}
|
|
877
826
|
|
|
878
|
-
export
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
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;
|
|
882
842
|
}
|
|
883
843
|
|
|
844
|
+
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
845
|
+
|
|
884
846
|
export interface MasterIBonuses {
|
|
885
847
|
shelling_power: MasterIBonusRule[];
|
|
886
848
|
shelling_accuracy: MasterIBonusRule[];
|
|
@@ -906,130 +868,171 @@ export interface MasterIBonusRule {
|
|
|
906
868
|
formula: CompiledEvaler;
|
|
907
869
|
}
|
|
908
870
|
|
|
909
|
-
export interface
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
871
|
+
export interface ShipAnalyzerConfig {
|
|
872
|
+
air_state?: AirState;
|
|
873
|
+
engagement?: Engagement;
|
|
874
|
+
left?: AttackAnalyzerShipConfig;
|
|
875
|
+
right?: AttackAnalyzerShipConfig;
|
|
914
876
|
}
|
|
915
877
|
|
|
916
|
-
export
|
|
917
|
-
|
|
918
|
-
|
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
| "Kai2"
|
|
922
|
-
| "TurbineSpeedBonus"
|
|
923
|
-
| "NewModelBoilerSpeedBonus"
|
|
924
|
-
| "Pillbox"
|
|
925
|
-
| "IsolatedIsland"
|
|
926
|
-
| "HarbourSummerPrincess"
|
|
927
|
-
| "SupplyDepot"
|
|
928
|
-
| "NewSupplyDepot"
|
|
929
|
-
| "PtImp"
|
|
930
|
-
| "BattleshipSummerPrincess"
|
|
931
|
-
| "HeavyCruiserSummerPrincess"
|
|
932
|
-
| "AnchorageWaterDemonVacationMode"
|
|
933
|
-
| "FrenchBattleshipPrincess"
|
|
934
|
-
| "DockPrincess";
|
|
935
|
-
|
|
936
|
-
export interface ShipConditions extends ShipPosition {
|
|
937
|
-
formation?: Formation;
|
|
938
|
-
amagiri_index?: number | null;
|
|
878
|
+
export interface FleetCutinReport<T> {
|
|
879
|
+
cutin: FleetCutin;
|
|
880
|
+
rate: number | null;
|
|
881
|
+
formation: Formation;
|
|
882
|
+
attacks: FleetCutinAttackReport<T>[];
|
|
939
883
|
}
|
|
940
884
|
|
|
941
|
-
export
|
|
885
|
+
export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
886
|
+
index: number;
|
|
887
|
+
ship_id: number;
|
|
888
|
+
power_mod: number;
|
|
889
|
+
}
|
|
942
890
|
|
|
943
|
-
export interface
|
|
944
|
-
|
|
945
|
-
|
|
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[];
|
|
946
897
|
}
|
|
947
898
|
|
|
948
|
-
export interface
|
|
949
|
-
|
|
950
|
-
|
|
899
|
+
export interface ShipDayCutinAnalysis {
|
|
900
|
+
ship_id: number;
|
|
901
|
+
role: Role;
|
|
951
902
|
index: number;
|
|
952
|
-
|
|
903
|
+
rank3: DayCutinReport;
|
|
904
|
+
rank2: DayCutinReport;
|
|
953
905
|
}
|
|
954
906
|
|
|
955
|
-
export interface
|
|
956
|
-
|
|
957
|
-
engagement?: Engagement;
|
|
958
|
-
left?: AttackAnalyzerShipConfig;
|
|
959
|
-
right?: AttackAnalyzerShipConfig;
|
|
907
|
+
export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
908
|
+
observation_term: number | null;
|
|
960
909
|
}
|
|
961
910
|
|
|
962
|
-
export
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
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;
|
|
967
920
|
}
|
|
968
921
|
|
|
969
|
-
export
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
|
973
|
-
|
|
974
|
-
|
|
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
|
+
}
|
|
975
930
|
|
|
976
|
-
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
|
+
}
|
|
977
939
|
|
|
978
|
-
export interface
|
|
979
|
-
|
|
980
|
-
|
|
940
|
+
export interface AswAttackStyle {
|
|
941
|
+
tag: "AswAttackStyle";
|
|
942
|
+
attack_type: AswAttackType;
|
|
981
943
|
}
|
|
982
944
|
|
|
983
|
-
export interface
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
landing_craft_synergy_mod: AttackPowerModifier;
|
|
987
|
-
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
988
|
-
m4a1dd_mod: AttackPowerModifier;
|
|
989
|
-
honi_mod: AttackPowerModifier;
|
|
990
|
-
postcap_general_mod: AttackPowerModifier;
|
|
991
|
-
pt_mod: AttackPowerModifier | null;
|
|
945
|
+
export interface TorpedoAttackStyle {
|
|
946
|
+
tag: "TorpedoAttackStyle";
|
|
947
|
+
attack_type: TorpedoAttackType;
|
|
992
948
|
}
|
|
993
949
|
|
|
994
|
-
export
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
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;
|
|
999
957
|
}
|
|
1000
958
|
|
|
1001
|
-
export type
|
|
959
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
1002
960
|
|
|
1003
|
-
export
|
|
961
|
+
export interface EquippabilityRule {
|
|
962
|
+
ship: CompiledEvaler;
|
|
963
|
+
keys?: string[];
|
|
964
|
+
include?: string;
|
|
965
|
+
exclude?: string;
|
|
966
|
+
}
|
|
1004
967
|
|
|
1005
|
-
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
|
+
}
|
|
1006
975
|
|
|
1007
|
-
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
|
+
}
|
|
1008
981
|
|
|
1009
|
-
export
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
| { t: "Torpedo" }
|
|
1014
|
-
| { t: "SupportShelling"; c: SupportShellingType };
|
|
982
|
+
export interface MstEquipShip {
|
|
983
|
+
api_ship_id: number;
|
|
984
|
+
api_equip_type: number[];
|
|
985
|
+
}
|
|
1015
986
|
|
|
1016
|
-
export
|
|
1017
|
-
|
|
1018
|
-
|
|
987
|
+
export interface EquipStype {
|
|
988
|
+
id: number;
|
|
989
|
+
equip_type: number[];
|
|
990
|
+
}
|
|
1019
991
|
|
|
1020
|
-
export
|
|
1021
|
-
|
|
1022
|
-
|
|
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
|
+
}
|
|
1023
1001
|
|
|
1024
|
-
export
|
|
1002
|
+
export interface CompNightAnalysis {
|
|
1003
|
+
night_cutin: CompNightCutinAnalysis;
|
|
1004
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
1005
|
+
}
|
|
1025
1006
|
|
|
1026
|
-
export
|
|
1007
|
+
export interface CompDayAnalysis {
|
|
1008
|
+
day_cutin: CompDayCutinAnalysis;
|
|
1009
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
1010
|
+
}
|
|
1027
1011
|
|
|
1028
|
-
export
|
|
1012
|
+
export interface CompAnalysis {
|
|
1013
|
+
day: CompDayAnalysis;
|
|
1014
|
+
night: CompNightAnalysis;
|
|
1015
|
+
contact: ContactAnalysis;
|
|
1016
|
+
anti_air: CompAntiAirAnalysis;
|
|
1017
|
+
}
|
|
1029
1018
|
|
|
1030
|
-
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
|
+
}
|
|
1031
1034
|
|
|
1032
|
-
export type
|
|
1035
|
+
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
1033
1036
|
|
|
1034
1037
|
/**
|
|
1035
1038
|
*/
|