fleethub-core 1.12.13 → 1.12.14
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 +463 -455
- package/node/fleethub_core.js +35 -35
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +66 -66
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +463 -455
- package/pkg/fleethub_core_bg.js +35 -35
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +66 -66
package/node/fleethub_core.d.ts
CHANGED
|
@@ -26,94 +26,6 @@ export type ShipAttr =
|
|
|
26
26
|
|
|
27
27
|
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
28
28
|
|
|
29
|
-
export interface MasterGear {
|
|
30
|
-
gear_id: number;
|
|
31
|
-
name: string;
|
|
32
|
-
types: GearTypeIdArray;
|
|
33
|
-
special_type?: number;
|
|
34
|
-
max_hp?: number;
|
|
35
|
-
firepower?: number;
|
|
36
|
-
armor?: number;
|
|
37
|
-
torpedo?: number;
|
|
38
|
-
anti_air?: number;
|
|
39
|
-
speed?: number;
|
|
40
|
-
bombing?: number;
|
|
41
|
-
asw?: number;
|
|
42
|
-
los?: number;
|
|
43
|
-
luck?: number;
|
|
44
|
-
accuracy?: number;
|
|
45
|
-
evasion?: number;
|
|
46
|
-
range?: number;
|
|
47
|
-
radius?: number;
|
|
48
|
-
cost?: number;
|
|
49
|
-
improvable?: boolean;
|
|
50
|
-
ship_anti_air_resist?: number;
|
|
51
|
-
fleet_anti_air_resist?: number;
|
|
52
|
-
historical_aircraft_group?: number;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export interface MasterIBonusRule {
|
|
56
|
-
expr: CompiledEvaler;
|
|
57
|
-
formula: CompiledEvaler;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export interface MasterIBonuses {
|
|
61
|
-
shelling_power: MasterIBonusRule[];
|
|
62
|
-
shelling_accuracy: MasterIBonusRule[];
|
|
63
|
-
shelling_aerial_power: MasterIBonusRule[];
|
|
64
|
-
torpedo_power: MasterIBonusRule[];
|
|
65
|
-
torpedo_accuracy: MasterIBonusRule[];
|
|
66
|
-
torpedo_evasion: MasterIBonusRule[];
|
|
67
|
-
asw_power: MasterIBonusRule[];
|
|
68
|
-
asw_accuracy: MasterIBonusRule[];
|
|
69
|
-
night_power: MasterIBonusRule[];
|
|
70
|
-
night_aerial_power: MasterIBonusRule[];
|
|
71
|
-
night_accuracy: MasterIBonusRule[];
|
|
72
|
-
defense_power: MasterIBonusRule[];
|
|
73
|
-
contact_selection: MasterIBonusRule[];
|
|
74
|
-
fighter_power: MasterIBonusRule[];
|
|
75
|
-
ship_anti_air: MasterIBonusRule[];
|
|
76
|
-
fleet_anti_air: MasterIBonusRule[];
|
|
77
|
-
elos: MasterIBonusRule[];
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export interface MasterBattleDefinitions {
|
|
81
|
-
formation: NestedFormationDef[];
|
|
82
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
83
|
-
day_cutin: DayCutinDef[];
|
|
84
|
-
night_cutin: NightCutinDef[];
|
|
85
|
-
historical_bonuses?: HistoricalBonusDef[];
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export interface FleetState {
|
|
89
|
-
id?: string;
|
|
90
|
-
len?: number;
|
|
91
|
-
s1?: ShipState;
|
|
92
|
-
s2?: ShipState;
|
|
93
|
-
s3?: ShipState;
|
|
94
|
-
s4?: ShipState;
|
|
95
|
-
s5?: ShipState;
|
|
96
|
-
s6?: ShipState;
|
|
97
|
-
s7?: ShipState;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export interface ActionReport<T> {
|
|
101
|
-
data: Record<string, AttackReport<T>>;
|
|
102
|
-
damage_state_density: Histogram<DamageState, number> | null;
|
|
103
|
-
is_active: boolean;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export interface AttackReport<T> {
|
|
107
|
-
style: T;
|
|
108
|
-
proc_rate: number | null;
|
|
109
|
-
attack_power: AttackPower | null;
|
|
110
|
-
attack_power_params: AttackPowerParams | null;
|
|
111
|
-
hits: number;
|
|
112
|
-
hit_rate: HitRate | null;
|
|
113
|
-
hit_rate_params: HitRateParams | null;
|
|
114
|
-
damage: DamageReport | null;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
29
|
export interface MoveShipPayload {
|
|
118
30
|
current: [string, string, ShipKey];
|
|
119
31
|
target: [string | null, string, ShipKey];
|
|
@@ -123,6 +35,16 @@ export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
|
123
35
|
|
|
124
36
|
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
125
37
|
|
|
38
|
+
export interface SlotSizeVecState {
|
|
39
|
+
ss1?: number;
|
|
40
|
+
ss2?: number;
|
|
41
|
+
ss3?: number;
|
|
42
|
+
ss4?: number;
|
|
43
|
+
ss5?: number;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
47
|
+
|
|
126
48
|
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
127
49
|
id?: string;
|
|
128
50
|
ship_id: number;
|
|
@@ -145,16 +67,6 @@ export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
|
145
67
|
custom_power_mods?: CustomPowerModifiers;
|
|
146
68
|
}
|
|
147
69
|
|
|
148
|
-
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
149
|
-
|
|
150
|
-
export interface SlotSizeVecState {
|
|
151
|
-
ss1?: number;
|
|
152
|
-
ss2?: number;
|
|
153
|
-
ss3?: number;
|
|
154
|
-
ss4?: number;
|
|
155
|
-
ss5?: number;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
70
|
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
159
71
|
|
|
160
72
|
export interface AirSquadronState extends GearVecState, SlotSizeVecState {
|
|
@@ -162,10 +74,8 @@ export interface AirSquadronState extends GearVecState, SlotSizeVecState {
|
|
|
162
74
|
mode?: AirSquadronMode;
|
|
163
75
|
}
|
|
164
76
|
|
|
165
|
-
export interface
|
|
166
|
-
|
|
167
|
-
len: number;
|
|
168
|
-
ships: [string, ShipMeta | null][];
|
|
77
|
+
export interface CompMeta {
|
|
78
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
169
79
|
}
|
|
170
80
|
|
|
171
81
|
export interface ShipMeta {
|
|
@@ -173,14 +83,18 @@ export interface ShipMeta {
|
|
|
173
83
|
ship_id: number;
|
|
174
84
|
}
|
|
175
85
|
|
|
176
|
-
export interface
|
|
177
|
-
|
|
86
|
+
export interface FleetMeta {
|
|
87
|
+
id: string;
|
|
88
|
+
len: number;
|
|
89
|
+
ships: [string, ShipMeta | null][];
|
|
178
90
|
}
|
|
179
91
|
|
|
180
|
-
export type
|
|
92
|
+
export type Role = "Main" | "Escort";
|
|
181
93
|
|
|
182
94
|
export type Align = "Left" | "Right";
|
|
183
95
|
|
|
96
|
+
export type Side = "Player" | "Enemy";
|
|
97
|
+
|
|
184
98
|
export interface ShipInput {
|
|
185
99
|
ship_id: number;
|
|
186
100
|
ctype: number;
|
|
@@ -188,9 +102,7 @@ export interface ShipInput {
|
|
|
188
102
|
yomi: string;
|
|
189
103
|
}
|
|
190
104
|
|
|
191
|
-
export interface
|
|
192
|
-
gear_id: number;
|
|
193
|
-
types: GearTypeIdArray;
|
|
105
|
+
export interface EBonuses {
|
|
194
106
|
firepower: number;
|
|
195
107
|
torpedo: number;
|
|
196
108
|
anti_air: number;
|
|
@@ -201,14 +113,11 @@ export interface GearInput {
|
|
|
201
113
|
bombing: number;
|
|
202
114
|
accuracy: number;
|
|
203
115
|
range: number;
|
|
204
|
-
radius: number;
|
|
205
|
-
stars: number;
|
|
206
|
-
ace: number;
|
|
207
116
|
}
|
|
208
117
|
|
|
209
|
-
export
|
|
210
|
-
|
|
211
|
-
|
|
118
|
+
export interface GearInput {
|
|
119
|
+
gear_id: number;
|
|
120
|
+
types: GearTypeIdArray;
|
|
212
121
|
firepower: number;
|
|
213
122
|
torpedo: number;
|
|
214
123
|
anti_air: number;
|
|
@@ -219,8 +128,13 @@ export interface EBonuses {
|
|
|
219
128
|
bombing: number;
|
|
220
129
|
accuracy: number;
|
|
221
130
|
range: number;
|
|
131
|
+
radius: number;
|
|
132
|
+
stars: number;
|
|
133
|
+
ace: number;
|
|
222
134
|
}
|
|
223
135
|
|
|
136
|
+
export type GearVecInput = GearInput[];
|
|
137
|
+
|
|
224
138
|
export type GearCategory =
|
|
225
139
|
| "Fighter"
|
|
226
140
|
| "Bomber"
|
|
@@ -317,16 +231,6 @@ export interface OrgState {
|
|
|
317
231
|
|
|
318
232
|
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
319
233
|
|
|
320
|
-
export interface CompDayAnalysis {
|
|
321
|
-
day_cutin: CompDayCutinAnalysis;
|
|
322
|
-
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
export interface CompNightAnalysis {
|
|
326
|
-
night_cutin: CompNightCutinAnalysis;
|
|
327
|
-
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
328
|
-
}
|
|
329
|
-
|
|
330
234
|
export interface CompAnalyzerConfig {
|
|
331
235
|
engagement: Engagement;
|
|
332
236
|
formation: Formation;
|
|
@@ -344,6 +248,16 @@ export interface CompAnalysis {
|
|
|
344
248
|
anti_air: CompAntiAirAnalysis;
|
|
345
249
|
}
|
|
346
250
|
|
|
251
|
+
export interface CompDayAnalysis {
|
|
252
|
+
day_cutin: CompDayCutinAnalysis;
|
|
253
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export interface CompNightAnalysis {
|
|
257
|
+
night_cutin: CompNightCutinAnalysis;
|
|
258
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
259
|
+
}
|
|
260
|
+
|
|
347
261
|
export interface ShipAnalyzerConfig {
|
|
348
262
|
air_state?: AirState;
|
|
349
263
|
engagement?: Engagement;
|
|
@@ -370,39 +284,166 @@ export interface SimulatorResult {
|
|
|
370
284
|
sunk_vec: [number, number, number][];
|
|
371
285
|
}
|
|
372
286
|
|
|
373
|
-
export
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
287
|
+
export interface MasterShip {
|
|
288
|
+
ship_id: number;
|
|
289
|
+
name: string;
|
|
290
|
+
yomi: string;
|
|
291
|
+
stype: number;
|
|
292
|
+
ctype: number;
|
|
293
|
+
nationality?: number;
|
|
294
|
+
sort_id?: number;
|
|
295
|
+
max_hp: StatInterval;
|
|
296
|
+
firepower: StatInterval;
|
|
297
|
+
armor: StatInterval;
|
|
298
|
+
torpedo: StatInterval;
|
|
299
|
+
evasion: StatInterval;
|
|
300
|
+
anti_air: StatInterval;
|
|
301
|
+
asw: StatInterval;
|
|
302
|
+
los: StatInterval;
|
|
303
|
+
luck: StatInterval;
|
|
304
|
+
torpedo_accuracy?: number;
|
|
305
|
+
basic_evasion_term?: number;
|
|
306
|
+
speed: number;
|
|
307
|
+
range?: number;
|
|
308
|
+
fuel?: number;
|
|
309
|
+
ammo?: number;
|
|
310
|
+
next_id?: number;
|
|
311
|
+
next_level?: number;
|
|
312
|
+
slotnum: number;
|
|
313
|
+
slots: SlotSizeVec;
|
|
314
|
+
stock: GearState[];
|
|
315
|
+
speed_group?: SpeedGroup;
|
|
316
|
+
useful?: boolean;
|
|
380
317
|
}
|
|
381
318
|
|
|
382
|
-
export type
|
|
383
|
-
|
|
384
|
-
export type SupportShellingType = ShellingType;
|
|
319
|
+
export type StatInterval = [number | null, number | null];
|
|
385
320
|
|
|
386
|
-
export
|
|
321
|
+
export interface GearVecState {
|
|
322
|
+
g1?: GearState;
|
|
323
|
+
g2?: GearState;
|
|
324
|
+
g3?: GearState;
|
|
325
|
+
g4?: GearState;
|
|
326
|
+
g5?: GearState;
|
|
327
|
+
gx?: GearState;
|
|
328
|
+
}
|
|
387
329
|
|
|
388
|
-
export
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
330
|
+
export interface GearState {
|
|
331
|
+
id?: string;
|
|
332
|
+
gear_id: number;
|
|
333
|
+
exp?: number;
|
|
334
|
+
stars?: number;
|
|
335
|
+
}
|
|
394
336
|
|
|
395
|
-
export
|
|
396
|
-
|
|
397
|
-
|
|
337
|
+
export interface FleetState {
|
|
338
|
+
id?: string;
|
|
339
|
+
len?: number;
|
|
340
|
+
s1?: ShipState;
|
|
341
|
+
s2?: ShipState;
|
|
342
|
+
s3?: ShipState;
|
|
343
|
+
s4?: ShipState;
|
|
344
|
+
s5?: ShipState;
|
|
345
|
+
s6?: ShipState;
|
|
346
|
+
s7?: ShipState;
|
|
347
|
+
}
|
|
398
348
|
|
|
399
|
-
export type
|
|
349
|
+
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
400
350
|
|
|
401
|
-
export
|
|
351
|
+
export interface ShellingStyle {
|
|
352
|
+
tag: "ShellingStyle";
|
|
353
|
+
attack_type: ShellingType;
|
|
354
|
+
cutin: DayCutinLike | null;
|
|
355
|
+
power_mod: number;
|
|
356
|
+
accuracy_mod: number;
|
|
357
|
+
hits: number;
|
|
358
|
+
}
|
|
402
359
|
|
|
403
|
-
export
|
|
404
|
-
|
|
405
|
-
|
|
360
|
+
export interface SupportShellingStyle {
|
|
361
|
+
tag: "SupportShellingStyle";
|
|
362
|
+
attack_type: SupportShellingType;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
export interface AswAttackStyle {
|
|
366
|
+
tag: "AswAttackStyle";
|
|
367
|
+
attack_type: AswAttackType;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
export interface NightAttackStyle {
|
|
371
|
+
tag: "NightAttackStyle";
|
|
372
|
+
attack_type: NightAttackType;
|
|
373
|
+
cutin: NightCutinLike | null;
|
|
374
|
+
power_mod: number;
|
|
375
|
+
accuracy_mod: number;
|
|
376
|
+
hits: number;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
380
|
+
|
|
381
|
+
export interface TorpedoAttackStyle {
|
|
382
|
+
tag: "TorpedoAttackStyle";
|
|
383
|
+
attack_type: TorpedoAttackType;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
export interface ShipConditions extends ShipPosition {
|
|
387
|
+
formation?: Formation;
|
|
388
|
+
amagiri_index?: number | null;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
export interface NodeAttackAnalyzerConfig {
|
|
392
|
+
air_state?: AirState;
|
|
393
|
+
engagement?: Engagement;
|
|
394
|
+
node_state?: NodeState;
|
|
395
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
396
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
export interface NodeAttackAnalysis {
|
|
400
|
+
left: AttackAnalysis;
|
|
401
|
+
right: AttackAnalysis;
|
|
402
|
+
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
403
|
+
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
407
|
+
formation?: Formation;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
export interface NodeState {
|
|
411
|
+
map?: number;
|
|
412
|
+
node?: NodeId;
|
|
413
|
+
phase?: number;
|
|
414
|
+
debuff?: boolean;
|
|
415
|
+
disable_historical_mod?: boolean;
|
|
416
|
+
landing_battle?: boolean;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
export type NodeId = string;
|
|
420
|
+
|
|
421
|
+
export type DayPhaseAttackType =
|
|
422
|
+
| { t: "Shelling"; c: ShellingType }
|
|
423
|
+
| { t: "Asw"; c: AswAttackType };
|
|
424
|
+
|
|
425
|
+
export type ShellingType = "Normal" | "Aerial";
|
|
426
|
+
|
|
427
|
+
export type SupportShellingType = ShellingType;
|
|
428
|
+
|
|
429
|
+
export type AttackType =
|
|
430
|
+
| { t: "Asw"; c: AswAttackType }
|
|
431
|
+
| { t: "Shelling"; c: ShellingType }
|
|
432
|
+
| { t: "Night"; c: NightAttackType }
|
|
433
|
+
| { t: "Torpedo" }
|
|
434
|
+
| { t: "SupportShelling"; c: SupportShellingType };
|
|
435
|
+
|
|
436
|
+
export type NightPhaseAttackType =
|
|
437
|
+
| { t: "Night"; c: NightAttackType }
|
|
438
|
+
| { t: "Asw"; c: AswAttackType };
|
|
439
|
+
|
|
440
|
+
export type TorpedoAttackType = null;
|
|
441
|
+
|
|
442
|
+
export type AswAttackType = "DepthCharge" | "Aerial";
|
|
443
|
+
|
|
444
|
+
export type NightAttackType = "Normal" | "Swordfish" | "Aerial";
|
|
445
|
+
|
|
446
|
+
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
406
447
|
|
|
407
448
|
export type SlotSizeVec = (number | null)[];
|
|
408
449
|
|
|
@@ -425,8 +466,6 @@ export type SpecialEnemyType =
|
|
|
425
466
|
| "SummerAircraftCarrierDemon"
|
|
426
467
|
| "EuropeanWaterPrincess";
|
|
427
468
|
|
|
428
|
-
export type Role = "Main" | "Escort";
|
|
429
|
-
|
|
430
469
|
export type FleetCutin =
|
|
431
470
|
| "NelsonTouch"
|
|
432
471
|
| "NagatoClassCutin"
|
|
@@ -437,6 +476,8 @@ export type FleetCutin =
|
|
|
437
476
|
| "QueenElizabethClassCutin"
|
|
438
477
|
| "RichelieuClassCutin";
|
|
439
478
|
|
|
479
|
+
export type NightCutinLike = NightCutin | FleetCutin;
|
|
480
|
+
|
|
440
481
|
export type NightCutin =
|
|
441
482
|
| "MainTorpRadar"
|
|
442
483
|
| "TorpLookoutRadar"
|
|
@@ -458,8 +499,6 @@ export type NightCutin =
|
|
|
458
499
|
| "Cvci1_18"
|
|
459
500
|
| "Photobomber";
|
|
460
501
|
|
|
461
|
-
export type NightCutinLike = NightCutin | FleetCutin;
|
|
462
|
-
|
|
463
502
|
export type DayCutinLike = DayCutin | FleetCutin;
|
|
464
503
|
|
|
465
504
|
export type DayCutin =
|
|
@@ -509,12 +548,6 @@ export type ShipType =
|
|
|
509
548
|
| "CT"
|
|
510
549
|
| "AO";
|
|
511
550
|
|
|
512
|
-
export interface HitRate {
|
|
513
|
-
normal: number;
|
|
514
|
-
critical: number;
|
|
515
|
-
total: number;
|
|
516
|
-
}
|
|
517
|
-
|
|
518
551
|
export interface HitRateParams {
|
|
519
552
|
accuracy_term: number;
|
|
520
553
|
evasion_term: number;
|
|
@@ -524,7 +557,11 @@ export interface HitRateParams {
|
|
|
524
557
|
hit_percentage_bonus: number;
|
|
525
558
|
}
|
|
526
559
|
|
|
527
|
-
export
|
|
560
|
+
export interface HitRate {
|
|
561
|
+
normal: number;
|
|
562
|
+
critical: number;
|
|
563
|
+
total: number;
|
|
564
|
+
}
|
|
528
565
|
|
|
529
566
|
export interface DamageReport {
|
|
530
567
|
miss_damage_min: number;
|
|
@@ -539,6 +576,10 @@ export interface DamageReport {
|
|
|
539
576
|
damage_state_density: Histogram<DamageState, number>;
|
|
540
577
|
}
|
|
541
578
|
|
|
579
|
+
export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
580
|
+
observation_term: number | null;
|
|
581
|
+
}
|
|
582
|
+
|
|
542
583
|
export interface ShipDayCutinAnalysis {
|
|
543
584
|
ship_id: number;
|
|
544
585
|
role: Role;
|
|
@@ -555,14 +596,11 @@ export interface CompDayCutinAnalysis {
|
|
|
555
596
|
ships: ShipDayCutinAnalysis[];
|
|
556
597
|
}
|
|
557
598
|
|
|
558
|
-
export interface
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
rank1: number;
|
|
564
|
-
rank2: number;
|
|
565
|
-
rank3: number;
|
|
599
|
+
export interface ShipNightCutinAnalysis {
|
|
600
|
+
ship_id: number;
|
|
601
|
+
index: number;
|
|
602
|
+
normal: NightCutinActionReport;
|
|
603
|
+
chuuha: NightCutinActionReport;
|
|
566
604
|
}
|
|
567
605
|
|
|
568
606
|
export interface NightCutinActionReport
|
|
@@ -570,11 +608,10 @@ export interface NightCutinActionReport
|
|
|
570
608
|
cutin_term: number | null;
|
|
571
609
|
}
|
|
572
610
|
|
|
573
|
-
export interface
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
chuuha: NightCutinActionReport;
|
|
611
|
+
export interface NightContactChance {
|
|
612
|
+
rank1: number;
|
|
613
|
+
rank2: number;
|
|
614
|
+
rank3: number;
|
|
578
615
|
}
|
|
579
616
|
|
|
580
617
|
export interface CompNightCutinAnalysis {
|
|
@@ -582,11 +619,186 @@ export interface CompNightCutinAnalysis {
|
|
|
582
619
|
ships: ShipNightCutinAnalysis[];
|
|
583
620
|
}
|
|
584
621
|
|
|
622
|
+
export interface MasterGear {
|
|
623
|
+
gear_id: number;
|
|
624
|
+
name: string;
|
|
625
|
+
types: GearTypeIdArray;
|
|
626
|
+
special_type?: number;
|
|
627
|
+
max_hp?: number;
|
|
628
|
+
firepower?: number;
|
|
629
|
+
armor?: number;
|
|
630
|
+
torpedo?: number;
|
|
631
|
+
anti_air?: number;
|
|
632
|
+
speed?: number;
|
|
633
|
+
bombing?: number;
|
|
634
|
+
asw?: number;
|
|
635
|
+
los?: number;
|
|
636
|
+
luck?: number;
|
|
637
|
+
accuracy?: number;
|
|
638
|
+
evasion?: number;
|
|
639
|
+
range?: number;
|
|
640
|
+
radius?: number;
|
|
641
|
+
cost?: number;
|
|
642
|
+
improvable?: boolean;
|
|
643
|
+
ship_anti_air_resist?: number;
|
|
644
|
+
fleet_anti_air_resist?: number;
|
|
645
|
+
historical_aircraft_group?: number;
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
649
|
+
|
|
650
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
651
|
+
|
|
652
|
+
export interface SupportShellingSimulatorParams {
|
|
653
|
+
attacker_formation?: Formation;
|
|
654
|
+
target_formation?: Formation;
|
|
655
|
+
engagement: Engagement;
|
|
656
|
+
node_state: NodeState;
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
export interface MasterData extends MasterBattleDefinitions {
|
|
660
|
+
created_at: number;
|
|
661
|
+
gears: MasterGear[];
|
|
662
|
+
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
663
|
+
ships: MasterShip[];
|
|
664
|
+
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
665
|
+
ibonuses: MasterIBonuses;
|
|
666
|
+
equippability: MasterEquippability;
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
export interface NationalityDef {
|
|
670
|
+
id: number;
|
|
671
|
+
ctypes: number[];
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
export interface MasterAttrRule<T> {
|
|
675
|
+
tag: T;
|
|
676
|
+
name: string;
|
|
677
|
+
expr: CompiledEvaler;
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
export type CompiledEvaler = string;
|
|
681
|
+
|
|
682
|
+
export interface NightConditions {
|
|
683
|
+
player?: NightFleetConditions;
|
|
684
|
+
enemy?: NightFleetConditions;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
export interface BattleConditions {
|
|
688
|
+
org_type: OrgType;
|
|
689
|
+
role: Role;
|
|
690
|
+
ship_index: number;
|
|
691
|
+
fleet_len: number;
|
|
692
|
+
formation: Formation;
|
|
693
|
+
fleet_los_mod: number | null;
|
|
694
|
+
night_conditions: NightFleetConditions;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
export interface NightFleetConditions {
|
|
698
|
+
night_contact_rank?: ContactRank | null;
|
|
699
|
+
starshell_index?: number | null;
|
|
700
|
+
searchlight_index?: number | null;
|
|
701
|
+
activates_large_searchlight?: boolean;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
export interface ShipPosition {
|
|
705
|
+
org_type?: OrgType;
|
|
706
|
+
fleet_type?: FleetType;
|
|
707
|
+
fleet_len?: number;
|
|
708
|
+
index?: number;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
export type GearAttr =
|
|
712
|
+
| "Unknown"
|
|
713
|
+
| "HighAngleMount"
|
|
714
|
+
| "NightFighter"
|
|
715
|
+
| "NightAttacker"
|
|
716
|
+
| "HeavyBomber"
|
|
717
|
+
| "NightRecon"
|
|
718
|
+
| "MainGun"
|
|
719
|
+
| "Radar"
|
|
720
|
+
| "SurfaceRadar"
|
|
721
|
+
| "AirRadar"
|
|
722
|
+
| "DepthChargeProjector"
|
|
723
|
+
| "SynergisticDepthCharge"
|
|
724
|
+
| "AntiSubMortar"
|
|
725
|
+
| "AntiSubWeapon"
|
|
726
|
+
| "ApDepthCharge"
|
|
727
|
+
| "AntiSubAircraft"
|
|
728
|
+
| "LateModelBowTorpedo"
|
|
729
|
+
| "Seaplane"
|
|
730
|
+
| "CbAircraft"
|
|
731
|
+
| "LbAircraft"
|
|
732
|
+
| "JetAircraft"
|
|
733
|
+
| "Fighter"
|
|
734
|
+
| "Recon"
|
|
735
|
+
| "ObservationSeaplane"
|
|
736
|
+
| "CbFighterBomber"
|
|
737
|
+
| "AntiInstDiveBomber"
|
|
738
|
+
| "CbSwordfish"
|
|
739
|
+
| "SemiNightPlane"
|
|
740
|
+
| "HighAltitudeInterceptor";
|
|
741
|
+
|
|
742
|
+
export interface MasterIBonuses {
|
|
743
|
+
shelling_power: MasterIBonusRule[];
|
|
744
|
+
shelling_accuracy: MasterIBonusRule[];
|
|
745
|
+
shelling_aerial_power: MasterIBonusRule[];
|
|
746
|
+
torpedo_power: MasterIBonusRule[];
|
|
747
|
+
torpedo_accuracy: MasterIBonusRule[];
|
|
748
|
+
torpedo_evasion: MasterIBonusRule[];
|
|
749
|
+
asw_power: MasterIBonusRule[];
|
|
750
|
+
asw_accuracy: MasterIBonusRule[];
|
|
751
|
+
night_power: MasterIBonusRule[];
|
|
752
|
+
night_aerial_power: MasterIBonusRule[];
|
|
753
|
+
night_accuracy: MasterIBonusRule[];
|
|
754
|
+
defense_power: MasterIBonusRule[];
|
|
755
|
+
contact_selection: MasterIBonusRule[];
|
|
756
|
+
fighter_power: MasterIBonusRule[];
|
|
757
|
+
ship_anti_air: MasterIBonusRule[];
|
|
758
|
+
fleet_anti_air: MasterIBonusRule[];
|
|
759
|
+
elos: MasterIBonusRule[];
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
export interface MasterIBonusRule {
|
|
763
|
+
expr: CompiledEvaler;
|
|
764
|
+
formula: CompiledEvaler;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
export interface MasterBattleDefinitions {
|
|
768
|
+
formation: NestedFormationDef[];
|
|
769
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
770
|
+
day_cutin: DayCutinDef[];
|
|
771
|
+
night_cutin: NightCutinDef[];
|
|
772
|
+
historical_bonuses?: HistoricalBonusDef[];
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
export interface ActionReport<T> {
|
|
776
|
+
data: Record<string, AttackReport<T>>;
|
|
777
|
+
damage_state_density: Histogram<DamageState, number> | null;
|
|
778
|
+
is_active: boolean;
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
export interface AttackReport<T> {
|
|
782
|
+
style: T;
|
|
783
|
+
proc_rate: number | null;
|
|
784
|
+
attack_power: AttackPower | null;
|
|
785
|
+
attack_power_params: AttackPowerParams | null;
|
|
786
|
+
hits: number;
|
|
787
|
+
hit_rate: HitRate | null;
|
|
788
|
+
hit_rate_params: HitRateParams | null;
|
|
789
|
+
damage: DamageReport | null;
|
|
790
|
+
}
|
|
791
|
+
|
|
585
792
|
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
586
793
|
|
|
587
794
|
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
588
795
|
|
|
589
|
-
export
|
|
796
|
+
export interface HistoricalParams {
|
|
797
|
+
power_mod: AttackPowerModifier;
|
|
798
|
+
armor_penetration: number;
|
|
799
|
+
accuracy_mod: number;
|
|
800
|
+
target_evasion_mod: number;
|
|
801
|
+
}
|
|
590
802
|
|
|
591
803
|
export interface BattleDefinitions {
|
|
592
804
|
formation: Record<Formation, NestedFormationDef>;
|
|
@@ -596,14 +808,6 @@ export interface BattleDefinitions {
|
|
|
596
808
|
historical_bonuses: HistoricalBonusDef[];
|
|
597
809
|
}
|
|
598
810
|
|
|
599
|
-
export interface AntiAirCutinDef {
|
|
600
|
-
id: number;
|
|
601
|
-
type_factor: number | null;
|
|
602
|
-
multiplier: number | null;
|
|
603
|
-
guaranteed: number | null;
|
|
604
|
-
sequential: boolean | null;
|
|
605
|
-
}
|
|
606
|
-
|
|
607
811
|
export interface HistoricalBonusDef {
|
|
608
812
|
map?: number;
|
|
609
813
|
node?: CompiledEvaler;
|
|
@@ -617,25 +821,6 @@ export interface HistoricalBonusDef {
|
|
|
617
821
|
evasion_mod?: number;
|
|
618
822
|
}
|
|
619
823
|
|
|
620
|
-
export interface FormationDef {
|
|
621
|
-
tag: Formation;
|
|
622
|
-
protection_rate: number | null;
|
|
623
|
-
fleet_anti_air_mod: number;
|
|
624
|
-
shelling: FormationCombatModifiersDef;
|
|
625
|
-
torpedo: FormationCombatModifiersDef;
|
|
626
|
-
asw: FormationCombatModifiersDef;
|
|
627
|
-
night: FormationCombatModifiersDef;
|
|
628
|
-
support_shelling: FormationCombatModifiersDef;
|
|
629
|
-
}
|
|
630
|
-
|
|
631
|
-
export interface DayCutinDef {
|
|
632
|
-
tag: DayCutin;
|
|
633
|
-
hits: number;
|
|
634
|
-
type_factor: number | null;
|
|
635
|
-
power_mod: number | null;
|
|
636
|
-
accuracy_mod: number | null;
|
|
637
|
-
}
|
|
638
|
-
|
|
639
824
|
export type NestedFormationDef =
|
|
640
825
|
| FormationDef
|
|
641
826
|
| { top_half: FormationDef; bottom_half: FormationDef };
|
|
@@ -648,29 +833,37 @@ export interface NightCutinDef {
|
|
|
648
833
|
accuracy_mod: number | null;
|
|
649
834
|
}
|
|
650
835
|
|
|
651
|
-
export interface HistoricalParams {
|
|
652
|
-
power_mod: AttackPowerModifier;
|
|
653
|
-
armor_penetration: number;
|
|
654
|
-
accuracy_mod: number;
|
|
655
|
-
target_evasion_mod: number;
|
|
656
|
-
}
|
|
657
|
-
|
|
658
836
|
export interface FormationCombatModifiersDef {
|
|
659
837
|
power_mod?: number;
|
|
660
838
|
accuracy_mod?: number;
|
|
661
839
|
evasion_mod?: number;
|
|
662
840
|
}
|
|
663
841
|
|
|
664
|
-
export interface
|
|
665
|
-
|
|
666
|
-
|
|
842
|
+
export interface FormationDef {
|
|
843
|
+
tag: Formation;
|
|
844
|
+
protection_rate: number | null;
|
|
845
|
+
fleet_anti_air_mod: number;
|
|
846
|
+
shelling: FormationCombatModifiersDef;
|
|
847
|
+
torpedo: FormationCombatModifiersDef;
|
|
848
|
+
asw: FormationCombatModifiersDef;
|
|
849
|
+
night: FormationCombatModifiersDef;
|
|
850
|
+
support_shelling: FormationCombatModifiersDef;
|
|
667
851
|
}
|
|
668
852
|
|
|
669
|
-
export interface
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
853
|
+
export interface DayCutinDef {
|
|
854
|
+
tag: DayCutin;
|
|
855
|
+
hits: number;
|
|
856
|
+
type_factor: number | null;
|
|
857
|
+
power_mod: number | null;
|
|
858
|
+
accuracy_mod: number | null;
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
export interface AntiAirCutinDef {
|
|
862
|
+
id: number;
|
|
863
|
+
type_factor: number | null;
|
|
864
|
+
multiplier: number | null;
|
|
865
|
+
guaranteed: number | null;
|
|
866
|
+
sequential: boolean | null;
|
|
674
867
|
}
|
|
675
868
|
|
|
676
869
|
export interface SpecialEnemyModifiers {
|
|
@@ -682,12 +875,32 @@ export interface SpecialEnemyModifiers {
|
|
|
682
875
|
honi_mod: AttackPowerModifier;
|
|
683
876
|
toku_daihatsu_chiha_mod: AttackPowerModifier;
|
|
684
877
|
toku_daihatsu_chiha_kai_mod: AttackPowerModifier;
|
|
878
|
+
army_infantry_mod: AttackPowerModifier;
|
|
879
|
+
army_infantry_chiha_kai_mod: AttackPowerModifier;
|
|
880
|
+
t97_tank_chiha_mod: AttackPowerModifier;
|
|
881
|
+
t97_tank_chiha_kai_mod: AttackPowerModifier;
|
|
882
|
+
landing_forces_mod: AttackPowerModifier;
|
|
883
|
+
landing_forces_group_mod: AttackPowerModifier;
|
|
884
|
+
landing_forces_t4_mod: AttackPowerModifier;
|
|
885
|
+
landing_forces_t4kai_mod: AttackPowerModifier;
|
|
685
886
|
t4_tank_group_mod: AttackPowerModifier;
|
|
686
887
|
t4_tank_kai_mod: AttackPowerModifier;
|
|
687
888
|
postcap_general_mod: AttackPowerModifier;
|
|
688
889
|
pt_mod: AttackPowerModifier | null;
|
|
689
890
|
}
|
|
690
891
|
|
|
892
|
+
export interface AttackPowerModifier {
|
|
893
|
+
a?: number;
|
|
894
|
+
b?: number;
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
export interface CustomPowerModifiers {
|
|
898
|
+
precap_mod?: AttackPowerModifier;
|
|
899
|
+
postcap_mod?: AttackPowerModifier;
|
|
900
|
+
basic_power_mod?: AttackPowerModifier;
|
|
901
|
+
historical_mod?: AttackPowerModifier;
|
|
902
|
+
}
|
|
903
|
+
|
|
691
904
|
export type OrgType =
|
|
692
905
|
| "Single"
|
|
693
906
|
| "CarrierTaskForce"
|
|
@@ -696,8 +909,6 @@ export type OrgType =
|
|
|
696
909
|
| "EnemySingle"
|
|
697
910
|
| "EnemyCombined";
|
|
698
911
|
|
|
699
|
-
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
700
|
-
|
|
701
912
|
export type AirState =
|
|
702
913
|
| "AirSupremacy"
|
|
703
914
|
| "AirSuperiority"
|
|
@@ -705,14 +916,16 @@ export type AirState =
|
|
|
705
916
|
| "AirDenial"
|
|
706
917
|
| "AirIncapability";
|
|
707
918
|
|
|
919
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
920
|
+
|
|
921
|
+
export type Formation = SingleFormation | CombinedFormation;
|
|
922
|
+
|
|
708
923
|
export type CombinedFormation =
|
|
709
924
|
| "Cruising1"
|
|
710
925
|
| "Cruising2"
|
|
711
926
|
| "Cruising3"
|
|
712
927
|
| "Cruising4";
|
|
713
928
|
|
|
714
|
-
export type Formation = SingleFormation | CombinedFormation;
|
|
715
|
-
|
|
716
929
|
export type SingleFormation =
|
|
717
930
|
| "LineAhead"
|
|
718
931
|
| "DoubleLine"
|
|
@@ -752,6 +965,16 @@ export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
|
752
965
|
power_mod: number;
|
|
753
966
|
}
|
|
754
967
|
|
|
968
|
+
export interface AttackPower {
|
|
969
|
+
precap: number;
|
|
970
|
+
is_capped: boolean;
|
|
971
|
+
capped: number;
|
|
972
|
+
normal: number;
|
|
973
|
+
critical: number;
|
|
974
|
+
armor_penetration: number;
|
|
975
|
+
remaining_ammo_mod: number;
|
|
976
|
+
}
|
|
977
|
+
|
|
755
978
|
export interface AttackPowerParams {
|
|
756
979
|
is_cutin: boolean;
|
|
757
980
|
basic: number;
|
|
@@ -769,16 +992,6 @@ export interface AttackPowerParams {
|
|
|
769
992
|
custom_mods: CustomPowerModifiers;
|
|
770
993
|
}
|
|
771
994
|
|
|
772
|
-
export interface AttackPower {
|
|
773
|
-
precap: number;
|
|
774
|
-
is_capped: boolean;
|
|
775
|
-
capped: number;
|
|
776
|
-
normal: number;
|
|
777
|
-
critical: number;
|
|
778
|
-
armor_penetration: number;
|
|
779
|
-
remaining_ammo_mod: number;
|
|
780
|
-
}
|
|
781
|
-
|
|
782
995
|
export interface AttackAnalysis {
|
|
783
996
|
attacker_is_player: boolean;
|
|
784
997
|
attacker_ship_id: number;
|
|
@@ -791,6 +1004,11 @@ export interface AttackAnalysis {
|
|
|
791
1004
|
support_shelling: ActionReport<SupportShellingStyle>;
|
|
792
1005
|
}
|
|
793
1006
|
|
|
1007
|
+
export interface ContactAnalysis {
|
|
1008
|
+
single: DayContactChance[] | null;
|
|
1009
|
+
combined: DayContactChance[] | null;
|
|
1010
|
+
}
|
|
1011
|
+
|
|
794
1012
|
export interface DayContactChance {
|
|
795
1013
|
air_state: AirState;
|
|
796
1014
|
trigger_rate: number;
|
|
@@ -800,203 +1018,9 @@ export interface DayContactChance {
|
|
|
800
1018
|
total: number;
|
|
801
1019
|
}
|
|
802
1020
|
|
|
803
|
-
export interface
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
}
|
|
807
|
-
|
|
808
|
-
export interface MasterAttrRule<T> {
|
|
809
|
-
tag: T;
|
|
810
|
-
name: string;
|
|
811
|
-
expr: CompiledEvaler;
|
|
812
|
-
}
|
|
813
|
-
|
|
814
|
-
export interface NationalityDef {
|
|
815
|
-
id: number;
|
|
816
|
-
ctypes: number[];
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
export interface MasterData extends MasterBattleDefinitions {
|
|
820
|
-
created_at: number;
|
|
821
|
-
gears: MasterGear[];
|
|
822
|
-
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
823
|
-
ships: MasterShip[];
|
|
824
|
-
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
825
|
-
ibonuses: MasterIBonuses;
|
|
826
|
-
equippability: MasterEquippability;
|
|
827
|
-
}
|
|
828
|
-
|
|
829
|
-
export type CompiledEvaler = string;
|
|
830
|
-
|
|
831
|
-
export interface NightConditions {
|
|
832
|
-
player?: NightFleetConditions;
|
|
833
|
-
enemy?: NightFleetConditions;
|
|
834
|
-
}
|
|
835
|
-
|
|
836
|
-
export interface BattleConditions {
|
|
837
|
-
org_type: OrgType;
|
|
838
|
-
role: Role;
|
|
839
|
-
ship_index: number;
|
|
840
|
-
fleet_len: number;
|
|
841
|
-
formation: Formation;
|
|
842
|
-
fleet_los_mod: number | null;
|
|
843
|
-
night_conditions: NightFleetConditions;
|
|
844
|
-
}
|
|
845
|
-
|
|
846
|
-
export interface NightFleetConditions {
|
|
847
|
-
night_contact_rank?: ContactRank | null;
|
|
848
|
-
starshell_index?: number | null;
|
|
849
|
-
searchlight_index?: number | null;
|
|
850
|
-
activates_large_searchlight?: boolean;
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
export interface ShipPosition {
|
|
854
|
-
org_type?: OrgType;
|
|
855
|
-
fleet_type?: FleetType;
|
|
856
|
-
fleet_len?: number;
|
|
857
|
-
index?: number;
|
|
858
|
-
}
|
|
859
|
-
|
|
860
|
-
export type GearAttr =
|
|
861
|
-
| "Unknown"
|
|
862
|
-
| "HighAngleMount"
|
|
863
|
-
| "NightFighter"
|
|
864
|
-
| "NightAttacker"
|
|
865
|
-
| "HeavyBomber"
|
|
866
|
-
| "NightRecon"
|
|
867
|
-
| "MainGun"
|
|
868
|
-
| "Radar"
|
|
869
|
-
| "SurfaceRadar"
|
|
870
|
-
| "AirRadar"
|
|
871
|
-
| "DepthChargeProjector"
|
|
872
|
-
| "SynergisticDepthCharge"
|
|
873
|
-
| "AntiSubMortar"
|
|
874
|
-
| "AntiSubWeapon"
|
|
875
|
-
| "ApDepthCharge"
|
|
876
|
-
| "AntiSubAircraft"
|
|
877
|
-
| "LateModelBowTorpedo"
|
|
878
|
-
| "Seaplane"
|
|
879
|
-
| "CbAircraft"
|
|
880
|
-
| "LbAircraft"
|
|
881
|
-
| "JetAircraft"
|
|
882
|
-
| "Fighter"
|
|
883
|
-
| "Recon"
|
|
884
|
-
| "ObservationSeaplane"
|
|
885
|
-
| "CbFighterBomber"
|
|
886
|
-
| "AntiInstDiveBomber"
|
|
887
|
-
| "CbSwordfish"
|
|
888
|
-
| "SemiNightPlane"
|
|
889
|
-
| "HighAltitudeInterceptor";
|
|
890
|
-
|
|
891
|
-
export type StatInterval = [number | null, number | null];
|
|
892
|
-
|
|
893
|
-
export interface MasterShip {
|
|
894
|
-
ship_id: number;
|
|
895
|
-
name: string;
|
|
896
|
-
yomi: string;
|
|
897
|
-
stype: number;
|
|
898
|
-
ctype: number;
|
|
899
|
-
nationality?: number;
|
|
900
|
-
sort_id?: number;
|
|
901
|
-
max_hp: StatInterval;
|
|
902
|
-
firepower: StatInterval;
|
|
903
|
-
armor: StatInterval;
|
|
904
|
-
torpedo: StatInterval;
|
|
905
|
-
evasion: StatInterval;
|
|
906
|
-
anti_air: StatInterval;
|
|
907
|
-
asw: StatInterval;
|
|
908
|
-
los: StatInterval;
|
|
909
|
-
luck: StatInterval;
|
|
910
|
-
torpedo_accuracy?: number;
|
|
911
|
-
basic_evasion_term?: number;
|
|
912
|
-
speed: number;
|
|
913
|
-
range?: number;
|
|
914
|
-
fuel?: number;
|
|
915
|
-
ammo?: number;
|
|
916
|
-
next_id?: number;
|
|
917
|
-
next_level?: number;
|
|
918
|
-
slotnum: number;
|
|
919
|
-
slots: SlotSizeVec;
|
|
920
|
-
stock: GearState[];
|
|
921
|
-
speed_group?: SpeedGroup;
|
|
922
|
-
useful?: boolean;
|
|
923
|
-
}
|
|
924
|
-
|
|
925
|
-
export interface GearVecState {
|
|
926
|
-
g1?: GearState;
|
|
927
|
-
g2?: GearState;
|
|
928
|
-
g3?: GearState;
|
|
929
|
-
g4?: GearState;
|
|
930
|
-
g5?: GearState;
|
|
931
|
-
gx?: GearState;
|
|
932
|
-
}
|
|
933
|
-
|
|
934
|
-
export interface GearState {
|
|
935
|
-
id?: string;
|
|
936
|
-
gear_id: number;
|
|
937
|
-
exp?: number;
|
|
938
|
-
stars?: number;
|
|
939
|
-
}
|
|
940
|
-
|
|
941
|
-
export interface TorpedoAttackStyle {
|
|
942
|
-
tag: "TorpedoAttackStyle";
|
|
943
|
-
attack_type: TorpedoAttackType;
|
|
944
|
-
}
|
|
945
|
-
|
|
946
|
-
export interface ShellingStyle {
|
|
947
|
-
tag: "ShellingStyle";
|
|
948
|
-
attack_type: ShellingType;
|
|
949
|
-
cutin: DayCutinLike | null;
|
|
950
|
-
power_mod: number;
|
|
951
|
-
accuracy_mod: number;
|
|
952
|
-
hits: number;
|
|
953
|
-
}
|
|
954
|
-
|
|
955
|
-
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
956
|
-
|
|
957
|
-
export interface AswAttackStyle {
|
|
958
|
-
tag: "AswAttackStyle";
|
|
959
|
-
attack_type: AswAttackType;
|
|
960
|
-
}
|
|
961
|
-
|
|
962
|
-
export interface NightAttackStyle {
|
|
963
|
-
tag: "NightAttackStyle";
|
|
964
|
-
attack_type: NightAttackType;
|
|
965
|
-
cutin: NightCutinLike | null;
|
|
966
|
-
power_mod: number;
|
|
967
|
-
accuracy_mod: number;
|
|
968
|
-
hits: number;
|
|
969
|
-
}
|
|
970
|
-
|
|
971
|
-
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
972
|
-
|
|
973
|
-
export interface SupportShellingStyle {
|
|
974
|
-
tag: "SupportShellingStyle";
|
|
975
|
-
attack_type: SupportShellingType;
|
|
976
|
-
}
|
|
977
|
-
|
|
978
|
-
export interface ShipConditions extends ShipPosition {
|
|
979
|
-
formation?: Formation;
|
|
980
|
-
amagiri_index?: number | null;
|
|
981
|
-
}
|
|
982
|
-
|
|
983
|
-
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
984
|
-
formation?: Formation;
|
|
985
|
-
}
|
|
986
|
-
|
|
987
|
-
export interface NodeAttackAnalyzerConfig {
|
|
988
|
-
air_state?: AirState;
|
|
989
|
-
engagement?: Engagement;
|
|
990
|
-
node_state?: NodeState;
|
|
991
|
-
left?: NodeAttackAnalyzerShipConfig;
|
|
992
|
-
right?: NodeAttackAnalyzerShipConfig;
|
|
993
|
-
}
|
|
994
|
-
|
|
995
|
-
export interface NodeAttackAnalysis {
|
|
996
|
-
left: AttackAnalysis;
|
|
997
|
-
right: AttackAnalysis;
|
|
998
|
-
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
999
|
-
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
1021
|
+
export interface MstStype {
|
|
1022
|
+
api_id: number;
|
|
1023
|
+
api_equip_type: Record<number, number>;
|
|
1000
1024
|
}
|
|
1001
1025
|
|
|
1002
1026
|
export interface MasterEquippability {
|
|
@@ -1009,16 +1033,6 @@ export interface MasterEquippability {
|
|
|
1009
1033
|
|
|
1010
1034
|
export type MstEquipShipValue = null | number[];
|
|
1011
1035
|
|
|
1012
|
-
export interface MstEquipExslotShip {
|
|
1013
|
-
api_ctypes: Record<number, number> | null;
|
|
1014
|
-
api_ship_ids: Record<number, number> | null;
|
|
1015
|
-
api_stypes: Record<number, number> | null;
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
export interface MstEquipShip {
|
|
1019
|
-
api_equip_type: Record<number, MstEquipShipValue>;
|
|
1020
|
-
}
|
|
1021
|
-
|
|
1022
1036
|
export interface EquippabilityRule {
|
|
1023
1037
|
ship: CompiledEvaler;
|
|
1024
1038
|
keys?: string[];
|
|
@@ -1026,22 +1040,16 @@ export interface EquippabilityRule {
|
|
|
1026
1040
|
exclude?: string;
|
|
1027
1041
|
}
|
|
1028
1042
|
|
|
1029
|
-
export interface
|
|
1030
|
-
|
|
1031
|
-
api_equip_type: Record<number, number>;
|
|
1043
|
+
export interface MstEquipShip {
|
|
1044
|
+
api_equip_type: Record<number, MstEquipShipValue>;
|
|
1032
1045
|
}
|
|
1033
1046
|
|
|
1034
|
-
export interface
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
debuff?: boolean;
|
|
1039
|
-
disable_historical_mod?: boolean;
|
|
1040
|
-
landing_battle?: boolean;
|
|
1047
|
+
export interface MstEquipExslotShip {
|
|
1048
|
+
api_ctypes: Record<number, number> | null;
|
|
1049
|
+
api_ship_ids: Record<number, number> | null;
|
|
1050
|
+
api_stypes: Record<number, number> | null;
|
|
1041
1051
|
}
|
|
1042
1052
|
|
|
1043
|
-
export type NodeId = string;
|
|
1044
|
-
|
|
1045
1053
|
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
1046
1054
|
|
|
1047
1055
|
export class AirSquadron {
|
|
@@ -1311,12 +1319,6 @@ export class Ship {
|
|
|
1311
1319
|
private constructor();
|
|
1312
1320
|
free(): void;
|
|
1313
1321
|
[Symbol.dispose](): void;
|
|
1314
|
-
/**
|
|
1315
|
-
* フィット砲補正
|
|
1316
|
-
*/
|
|
1317
|
-
gunfit_accuracy(is_night: boolean): number;
|
|
1318
|
-
state_day_gunfit_accuracy(): number | undefined;
|
|
1319
|
-
state_night_gunfit_accuracy(): number | undefined;
|
|
1320
1322
|
get_ebonus(key: string): number;
|
|
1321
1323
|
is_abyssal(): boolean;
|
|
1322
1324
|
is_amagiri(): boolean;
|
|
@@ -1375,6 +1377,12 @@ export class Ship {
|
|
|
1375
1377
|
can_equip(gear: Gear, key: string): boolean;
|
|
1376
1378
|
gear_keys(): string[];
|
|
1377
1379
|
is_pt_imp(): boolean;
|
|
1380
|
+
/**
|
|
1381
|
+
* フィット砲補正
|
|
1382
|
+
*/
|
|
1383
|
+
gunfit_accuracy(is_night: boolean): number;
|
|
1384
|
+
state_day_gunfit_accuracy(): number | undefined;
|
|
1385
|
+
state_night_gunfit_accuracy(): number | undefined;
|
|
1378
1386
|
id: string;
|
|
1379
1387
|
readonly hash: bigint;
|
|
1380
1388
|
readonly ship_id: number;
|