fleethub-core 1.1.5 → 1.2.1

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.
@@ -1,1116 +1,1978 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  /**
4
- * @param {Gear} gear
5
- * @returns {boolean}
6
- */
4
+ * @param {Gear} gear
5
+ * @returns {boolean}
6
+ */
7
7
  export function air_squadron_can_equip(gear: Gear): boolean;
8
8
  /**
9
- */
10
- export function set_panic_hook(): void;
9
+ * @param {OrgType} org_type
10
+ * @returns {boolean}
11
+ */
12
+ export function org_type_is_single(org_type: OrgType): boolean;
11
13
  /**
12
- * @param {bindings.OrgType} org_type
13
- * @returns {boolean}
14
- */
15
- export function org_type_is_single(org_type: bindings.OrgType): boolean;
14
+ * @param {OrgType} org_type
15
+ * @returns {Formation}
16
+ */
17
+ export function org_type_default_formation(org_type: OrgType): Formation;
16
18
  /**
17
- * @param {bindings.OrgType} org_type
18
- * @returns {bindings.Formation}
19
- */
20
- export function org_type_default_formation(org_type: bindings.OrgType): bindings.Formation;
19
+ * @param {OrgType} org_type
20
+ * @returns {boolean}
21
+ */
22
+ export function org_type_is_player(org_type: OrgType): boolean;
21
23
  /**
22
- * @param {bindings.OrgType} org_type
23
- * @returns {boolean}
24
- */
25
- export function org_type_is_player(org_type: bindings.OrgType): boolean;
24
+ * @param {OrgType} org_type
25
+ * @returns {Side}
26
+ */
27
+ export function org_type_side(org_type: OrgType): Side;
26
28
  /**
27
- * @param {bindings.OrgType} org_type
28
- * @returns {bindings.Side}
29
- */
30
- export function org_type_side(org_type: bindings.OrgType): bindings.Side;
29
+ */
30
+ export function set_panic_hook(): void;
31
+ export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
32
+
33
+ export type AirState =
34
+ | "AirSupremacy"
35
+ | "AirSuperiority"
36
+ | "AirParity"
37
+ | "AirDenial"
38
+ | "AirIncapability";
39
+
40
+ export type ShellingSupportSimulatorParams = {
41
+ attacker_formation: Formation;
42
+ target_formation: Formation;
43
+ engagement: Engagement;
44
+ custom_mods: CustomModifiers;
45
+ };
46
+
47
+ export type NightSituation = {
48
+ night_contact_rank: ContactRank | null;
49
+ starshell: boolean;
50
+ searchlight: boolean;
51
+ };
52
+
53
+ export type CompDayCutinRateInfo = {
54
+ main: FleetDayCutinRateInfo;
55
+ escort: FleetDayCutinRateInfo | null;
56
+ };
57
+
58
+ export type FleetDayCutinRateInfo = {
59
+ fleet_los_mod: number | null;
60
+ ships: ShipDayCutinRateInfo[];
61
+ };
62
+
63
+ export type ShipDayCutinRateInfo = {
64
+ ship_id: number;
65
+ air_supremacy: DayCutinRateInfo;
66
+ air_superiority: DayCutinRateInfo;
67
+ };
68
+
69
+ export type DayCutinRateInfo = {
70
+ observation_term: number | null;
71
+ rates: [DayCutin | null, number | null][];
72
+ total_cutin_rate: number | null;
73
+ };
74
+
75
+ export type DamageInfo = {
76
+ miss_damage_min: number;
77
+ miss_damage_max: number;
78
+ normal_damage_min: number;
79
+ normal_damage_max: number;
80
+ critical_damage_min: number;
81
+ critical_damage_max: number;
82
+ normal_scratch_rate: number;
83
+ critical_scratch_rate: number;
84
+ damage_map: NumMap<number, number>;
85
+ damage_state_map: NumMap<DamageState, number>;
86
+ };
87
+
88
+ export type GearTypes = [number, number, number, number, number];
89
+
90
+ export type MasterGear = {
91
+ gear_id: number;
92
+ name: string;
93
+ types: GearTypes;
94
+ special_type?: number;
95
+ max_hp?: number;
96
+ firepower?: number;
97
+ armor?: number;
98
+ torpedo?: number;
99
+ anti_air?: number;
100
+ speed?: number;
101
+ bombing?: number;
102
+ asw?: number;
103
+ los?: number;
104
+ luck?: number;
105
+ accuracy?: number;
106
+ evasion?: number;
107
+ range?: number;
108
+ radius?: number;
109
+ cost?: number;
110
+ improvable?: boolean;
111
+ adjusted_anti_air_resistance?: number;
112
+ fleet_anti_air_resistance?: number;
113
+ };
114
+
115
+ export type MasterVariantDef = { tag: string; id: number; name: string };
116
+
117
+ export type MasterAttrRule = { tag: string; name: string; expr: string };
118
+
119
+ export type MasterIBonusRule = { expr: string; formula: string };
120
+
121
+ export type MasterIBonuses = {
122
+ shelling_power: MasterIBonusRule[];
123
+ carrier_shelling_power: MasterIBonusRule[];
124
+ shelling_accuracy: MasterIBonusRule[];
125
+ torpedo_power: MasterIBonusRule[];
126
+ torpedo_accuracy: MasterIBonusRule[];
127
+ torpedo_evasion: MasterIBonusRule[];
128
+ asw_power: MasterIBonusRule[];
129
+ asw_accuracy: MasterIBonusRule[];
130
+ night_power: MasterIBonusRule[];
131
+ night_accuracy: MasterIBonusRule[];
132
+ defense_power: MasterIBonusRule[];
133
+ contact_selection: MasterIBonusRule[];
134
+ fighter_power: MasterIBonusRule[];
135
+ adjusted_anti_air: MasterIBonusRule[];
136
+ fleet_anti_air: MasterIBonusRule[];
137
+ elos: MasterIBonusRule[];
138
+ };
139
+
140
+ export type StatInterval = [number | null, number | null];
141
+
142
+ export type MasterShip = {
143
+ ship_id: number;
144
+ name: string;
145
+ yomi: string;
146
+ stype: number;
147
+ ctype: number;
148
+ sort_id?: number;
149
+ max_hp: StatInterval;
150
+ firepower: StatInterval;
151
+ armor: StatInterval;
152
+ torpedo: StatInterval;
153
+ evasion: StatInterval;
154
+ anti_air: StatInterval;
155
+ asw: StatInterval;
156
+ los: StatInterval;
157
+ luck: StatInterval;
158
+ speed: number;
159
+ range?: number;
160
+ fuel?: number;
161
+ ammo?: number;
162
+ next_id?: number;
163
+ next_level?: number;
164
+ slotnum: number;
165
+ slots: Array<number | null>;
166
+ stock: Array<GearState>;
167
+ speed_group?: SpeedGroup;
168
+ useful?: boolean;
169
+ };
170
+
171
+ export type EquipStype = { id: number; equip_type: number[] };
172
+
173
+ export type MstEquipShip = { api_ship_id: number; api_equip_type: number[] };
174
+
175
+ export type MstEquipExslotShip = {
176
+ api_slotitem_id: number;
177
+ api_ship_ids: number[];
178
+ };
179
+
180
+ export type MasterEquippable = {
181
+ equip_stype: EquipStype[];
182
+ equip_exslot: number[];
183
+ equip_ship: MstEquipShip[];
184
+ equip_exslot_ship: MstEquipExslotShip[];
185
+ };
186
+
187
+ export type MasterData = {
188
+ gears: MasterGear[];
189
+ gear_attrs: MasterAttrRule[];
190
+ ships: MasterShip[];
191
+ ship_attrs: MasterAttrRule[];
192
+ equippable: MasterEquippable;
193
+ ibonuses: MasterIBonuses;
194
+ config: BattleConfig;
195
+ };
196
+
197
+ export type ContactRank = "Rank1" | "Rank2" | "Rank3";
198
+
199
+ export type AirWaveType = "Jet" | "LandBase" | "Carrier";
200
+
201
+ export type SimulatorResult = {
202
+ items: SimulatorResultItem[];
203
+ sunk_vec: [number, number, number][];
204
+ };
205
+
206
+ export type SimulatorResultItem = {
207
+ id: string;
208
+ role: Role;
209
+ index: number;
210
+ damage_state_map: Record<DamageState, number>;
211
+ };
212
+
213
+ export type AswAttackType = "DepthCharge" | "Aircraft";
214
+
215
+ export type SpecialEnemyType =
216
+ | "None"
217
+ | "SoftSkinned"
218
+ | "Pillbox"
219
+ | "IsolatedIsland"
220
+ | "SupplyDepot"
221
+ | "HarbourSummerPrincess"
222
+ | "PtImp"
223
+ | "BattleshipSummerPrincess"
224
+ | "HeavyCruiserSummerPrincess";
225
+
226
+ export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
227
+
228
+ export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
229
+
230
+ export type SpeedGroup = "A" | "B1" | "B2" | "C";
231
+
232
+ export type ShipAttr =
233
+ | "Abyssal"
234
+ | "NightCarrier"
235
+ | "Installation"
236
+ | "RoyalNavy"
237
+ | "Kai2"
238
+ | "TurbineSpeedBonus"
239
+ | "Pillbox"
240
+ | "IsolatedIsland"
241
+ | "HarbourSummerPrincess"
242
+ | "SupplyDepot"
243
+ | "PtImp"
244
+ | "BattleshipSummerPrincess"
245
+ | "HeavyCruiserSummerPrincess";
246
+
247
+ export type ShipType =
248
+ | "Unknown"
249
+ | "DE"
250
+ | "DD"
251
+ | "CL"
252
+ | "CLT"
253
+ | "CA"
254
+ | "CAV"
255
+ | "CVL"
256
+ | "FBB"
257
+ | "BB"
258
+ | "BBV"
259
+ | "CV"
260
+ | "XBB"
261
+ | "SS"
262
+ | "SSV"
263
+ | "AP"
264
+ | "AV"
265
+ | "LHA"
266
+ | "CVB"
267
+ | "AR"
268
+ | "AS"
269
+ | "CT"
270
+ | "AO";
271
+
272
+ export type ShipCategory =
273
+ | "Battleship"
274
+ | "AircraftCarrier"
275
+ | "HeavyCruiser"
276
+ | "LightCruiser"
277
+ | "Destroyer"
278
+ | "CoastalDefenseShip"
279
+ | "Submarine"
280
+ | "AuxiliaryShip";
281
+
282
+ export type CompMeta = { fleets: Record<FleetType, FleetMeta> };
283
+
284
+ export type FleetMeta = {
285
+ id: string;
286
+ len: number;
287
+ ships: [string, ShipMeta | null][];
288
+ };
289
+
290
+ export type ShipMeta = { id: string; ship_id: number };
291
+
292
+ export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
293
+
294
+ export type WarfareContext = {
295
+ attacker_env: WarfareShipEnvironment;
296
+ target_env: WarfareShipEnvironment;
297
+ engagement: Engagement;
298
+ air_state: AirState;
299
+ custom_mods: CustomModifiers;
300
+ };
301
+
302
+ export type WarfareShipEnvironment = {
303
+ org_type: OrgType;
304
+ role: Role;
305
+ ship_index: number;
306
+ fleet_len: number;
307
+ formation: Formation;
308
+ fleet_los_mod: number | null;
309
+ };
310
+
311
+ export type ShellingSpecialAttack =
312
+ | { DayCutin: DayCutin }
313
+ | { FleetCutin: FleetCutin };
314
+
315
+ export type DayCutin =
316
+ | "MainMain"
317
+ | "MainAp"
318
+ | "MainRadar"
319
+ | "MainSec"
320
+ | "DoubleAttack"
321
+ | "FBA"
322
+ | "BBA"
323
+ | "BA"
324
+ | "Zuiun"
325
+ | "AirSea";
326
+
327
+ export type EBonusFnGearInput = {
328
+ gear_id: number;
329
+ types: GearTypes;
330
+ firepower: number;
331
+ torpedo: number;
332
+ anti_air: number;
333
+ armor: number;
334
+ evasion: number;
335
+ asw: number;
336
+ los: number;
337
+ bombing: number;
338
+ accuracy: number;
339
+ range: number;
340
+ radius: number;
341
+ stars: number;
342
+ ace: number;
343
+ };
344
+
345
+ export type EBonusFnShipInput = {
346
+ ship_id: number;
347
+ ctype: number;
348
+ stype: number;
349
+ yomi: string;
350
+ };
351
+
352
+ export type EBonuses = {
353
+ firepower: number;
354
+ torpedo: number;
355
+ anti_air: number;
356
+ armor: number;
357
+ evasion: number;
358
+ asw: number;
359
+ los: number;
360
+ bombing: number;
361
+ accuracy: number;
362
+ range: number;
363
+ };
364
+
365
+ export type AttackPower = {
366
+ precap: number;
367
+ is_capped: boolean;
368
+ capped: number;
369
+ normal: number;
370
+ critical: number;
371
+ armor_penetration: number;
372
+ remaining_ammo_mod: number;
373
+ };
374
+
375
+ export type AttackPowerParams = {
376
+ basic: number;
377
+ cap: number;
378
+ precap_mod: AttackPowerModifier;
379
+ postcap_mod: AttackPowerModifier;
380
+ ap_shell_mod: number | null;
381
+ carrier_power: number | null;
382
+ proficiency_critical_mod: number | null;
383
+ armor_penetration: number;
384
+ remaining_ammo_mod: number;
385
+ special_enemy_mods: SpecialEnemyModifiers;
386
+ custom_mods: CustomModifiers;
387
+ };
388
+
389
+ export type CustomModifiers = {
390
+ precap_mod: AttackPowerModifier;
391
+ postcap_mod: AttackPowerModifier;
392
+ };
393
+
394
+ export type SpecialEnemyModifiers = {
395
+ precap_general_mod: AttackPowerModifier;
396
+ stype_mod: AttackPowerModifier;
397
+ landing_craft_synergy_mod: AttackPowerModifier;
398
+ toku_daihatsu_tank_mod: AttackPowerModifier;
399
+ m4a1dd_mod: AttackPowerModifier;
400
+ honi_mod: AttackPowerModifier;
401
+ postcap_general_mod: AttackPowerModifier;
402
+ pt_mod: AttackPowerModifier;
403
+ };
404
+
405
+ export type AttackPowerModifier = { a: number; b: number };
406
+
407
+ export type GearState = {
408
+ id?: string;
409
+ gear_id: number;
410
+ exp?: number;
411
+ stars?: number;
412
+ };
413
+
414
+ export type ShipState = {
415
+ id?: string;
416
+ ship_id: number;
417
+ level?: number;
418
+ current_hp?: number;
419
+ morale?: number;
420
+ ammo?: number;
421
+ fuel?: number;
422
+ max_hp_mod?: number;
423
+ firepower_mod?: number;
424
+ torpedo_mod?: number;
425
+ armor_mod?: number;
426
+ anti_air_mod?: number;
427
+ evasion_mod?: number;
428
+ asw_mod?: number;
429
+ los_mod?: number;
430
+ luck_mod?: number;
431
+ g1?: GearState;
432
+ g2?: GearState;
433
+ g3?: GearState;
434
+ g4?: GearState;
435
+ g5?: GearState;
436
+ gx?: GearState;
437
+ ss1?: number;
438
+ ss2?: number;
439
+ ss3?: number;
440
+ ss4?: number;
441
+ ss5?: number;
442
+ };
443
+
444
+ export type FleetState = {
445
+ id?: string;
446
+ len?: number;
447
+ s1?: ShipState;
448
+ s2?: ShipState;
449
+ s3?: ShipState;
450
+ s4?: ShipState;
451
+ s5?: ShipState;
452
+ s6?: ShipState;
453
+ s7?: ShipState;
454
+ };
455
+
456
+ export type AirSquadronMode = "Sortie" | "AirDefense";
457
+
458
+ export type AirSquadronState = {
459
+ id?: string;
460
+ mode?: AirSquadronMode;
461
+ g1?: GearState;
462
+ g2?: GearState;
463
+ g3?: GearState;
464
+ g4?: GearState;
465
+ g5?: GearState;
466
+ gx?: GearState;
467
+ ss1?: number;
468
+ ss2?: number;
469
+ ss3?: number;
470
+ ss4?: number;
471
+ ss5?: number;
472
+ };
473
+
474
+ export type Side = "Player" | "Enemy";
475
+
476
+ export type OrgType =
477
+ | "Single"
478
+ | "CarrierTaskForce"
479
+ | "SurfaceTaskForce"
480
+ | "TransportEscort"
481
+ | "EnemySingle"
482
+ | "EnemyCombined";
483
+
484
+ export type Role = "Main" | "Escort";
485
+
486
+ export type OrgState = {
487
+ id?: string;
488
+ f1?: FleetState;
489
+ f2?: FleetState;
490
+ f3?: FleetState;
491
+ f4?: FleetState;
492
+ a1?: AirSquadronState;
493
+ a2?: AirSquadronState;
494
+ a3?: AirSquadronState;
495
+ hq_level?: number;
496
+ org_type?: OrgType;
497
+ sortie?: string;
498
+ route_sup?: string;
499
+ boss_sup?: string;
500
+ };
501
+
502
+ export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
503
+
504
+ export type ShipStateMap = Record<ShipKey, ShipState>;
505
+
506
+ export type Formation = SingleFormation | CombinedFormation;
507
+
508
+ export type CombinedFormation =
509
+ | "Cruising1"
510
+ | "Cruising2"
511
+ | "Cruising3"
512
+ | "Cruising4";
513
+
514
+ export type SingleFormation =
515
+ | "LineAhead"
516
+ | "DoubleLine"
517
+ | "Diamond"
518
+ | "Echelon"
519
+ | "LineAbreast"
520
+ | "Vanguard";
521
+
522
+ export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
523
+
524
+ export type ShellingAttackType = "Normal" | "Carrier";
525
+
526
+ export type FleetCutinAnalysis = {
527
+ shelling: FleetCutinInfo[];
528
+ night: FleetCutinInfo[];
529
+ };
530
+
531
+ export type FleetCutinInfo = {
532
+ cutin: FleetCutin;
533
+ formation: Formation;
534
+ items: FleetCutinInfoItem[];
535
+ };
536
+
537
+ export type FleetCutinInfoItem = {
538
+ ship_id: number;
539
+ cutin: FleetCutin;
540
+ fleet_cutin_mod: number;
541
+ stats: AttackStats;
542
+ };
543
+
544
+ export type AttackInfo<AttackType, Cutin> = {
545
+ attack_type: AttackType;
546
+ items: AttackInfoItem<Cutin>[];
547
+ damage_state_map: NumMap<DamageState, number> | null;
548
+ };
549
+
550
+ export type AttackInfoItem<Cutin> = {
551
+ cutin: Cutin;
552
+ rate: number | null;
553
+ stats: AttackStats;
554
+ };
555
+
556
+ export type AttackStats = {
557
+ attack_power: AttackPower | null;
558
+ attack_power_params: AttackPowerParams | null;
559
+ hits: number;
560
+ hit_rate: HitRate | null;
561
+ hit_rate_params: HitRateParams | null;
562
+ damage: DamageInfo | null;
563
+ };
564
+
565
+ export type CompAntiAirInfo = {
566
+ fleet_anti_air: number;
567
+ ships: ShipAntiAirInfo[];
568
+ anti_air_cutin_chance: [number, number][];
569
+ };
570
+
571
+ export type ShipAntiAirInfo = {
572
+ ship_id: number;
573
+ adjusted_anti_air: number | null;
574
+ proportional_shotdown_rate: number | null;
575
+ fixed_shotdown_number: number | null;
576
+ minimum_bonus: number | null;
577
+ anti_air_cutin_chance: [number, number][];
578
+ anti_air_propellant_barrage_chance: number | null;
579
+ };
580
+
581
+ export type CompContactChanceInfo = {
582
+ single: AirstrikeContactChance[] | null;
583
+ combined: AirstrikeContactChance[] | null;
584
+ };
585
+
586
+ export type AirstrikeContactChance = {
587
+ air_state: AirState;
588
+ trigger_rate: number;
589
+ rank3: number;
590
+ rank2: number;
591
+ rank1: number;
592
+ total: number;
593
+ };
594
+
595
+ export type GearAttr =
596
+ | "Abyssal"
597
+ | "HighAngleMount"
598
+ | "NightFighter"
599
+ | "NightAttacker"
600
+ | "HeavyBomber"
601
+ | "MainGun"
602
+ | "Radar"
603
+ | "SurfaceRadar"
604
+ | "AirRadar"
605
+ | "DepthChargeProjector"
606
+ | "AdditionalDepthCharge"
607
+ | "AntiSubMortar"
608
+ | "AntiSubWeapon"
609
+ | "AntiSubAircraft"
610
+ | "LateModelBowTorpedo"
611
+ | "Seaplane"
612
+ | "CbAircraft"
613
+ | "LbAircraft"
614
+ | "JetAircraft"
615
+ | "Fighter"
616
+ | "Recon"
617
+ | "ObservationSeaplane"
618
+ | "CbFighterBomber"
619
+ | "AntiInstDiveBomber"
620
+ | "NightRecon"
621
+ | "CbSwordfish"
622
+ | "SemiNightPlane"
623
+ | "HighAltitudeInterceptor";
624
+
625
+ export type GearCategory =
626
+ | "Fighter"
627
+ | "Bomber"
628
+ | "Recon"
629
+ | "MainGun"
630
+ | "Secondary"
631
+ | "Torpedo"
632
+ | "AntiSub"
633
+ | "Radar"
634
+ | "Landing"
635
+ | "Ration"
636
+ | "LandBased"
637
+ | "Misc";
638
+
639
+ export type GearType =
640
+ | "Unknown"
641
+ | "SmallMainGun"
642
+ | "MediumMainGun"
643
+ | "LargeMainGun"
644
+ | "SecondaryGun"
645
+ | "Torpedo"
646
+ | "CbFighter"
647
+ | "CbDiveBomber"
648
+ | "CbTorpedoBomber"
649
+ | "CbRecon"
650
+ | "ReconSeaplane"
651
+ | "SeaplaneBomber"
652
+ | "SmallRadar"
653
+ | "LargeRadar"
654
+ | "Sonar"
655
+ | "DepthCharge"
656
+ | "ExtraArmor"
657
+ | "Engine"
658
+ | "AntiAirShell"
659
+ | "ApShell"
660
+ | "VtFuze"
661
+ | "AntiAirGun"
662
+ | "MidgetSubmarine"
663
+ | "EmergencyRepair"
664
+ | "LandingCraft"
665
+ | "Rotorcraft"
666
+ | "AntiSubPatrolAircraft"
667
+ | "MediumArmor"
668
+ | "LargeArmor"
669
+ | "Searchlight"
670
+ | "SupplyContainer"
671
+ | "ShipRepairFacility"
672
+ | "SubmarineTorpedo"
673
+ | "Starshell"
674
+ | "CommandFacility"
675
+ | "AviationPersonnel"
676
+ | "AntiAirFireDirector"
677
+ | "AntiGroundEquipment"
678
+ | "LargeMainGun2"
679
+ | "ShipPersonnel"
680
+ | "LargeSonar"
681
+ | "LargeFlyingBoat"
682
+ | "LargeSearchlight"
683
+ | "CombatRation"
684
+ | "Supplies"
685
+ | "SeaplaneFighter"
686
+ | "AmphibiousTank"
687
+ | "LbAttacker"
688
+ | "LbFighter"
689
+ | "LbRecon"
690
+ | "TransportationMaterial"
691
+ | "SubmarineEquipment"
692
+ | "LargeLbAircraft"
693
+ | "JetFighter"
694
+ | "JetFighterBomber"
695
+ | "JetTorpedoBomber"
696
+ | "JetRecon"
697
+ | "LargeRadar2"
698
+ | "CbRecon2";
699
+
700
+ export type NightBattleAttackType =
701
+ | { t: "NightAttack"; c: NightAttackType }
702
+ | { t: "Asw"; c: AswAttackType };
703
+
704
+ export type DayBattleAttackType =
705
+ | { t: "Shelling"; c: ShellingAttackType }
706
+ | { t: "Asw"; c: AswAttackType };
31
707
 
