fleethub-core 1.6.2 → 1.7.0
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 +305 -307
- package/node/fleethub_core.js +46 -46
- package/node/fleethub_core_bg.wasm +0 -0
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +305 -307
- package/pkg/fleethub_core_bg.js +46 -46
- package/pkg/fleethub_core_bg.wasm +0 -0
package/node/fleethub_core.d.ts
CHANGED
|
@@ -3,46 +3,6 @@
|
|
|
3
3
|
/**
|
|
4
4
|
*/
|
|
5
5
|
export function set_panic_hook(): void;
|
|
6
|
-
export interface EBonuses {
|
|
7
|
-
firepower: number;
|
|
8
|
-
torpedo: number;
|
|
9
|
-
anti_air: number;
|
|
10
|
-
armor: number;
|
|
11
|
-
evasion: number;
|
|
12
|
-
asw: number;
|
|
13
|
-
los: number;
|
|
14
|
-
bombing: number;
|
|
15
|
-
accuracy: number;
|
|
16
|
-
range: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface ShipInput {
|
|
20
|
-
ship_id: number;
|
|
21
|
-
ctype: number;
|
|
22
|
-
stype: number;
|
|
23
|
-
yomi: string;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export interface GearInput {
|
|
27
|
-
gear_id: number;
|
|
28
|
-
types: GearTypeIdArray;
|
|
29
|
-
firepower: number;
|
|
30
|
-
torpedo: number;
|
|
31
|
-
anti_air: number;
|
|
32
|
-
armor: number;
|
|
33
|
-
evasion: number;
|
|
34
|
-
asw: number;
|
|
35
|
-
los: number;
|
|
36
|
-
bombing: number;
|
|
37
|
-
accuracy: number;
|
|
38
|
-
range: number;
|
|
39
|
-
radius: number;
|
|
40
|
-
stars: number;
|
|
41
|
-
ace: number;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export type GearVecInput = GearInput[];
|
|
45
|
-
|
|
46
6
|
export type ShipType =
|
|
47
7
|
| "Unknown"
|
|
48
8
|
| "DE"
|
|
@@ -78,46 +38,40 @@ export type ShipCategory =
|
|
|
78
38
|
| "Submarine"
|
|
79
39
|
| "AuxiliaryShip";
|
|
80
40
|
|
|
81
|
-
export type
|
|
41
|
+
export type ShellingSpecialAttack =
|
|
42
|
+
| { DayCutin: DayCutin }
|
|
43
|
+
| { FleetCutin: FleetCutin };
|
|
82
44
|
|
|
83
|
-
export type
|
|
84
|
-
| "
|
|
85
|
-
| "
|
|
86
|
-
| "
|
|
87
|
-
| "
|
|
88
|
-
| "
|
|
45
|
+
export type DayCutin =
|
|
46
|
+
| "MainMain"
|
|
47
|
+
| "MainAp"
|
|
48
|
+
| "MainRadar"
|
|
49
|
+
| "MainSec"
|
|
50
|
+
| "DoubleAttack"
|
|
51
|
+
| "FBA"
|
|
52
|
+
| "BBA"
|
|
53
|
+
| "BA"
|
|
54
|
+
| "Zuiun"
|
|
55
|
+
| "AirSea";
|
|
89
56
|
|
|
90
|
-
export interface
|
|
91
|
-
|
|
92
|
-
|
|
57
|
+
export interface ShellingSupportSimulatorParams {
|
|
58
|
+
attacker_formation: Formation;
|
|
59
|
+
target_formation: Formation;
|
|
60
|
+
engagement: Engagement;
|
|
61
|
+
custom_mods: CustomModifiers;
|
|
93
62
|
}
|
|
94
63
|
|
|
95
|
-
export
|
|
96
|
-
cutin: FleetCutin;
|
|
97
|
-
rate: number | null;
|
|
98
|
-
formation: Formation;
|
|
99
|
-
items: FleetCutinInfoItem[];
|
|
100
|
-
}
|
|
64
|
+
export type ShellingAttackType = "Normal" | "Carrier";
|
|
101
65
|
|
|
102
|
-
export
|
|
103
|
-
ship_id: number;
|
|
104
|
-
cutin: FleetCutin;
|
|
105
|
-
fleet_cutin_mod: number;
|
|
106
|
-
stats: AttackStats;
|
|
107
|
-
}
|
|
66
|
+
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
108
67
|
|
|
109
|
-
export
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
normal_scratch_rate: number;
|
|
117
|
-
critical_scratch_rate: number;
|
|
118
|
-
damage_map: NumMap<number, number>;
|
|
119
|
-
damage_state_map: NumMap<DamageState, number>;
|
|
120
|
-
}
|
|
68
|
+
export type OrgType =
|
|
69
|
+
| "Single"
|
|
70
|
+
| "CarrierTaskForce"
|
|
71
|
+
| "SurfaceTaskForce"
|
|
72
|
+
| "TransportEscort"
|
|
73
|
+
| "EnemySingle"
|
|
74
|
+
| "EnemyCombined";
|
|
121
75
|
|
|
122
76
|
export interface WarfareContext {
|
|
123
77
|
attacker_env: WarfareShipEnvironment;
|
|
@@ -136,6 +90,21 @@ export interface WarfareShipEnvironment {
|
|
|
136
90
|
fleet_los_mod: number | null;
|
|
137
91
|
}
|
|
138
92
|
|
|
93
|
+
export interface CompMeta {
|
|
94
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export interface FleetMeta {
|
|
98
|
+
id: string;
|
|
99
|
+
len: number;
|
|
100
|
+
ships: [string, ShipMeta | null][];
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface ShipMeta {
|
|
104
|
+
id: string;
|
|
105
|
+
ship_id: number;
|
|
106
|
+
}
|
|
107
|
+
|
|
139
108
|
export interface AttackPower {
|
|
140
109
|
precap: number;
|
|
141
110
|
is_capped: boolean;
|
|
@@ -182,28 +151,9 @@ export interface AttackPowerModifier {
|
|
|
182
151
|
b: number;
|
|
183
152
|
}
|
|
184
153
|
|
|
185
|
-
export type
|
|
186
|
-
| "Single"
|
|
187
|
-
| "CarrierTaskForce"
|
|
188
|
-
| "SurfaceTaskForce"
|
|
189
|
-
| "TransportEscort"
|
|
190
|
-
| "EnemySingle"
|
|
191
|
-
| "EnemyCombined";
|
|
192
|
-
|
|
193
|
-
export interface CompMeta {
|
|
194
|
-
fleets: Record<FleetType, FleetMeta>;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
export interface FleetMeta {
|
|
198
|
-
id: string;
|
|
199
|
-
len: number;
|
|
200
|
-
ships: [string, ShipMeta | null][];
|
|
201
|
-
}
|
|
154
|
+
export type NumMap<K, V> = Partial<Record<K, V>>;
|
|
202
155
|
|
|
203
|
-
export
|
|
204
|
-
id: string;
|
|
205
|
-
ship_id: number;
|
|
206
|
-
}
|
|
156
|
+
export type Role = "Main" | "Escort";
|
|
207
157
|
|
|
208
158
|
export interface MasterData {
|
|
209
159
|
gears: MasterGear[];
|
|
@@ -231,26 +181,6 @@ export interface MasterAttrRule<T> {
|
|
|
231
181
|
expr: string;
|
|
232
182
|
}
|
|
233
183
|
|
|
234
|
-
export type NumMap<K, V> = Partial<Record<K, V>>;
|
|
235
|
-
|
|
236
|
-
export type ShellingSpecialAttack =
|
|
237
|
-
| { DayCutin: DayCutin }
|
|
238
|
-
| { FleetCutin: FleetCutin };
|
|
239
|
-
|
|
240
|
-
export type DayCutin =
|
|
241
|
-
| "MainMain"
|
|
242
|
-
| "MainAp"
|
|
243
|
-
| "MainRadar"
|
|
244
|
-
| "MainSec"
|
|
245
|
-
| "DoubleAttack"
|
|
246
|
-
| "FBA"
|
|
247
|
-
| "BBA"
|
|
248
|
-
| "BA"
|
|
249
|
-
| "Zuiun"
|
|
250
|
-
| "AirSea";
|
|
251
|
-
|
|
252
|
-
export type Role = "Main" | "Escort";
|
|
253
|
-
|
|
254
184
|
export type GearCategory =
|
|
255
185
|
| "Fighter"
|
|
256
186
|
| "Bomber"
|
|
@@ -328,15 +258,6 @@ export type GearType =
|
|
|
328
258
|
|
|
329
259
|
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
330
260
|
|
|
331
|
-
export interface ShellingSupportSimulatorParams {
|
|
332
|
-
attacker_formation: Formation;
|
|
333
|
-
target_formation: Formation;
|
|
334
|
-
engagement: Engagement;
|
|
335
|
-
custom_mods: CustomModifiers;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
export type ShellingAttackType = "Normal" | "Carrier";
|
|
339
|
-
|
|
340
261
|
export interface CompDayCutinRateInfo {
|
|
341
262
|
main: FleetDayCutinRateInfo;
|
|
342
263
|
escort: FleetDayCutinRateInfo | null;
|
|
@@ -359,6 +280,46 @@ export interface DayCutinRateInfo {
|
|
|
359
280
|
total_cutin_rate: number | null;
|
|
360
281
|
}
|
|
361
282
|
|
|
283
|
+
export interface EBonuses {
|
|
284
|
+
firepower: number;
|
|
285
|
+
torpedo: number;
|
|
286
|
+
anti_air: number;
|
|
287
|
+
armor: number;
|
|
288
|
+
evasion: number;
|
|
289
|
+
asw: number;
|
|
290
|
+
los: number;
|
|
291
|
+
bombing: number;
|
|
292
|
+
accuracy: number;
|
|
293
|
+
range: number;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export interface ShipInput {
|
|
297
|
+
ship_id: number;
|
|
298
|
+
ctype: number;
|
|
299
|
+
stype: number;
|
|
300
|
+
yomi: string;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export interface GearInput {
|
|
304
|
+
gear_id: number;
|
|
305
|
+
types: GearTypeIdArray;
|
|
306
|
+
firepower: number;
|
|
307
|
+
torpedo: number;
|
|
308
|
+
anti_air: number;
|
|
309
|
+
armor: number;
|
|
310
|
+
evasion: number;
|
|
311
|
+
asw: number;
|
|
312
|
+
los: number;
|
|
313
|
+
bombing: number;
|
|
314
|
+
accuracy: number;
|
|
315
|
+
range: number;
|
|
316
|
+
radius: number;
|
|
317
|
+
stars: number;
|
|
318
|
+
ace: number;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export type GearVecInput = GearInput[];
|
|
322
|
+
|
|
362
323
|
export type ShipAttr =
|
|
363
324
|
| "Unknown"
|
|
364
325
|
| "Abyssal"
|
|
@@ -375,6 +336,15 @@ export type ShipAttr =
|
|
|
375
336
|
| "BattleshipSummerPrincess"
|
|
376
337
|
| "HeavyCruiserSummerPrincess";
|
|
377
338
|
|
|
339
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
340
|
+
|
|
341
|
+
export type AirState =
|
|
342
|
+
| "AirSupremacy"
|
|
343
|
+
| "AirSuperiority"
|
|
344
|
+
| "AirParity"
|
|
345
|
+
| "AirDenial"
|
|
346
|
+
| "AirIncapability";
|
|
347
|
+
|
|
378
348
|
export interface MasterIBonuses {
|
|
379
349
|
shelling_power: MasterIBonusRule[];
|
|
380
350
|
carrier_shelling_power: MasterIBonusRule[];
|
|
@@ -405,6 +375,38 @@ export interface NightSituation {
|
|
|
405
375
|
searchlight: boolean;
|
|
406
376
|
}
|
|
407
377
|
|
|
378
|
+
export interface FleetCutinAnalysis {
|
|
379
|
+
shelling: FleetCutinInfo[];
|
|
380
|
+
night: FleetCutinInfo[];
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
export interface FleetCutinInfo {
|
|
384
|
+
cutin: FleetCutin;
|
|
385
|
+
rate: number | null;
|
|
386
|
+
formation: Formation;
|
|
387
|
+
items: FleetCutinInfoItem[];
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
export interface FleetCutinInfoItem {
|
|
391
|
+
ship_id: number;
|
|
392
|
+
cutin: FleetCutin;
|
|
393
|
+
fleet_cutin_mod: number;
|
|
394
|
+
stats: AttackStats;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
export interface DamageInfo {
|
|
398
|
+
miss_damage_min: number;
|
|
399
|
+
miss_damage_max: number;
|
|
400
|
+
normal_damage_min: number;
|
|
401
|
+
normal_damage_max: number;
|
|
402
|
+
critical_damage_min: number;
|
|
403
|
+
critical_damage_max: number;
|
|
404
|
+
normal_scratch_rate: number;
|
|
405
|
+
critical_scratch_rate: number;
|
|
406
|
+
damage_map: NumMap<number, number>;
|
|
407
|
+
damage_state_map: NumMap<DamageState, number>;
|
|
408
|
+
}
|
|
409
|
+
|
|
408
410
|
export type GearAttr =
|
|
409
411
|
| "Unknown"
|
|
410
412
|
| "Abyssal"
|
|
@@ -454,27 +456,6 @@ export type SingleFormation =
|
|
|
454
456
|
|
|
455
457
|
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
456
458
|
|
|
457
|
-
export interface AttackInfo<AttackType, Cutin> {
|
|
458
|
-
attack_type: AttackType;
|
|
459
|
-
items: AttackInfoItem<Cutin>[];
|
|
460
|
-
damage_state_map: NumMap<DamageState, number> | null;
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
export interface AttackInfoItem<Cutin> {
|
|
464
|
-
cutin: Cutin;
|
|
465
|
-
rate: number | null;
|
|
466
|
-
stats: AttackStats;
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
export interface AttackStats {
|
|
470
|
-
attack_power: AttackPower | null;
|
|
471
|
-
attack_power_params: AttackPowerParams | null;
|
|
472
|
-
hits: number;
|
|
473
|
-
hit_rate: HitRate | null;
|
|
474
|
-
hit_rate_params: HitRateParams | null;
|
|
475
|
-
damage: DamageInfo | null;
|
|
476
|
-
}
|
|
477
|
-
|
|
478
459
|
export interface CompAntiAirInfo {
|
|
479
460
|
fleet_adjusted_anti_air: number;
|
|
480
461
|
ships: ShipAntiAirInfo[];
|
|
@@ -505,6 +486,122 @@ export interface AirstrikeContactChance {
|
|
|
505
486
|
total: number;
|
|
506
487
|
}
|
|
507
488
|
|
|
489
|
+
export type SlotSizeVec = (number | null)[];
|
|
490
|
+
|
|
491
|
+
export type NightAttackType = "Normal" | "ArkRoyal" | "Carrier";
|
|
492
|
+
|
|
493
|
+
export type NightSpecialAttack =
|
|
494
|
+
| { NightCutin: NightCutin }
|
|
495
|
+
| { FleetCutin: FleetCutin };
|
|
496
|
+
|
|
497
|
+
export type NightCutin =
|
|
498
|
+
| "MainTorpRadar"
|
|
499
|
+
| "TorpLookoutRadar"
|
|
500
|
+
| "TorpTsloTorp"
|
|
501
|
+
| "TorpTsloDrum"
|
|
502
|
+
| "DoubleAttack"
|
|
503
|
+
| "TorpTorpMain"
|
|
504
|
+
| "TorpTorpTorp"
|
|
505
|
+
| "MainMainSec"
|
|
506
|
+
| "MainMainMain"
|
|
507
|
+
| "SubTorpTorp"
|
|
508
|
+
| "SubRadarTorp"
|
|
509
|
+
| "Cvci1_25"
|
|
510
|
+
| "Cvci1_20"
|
|
511
|
+
| "Cvci1_18"
|
|
512
|
+
| "Photobomber";
|
|
513
|
+
|
|
514
|
+
export interface MasterGear {
|
|
515
|
+
gear_id: number;
|
|
516
|
+
name: string;
|
|
517
|
+
types: GearTypeIdArray;
|
|
518
|
+
special_type?: number;
|
|
519
|
+
max_hp?: number;
|
|
520
|
+
firepower?: number;
|
|
521
|
+
armor?: number;
|
|
522
|
+
torpedo?: number;
|
|
523
|
+
anti_air?: number;
|
|
524
|
+
speed?: number;
|
|
525
|
+
bombing?: number;
|
|
526
|
+
asw?: number;
|
|
527
|
+
los?: number;
|
|
528
|
+
luck?: number;
|
|
529
|
+
accuracy?: number;
|
|
530
|
+
evasion?: number;
|
|
531
|
+
range?: number;
|
|
532
|
+
radius?: number;
|
|
533
|
+
cost?: number;
|
|
534
|
+
improvable?: boolean;
|
|
535
|
+
ship_anti_air_resistance?: number;
|
|
536
|
+
fleet_anti_air_resistance?: number;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
export interface MasterEquippable {
|
|
540
|
+
equip_stype: EquipStype[];
|
|
541
|
+
equip_exslot: number[];
|
|
542
|
+
equip_ship: MstEquipShip[];
|
|
543
|
+
equip_exslot_ship: MstEquipExslotShip[];
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
export interface MstEquipExslotShip {
|
|
547
|
+
api_slotitem_id: number;
|
|
548
|
+
api_ship_ids: number[];
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
export interface MstEquipShip {
|
|
552
|
+
api_ship_id: number;
|
|
553
|
+
api_equip_type: number[];
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
export interface EquipStype {
|
|
557
|
+
id: number;
|
|
558
|
+
equip_type: number[];
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
export interface HitRate {
|
|
562
|
+
total: number;
|
|
563
|
+
normal: number;
|
|
564
|
+
critical: number;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
export interface HitRateParams {
|
|
568
|
+
accuracy_term: number;
|
|
569
|
+
evasion_term: number;
|
|
570
|
+
target_morale_mod: number;
|
|
571
|
+
critical_rate_constant: number;
|
|
572
|
+
critical_percentage_bonus: number;
|
|
573
|
+
hit_percentage_bonus: number;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
export type NightBattleAttackType =
|
|
577
|
+
| { t: "NightAttack"; c: NightAttackType }
|
|
578
|
+
| { t: "Asw"; c: AswAttackType };
|
|
579
|
+
|
|
580
|
+
export type DayBattleAttackType =
|
|
581
|
+
| { t: "Shelling"; c: ShellingAttackType }
|
|
582
|
+
| { t: "Asw"; c: AswAttackType };
|
|
583
|
+
|
|
584
|
+
export interface AttackInfo<AttackType, Cutin> {
|
|
585
|
+
attack_type: AttackType;
|
|
586
|
+
items: AttackInfoItem<Cutin>[];
|
|
587
|
+
damage_state_map: NumMap<DamageState, number> | null;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
export interface AttackInfoItem<Cutin> {
|
|
591
|
+
cutin: Cutin;
|
|
592
|
+
rate: number | null;
|
|
593
|
+
stats: AttackStats;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
export interface AttackStats {
|
|
597
|
+
attack_power: AttackPower | null;
|
|
598
|
+
attack_power_params: AttackPowerParams | null;
|
|
599
|
+
hits: number;
|
|
600
|
+
hit_rate: HitRate | null;
|
|
601
|
+
hit_rate_params: HitRateParams | null;
|
|
602
|
+
damage: DamageInfo | null;
|
|
603
|
+
}
|
|
604
|
+
|
|
508
605
|
export type ShipStateMap = Record<ShipKey, ShipState>;
|
|
509
606
|
|
|
510
607
|
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
@@ -555,7 +652,7 @@ export interface FleetState {
|
|
|
555
652
|
s7?: ShipState;
|
|
556
653
|
}
|
|
557
654
|
|
|
558
|
-
export interface ShipState {
|
|
655
|
+
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
559
656
|
id?: string;
|
|
560
657
|
ship_id: number;
|
|
561
658
|
level?: number;
|
|
@@ -572,26 +669,23 @@ export interface ShipState {
|
|
|
572
669
|
asw_mod?: number;
|
|
573
670
|
los_mod?: number;
|
|
574
671
|
luck_mod?: number;
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
g4?: GearState;
|
|
579
|
-
g5?: GearState;
|
|
580
|
-
gx?: GearState;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
export interface SlotSizeVecState {
|
|
581
675
|
ss1?: number;
|
|
582
676
|
ss2?: number;
|
|
583
677
|
ss3?: number;
|
|
584
678
|
ss4?: number;
|
|
585
679
|
ss5?: number;
|
|
586
|
-
overrides?: ShipOverrides;
|
|
587
680
|
}
|
|
588
681
|
|
|
589
|
-
export interface
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
682
|
+
export interface GearVecState {
|
|
683
|
+
g1?: GearState;
|
|
684
|
+
g2?: GearState;
|
|
685
|
+
g3?: GearState;
|
|
686
|
+
g4?: GearState;
|
|
687
|
+
g5?: GearState;
|
|
688
|
+
gx?: GearState;
|
|
595
689
|
}
|
|
596
690
|
|
|
597
691
|
export interface GearState {
|
|
@@ -601,55 +695,69 @@ export interface GearState {
|
|
|
601
695
|
stars?: number;
|
|
602
696
|
}
|
|
603
697
|
|
|
604
|
-
export interface
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
698
|
+
export interface MasterShip {
|
|
699
|
+
ship_id: number;
|
|
700
|
+
name: string;
|
|
701
|
+
yomi: string;
|
|
702
|
+
stype: number;
|
|
703
|
+
ctype: number;
|
|
704
|
+
sort_id?: number;
|
|
705
|
+
max_hp: StatInterval;
|
|
706
|
+
firepower: StatInterval;
|
|
707
|
+
armor: StatInterval;
|
|
708
|
+
torpedo: StatInterval;
|
|
709
|
+
evasion: StatInterval;
|
|
710
|
+
anti_air: StatInterval;
|
|
711
|
+
asw: StatInterval;
|
|
712
|
+
los: StatInterval;
|
|
713
|
+
luck: StatInterval;
|
|
714
|
+
torpedo_accuracy?: number;
|
|
715
|
+
basic_evasion_term?: number;
|
|
716
|
+
speed: number;
|
|
717
|
+
range?: number;
|
|
718
|
+
fuel?: number;
|
|
719
|
+
ammo?: number;
|
|
720
|
+
next_id?: number;
|
|
721
|
+
next_level?: number;
|
|
722
|
+
slotnum: number;
|
|
723
|
+
slots: SlotSizeVec;
|
|
724
|
+
stock: GearState[];
|
|
725
|
+
speed_group?: SpeedGroup;
|
|
726
|
+
useful?: boolean;
|
|
609
727
|
}
|
|
610
728
|
|
|
611
|
-
export
|
|
612
|
-
|
|
613
|
-
|
|
729
|
+
export type StatInterval = [number | null, number | null];
|
|
730
|
+
|
|
731
|
+
export interface WarfareInfo {
|
|
732
|
+
day: AttackInfo<DayBattleAttackType, DayCutin | null> | null;
|
|
733
|
+
closing_torpedo: AttackInfo<null, null> | null;
|
|
734
|
+
night: AttackInfo<NightBattleAttackType, NightCutin | null> | null;
|
|
735
|
+
shelling_support: AttackInfo<null, null> | null;
|
|
736
|
+
opening_asw: AttackInfo<null, null> | null;
|
|
614
737
|
}
|
|
615
738
|
|
|
616
|
-
export interface
|
|
617
|
-
|
|
618
|
-
|
|
739
|
+
export interface WarfareAnalyzerContext {
|
|
740
|
+
attacker_env: WarfareAnalyzerShipEnvironment;
|
|
741
|
+
target_env: WarfareAnalyzerShipEnvironment;
|
|
742
|
+
engagement: Engagement;
|
|
743
|
+
air_state: AirState;
|
|
619
744
|
}
|
|
620
745
|
|
|
621
|
-
export interface
|
|
622
|
-
|
|
623
|
-
|
|
746
|
+
export interface WarfareAnalyzerShipEnvironment {
|
|
747
|
+
org_type: OrgType;
|
|
748
|
+
role: Role;
|
|
749
|
+
ship_index: number;
|
|
750
|
+
fleet_len: number;
|
|
751
|
+
formation: Formation;
|
|
752
|
+
fleet_los_mod: number | null;
|
|
753
|
+
night_situation: NightSituation;
|
|
754
|
+
custom_mods: CustomModifiers;
|
|
624
755
|
}
|
|
625
756
|
|
|
626
|
-
export type
|
|
757
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
627
758
|
|
|
628
759
|
export type Side = "Player" | "Enemy";
|
|
629
760
|
|
|
630
|
-
export type NightAttackType = "Normal" | "ArkRoyal" | "Carrier";
|
|
631
|
-
|
|
632
|
-
export type NightSpecialAttack =
|
|
633
|
-
| { NightCutin: NightCutin }
|
|
634
|
-
| { FleetCutin: FleetCutin };
|
|
635
|
-
|
|
636
|
-
export type NightCutin =
|
|
637
|
-
| "MainTorpRadar"
|
|
638
|
-
| "TorpLookoutRadar"
|
|
639
|
-
| "TorpTsloTorp"
|
|
640
|
-
| "TorpTsloDrum"
|
|
641
|
-
| "DoubleAttack"
|
|
642
|
-
| "TorpTorpMain"
|
|
643
|
-
| "TorpTorpTorp"
|
|
644
|
-
| "MainMainSec"
|
|
645
|
-
| "MainMainMain"
|
|
646
|
-
| "SubTorpTorp"
|
|
647
|
-
| "SubRadarTorp"
|
|
648
|
-
| "Cvci1_25"
|
|
649
|
-
| "Cvci1_20"
|
|
650
|
-
| "Cvci1_18"
|
|
651
|
-
| "Photobomber";
|
|
652
|
-
|
|
653
761
|
export interface BattleConfig {
|
|
654
762
|
formation: Record<Formation, NestedFormationDef>;
|
|
655
763
|
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
@@ -702,114 +810,6 @@ export interface FormationWarfareDef {
|
|
|
702
810
|
evasion_mod: number | null;
|
|
703
811
|
}
|
|
704
812
|
|
|
705
|
-
export interface MasterGear {
|
|
706
|
-
gear_id: number;
|
|
707
|
-
name: string;
|
|
708
|
-
types: GearTypeIdArray;
|
|
709
|
-
special_type?: number;
|
|
710
|
-
max_hp?: number;
|
|
711
|
-
firepower?: number;
|
|
712
|
-
armor?: number;
|
|
713
|
-
torpedo?: number;
|
|
714
|
-
anti_air?: number;
|
|
715
|
-
speed?: number;
|
|
716
|
-
bombing?: number;
|
|
717
|
-
asw?: number;
|
|
718
|
-
los?: number;
|
|
719
|
-
luck?: number;
|
|
720
|
-
accuracy?: number;
|
|
721
|
-
evasion?: number;
|
|
722
|
-
range?: number;
|
|
723
|
-
radius?: number;
|
|
724
|
-
cost?: number;
|
|
725
|
-
improvable?: boolean;
|
|
726
|
-
ship_anti_air_resistance?: number;
|
|
727
|
-
fleet_anti_air_resistance?: number;
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
export interface HitRate {
|
|
731
|
-
total: number;
|
|
732
|
-
normal: number;
|
|
733
|
-
critical: number;
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
export interface HitRateParams {
|
|
737
|
-
accuracy_term: number;
|
|
738
|
-
evasion_term: number;
|
|
739
|
-
target_morale_mod: number;
|
|
740
|
-
critical_rate_constant: number;
|
|
741
|
-
critical_percentage_bonus: number;
|
|
742
|
-
hit_percentage_bonus: number;
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
export type NightBattleAttackType =
|
|
746
|
-
| { t: "NightAttack"; c: NightAttackType }
|
|
747
|
-
| { t: "Asw"; c: AswAttackType };
|
|
748
|
-
|
|
749
|
-
export type DayBattleAttackType =
|
|
750
|
-
| { t: "Shelling"; c: ShellingAttackType }
|
|
751
|
-
| { t: "Asw"; c: AswAttackType };
|
|
752
|
-
|
|
753
|
-
export type GearTypeIdArray = [number, number, number, number, number];
|
|
754
|
-
|
|
755
|
-
export interface MasterShip {
|
|
756
|
-
ship_id: number;
|
|
757
|
-
name: string;
|
|
758
|
-
yomi: string;
|
|
759
|
-
stype: number;
|
|
760
|
-
ctype: number;
|
|
761
|
-
sort_id?: number;
|
|
762
|
-
max_hp: StatInterval;
|
|
763
|
-
firepower: StatInterval;
|
|
764
|
-
armor: StatInterval;
|
|
765
|
-
torpedo: StatInterval;
|
|
766
|
-
evasion: StatInterval;
|
|
767
|
-
anti_air: StatInterval;
|
|
768
|
-
asw: StatInterval;
|
|
769
|
-
los: StatInterval;
|
|
770
|
-
luck: StatInterval;
|
|
771
|
-
torpedo_accuracy?: number;
|
|
772
|
-
speed: number;
|
|
773
|
-
range?: number;
|
|
774
|
-
fuel?: number;
|
|
775
|
-
ammo?: number;
|
|
776
|
-
next_id?: number;
|
|
777
|
-
next_level?: number;
|
|
778
|
-
slotnum: number;
|
|
779
|
-
slots: SlotSizeVec;
|
|
780
|
-
stock: GearState[];
|
|
781
|
-
speed_group?: SpeedGroup;
|
|
782
|
-
useful?: boolean;
|
|
783
|
-
}
|
|
784
|
-
|
|
785
|
-
export type StatInterval = [number | null, number | null];
|
|
786
|
-
|
|
787
|
-
export interface WarfareInfo {
|
|
788
|
-
day: AttackInfo<DayBattleAttackType, DayCutin | null> | null;
|
|
789
|
-
closing_torpedo: AttackInfo<null, null> | null;
|
|
790
|
-
night: AttackInfo<NightBattleAttackType, NightCutin | null> | null;
|
|
791
|
-
shelling_support: AttackInfo<null, null> | null;
|
|
792
|
-
opening_asw: AttackInfo<null, null> | null;
|
|
793
|
-
}
|
|
794
|
-
|
|
795
|
-
export interface WarfareAnalyzerContext {
|
|
796
|
-
attacker_env: WarfareAnalyzerShipEnvironment;
|
|
797
|
-
target_env: WarfareAnalyzerShipEnvironment;
|
|
798
|
-
engagement: Engagement;
|
|
799
|
-
air_state: AirState;
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
export interface WarfareAnalyzerShipEnvironment {
|
|
803
|
-
org_type: OrgType;
|
|
804
|
-
role: Role;
|
|
805
|
-
ship_index: number;
|
|
806
|
-
fleet_len: number;
|
|
807
|
-
formation: Formation;
|
|
808
|
-
fleet_los_mod: number | null;
|
|
809
|
-
night_situation: NightSituation;
|
|
810
|
-
custom_mods: CustomModifiers;
|
|
811
|
-
}
|
|
812
|
-
|
|
813
813
|
export type SpecialEnemyType =
|
|
814
814
|
| "None"
|
|
815
815
|
| "SoftSkinned"
|
|
@@ -835,8 +835,6 @@ export type FleetCutin =
|
|
|
835
835
|
|
|
836
836
|
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
837
837
|
|
|
838
|
-
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
839
|
-
|
|
840
838
|
export interface SimulatorResult {
|
|
841
839
|
items: SimulatorResultItem[];
|
|
842
840
|
sunk_vec: [number, number, number][];
|