32
708
  import * as bindings from "../bindings";
33
709
  export * from "../bindings";
34
710
 
711
+ export type NightAttackType = "Normal" | "ArkRoyal" | "Carrier";
712
+
713
+ export type NightSpecialAttack =
714
+ | { NightCutin: NightCutin }
715
+ | { FleetCutin: FleetCutin };
716
+
717
+ export type NightCutin =
718
+ | "MainTorpRadar"
719
+ | "TorpLookoutRadar"
720
+ | "TorpTsloTorp"
721
+ | "TorpTsloDrum"
722
+ | "DoubleAttack"
723
+ | "TorpTorpMain"
724
+ | "TorpTorpTorp"
725
+ | "MainMainSec"
726
+ | "MainMainMain"
727
+ | "SubTorpTorp"
728
+ | "SubRadarTorp"
729
+ | "Cvci1_25"
730
+ | "Cvci1_20"
731
+ | "Cvci1_18"
732
+ | "Photobomber";
733
+
734
+ export type HitRate = { total: number; normal: number; critical: number };
735
+
736
+ export type 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 WarfareInfo = {
746
+ day: AttackInfo<DayBattleAttackType, DayCutin | null> | null;
747
+ closing_torpedo: AttackInfo<null, null> | null;
748
+ night: AttackInfo<NightBattleAttackType, NightCutin | null> | null;
749
+ shelling_support: AttackInfo<null, null> | null;
750
+ opening_asw: AttackInfo<null, null> | null;
751
+ };
752
+
753
+ export type WarfareAnalyzerContext = {
754
+ attacker_env: WarfareAnalyzerShipEnvironment;
755
+ target_env: WarfareAnalyzerShipEnvironment;
756
+ engagement: Engagement;
757
+ air_state: AirState;
758
+ };
759
+
760
+ export type WarfareAnalyzerShipEnvironment = {
761
+ org_type: OrgType;
762
+ role: Role;
763
+ ship_index: number;
764
+ fleet_len: number;
765
+ formation: Formation;
766
+ fleet_los_mod: number | null;
767
+ night_situation: NightSituation;
768
+ custom_mods: CustomModifiers;
769
+ };
770
+
771
+ export type FleetCutin =
772
+ | "NelsonTouch"
773
+ | "NagatoCutin"
774
+ | "ColoradoCutin"
775
+ | "KongouCutin";
776
+
777
+ export type BattleConfig = {
778
+ formation: NestedFormationDef[];
779
+ anti_air_cutin: AntiAirCutinDef[];
780
+ day_cutin: DayCutinDef[];
781
+ night_cutin: NightCutinDef[];
782
+ };
783
+
784
+ export type NightCutinDef = {
785
+ tag: NightCutin;
786
+ hits: number;
787
+ chance_denom: number | null;
788
+ power_mod: number | null;
789
+ accuracy_mod: number | null;
790
+ };
791
+
792
+ export type DayCutinDef = {
793
+ tag: DayCutin;
794
+ hits: number;
795
+ chance_denom: number | null;
796
+ power_mod: number | null;
797
+ accuracy_mod: number | null;
798
+ };
799
+
800
+ export type AntiAirCutinDef = {
801
+ id: number;
802
+ chance_numer: number | null;
803
+ multiplier: number | null;
804
+ minimum_bonus: number | null;
805
+ sequential: boolean | null;
806
+ };
807
+
808
+ export type NestedFormationDef =
809
+ | FormationDef
810
+ | { top_half: FormationDef; bottom_half: FormationDef };
811
+
812
+ export type FormationDef = {
813
+ tag: Formation;
814
+ protection_rate: number | null;
815
+ fleet_anti_air_mod: number;
816
+ shelling: FormationWarfareDef;
817
+ torpedo: FormationWarfareDef;
818
+ asw: FormationWarfareDef;
819
+ night: FormationWarfareDef;
820
+ shelling_support: FormationWarfareDef;
821
+ };
822
+
823
+ export type FormationWarfareDef = {
824
+ power_mod: number | null;
825
+ accuracy_mod: number | null;
826
+ evasion_mod: number | null;
827
+ };
828
+
829
+ export type FleetNightCutinRateInfo = {
830
+ night_contact_chance: NightContactChance;
831
+ ships: ShipNightCutinRateInfo[];
832
+ };
833
+
834
+ export type ShipNightCutinRateInfo = {
835
+ ship_id: number;
836
+ normal: NightCutinRateInfo;
837
+ chuuha: NightCutinRateInfo;
838
+ };
839
+
840
+ export type NightCutinRateInfo = {
841
+ cutin_term: number | null;
842
+ rates: [NightCutin | null, number | null][];
843
+ };
844
+
845
+ export type NightContactChance = {
846
+ rank1: number;
847
+ rank2: number;
848
+ rank3: number;
849
+ total: number;
850
+ };
35
851
 
36
852
  /**
37
- */
853
+ */
38
854
  export class AirSquadron {
39
855
  free(): void;
40
- /**
41
- * @param {string} key
42
- * @returns {Gear | undefined}
43
- */
856
+ /**
857
+ * @param {string} key
858
+ * @returns {Gear | undefined}
859
+ */
44
860
  get_gear(key: string): Gear | undefined;
45
- /**
46
- * @param {Gear} gear
47
- * @returns {boolean}
48
- */
861
+ /**
862
+ * @param {Gear} gear
863
+ * @returns {boolean}
864
+ */
49
865
  can_equip(gear: Gear): boolean;
50
- /**
51
- * @param {number} index
52
- * @returns {number}
53
- */
866
+ /**
867
+ * @param {number} index
868
+ * @returns {number}
869
+ */
54
870
  get_slot_size(index: number): number;
55
- /**
56
- * @param {number} index
57
- * @returns {number}
58
- */
871
+ /**
872
+ * @param {number} index
873
+ * @returns {number}
874
+ */
59
875
  get_max_slot_size(index: number): number;
60
- /**
61
- * @returns {number}
62
- */
876
+ /**
877
+ * @returns {number}
878
+ */
63
879
  fighter_power(): number;
64
- /**
65
- * @returns {number}
66
- */
880
+ /**
881
+ * @returns {number}
882
+ */
67
883
  interception_power(): number;
68
- /**
69
- * 行動半径
70
- * @returns {number}
71
- */
884
+ /**
885
+ * 行動半径
886
+ * @returns {number}
887
+ */
72
888
  radius(): number;
73
- /**
74
- */
889
+ /**
890
+ */
75
891
  id: string;
76
- /**
77
- */
78
- mode: bindings.AirSquadronMode;
79
- /**
80
- */
892
+ /**
893
+ */
894
+ mode: AirSquadronMode;
895
+ /**
896
+ */
81
897
  xxh3: BigInt;
82
898
  }
83
899
  /**
84
- */
900
+ */
85
901
  export class Analyzer {
86
902
  free(): void;
87
- /**
88
- * @param {Comp} comp
89
- * @param {bindings.Formation} formation
90
- * @param {number} adjusted_anti_air_resist
91
- * @param {number} fleet_anti_air_resist
92
- * @param {number | undefined} aaci
93
- * @returns {bindings.CompAntiAirInfo}
94
- */
95
- analyze_anti_air(comp: Comp, formation: bindings.Formation, adjusted_anti_air_resist: number, fleet_anti_air_resist: number, aaci?: number): bindings.CompAntiAirInfo;
96
- /**
97
- * @param {Comp} comp
98
- * @returns {bindings.CompDayCutinRateInfo}
99
- */
100
- analyze_day_cutin(comp: Comp): bindings.CompDayCutinRateInfo;
101
- /**
102
- * @param {Comp} comp
103
- * @param {bindings.NightSituation} attacker_situation
104
- * @param {bindings.NightSituation} target_situation
105
- * @returns {bindings.FleetNightCutinRateInfo}
106
- */
107
- analyze_night_cutin(comp: Comp, attacker_situation: bindings.NightSituation, target_situation: bindings.NightSituation): bindings.FleetNightCutinRateInfo;
108
- /**
109
- * @param {Comp} comp
110
- * @returns {bindings.CompContactChanceInfo}
111
- */
112
- analyze_contact_chance(comp: Comp): bindings.CompContactChanceInfo;
113
- /**
114
- * @param {bindings.WarfareAnalyzerContext} params
115
- * @param {Ship} attacker
116
- * @param {Ship} target
117
- * @returns {bindings.WarfareInfo}
118
- */
119
- analyze_warfare(params: bindings.WarfareAnalyzerContext, attacker: Ship, target: Ship): bindings.WarfareInfo;
120
- /**
121
- * @param {Comp} comp
122
- * @param {bindings.Engagement} engagement
123
- * @returns {bindings.FleetCutinAnalysis}
124
- */
125
- analyze_fleet_cutin(comp: Comp, engagement: bindings.Engagement): bindings.FleetCutinAnalysis;
903
+ /**
904
+ * @param {Comp} comp
905
+ * @param {Formation} formation
906
+ * @param {number} adjusted_anti_air_resist
907
+ * @param {number} fleet_anti_air_resist
908
+ * @param {number | undefined} aaci
909
+ * @returns {CompAntiAirInfo}
910
+ */
911
+ analyze_anti_air(
912
+ comp: Comp,
913
+ formation: Formation,
914
+ adjusted_anti_air_resist: number,
915
+ fleet_anti_air_resist: number,
916
+ aaci?: number
917
+ ): CompAntiAirInfo;
918
+ /**
919
+ * @param {Comp} comp
920
+ * @returns {CompDayCutinRateInfo}
921
+ */
922
+ analyze_day_cutin(comp: Comp): CompDayCutinRateInfo;
923
+ /**
924
+ * @param {Comp} comp
925
+ * @param {NightSituation} attacker_situation
926
+ * @param {NightSituation} target_situation
927
+ * @returns {FleetNightCutinRateInfo}
928
+ */
929
+ analyze_night_cutin(
930
+ comp: Comp,
931
+ attacker_situation: NightSituation,
932
+ target_situation: NightSituation
933
+ ): FleetNightCutinRateInfo;
934
+ /**
935
+ * @param {Comp} comp
936
+ * @returns {CompContactChanceInfo}
937
+ */
938
+ analyze_contact_chance(comp: Comp): CompContactChanceInfo;
939
+ /**
940
+ * @param {WarfareAnalyzerContext} params
941
+ * @param {Ship} attacker
942
+ * @param {Ship} target
943
+ * @returns {WarfareInfo}
944
+ */
945
+ analyze_warfare(
946
+ params: WarfareAnalyzerContext,
947
+ attacker: Ship,
948
+ target: Ship
949
+ ): WarfareInfo;
950
+ /**
951
+ * @param {Comp} comp
952
+ * @param {Engagement} engagement
953
+ * @returns {FleetCutinAnalysis}
954
+ */
955
+ analyze_fleet_cutin(comp: Comp, engagement: Engagement): FleetCutinAnalysis;
126
956
  }
127
957
  /**
128
- */
958
+ */
129
959
  export class Comp {
130
960
  free(): void;
131
- /**
132
- * @returns {bindings.Side}
133
- */
134
- side(): bindings.Side;
135
- /**
136
- * @returns {boolean}
137
- */
961
+ /**
962
+ * @returns {Side}
963
+ */
964
+ side(): Side;
965
+ /**
966
+ * @returns {boolean}
967
+ */
138
968
  is_combined(): boolean;
139
- /**
140
- * @returns {boolean}
141
- */
969
+ /**
970
+ * @returns {boolean}
971
+ */
972
+ is_player(): boolean;
973
+ /**
974
+ * @returns {boolean}
975
+ */
142
976
  is_enemy(): boolean;
143
- /**
144
- * @returns {bindings.CompMeta}
145
- */
146
- meta(): bindings.CompMeta;
147
- /**
148
- * @param {bindings.FleetType} ft
149
- * @returns {string | undefined}
150
- */
151
- get_fleet_id(ft: bindings.FleetType): string | undefined;
152
- /**
153
- * @param {bindings.FleetType} ft
154
- * @param {string} key
155
- * @returns {Ship | undefined}
156
- */
157
- get_ship_with_clone(ft: bindings.FleetType, key: string): Ship | undefined;
158
- /**
159
- * @param {bindings.FleetType} ft
160
- * @param {string} key
161
- * @returns {string | undefined}
162
- */
163
- get_ship_entity_id(ft: bindings.FleetType, key: string): string | undefined;
164
- /**
165
- * @param {string} id
166
- * @returns {Ship | undefined}
167
- */
977
+ /**
978
+ * @returns {CompMeta}
979
+ */
980
+ meta(): CompMeta;
981
+ /**
982
+ * @param {FleetType} ft
983
+ * @returns {string | undefined}
984
+ */
985
+ get_fleet_id(ft: FleetType): string | undefined;
986
+ /**
987
+ * @param {FleetType} ft
988
+ * @param {string} key
989
+ * @returns {Ship | undefined}
990
+ */
991
+ get_ship_with_clone(ft: FleetType, key: string): Ship | undefined;
992
+ /**
993
+ * @param {FleetType} ft
994
+ * @param {string} key
995
+ * @returns {string | undefined}
996
+ */
997
+ get_ship_entity_id(ft: FleetType, key: string): string | undefined;
998
+ /**
999
+ * @param {string} id
1000
+ * @returns {Ship | undefined}
1001
+ */
168
1002
  get_ship_by_eid_with_clone(id: string): Ship | undefined;
169
- /**
170
- * @returns {bindings.Formation}
171
- */
172
- default_formation(): bindings.Formation;
173
- /**
174
- * 艦隊対空値
175
- * @param {number} formation_mod
176
- * @returns {number}
177
- */
1003
+ /**
1004
+ * @returns {Formation}
1005
+ */
1006
+ default_formation(): Formation;
1007
+ /**
1008
+ * 艦隊対空値
1009
+ * @param {number} formation_mod
1010
+ * @returns {number}
1011
+ */
178
1012
  fleet_anti_air(formation_mod: number): number;
179
- /**
180
- * 制空値
181
- * @param {boolean} escort_participates
182
- * @param {bindings.AirWaveType} air_type
183
- * @returns {number | undefined}
184
- */
185
- fighter_power(escort_participates: boolean, air_type: bindings.AirWaveType): number | undefined;
186
- /**
187
- * マップ索敵
188
- * @param {number} node_divaricated_factor
189
- * @returns {number | undefined}
190
- */
1013
+ /**
1014
+ * 制空値
1015
+ * @param {boolean} escort_participates
1016
+ * @param {AirWaveType} air_type
1017
+ * @returns {number | undefined}
1018
+ */
1019
+ fighter_power(
1020
+ escort_participates: boolean,
1021
+ air_type: AirWaveType
1022
+ ): number | undefined;
1023
+ /**
1024
+ * マップ索敵
1025
+ * @param {number} node_divaricated_factor
1026
+ * @returns {number | undefined}
1027
+ */
191
1028
  elos(node_divaricated_factor: number): number | undefined;
192
- /**
193
- * 輸送物資量(TP)
194
- * @returns {number}
195
- */
1029
+ /**
1030
+ * 輸送物資量(TP)
1031
+ * @returns {number}
1032
+ */
196
1033
  transport_point(): number;
197
- /**
198
- */
1034
+ /**
1035
+ * @param {Ship} ship
1036
+ * @param {Formation} formation
1037
+ * @returns {WarfareShipEnvironment}
1038
+ */
1039
+ create_warfare_ship_environment(
1040
+ ship: Ship,
1041
+ formation: Formation
1042
+ ): WarfareShipEnvironment;
1043
+ /**
1044
+ */
199
1045
  boss_sup?: Fleet;
200
- /**
201
- */
1046
+ /**
1047
+ */
202
1048
  escort?: Fleet;
203
- /**
204
- */
1049
+ /**
1050
+ */
205
1051
  hq_level: number;
206
- /**
207
- */
1052
+ /**
1053
+ */
208
1054
  main: Fleet;
209
- /**
210
- */
211
- org_type: bindings.OrgType;
212
- /**
213
- */
1055
+ /**
1056
+ */
1057
+ org_type: OrgType;
1058
+ /**
1059
+ */
214
1060
  route_sup?: Fleet;
215
1061
  }
216
1062
  /**
217
- */
1063
+ */
218
1064
  export class FhCore {
219
1065
  free(): void;
220
- /**
221
- * @param {any} js_master
222
- * @param {Function} js_fn
223
- */
1066
+ /**
1067
+ * @param {any} js_master
1068
+ * @param {Function} js_fn
1069
+ */
224
1070
  constructor(js_master: any, js_fn: Function);
225
- /**
226
- * @param {bindings.GearState | undefined} input
227
- * @returns {Gear | undefined}
228
- */
229
- create_gear(input?: bindings.GearState): Gear | undefined;
230
- /**
231
- * @param {bindings.ShipState | undefined} input
232
- * @returns {Ship | undefined}
233
- */
234
- create_ship(input?: bindings.ShipState): Ship | undefined;
235
- /**
236
- * @param {bindings.AirSquadronState | undefined} input
237
- * @returns {AirSquadron}
238
- */
239
- create_air_squadron(input?: bindings.AirSquadronState): AirSquadron;
240
- /**
241
- * @param {bindings.FleetState | undefined} input
242
- * @returns {Fleet}
243
- */
244
- create_fleet(input?: bindings.FleetState): Fleet;
245
- /**
246
- * @param {bindings.OrgState | undefined} input
247
- * @returns {Org | undefined}
248
- */
249
- create_org(input?: bindings.OrgState): Org | undefined;
250
- /**
251
- * @param {number} ship_id
252
- * @returns {Ship | undefined}
253
- */
1071
+ /**
1072
+ * @param {GearState | undefined} input
1073
+ * @returns {Gear | undefined}
1074
+ */
1075
+ create_gear(input?: GearState): Gear | undefined;
1076
+ /**
1077
+ * @param {ShipState | undefined} input
1078
+ * @returns {Ship | undefined}
1079
+ */
1080
+ create_ship(input?: ShipState): Ship | undefined;
1081
+ /**
1082
+ * @param {AirSquadronState | undefined} input
1083
+ * @returns {AirSquadron}
1084
+ */
1085
+ create_air_squadron(input?: AirSquadronState): AirSquadron;
1086
+ /**
1087
+ * @param {FleetState | undefined} input
1088
+ * @returns {Fleet}
1089
+ */
1090
+ create_fleet(input?: FleetState): Fleet;
1091
+ /**
1092
+ * @param {OrgState | undefined} input
1093
+ * @returns {Org | undefined}
1094
+ */
1095
+ create_org(input?: OrgState): Org | undefined;
1096
+ /**
1097
+ * @param {number} ship_id
1098
+ * @returns {Ship | undefined}
1099
+ */
254
1100
  create_ship_by_id(ship_id: number): Ship | undefined;
255
- /**
256
- * @param {Uint16Array} main
257
- * @param {Uint16Array | undefined} escort
258
- * @returns {Comp}
259
- */
1101
+ /**
1102
+ * @param {Uint16Array} main
1103
+ * @param {Uint16Array | undefined} escort
1104
+ * @returns {Comp}
1105
+ */
260
1106
  create_comp_by_map_enemy(main: Uint16Array, escort?: Uint16Array): Comp;
261
- /**
262
- * @returns {Ship}
263
- */
1107
+ /**
1108
+ * @returns {Ship}
1109
+ */
264
1110
  create_default_ship(): Ship;
265
- /**
266
- * @returns {Analyzer}
267
- */
1111
+ /**
1112
+ * @returns {Analyzer}
1113
+ */
268
1114
  create_analyzer(): Analyzer;
269
- /**
270
- * @param {Comp} player
271
- * @param {Comp} enemy
272
- * @param {bindings.ShellingSupportSimulatorParams} params
273
- * @param {number} times
274
- * @returns {bindings.SimulatorResult}
275
- */
276
- simulate_shelling_support(player: Comp, enemy: Comp, params: bindings.ShellingSupportSimulatorParams, times: number): bindings.SimulatorResult;
1115
+ /**
1116
+ * @param {Comp} player
1117
+ * @param {Comp} enemy
1118
+ * @param {ShellingSupportSimulatorParams} params
1119
+ * @param {number} times
1120
+ * @returns {SimulatorResult}
1121
+ */
1122
+ simulate_shelling_support(
1123
+ player: Comp,
1124
+ enemy: Comp,
1125
+ params: ShellingSupportSimulatorParams,
1126
+ times: number
1127
+ ): SimulatorResult;
277
1128
  }
278
1129
  /**
279
- */
1130
+ */
280
1131
  export class Fleet {
281
1132
  free(): void;
282
- /**
283
- * @returns {bindings.FleetMeta}
284
- */
285
- meta(): bindings.FleetMeta;
286
- /**
287
- * @returns {(string)[]}
288
- */
289
- ship_keys(): (string)[];
290
- /**
291
- * @returns {(string)[]}
292
- */
293
- ship_ids(): (string)[];
294
- /**
295
- * @returns {(string)[]}
296
- */
297
- get_gear_ids_by_improvable(): (string)[];
298
- /**
299
- * @returns {(string)[]}
300
- */
301
- get_gear_ids_by_proficiency(): (string)[];
302
- /**
303
- * @param {string} id
304
- * @param {bindings.DamageState} state
305
- * @returns {number | undefined}
306
- */
307
- get_damage_bound(id: string, state: bindings.DamageState): number | undefined;
308
- /**
309
- * @param {string} id
310
- * @param {number} rate
311
- * @param {boolean} ceil
312
- * @returns {number | undefined}
313
- */
314
- get_remaining_fuel(id: string, rate: number, ceil: boolean): number | undefined;
315
- /**
316
- * @param {string} id
317
- * @param {number} rate
318
- * @param {boolean} ceil
319
- * @returns {number | undefined}
320
- */
321
- get_remaining_ammo(id: string, rate: number, ceil: boolean): number | undefined;
322
- /**
323
- * @returns {number}
324
- */
1133
+ /**
1134
+ * @returns {FleetMeta}
1135
+ */
1136
+ meta(): FleetMeta;
1137
+ /**
1138
+ * @returns {(string)[]}
1139
+ */
1140
+ ship_keys(): string[];
1141
+ /**
1142
+ * @returns {(string)[]}
1143
+ */
1144
+ ship_ids(): string[];
1145
+ /**
1146
+ * @returns {(string)[]}
1147
+ */
1148
+ get_gear_ids_by_improvable(): string[];
1149
+ /**
1150
+ * @returns {(string)[]}
1151
+ */
1152
+ get_gear_ids_by_proficiency(): string[];
1153
+ /**
1154
+ * @param {string} id
1155
+ * @param {DamageState} state
1156
+ * @returns {number | undefined}
1157
+ */
1158
+ get_damage_bound(id: string, state: DamageState): number | undefined;
1159
+ /**
1160
+ * @param {string} id
1161
+ * @param {number} rate
1162
+ * @param {boolean} ceil
1163
+ * @returns {number | undefined}
1164
+ */
1165
+ get_remaining_fuel(
1166
+ id: string,
1167
+ rate: number,
1168
+ ceil: boolean
1169
+ ): number | undefined;
1170
+ /**
1171
+ * @param {string} id
1172
+ * @param {number} rate
1173
+ * @param {boolean} ceil
1174
+ * @returns {number | undefined}
1175
+ */
1176
+ get_remaining_ammo(
1177
+ id: string,
1178
+ rate: number,
1179
+ ceil: boolean
1180
+ ): number | undefined;
1181
+ /**
1182
+ * @returns {number}
1183
+ */
325
1184
  count_ships(): number;
326
- /**
327
- * @param {string} key
328
- * @returns {Ship | undefined}
329
- */
1185
+ /**
1186
+ * @param {string} key
1187
+ * @returns {Ship | undefined}
1188
+ */
330
1189
  get_ship(key: string): Ship | undefined;
331
- /**
332
- * @param {bindings.AirWaveType} air_type
333
- * @returns {number | undefined}
334
- */
335
- fighter_power(air_type: bindings.AirWaveType): number | undefined;
336
- /**
337
- * マップ索敵
338
- * @param {number} hq_level
339
- * @param {number} node_divaricated_factor
340
- * @returns {number | undefined}
341
- */
1190
+ /**
1191
+ * @param {AirWaveType} air_type
1192
+ * @returns {number | undefined}
1193
+ */
1194
+ fighter_power(air_type: AirWaveType): number | undefined;
1195
+ /**
1196
+ * マップ索敵
1197
+ * @param {number} hq_level
1198
+ * @param {number} node_divaricated_factor
1199
+ * @returns {number | undefined}
1200
+ */
342
1201
  elos(hq_level: number, node_divaricated_factor: number): number | undefined;
343
- /**
344
- * 航空索敵スコア
345
- * @returns {number | undefined}
346
- */
1202
+ /**
1203
+ * 航空索敵スコア
1204
+ * @returns {number | undefined}
1205
+ */
347
1206
  aviation_detection_score(): number | undefined;
348
- /**
349
- * 遠征ボーナス
350
- * @returns {number}
351
- */
1207
+ /**
1208
+ * 遠征ボーナス
1209
+ * @returns {number}
1210
+ */
352
1211
  expedition_bonus(): number;
353
- /**
354
- * @param {string} key
355
- * @returns {number | undefined}
356
- */
1212
+ /**
1213
+ * @param {string} key
1214
+ * @returns {number | undefined}
1215
+ */
357
1216
  sum_ship_stat_by(key: string): number | undefined;
358
- /**
359
- */
1217
+ /**
1218
+ */
360
1219
  reset_battle_state(): void;
361
- /**
362
- * @returns {number | undefined}
363
- */
1220
+ /**
1221
+ * @returns {number | undefined}
1222
+ */
364
1223
  readonly fleet_los_mod: number | undefined;
365
- /**
366
- */
1224
+ /**
1225
+ */
367
1226
  id: string;
368
- /**
369
- */
1227
+ /**
1228
+ */
370
1229
  len: number;
371
- /**
372
- */
1230
+ /**
1231
+ */
373
1232
  xxh3: BigInt;
374
1233
  }
375
1234
  /**
376
- */
1235
+ */
377
1236
  export class Gear {
378
1237
  free(): void;
379
- /**
380
- * @returns {Gear}
381
- */
1238
+ /**
1239
+ * @returns {Gear}
1240
+ */
382
1241
  static default(): Gear;
383
- /**
384
- * @param {bindings.GearAttr} attr
385
- * @returns {boolean}
386
- */
387
- has_attr(attr: bindings.GearAttr): boolean;
388
- /**
389
- * @returns {bindings.GearCategory}
390
- */
391
- category(): bindings.GearCategory;
392
- /**
393
- * @returns {boolean}
394
- */
1242
+ /**
1243
+ * @param {GearAttr} attr
1244
+ * @returns {boolean}
1245
+ */
1246
+ has_attr(attr: GearAttr): boolean;
1247
+ /**
1248
+ * @returns {GearCategory}
1249
+ */
1250
+ category(): GearCategory;
1251
+ /**
1252
+ * @returns {boolean}
1253
+ */
395
1254
  is_carrier_shelling_plane(): boolean;
396
- /**
397
- * @returns {boolean}
398
- */
1255
+ /**
1256
+ * @returns {boolean}
1257
+ */
399
1258
  has_proficiency(): boolean;
400
- /**
401
- * @returns {boolean}
402
- */
1259
+ /**
1260
+ * @returns {boolean}
1261
+ */
403
1262
  max_exp_eq_120(): boolean;
404
- /**
405
- * @returns {number}
406
- */
1263
+ /**
1264
+ * @returns {number}
1265
+ */
407
1266
  proficiency_critical_power_mod(): number;
408
- /**
409
- * @param {number} slot_size
410
- * @returns {number}
411
- */
1267
+ /**
1268
+ * @param {number} slot_size
1269
+ * @returns {number}
1270
+ */
412
1271
  calc_fighter_power(slot_size: number): number;
413
- /**
414
- * @param {number} slot_size
415
- * @returns {number}
416
- */
1272
+ /**
1273
+ * @param {number} slot_size
1274
+ * @returns {number}
1275
+ */
417
1276
  calc_interception_power(slot_size: number): number;
418
- /**
419
- * @returns {number}
420
- */
1277
+ /**
1278
+ * @returns {number}
1279
+ */
421
1280
  fleet_anti_air(): number;
422
- /**
423
- * @returns {number}
424
- */
1281
+ /**
1282
+ * @returns {number}
1283
+ */
425
1284
  adjusted_anti_air(): number;
426
- /**
427
- * @param {number} slot_size
428
- * @returns {number}
429
- */
1285
+ /**
1286
+ * @param {number} slot_size
1287
+ * @returns {number}
1288
+ */
430
1289
  calc_contact_trigger_factor(slot_size: number): number;
431
- /**
432
- * @param {bindings.AirStateRank} rank
433
- * @returns {number}
434
- */
435
- contact_selection_rate(rank: bindings.AirStateRank): number;
436
- /**
437
- * @param {number} level
438
- * @returns {number}
439
- */
1290
+ /**
1291
+ * @param {AirStateRank} rank
1292
+ * @returns {number}
1293
+ */
1294
+ contact_selection_rate(rank: AirStateRank): number;
1295
+ /**
1296
+ * @param {number} level
1297
+ * @returns {number}
1298
+ */
440
1299
  night_contact_rate(level: number): number;
441
- /**
442
- * @returns {boolean}
443
- */
1300
+ /**
1301
+ * @returns {boolean}
1302
+ */
444
1303
  is_night_plane(): boolean;
445
- /**
446
- * @param {number} slot_size
447
- * @param {boolean} anti_inst
448
- * @returns {number}
449
- */
1304
+ /**
1305
+ * @param {number} slot_size
1306
+ * @param {boolean} anti_inst
1307
+ * @returns {number}
1308
+ */
450
1309
  night_plane_power(slot_size: number, anti_inst: boolean): number;
451
- /**
452
- * @returns {number}
453
- */
1310
+ /**
1311
+ * @returns {number}
1312
+ */
454
1313
  elos(): number;
455
- /**
456
- * @returns {boolean}
457
- */
1314
+ /**
1315
+ * @returns {boolean}
1316
+ */
458
1317
  is_abyssal(): boolean;
459
- /**
460
- * @returns {boolean}
461
- */
1318
+ /**
1319
+ * @returns {boolean}
1320
+ */
462
1321
  is_abyssal_cuttlefish_torpedo(): boolean;
463
- /**
464
- * @returns {boolean}
465
- */
1322
+ /**
1323
+ * @returns {boolean}
1324
+ */
466
1325
  is_abyssal_patrolling_attack_hawk(): boolean;
467
- /**
468
- * @returns {number}
469
- */
1326
+ /**
1327
+ * @returns {number}
1328
+ */
470
1329
  expedition_bonus(): number;
471
- /**
472
- */
1330
+ /**
1331
+ */
473
1332
  accuracy: number;
474
- /**
475
- * @returns {number}
476
- */
1333
+ /**
1334
+ * @returns {number}
1335
+ */
477
1336
  readonly ace: number;
478
- /**
479
- */
1337
+ /**
1338
+ */
480
1339
  adjusted_anti_air_resistance: number;
481
- /**
482
- */
1340
+ /**
1341
+ */
483
1342
  anti_air: number;
484
- /**
485
- * @returns {number}
486
- */
1343
+ /**
1344
+ * @returns {number}
1345
+ */
487
1346
  readonly anti_bomber: number;
488
- /**
489
- */
1347
+ /**
1348
+ */
490
1349
  armor: number;
491
- /**
492
- */
1350
+ /**
1351
+ */
493
1352
  asw: number;
494
- /**
495
- */
1353
+ /**
1354
+ */
496
1355
  bombing: number;
497
- /**
498
- */
1356
+ /**
1357
+ */
499
1358
  cost: number;
500
- /**
501
- */
1359
+ /**
1360
+ */
502
1361
  default_exp: number;
503
- /**
504
- */
1362
+ /**
1363
+ */
505
1364
  evasion: number;
506
- /**
507
- */
1365
+ /**
1366
+ */
508
1367
  exp: number;
509
- /**
510
- */
1368
+ /**
1369
+ */
511
1370
  firepower: number;
512
- /**
513
- */
1371
+ /**
1372
+ */
514
1373
  fleet_anti_air_resistance: number;
515
- /**
516
- */
1374
+ /**
1375
+ */
517
1376
  gear_id: number;
518
- /**
519
- */
520
- gear_type: bindings.GearType;
521
- /**
522
- * @returns {number}
523
- */
1377
+ /**
1378
+ */
1379
+ gear_type: GearType;
1380
+ /**
1381
+ * @returns {number}
1382
+ */
524
1383
  readonly gear_type_id: number;
525
- /**
526
- * @returns {number}
527
- */
1384
+ /**
1385
+ * @returns {number}
1386
+ */
528
1387
  readonly icon_id: number;
529
- /**
530
- */
1388
+ /**
1389
+ */
531
1390
  id: string;
532
- /**
533
- */
1391
+ /**
1392
+ */
534
1393
  improvable: boolean;
535
- /**
536
- * @returns {number}
537
- */
1394
+ /**
1395
+ * @returns {number}
1396
+ */
538
1397
  readonly interception: number;
539
- /**
540
- */
1398
+ /**
1399
+ */
541
1400
  los: number;
542
- /**
543
- */
1401
+ /**
1402
+ */
544
1403
  luck: number;
545
- /**
546
- */
1404
+ /**
1405
+ */
547
1406
  max_hp: number;
548
- /**
549
- */
1407
+ /**
1408
+ */
550
1409
  name: string;
551
- /**
552
- */
1410
+ /**
1411
+ */
553
1412
  radius: number;
554
- /**
555
- */
1413
+ /**
1414
+ */
556
1415
  range: number;
557
- /**
558
- * @returns {number}
559
- */
1416
+ /**
1417
+ * @returns {number}
1418
+ */
560
1419
  readonly special_type_id: number;
561
- /**
562
- */
1420
+ /**
1421
+ */
563
1422
  speed: number;
564
- /**
565
- */
1423
+ /**
1424
+ */
566
1425
  stars: number;
567
- /**
568
- */
1426
+ /**
1427
+ */
569
1428
  torpedo: number;
570
- /**
571
- * @returns {any}
572
- */
1429
+ /**
1430
+ * @returns {any}
1431
+ */
573
1432
  readonly types: any;
574
- /**
575
- */
1433
+ /**
1434
+ */
576
1435
  xxh3: BigInt;
577
1436
  }
578
1437
  /**
579
- */
1438
+ */
580
1439
  export class IBonuses {
581
1440
  free(): void;
582
- /**
583
- */
1441
+ /**
1442
+ */
584
1443
  adjusted_anti_air: number;
585
- /**
586
- */
1444
+ /**
1445
+ */
587
1446
  asw_accuracy: number;
588
- /**
589
- */
1447
+ /**
1448
+ */
590
1449
  asw_power: number;
591
- /**
592
- */
1450
+ /**
1451
+ */
593
1452
  carrier_shelling_power: number;
594
- /**
595
- */
1453
+ /**
1454
+ */
596
1455
  contact_selection: number;
597
- /**
598
- */
1456
+ /**
1457
+ */
599
1458
  defense_power: number;
600
- /**
601
- */
1459
+ /**
1460
+ */
602
1461
  elos: number;
603
- /**
604
- */
1462
+ /**
1463
+ */
605
1464
  fighter_power: number;
606
- /**
607
- */
1465
+ /**
1466
+ */
608
1467
  fleet_anti_air: number;
609
- /**
610
- */
1468
+ /**
1469
+ */
611
1470
  night_accuracy: number;
612
- /**
613
- */
1471
+ /**
1472
+ */
614
1473
  night_power: number;
615
- /**
616
- */
1474
+ /**
1475
+ */
617
1476
  shelling_accuracy: number;
618
- /**
619
- */
1477
+ /**
1478
+ */
620
1479
  shelling_power: number;
621
- /**
622
- */
1480
+ /**
1481
+ */
623
1482
  torpedo_accuracy: number;
624
- /**
625
- */
1483
+ /**
1484
+ */
626
1485
  torpedo_evasion: number;
627
- /**
628
- */
1486
+ /**
1487
+ */
629
1488
  torpedo_power: number;
630
1489
  }
631
1490
  /**
632
- */
1491
+ */
633
1492
  export class Org {
634
1493
  free(): void;
635
- /**
636
- * @param {bindings.Role} role
637
- * @returns {number}
638
- */
639
- fleet_len(role: bindings.Role): number;
640
- /**
641
- * @param {bindings.Role} role
642
- * @param {string} key
643
- * @returns {string | undefined}
644
- */
645
- get_ship_entity_id(role: bindings.Role, key: string): string | undefined;
646
- /**
647
- * @returns {(string)[]}
648
- */
649
- air_squadron_ids(): (string)[];
650
- /**
651
- * @param {bindings.Role} role
652
- * @returns {number | undefined}
653
- */
654
- fleet_los_mod(role: bindings.Role): number | undefined;
655
- /**
656
- * @returns {Uint16Array}
657
- */
1494
+ /**
1495
+ * @param {Role} role
1496
+ * @returns {number}
1497
+ */
1498
+ fleet_len(role: Role): number;
1499
+ /**
1500
+ * @param {Role} role
1501
+ * @param {string} key
1502
+ * @returns {string | undefined}
1503
+ */
1504
+ get_ship_entity_id(role: Role, key: string): string | undefined;
1505
+ /**
1506
+ * @returns {(string)[]}
1507
+ */
1508
+ air_squadron_ids(): string[];
1509
+ /**
1510
+ * @param {Role} role
1511
+ * @returns {number | undefined}
1512
+ */
1513
+ fleet_los_mod(role: Role): number | undefined;
1514
+ /**
1515
+ * @returns {Uint16Array}
1516
+ */
658
1517
  main_ship_ids(): Uint16Array;
659
- /**
660
- * @returns {Uint16Array}
661
- */
1518
+ /**
1519
+ * @returns {Uint16Array}
1520
+ */
662
1521
  escort_ship_ids(): Uint16Array;
663
- /**
664
- * @param {string} key
665
- * @returns {Fleet}
666
- */
1522
+ /**
1523
+ * @param {string} key
1524
+ * @returns {Fleet}
1525
+ */
667
1526
  clone_fleet(key: string): Fleet;
668
- /**
669
- * @param {bindings.Role} role
670
- * @param {string} key
671
- * @returns {Ship | undefined}
672
- */
673
- get_ship(role: bindings.Role, key: string): Ship | undefined;
674
- /**
675
- * @param {string} id
676
- * @returns {Ship | undefined}
677
- */
1527
+ /**
1528
+ * @param {Role} role
1529
+ * @param {string} key
1530
+ * @returns {Ship | undefined}
1531
+ */
1532
+ get_ship(role: Role, key: string): Ship | undefined;
1533
+ /**
1534
+ * @param {string} id
1535
+ * @returns {Ship | undefined}
1536
+ */
678
1537
  get_ship_by_id(id: string): Ship | undefined;
679
- /**
680
- * @param {bindings.Role} role
681
- * @returns {string}
682
- */
683
- get_fleet_id_by_role(role: bindings.Role): string;
684
- /**
685
- * @returns {Comp}
686
- */
1538
+ /**
1539
+ * @param {Role} role
1540
+ * @returns {string}
1541
+ */
1542
+ get_fleet_id_by_role(role: Role): string;
1543
+ /**
1544
+ * @returns {Comp}
1545
+ */
687
1546
  create_comp(): Comp;
688
- /**
689
- * @param {string} key
690
- * @returns {Comp}
691
- */
1547
+ /**
1548
+ * @param {string} key
1549
+ * @returns {Comp}
1550
+ */
692
1551
  create_comp_by_key(key: string): Comp;
693
- /**
694
- * @param {string} key
695
- * @returns {AirSquadron}
696
- */
1552
+ /**
1553
+ * @param {string} key
1554
+ * @returns {AirSquadron}
1555
+ */
697
1556
  get_air_squadron(key: string): AirSquadron;
698
- /**
699
- * @returns {(string)[]}
700
- */
701
- get_air_squadron_gear_ids_by_improvable(): (string)[];
702
- /**
703
- * @returns {(string)[]}
704
- */
705
- get_air_squadron_gear_ids_by_proficiency(): (string)[];
706
- /**
707
- * @returns {boolean}
708
- */
1557
+ /**
1558
+ * @returns {(string)[]}
1559
+ */
1560
+ get_air_squadron_gear_ids_by_improvable(): string[];
1561
+ /**
1562
+ * @returns {(string)[]}
1563
+ */
1564
+ get_air_squadron_gear_ids_by_proficiency(): string[];
1565
+ /**
1566
+ * @returns {Side}
1567
+ */
1568
+ side(): Side;
1569
+ /**
1570
+ * @returns {boolean}
1571
+ */
709
1572
  is_player(): boolean;
710
- /**
711
- * @returns {boolean}
712
- */
1573
+ /**
1574
+ * @returns {boolean}
1575
+ */
713
1576
  is_enemy(): boolean;
714
- /**
715
- * @returns {boolean}
716
- */
1577
+ /**
1578
+ * @returns {boolean}
1579
+ */
717
1580
  is_single(): boolean;
718
- /**
719
- * @returns {boolean}
720
- */
1581
+ /**
1582
+ * @returns {boolean}
1583
+ */
721
1584
  is_combined(): boolean;
722
- /**
723
- * 防空時の基地制空値
724
- * @returns {number}
725
- */
1585
+ /**
1586
+ * 防空時の基地制空値
1587
+ * @returns {number}
1588
+ */
726
1589
  interception_power(): number;
727
- /**
728
- * 高高度迎撃時の基地制空値
729
- * @returns {number}
730
- */
1590
+ /**
1591
+ * 高高度迎撃時の基地制空値
1592
+ * @returns {number}
1593
+ */
731
1594
  high_altitude_interception_power(): number;
732
- /**
733
- * @param {Ship} ship
734
- * @param {bindings.Formation} formation
735
- * @returns {bindings.WarfareShipEnvironment}
736
- */
737
- create_warfare_ship_environment(ship: Ship, formation: bindings.Formation): bindings.WarfareShipEnvironment;
738
- /**
739
- * @returns {Org}
740
- */
1595
+ /**
1596
+ * @param {Ship} ship
1597
+ * @param {Formation} formation
1598
+ * @returns {WarfareShipEnvironment}
1599
+ */
1600
+ create_warfare_ship_environment(
1601
+ ship: Ship,
1602
+ formation: Formation
1603
+ ): WarfareShipEnvironment;
1604
+ /**
1605
+ * @returns {Org}
1606
+ */
741
1607
  static default(): Org;
742
- /**
743
- */
1608
+ /**
1609
+ */
744
1610
  boss_sup?: string;
745
- /**
746
- */
1611
+ /**
1612
+ */
747
1613
  hq_level: number;
748
- /**
749
- */
1614
+ /**
1615
+ */
750
1616
  id: string;
751
- /**
752
- */
753
- org_type: bindings.OrgType;
754
- /**
755
- */
1617
+ /**
1618
+ */
1619
+ org_type: OrgType;
1620
+ /**
1621
+ */
756
1622
  route_sup?: string;
757
- /**
758
- */
1623
+ /**
1624
+ */
759
1625
  sortie: string;
760
- /**
761
- */
1626
+ /**
1627
+ */
762
1628
  xxh3: BigInt;
763
1629
  }
764
1630
  /**
765
- */
1631
+ */
766
1632
  export class Ship {
767
1633
  free(): void;
768
- /**
769
- * @returns {Ship}
770
- */
1634
+ /**
1635
+ * @returns {Ship}
1636
+ */
771
1637
  static default(): Ship;
772
- /**
773
- * @param {string} id
774
- * @returns {boolean}
775
- */
1638
+ /**
1639
+ * @param {string} id
1640
+ * @returns {boolean}
1641
+ */
776
1642
  eq_id(id: string): boolean;
777
- /**
778
- * @returns {bindings.ShipState}
779
- */
780
- state(): bindings.ShipState;
781
- /**
782
- * @returns {bindings.ShipMeta}
783
- */
784
- meta(): bindings.ShipMeta;
785
- /**
786
- * @returns {number}
787
- */
1643
+ /**
1644
+ * @returns {ShipState}
1645
+ */
1646
+ state(): ShipState;
1647
+ /**
1648
+ * @returns {ShipMeta}
1649
+ */
1650
+ meta(): ShipMeta;
1651
+ /**
1652
+ * @returns {number}
1653
+ */
788
1654
  remodel_rank(): number;
789
- /**
790
- * @returns {bindings.DamageState}
791
- */
792
- damage_state(): bindings.DamageState;
793
- /**
794
- * @returns {bindings.MoraleState}
795
- */
796
- morale_state(): bindings.MoraleState;
797
- /**
798
- * @returns {bindings.ShipCategory}
799
- */
800
- category(): bindings.ShipCategory;
801
- /**
802
- * @param {bindings.ShipAttr} attr
803
- * @returns {boolean}
804
- */
805
- has_attr(attr: bindings.ShipAttr): boolean;
806
- /**
807
- * @returns {any}
808
- */
1655
+ /**
1656
+ * @returns {DamageState}
1657
+ */
1658
+ damage_state(): DamageState;
1659
+ /**
1660
+ * @returns {MoraleState}
1661
+ */
1662
+ morale_state(): MoraleState;
1663
+ /**
1664
+ * @returns {ShipCategory}
1665
+ */
1666
+ category(): ShipCategory;
1667
+ /**
1668
+ * @param {ShipAttr} attr
1669
+ * @returns {boolean}
1670
+ */
1671
+ has_attr(attr: ShipAttr): boolean;
1672
+ /**
1673
+ * @returns {any}
1674
+ */
809
1675
  gear_keys(): any;
810
- /**
811
- * @param {string} key
812
- * @returns {Gear | undefined}
813
- */
1676
+ /**
1677
+ * @param {string} key
1678
+ * @returns {Gear | undefined}
1679
+ */
814
1680
  get_gear(key: string): Gear | undefined;
815
- /**
816
- * @param {bindings.DamageState} state
817
- * @returns {number | undefined}
818
- */
819
- get_damage_bound(state: bindings.DamageState): number | undefined;
820
- /**
821
- * @param {number} rate
822
- * @param {boolean} ceil
823
- * @returns {number}
824
- */
1681
+ /**
1682
+ * @param {DamageState} state
1683
+ * @returns {number | undefined}
1684
+ */
1685
+ get_damage_bound(state: DamageState): number | undefined;
1686
+ /**
1687
+ * @param {number} rate
1688
+ * @param {boolean} ceil
1689
+ * @returns {number}
1690
+ */
825
1691
  get_remaining_fuel(rate: number, ceil: boolean): number;
826
- /**
827
- * @param {number} rate
828
- * @param {boolean} ceil
829
- * @returns {number}
830
- */
1692
+ /**
1693
+ * @param {number} rate
1694
+ * @param {boolean} ceil
1695
+ * @returns {number}
1696
+ */
831
1697
  get_remaining_ammo(rate: number, ceil: boolean): number;
832
- /**
833
- * @param {string} key
834
- * @returns {boolean}
835
- */
1698
+ /**
1699
+ * @param {string} key
1700
+ * @returns {boolean}
1701
+ */
836
1702
  has_unknown_stat(key: string): boolean;
837
- /**
838
- * @param {string} key
839
- * @returns {number | undefined}
840
- */
1703
+ /**
1704
+ * @param {string} key
1705
+ * @returns {number | undefined}
1706
+ */
841
1707
  get_naked_stat(key: string): number | undefined;
842
- /**
843
- * @param {string} key
844
- * @returns {number | undefined}
845
- */
1708
+ /**
1709
+ * @param {string} key
1710
+ * @returns {number | undefined}
1711
+ */
846
1712
  get_stat_interval_left(key: string): number | undefined;
847
- /**
848
- * @param {string} key
849
- * @returns {number | undefined}
850
- */
1713
+ /**
1714
+ * @param {string} key
1715
+ * @returns {number | undefined}
1716
+ */
851
1717
  get_stat_interval_right(key: string): number | undefined;
852
- /**
853
- * @param {string} key
854
- * @returns {number}
855
- */
1718
+ /**
1719
+ * @param {string} key
1720
+ * @returns {number}
1721
+ */
856
1722
  get_gear_stat(key: string): number;
857
- /**
858
- * @param {string} key
859
- * @returns {number}
860
- */
1723
+ /**
1724
+ * @param {string} key
1725
+ * @returns {number}
1726
+ */
861
1727
  get_ebonus(key: string): number;
862
- /**
863
- * @param {string} key
864
- * @returns {number | undefined}
865
- */
1728
+ /**
1729
+ * @param {string} key
1730
+ * @returns {number | undefined}
1731
+ */
866
1732
  get_stat_mod(key: string): number | undefined;
867
- /**
868
- * @returns {boolean}
869
- */
1733
+ /**
1734
+ * @returns {boolean}
1735
+ */
870
1736
  is_abyssal(): boolean;
871
- /**
872
- * @returns {boolean}
873
- */
1737
+ /**
1738
+ * @returns {boolean}
1739
+ */
874
1740
  is_submarine(): boolean;
875
- /**
876
- * @param {Gear} gear
877
- * @param {string} key
878
- * @returns {boolean}
879
- */
1741
+ /**
1742
+ * @param {Gear} gear
1743
+ * @param {string} key
1744
+ * @returns {boolean}
1745
+ */
880
1746
  can_equip(gear: Gear, key: string): boolean;
881
- /**
882
- * @returns {boolean}
883
- */
1747
+ /**
1748
+ * @returns {boolean}
1749
+ */
884
1750
  is_installation(): boolean;
885
- /**
886
- * @param {number} index
887
- * @returns {number | undefined}
888
- */
1751
+ /**
1752
+ * @param {number} index
1753
+ * @returns {number | undefined}
1754
+ */
889
1755
  get_slot_size(index: number): number | undefined;
890
- /**
891
- * @param {number} index
892
- * @returns {number | undefined}
893
- */
1756
+ /**
1757
+ * @param {number} index
1758
+ * @returns {number | undefined}
1759
+ */
894
1760
  get_max_slot_size(index: number): number | undefined;
895
- /**
896
- * @returns {number}
897
- */
1761
+ /**
1762
+ * @returns {number}
1763
+ */
898
1764
  remaining_ammo_mod(): number;
899
- /**
900
- * @returns {number}
901
- */
1765
+ /**
1766
+ * @returns {number}
1767
+ */
902
1768
  remaining_fuel_mod(): number;
903
- /**
904
- * @param {bindings.AirWaveType} air_type
905
- * @returns {number | undefined}
906
- */
907
- fighter_power(air_type: bindings.AirWaveType): number | undefined;
908
- /**
909
- * @returns {number | undefined}
910
- */
1769
+ /**
1770
+ * @param {AirWaveType} air_type
1771
+ * @returns {number | undefined}
1772
+ */
1773
+ fighter_power(air_type: AirWaveType): number | undefined;
1774
+ /**
1775
+ * @returns {number | undefined}
1776
+ */
911
1777
  fleet_los_factor(): number | undefined;
912
- /**
913
- * @returns {number}
914
- */
1778
+ /**
1779
+ * @returns {number}
1780
+ */
915
1781
  fleet_anti_air(): number;
916
- /**
917
- * @returns {number}
918
- */
1782
+ /**
1783
+ * @returns {number}
1784
+ */
919
1785
  cruiser_fit_bonus(): number;
920
- /**
921
- * @param {boolean} is_night
922
- * @returns {number}
923
- */
1786
+ /**
1787
+ * @param {boolean} is_night
1788
+ * @returns {number}
1789
+ */
924
1790
  fit_gun_bonus(is_night: boolean): number;
925
- /**
926
- * @returns {number | undefined}
927
- */
1791
+ /**
1792
+ * @returns {number | undefined}
1793
+ */
928
1794
  basic_accuracy_term(): number | undefined;
929
- /**
930
- * @returns {number | undefined}
931
- */
1795
+ /**
1796
+ * @returns {number | undefined}
1797
+ */
932
1798
  basic_evasion_term(): number | undefined;
933
- /**
934
- * @param {number} formation_mod
935
- * @param {number} postcap_additive
936
- * @param {number} postcap_multiplicative
937
- * @returns {number | undefined}
938
- */
939
- evasion_term(formation_mod: number, postcap_additive: number, postcap_multiplicative: number): number | undefined;
940
- /**
941
- * @param {number} armor_penetration
942
- * @returns {number | undefined}
943
- */
1799
+ /**
1800
+ * @param {number} formation_mod
1801
+ * @param {number} postcap_additive
1802
+ * @param {number} postcap_multiplicative
1803
+ * @returns {number | undefined}
1804
+ */
1805
+ evasion_term(
1806
+ formation_mod: number,
1807
+ postcap_additive: number,
1808
+ postcap_multiplicative: number
1809
+ ): number | undefined;
1810
+ /**
1811
+ * @param {number} armor_penetration
1812
+ * @returns {number | undefined}
1813
+ */
944
1814
  basic_defense_power(armor_penetration: number): number | undefined;
945
- /**
946
- * @returns {Uint8Array}
947
- */
948
- get_possible_anti_air_cutin_ids(): Uint8Array;
949
- /**
950
- * @returns {number}
951
- */
1815
+ /**
1816
+ * @returns {number}
1817
+ */
952
1818
  transport_point(): number;
953
- /**
954
- * @param {number} node_divaricated_factor
955
- * @returns {number | undefined}
956
- */
1819
+ /**
1820
+ * @param {number} node_divaricated_factor
1821
+ * @returns {number | undefined}
1822
+ */
957
1823
  elos(node_divaricated_factor: number): number | undefined;
958
- /**
959
- * @param {number} value
960
- */
1824
+ /**
1825
+ * @param {number} value
1826
+ */
961
1827
  take_damage(value: number): void;
962
- /**
963
- * @returns {number}
964
- */
1828
+ /**
1829
+ * @returns {number}
1830
+ */
965
1831
  readonly accuracy: number;
966
- /**
967
- */
1832
+ /**
1833
+ */
968
1834
  ammo: number;
969
- /**
970
- * @returns {number | undefined}
971
- */
1835
+ /**
1836
+ * @returns {number | undefined}
1837
+ */
972
1838
  readonly anti_air: number | undefined;
973
- /**
974
- * @returns {number | undefined}
975
- */
1839
+ /**
1840
+ * @returns {number | undefined}
1841
+ */
976
1842
  readonly armor: number | undefined;
977
- /**
978
- * @returns {number | undefined}
979
- */
1843
+ /**
1844
+ * @returns {number | undefined}
1845
+ */
980
1846
  readonly asw: number | undefined;
981
- /**
982
- * @returns {number}
983
- */
984
- readonly ctype: number;
985
- /**
986
- */
1847
+ /**
1848
+ */
1849
+ ctype: number;
1850
+ /**
1851
+ */
987
1852
  current_hp: number;
988
- /**
989
- * @returns {number | undefined}
990
- */
1853
+ /**
1854
+ * @returns {number | undefined}
1855
+ */
991
1856
  readonly evasion: number | undefined;
992
- /**
993
- * @returns {number | undefined}
994
- */
1857
+ /**
1858
+ * @returns {number | undefined}
1859
+ */
995
1860
  readonly firepower: number | undefined;
996
- /**
997
- */
1861
+ /**
1862
+ */
998
1863
  fuel: number;
999
- /**
1000
- */
1864
+ /**
1865
+ */
1001
1866
  id: string;
1002
- /**
1003
- */
1867
+ /**
1868
+ */
1004
1869
  level: number;
1005
- /**
1006
- * @returns {number | undefined}
1007
- */
1870
+ /**
1871
+ * @returns {number | undefined}
1872
+ */
1008
1873
  readonly los: number | undefined;
1009
- /**
1010
- * @returns {number | undefined}
1011
- */
1874
+ /**
1875
+ * @returns {number | undefined}
1876
+ */
1012
1877
  readonly luck: number | undefined;
1013
- /**
1014
- * @returns {number}
1015
- */
1878
+ /**
1879
+ * @returns {number}
1880
+ */
1016
1881
  readonly max_ammo: number;
1017
- /**
1018
- * @returns {number}
1019
- */
1882
+ /**
1883
+ * @returns {number}
1884
+ */
1020
1885
  readonly max_fuel: number;
1021
- /**
1022
- * @returns {number | undefined}
1023
- */
1886
+ /**
1887
+ * @returns {number | undefined}
1888
+ */
1024
1889
  readonly max_hp: number | undefined;
1025
- /**
1026
- */
1890
+ /**
1891
+ */
1027
1892
  morale: number;
1028
- /**
1029
- * @returns {number | undefined}
1030
- */
1893
+ /**
1894
+ * @returns {number | undefined}
1895
+ */
1031
1896
  readonly naked_anti_air: number | undefined;
1032
- /**
1033
- * @returns {number | undefined}
1034
- */
1897
+ /**
1898
+ * @returns {number | undefined}
1899
+ */
1035
1900
  readonly naked_armor: number | undefined;
1036
- /**
1037
- * @returns {number | undefined}
1038
- */
1901
+ /**
1902
+ * @returns {number | undefined}
1903
+ */
1039
1904
  readonly naked_asw: number | undefined;
1040
- /**
1041
- * @returns {number | undefined}
1042
- */
1905
+ /**
1906
+ * @returns {number | undefined}
1907
+ */
1043
1908
  readonly naked_evasion: number | undefined;
1044
- /**
1045
- * @returns {number | undefined}
1046
- */
1909
+ /**
1910
+ * @returns {number | undefined}
1911
+ */
1047
1912
  readonly naked_firepower: number | undefined;
1048
- /**
1049
- * @returns {number | undefined}
1050
- */
1913
+ /**
1914
+ * @returns {number | undefined}
1915
+ */
1051
1916
  readonly naked_los: number | undefined;
1052
- /**
1053
- * @returns {number | undefined}
1054
- */
1917
+ /**
1918
+ * @returns {number | undefined}
1919
+ */
1055
1920
  readonly naked_range: number | undefined;
1056
- /**
1057
- * @returns {number}
1058
- */
1921
+ /**
1922
+ * @returns {number}
1923
+ */
1059
1924
  readonly naked_speed: number;
1060
- /**
1061
- * @returns {number | undefined}
1062
- */
1925
+ /**
1926
+ * @returns {number | undefined}
1927
+ */
1063
1928
  readonly naked_torpedo: number | undefined;
1064
- /**
1065
- * @returns {string}
1066
- */
1929
+ /**
1930
+ * @returns {string}
1931
+ */
1067
1932
  readonly name: string;
1068
- /**
1069
- * @returns {number}
1070
- */
1933
+ /**
1934
+ * @returns {number}
1935
+ */
1071
1936
  readonly next_id: number;
1072
- /**
1073
- * @returns {number | undefined}
1074
- */
1937
+ /**
1938
+ * @returns {number | undefined}
1939
+ */
1075
1940
  readonly range: number | undefined;
1076
- /**
1077
- */
1078
- ship_class: bindings.ShipClass;
1079
- /**
1080
- */
1941
+ /**
1942
+ */
1081
1943
  ship_id: number;
1082
- /**
1083
- */
1084
- ship_type: bindings.ShipType;
1085
- /**
1086
- * @returns {number}
1087
- */
1944
+ /**
1945
+ */
1946
+ ship_type: ShipType;
1947
+ /**
1948
+ * @returns {number}
1949
+ */
1088
1950
  readonly slotnum: number;
1089
- /**
1090
- * @returns {number}
1091
- */
1951
+ /**
1952
+ * @returns {number}
1953
+ */
1092
1954
  readonly sort_id: number;
1093
- /**
1094
- * @returns {number}
1095
- */
1955
+ /**
1956
+ * @returns {number}
1957
+ */
1096
1958
  readonly speed: number;
1097
- /**
1098
- * @returns {number}
1099
- */
1959
+ /**
1960
+ * @returns {number}
1961
+ */
1100
1962
  readonly stype: number;
1101
- /**
1102
- * @returns {number | undefined}
1103
- */
1963
+ /**
1964
+ * @returns {number | undefined}
1965
+ */
1104
1966
  readonly torpedo: number | undefined;
1105
- /**
1106
- * @returns {boolean}
1107
- */
1967
+ /**
1968
+ * @returns {boolean}
1969
+ */
1108
1970
  readonly useful: boolean;
1109
- /**
1110
- */
1971
+ /**
1972
+ */
1111
1973
  xxh3: BigInt;
1112
- /**
1113
- * @returns {string}
1114
- */
1974
+ /**
1975
+ * @returns {string}
1976
+ */
1115
1977
  readonly yomi: string;
1116
1978
  }