fleethub-core 1.7.8 → 1.7.13

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.
@@ -75,50 +75,107 @@ export type ShipCategory =
75
75
  | ShipCategory.Submarine
76
76
  | ShipCategory.AuxiliaryShip;
77
77
 
78
- type __ShellingSpecialAttackDayCutin = DayCutin;
79
- type __ShellingSpecialAttackFleetCutin = FleetCutin;
80
- declare namespace ShellingSpecialAttack {
81
- export type DayCutin = { DayCutin: __ShellingSpecialAttackDayCutin };
82
- export type FleetCutin = { FleetCutin: __ShellingSpecialAttackFleetCutin };
78
+ declare namespace ShipAttr {
79
+ export type Unknown = "Unknown";
80
+ export type Abyssal = "Abyssal";
81
+ export type NightCarrier = "NightCarrier";
82
+ export type Installation = "Installation";
83
+ export type RoyalNavy = "RoyalNavy";
84
+ export type Kai2 = "Kai2";
85
+ export type TurbineSpeedBonus = "TurbineSpeedBonus";
86
+ export type Pillbox = "Pillbox";
87
+ export type IsolatedIsland = "IsolatedIsland";
88
+ export type HarbourSummerPrincess = "HarbourSummerPrincess";
89
+ export type SupplyDepot = "SupplyDepot";
90
+ export type PtImp = "PtImp";
91
+ export type BattleshipSummerPrincess = "BattleshipSummerPrincess";
92
+ export type HeavyCruiserSummerPrincess = "HeavyCruiserSummerPrincess";
83
93
  }
84
94
 
85
- export type ShellingSpecialAttack =
86
- | ShellingSpecialAttack.DayCutin
87
- | ShellingSpecialAttack.FleetCutin;
95
+ export type ShipAttr =
96
+ | ShipAttr.Unknown
97
+ | ShipAttr.Abyssal
98
+ | ShipAttr.NightCarrier
99
+ | ShipAttr.Installation
100
+ | ShipAttr.RoyalNavy
101
+ | ShipAttr.Kai2
102
+ | ShipAttr.TurbineSpeedBonus
103
+ | ShipAttr.Pillbox
104
+ | ShipAttr.IsolatedIsland
105
+ | ShipAttr.HarbourSummerPrincess
106
+ | ShipAttr.SupplyDepot
107
+ | ShipAttr.PtImp
108
+ | ShipAttr.BattleshipSummerPrincess
109
+ | ShipAttr.HeavyCruiserSummerPrincess;
88
110
 
89
- declare namespace DayCutin {
90
- export type MainMain = "MainMain";
91
- export type MainAp = "MainAp";
92
- export type MainRadar = "MainRadar";
93
- export type MainSec = "MainSec";
94
- export type DoubleAttack = "DoubleAttack";
95
- export type FBA = "FBA";
96
- export type BBA = "BBA";
97
- export type BA = "BA";
98
- export type Zuiun = "Zuiun";
99
- export type AirSea = "AirSea";
111
+ declare namespace FleetCutin {
112
+ export type NelsonTouch = "NelsonTouch";
113
+ export type NagatoClassCutin = "NagatoClassCutin";
114
+ export type ColoradoClassCutin = "ColoradoClassCutin";
115
+ export type KongouClassCutin = "KongouClassCutin";
116
+ export type Yamato2ShipCutin = "Yamato2ShipCutin";
117
+ export type Yamato3ShipCutin = "Yamato3ShipCutin";
100
118
  }
101
119
 
102
- export type DayCutin =
103
- | DayCutin.MainMain
104
- | DayCutin.MainAp
105
- | DayCutin.MainRadar
106
- | DayCutin.MainSec
107
- | DayCutin.DoubleAttack
108
- | DayCutin.FBA
109
- | DayCutin.BBA
110
- | DayCutin.BA
111
- | DayCutin.Zuiun
112
- | DayCutin.AirSea;
120
+ export type FleetCutin =
121
+ | FleetCutin.NelsonTouch
122
+ | FleetCutin.NagatoClassCutin
123
+ | FleetCutin.ColoradoClassCutin
124
+ | FleetCutin.KongouClassCutin
125
+ | FleetCutin.Yamato2ShipCutin
126
+ | FleetCutin.Yamato3ShipCutin;
113
127
 
114
- declare namespace ShellingAttackType {
115
- export type Normal = "Normal";
116
- export type Carrier = "Carrier";
128
+ declare namespace AirStateRank {
129
+ export type Rank0 = "Rank0";
130
+ export type Rank1 = "Rank1";
131
+ export type Rank2 = "Rank2";
132
+ export type Rank3 = "Rank3";
117
133
  }
118
134
 
119
- export type ShellingAttackType =
120
- | ShellingAttackType.Normal
121
- | ShellingAttackType.Carrier;
135
+ export type AirStateRank =
136
+ | AirStateRank.Rank0
137
+ | AirStateRank.Rank1
138
+ | AirStateRank.Rank2
139
+ | AirStateRank.Rank3;
140
+
141
+ declare namespace AirState {
142
+ export type AirSupremacy = "AirSupremacy";
143
+ export type AirSuperiority = "AirSuperiority";
144
+ export type AirParity = "AirParity";
145
+ export type AirDenial = "AirDenial";
146
+ export type AirIncapability = "AirIncapability";
147
+ }
148
+
149
+ export type AirState =
150
+ | AirState.AirSupremacy
151
+ | AirState.AirSuperiority
152
+ | AirState.AirParity
153
+ | AirState.AirDenial
154
+ | AirState.AirIncapability;
155
+
156
+ export interface MasterIBonuses {
157
+ shelling_power: MasterIBonusRule[];
158
+ carrier_shelling_power: MasterIBonusRule[];
159
+ shelling_accuracy: MasterIBonusRule[];
160
+ torpedo_power: MasterIBonusRule[];
161
+ torpedo_accuracy: MasterIBonusRule[];
162
+ torpedo_evasion: MasterIBonusRule[];
163
+ asw_power: MasterIBonusRule[];
164
+ asw_accuracy: MasterIBonusRule[];
165
+ night_power: MasterIBonusRule[];
166
+ night_accuracy: MasterIBonusRule[];
167
+ defense_power: MasterIBonusRule[];
168
+ contact_selection: MasterIBonusRule[];
169
+ fighter_power: MasterIBonusRule[];
170
+ ship_anti_air: MasterIBonusRule[];
171
+ fleet_anti_air: MasterIBonusRule[];
172
+ elos: MasterIBonusRule[];
173
+ }
174
+
175
+ export interface MasterIBonusRule {
176
+ expr: CompiledEvaler;
177
+ formula: CompiledEvaler;
178
+ }
122
179
 
123
180
  export interface FleetCutinAnalysis {
124
181
  shelling: FleetCutinInfo[];
@@ -203,12 +260,28 @@ export type SpeedGroup =
203
260
  | SpeedGroup.B2
204
261
  | SpeedGroup.C;
205
262
 
206
- declare namespace AswAttackType {
207
- export type DepthCharge = "DepthCharge";
208
- export type Aircraft = "Aircraft";
263
+ declare namespace AirWaveType {
264
+ export type Jet = "Jet";
265
+ export type LandBase = "LandBase";
266
+ export type Carrier = "Carrier";
209
267
  }
210
268
 
211
- export type AswAttackType = AswAttackType.DepthCharge | AswAttackType.Aircraft;
269
+ export type AirWaveType =
270
+ | AirWaveType.Jet
271
+ | AirWaveType.LandBase
272
+ | AirWaveType.Carrier;
273
+
274
+ export interface SimulatorResult {
275
+ items: SimulatorResultItem[];
276
+ sunk_vec: [number, number, number][];
277
+ }
278
+
279
+ export interface SimulatorResultItem {
280
+ id: string;
281
+ role: Role;
282
+ index: number;
283
+ damage_state_map: Record<DamageState, number>;
284
+ }
212
285
 
213
286
  declare namespace OrgType {
214
287
  export type Single = "Single";
@@ -227,43 +300,6 @@ export type OrgType =
227
300
  | OrgType.EnemySingle
228
301
  | OrgType.EnemyCombined;
229
302
 
230
- declare namespace FleetCutin {
231
- export type NelsonTouch = "NelsonTouch";
232
- export type NagatoCutin = "NagatoCutin";
233
- export type ColoradoCutin = "ColoradoCutin";
234
- export type KongouCutin = "KongouCutin";
235
- export type Yamato2ShipCutin = "Yamato2ShipCutin";
236
- export type Yamato3ShipCutin = "Yamato3ShipCutin";
237
- }
238
-
239
- export type FleetCutin =
240
- | FleetCutin.NelsonTouch
241
- | FleetCutin.NagatoCutin
242
- | FleetCutin.ColoradoCutin
243
- | FleetCutin.KongouCutin
244
- | FleetCutin.Yamato2ShipCutin
245
- | FleetCutin.Yamato3ShipCutin;
246
-
247
- declare namespace AirWaveType {
248
- export type Jet = "Jet";
249
- export type LandBase = "LandBase";
250
- export type Carrier = "Carrier";
251
- }
252
-
253
- export type AirWaveType =
254
- | AirWaveType.Jet
255
- | AirWaveType.LandBase
256
- | AirWaveType.Carrier;
257
-
258
- export type NumMap<K, V> = Partial<Record<K, V>>;
259
-
260
- declare namespace Role {
261
- export type Main = "Main";
262
- export type Escort = "Escort";
263
- }
264
-
265
- export type Role = Role.Main | Role.Escort;
266
-
267
303
  export interface CompMeta {
268
304
  fleets: Record<FleetType, FleetMeta>;
269
305
  }
@@ -279,69 +315,12 @@ export interface ShipMeta {
279
315
  ship_id: number;
280
316
  }
281
317
 
282
- export interface MasterData {
283
- gears: MasterGear[];
284
- gear_attrs: MasterAttrRule<GearAttr>[];
285
- ships: MasterShip[];
286
- ship_attrs: MasterAttrRule<ShipAttr>[];
287
- ibonuses: MasterIBonuses;
288
- equippable: MasterEquippable;
289
- formation: NestedFormationDef[];
290
- anti_air_cutin: AntiAirCutinDef[];
291
- day_cutin: DayCutinDef[];
292
- night_cutin: NightCutinDef[];
293
- }
294
-
295
- export interface MasterConfig {
296
- formation: NestedFormationDef[];
297
- anti_air_cutin: AntiAirCutinDef[];
298
- day_cutin: DayCutinDef[];
299
- night_cutin: NightCutinDef[];
300
- }
301
-
302
- export interface MasterAttrRule<T> {
303
- tag: T;
304
- name: string;
305
- expr: string;
306
- }
307
-
308
- export interface WarfareContext {
309
- attacker_env: WarfareShipEnvironment;
310
- target_env: WarfareShipEnvironment;
311
- engagement: Engagement;
312
- air_state: AirState;
313
- }
314
-
315
- export interface WarfareShipEnvironment {
316
- org_type: OrgType;
317
- role: Role;
318
- ship_index: number;
319
- fleet_len: number;
320
- formation: Formation;
321
- fleet_los_mod: number | null;
322
- }
323
-
324
- export interface CompDayCutinRateInfo {
325
- main: FleetDayCutinRateInfo;
326
- escort: FleetDayCutinRateInfo | null;
327
- }
328
-
329
- export interface FleetDayCutinRateInfo {
330
- fleet_los_mod: number | null;
331
- ships: ShipDayCutinRateInfo[];
332
- }
333
-
334
- export interface ShipDayCutinRateInfo {
335
- ship_id: number;
336
- air_supremacy: DayCutinRateInfo;
337
- air_superiority: DayCutinRateInfo;
318
+ declare namespace AswAttackType {
319
+ export type DepthCharge = "DepthCharge";
320
+ export type Aircraft = "Aircraft";
338
321
  }
339
322
 
340
- export interface DayCutinRateInfo {
341
- observation_term: number | null;
342
- rates: [DayCutin | null, number | null][];
343
- total_cutin_rate: number | null;
344
- }
323
+ export type AswAttackType = AswAttackType.DepthCharge | AswAttackType.Aircraft;
345
324
 
346
325
  declare namespace GearCategory {
347
326
  export type Fighter = "Fighter";
@@ -495,18 +474,137 @@ export type GearType =
495
474
  | GearType.LargeRadar2
496
475
  | GearType.CbRecon2;
497
476
 
498
- declare namespace Engagement {
499
- export type GreenT = "GreenT";
500
- export type Parallel = "Parallel";
501
- export type HeadOn = "HeadOn";
502
- export type RedT = "RedT";
503
- }
477
+ export type NumMap<K, V> = Partial<Record<K, V>>;
504
478
 
505
- export type Engagement =
506
- | Engagement.GreenT
507
- | Engagement.Parallel
508
- | Engagement.HeadOn
509
- | Engagement.RedT;
479
+ type __ShellingSpecialAttackDayCutin = DayCutin;
480
+ type __ShellingSpecialAttackFleetCutin = FleetCutin;
481
+ declare namespace ShellingSpecialAttack {
482
+ export type DayCutin = { DayCutin: __ShellingSpecialAttackDayCutin };
483
+ export type FleetCutin = { FleetCutin: __ShellingSpecialAttackFleetCutin };
484
+ }
485
+
486
+ export type ShellingSpecialAttack =
487
+ | ShellingSpecialAttack.DayCutin
488
+ | ShellingSpecialAttack.FleetCutin;
489
+
490
+ declare namespace DayCutin {
491
+ export type Zuiun = "Zuiun";
492
+ export type AirSea = "AirSea";
493
+ export type MainMain = "MainMain";
494
+ export type MainAp = "MainAp";
495
+ export type MainRadar = "MainRadar";
496
+ export type MainSec = "MainSec";
497
+ export type DoubleAttack = "DoubleAttack";
498
+ export type FBA = "FBA";
499
+ export type BBA = "BBA";
500
+ export type BA = "BA";
501
+ }
502
+
503
+ export type DayCutin =
504
+ | DayCutin.Zuiun
505
+ | DayCutin.AirSea
506
+ | DayCutin.MainMain
507
+ | DayCutin.MainAp
508
+ | DayCutin.MainRadar
509
+ | DayCutin.MainSec
510
+ | DayCutin.DoubleAttack
511
+ | DayCutin.FBA
512
+ | DayCutin.BBA
513
+ | DayCutin.BA;
514
+
515
+ declare namespace Role {
516
+ export type Main = "Main";
517
+ export type Escort = "Escort";
518
+ }
519
+
520
+ export type Role = Role.Main | Role.Escort;
521
+
522
+ declare namespace Engagement {
523
+ export type GreenT = "GreenT";
524
+ export type Parallel = "Parallel";
525
+ export type HeadOn = "HeadOn";
526
+ export type RedT = "RedT";
527
+ }
528
+
529
+ export type Engagement =
530
+ | Engagement.GreenT
531
+ | Engagement.Parallel
532
+ | Engagement.HeadOn
533
+ | Engagement.RedT;
534
+
535
+ export interface ShipEnvironment {
536
+ org_type?: OrgType;
537
+ role?: Role;
538
+ index?: number;
539
+ fleet_len?: number;
540
+ formation?: Formation;
541
+ fleet_los_mod?: number | null;
542
+ night_conditions?: NightConditions;
543
+ }
544
+
545
+ export interface NightConditions {
546
+ night_contact_rank?: ContactRank | null;
547
+ starshell_index?: number | null;
548
+ searchlight_index?: number | null;
549
+ }
550
+
551
+ export interface BattleConditions {
552
+ org_type: OrgType;
553
+ role: Role;
554
+ ship_index: number;
555
+ fleet_len: number;
556
+ formation: Formation;
557
+ fleet_los_mod: number | null;
558
+ night_conditions: NightConditions;
559
+ }
560
+
561
+ export interface MasterData {
562
+ gears: MasterGear[];
563
+ gear_attrs: MasterAttrRule<GearAttr>[];
564
+ ships: MasterShip[];
565
+ ship_attrs: MasterAttrRule<ShipAttr>[];
566
+ ibonuses: MasterIBonuses;
567
+ equippable: MasterEquippable;
568
+ formation: NestedFormationDef[];
569
+ anti_air_cutin: AntiAirCutinDef[];
570
+ day_cutin: DayCutinDef[];
571
+ night_cutin: NightCutinDef[];
572
+ }
573
+
574
+ export interface MasterConfig {
575
+ formation: NestedFormationDef[];
576
+ anti_air_cutin: AntiAirCutinDef[];
577
+ day_cutin: DayCutinDef[];
578
+ night_cutin: NightCutinDef[];
579
+ }
580
+
581
+ export interface MasterAttrRule<T> {
582
+ tag: T;
583
+ name: string;
584
+ expr: string;
585
+ }
586
+
587
+ export interface CompDayCutinRateInfo {
588
+ main: FleetDayCutinRateInfo;
589
+ escort: FleetDayCutinRateInfo | null;
590
+ }
591
+
592
+ export interface FleetDayCutinRateInfo {
593
+ fleet_los_mod: number | null;
594
+ ships: ShipDayCutinRateInfo[];
595
+ }
596
+
597
+ export interface ShipDayCutinRateInfo {
598
+ ship_id: number;
599
+ air_supremacy: DayCutinRateInfo;
600
+ air_superiority: DayCutinRateInfo;
601
+ }
602
+
603
+ export interface DayCutinRateInfo {
604
+ observation_term: number | null;
605
+ rates: [DayCutin | null, number | null][];
606
+ total_cutin_rate: number | null;
607
+ }
510
608
 
511
609
  export interface EBonuses {
512
610
  firepower: number;
@@ -548,70 +646,12 @@ export interface GearInput {
548
646
 
549
647
  export type GearVecInput = GearInput[];
550
648
 
551
- declare namespace AirStateRank {
552
- export type Rank0 = "Rank0";
553
- export type Rank1 = "Rank1";
554
- export type Rank2 = "Rank2";
555
- export type Rank3 = "Rank3";
556
- }
557
-
558
- export type AirStateRank =
559
- | AirStateRank.Rank0
560
- | AirStateRank.Rank1
561
- | AirStateRank.Rank2
562
- | AirStateRank.Rank3;
563
-
564
- declare namespace AirState {
565
- export type AirSupremacy = "AirSupremacy";
566
- export type AirSuperiority = "AirSuperiority";
567
- export type AirParity = "AirParity";
568
- export type AirDenial = "AirDenial";
569
- export type AirIncapability = "AirIncapability";
570
- }
571
-
572
- export type AirState =
573
- | AirState.AirSupremacy
574
- | AirState.AirSuperiority
575
- | AirState.AirParity
576
- | AirState.AirDenial
577
- | AirState.AirIncapability;
578
-
579
649
  export interface ShellingSupportSimulatorParams {
580
- attacker_formation: Formation;
581
- target_formation: Formation;
650
+ attacker_formation?: Formation;
651
+ target_formation?: Formation;
582
652
  engagement: Engagement;
583
653
  }
584
654
 
585
- export interface MasterIBonuses {
586
- shelling_power: MasterIBonusRule[];
587
- carrier_shelling_power: MasterIBonusRule[];
588
- shelling_accuracy: MasterIBonusRule[];
589
- torpedo_power: MasterIBonusRule[];
590
- torpedo_accuracy: MasterIBonusRule[];
591
- torpedo_evasion: MasterIBonusRule[];
592
- asw_power: MasterIBonusRule[];
593
- asw_accuracy: MasterIBonusRule[];
594
- night_power: MasterIBonusRule[];
595
- night_accuracy: MasterIBonusRule[];
596
- defense_power: MasterIBonusRule[];
597
- contact_selection: MasterIBonusRule[];
598
- fighter_power: MasterIBonusRule[];
599
- ship_anti_air: MasterIBonusRule[];
600
- fleet_anti_air: MasterIBonusRule[];
601
- elos: MasterIBonusRule[];
602
- }
603
-
604
- export interface MasterIBonusRule {
605
- expr: CompiledEvaler;
606
- formula: CompiledEvaler;
607
- }
608
-
609
- export interface NightSituation {
610
- night_contact_rank: ContactRank | null;
611
- starshell: boolean;
612
- searchlight: boolean;
613
- }
614
-
615
655
  export interface DamageInfo {
616
656
  miss_damage_min: number;
617
657
  miss_damage_max: number;
@@ -625,38 +665,68 @@ export interface DamageInfo {
625
665
  damage_state_map: NumMap<DamageState, number>;
626
666
  }
627
667
 
628
- declare namespace ShipAttr {
668
+ declare namespace GearAttr {
629
669
  export type Unknown = "Unknown";
630
670
  export type Abyssal = "Abyssal";
631
- export type NightCarrier = "NightCarrier";
632
- export type Installation = "Installation";
633
- export type RoyalNavy = "RoyalNavy";
634
- export type Kai2 = "Kai2";
635
- export type TurbineSpeedBonus = "TurbineSpeedBonus";
636
- export type Pillbox = "Pillbox";
637
- export type IsolatedIsland = "IsolatedIsland";
638
- export type HarbourSummerPrincess = "HarbourSummerPrincess";
639
- export type SupplyDepot = "SupplyDepot";
640
- export type PtImp = "PtImp";
641
- export type BattleshipSummerPrincess = "BattleshipSummerPrincess";
642
- export type HeavyCruiserSummerPrincess = "HeavyCruiserSummerPrincess";
671
+ export type HighAngleMount = "HighAngleMount";
672
+ export type NightFighter = "NightFighter";
673
+ export type NightAttacker = "NightAttacker";
674
+ export type HeavyBomber = "HeavyBomber";
675
+ export type NightRecon = "NightRecon";
676
+ export type MainGun = "MainGun";
677
+ export type Radar = "Radar";
678
+ export type SurfaceRadar = "SurfaceRadar";
679
+ export type AirRadar = "AirRadar";
680
+ export type DepthChargeProjector = "DepthChargeProjector";
681
+ export type SynergisticDepthCharge = "SynergisticDepthCharge";
682
+ export type AntiSubMortar = "AntiSubMortar";
683
+ export type AntiSubWeapon = "AntiSubWeapon";
684
+ export type AntiSubAircraft = "AntiSubAircraft";
685
+ export type LateModelBowTorpedo = "LateModelBowTorpedo";
686
+ export type Seaplane = "Seaplane";
687
+ export type CbAircraft = "CbAircraft";
688
+ export type LbAircraft = "LbAircraft";
689
+ export type JetAircraft = "JetAircraft";
690
+ export type Fighter = "Fighter";
691
+ export type Recon = "Recon";
692
+ export type ObservationSeaplane = "ObservationSeaplane";
693
+ export type CbFighterBomber = "CbFighterBomber";
694
+ export type AntiInstDiveBomber = "AntiInstDiveBomber";
695
+ export type CbSwordfish = "CbSwordfish";
696
+ export type SemiNightPlane = "SemiNightPlane";
697
+ export type HighAltitudeInterceptor = "HighAltitudeInterceptor";
643
698
  }
644
699
 
645
- export type ShipAttr =
646
- | ShipAttr.Unknown
647
- | ShipAttr.Abyssal
648
- | ShipAttr.NightCarrier
649
- | ShipAttr.Installation
650
- | ShipAttr.RoyalNavy
651
- | ShipAttr.Kai2
652
- | ShipAttr.TurbineSpeedBonus
653
- | ShipAttr.Pillbox
654
- | ShipAttr.IsolatedIsland
655
- | ShipAttr.HarbourSummerPrincess
656
- | ShipAttr.SupplyDepot
657
- | ShipAttr.PtImp
658
- | ShipAttr.BattleshipSummerPrincess
659
- | ShipAttr.HeavyCruiserSummerPrincess;
700
+ export type GearAttr =
701
+ | GearAttr.Unknown
702
+ | GearAttr.Abyssal
703
+ | GearAttr.HighAngleMount
704
+ | GearAttr.NightFighter
705
+ | GearAttr.NightAttacker
706
+ | GearAttr.HeavyBomber
707
+ | GearAttr.NightRecon
708
+ | GearAttr.MainGun
709
+ | GearAttr.Radar
710
+ | GearAttr.SurfaceRadar
711
+ | GearAttr.AirRadar
712
+ | GearAttr.DepthChargeProjector
713
+ | GearAttr.SynergisticDepthCharge
714
+ | GearAttr.AntiSubMortar
715
+ | GearAttr.AntiSubWeapon
716
+ | GearAttr.AntiSubAircraft
717
+ | GearAttr.LateModelBowTorpedo
718
+ | GearAttr.Seaplane
719
+ | GearAttr.CbAircraft
720
+ | GearAttr.LbAircraft
721
+ | GearAttr.JetAircraft
722
+ | GearAttr.Fighter
723
+ | GearAttr.Recon
724
+ | GearAttr.ObservationSeaplane
725
+ | GearAttr.CbFighterBomber
726
+ | GearAttr.AntiInstDiveBomber
727
+ | GearAttr.CbSwordfish
728
+ | GearAttr.SemiNightPlane
729
+ | GearAttr.HighAltitudeInterceptor;
660
730
 
661
731
  type __FormationCombinedFormation = CombinedFormation;
662
732
  type __FormationSingleFormation = SingleFormation;
@@ -719,143 +789,14 @@ export interface AttackPowerModifier {
719
789
  b?: number;
720
790
  }
721
791
 
722
- export interface AttackPower {
723
- precap: number;
724
- is_capped: boolean;
725
- capped: number;
726
- normal: number;
727
- critical: number;
728
- armor_penetration: number;
729
- remaining_ammo_mod: number;
730
- }
731
-
732
- export interface AttackPowerParams {
733
- basic: number;
734
- cap: number;
735
- precap_mod: AttackPowerModifier;
736
- postcap_mod: AttackPowerModifier;
737
- ap_shell_mod: number | null;
738
- carrier_power: number | null;
739
- proficiency_critical_mod: number | null;
740
- armor_penetration: number;
741
- remaining_ammo_mod: number;
742
- special_enemy_mods: SpecialEnemyModifiers;
743
- custom_mods: CustomPowerModifiers;
744
- }
745
-
746
- export interface SpecialEnemyModifiers {
747
- precap_general_mod: AttackPowerModifier;
748
- stype_mod: AttackPowerModifier;
749
- landing_craft_synergy_mod: AttackPowerModifier;
750
- toku_daihatsu_tank_mod: AttackPowerModifier;
751
- m4a1dd_mod: AttackPowerModifier;
752
- honi_mod: AttackPowerModifier;
753
- postcap_general_mod: AttackPowerModifier;
754
- pt_mod: AttackPowerModifier;
755
- }
756
-
757
- export interface CompAntiAirInfo {
758
- fleet_adjusted_anti_air: number;
759
- ships: ShipAntiAirInfo[];
760
- anti_air_cutin_chance: [number, number][];
761
- }
762
-
763
- export interface ShipAntiAirInfo {
764
- ship_id: number;
765
- adjusted_anti_air: number | null;
766
- proportional_shotdown_rate: number | null;
767
- fixed_shotdown_number: number | null;
768
- guaranteed: number | null;
769
- anti_air_cutin_chance: [number, number][];
770
- anti_air_propellant_barrage_chance: number | null;
771
- }
772
-
773
- export interface CompContactChanceInfo {
774
- single: AirstrikeContactChance[] | null;
775
- combined: AirstrikeContactChance[] | null;
776
- }
777
-
778
- export interface AirstrikeContactChance {
779
- air_state: AirState;
780
- trigger_rate: number;
781
- rank3: number;
782
- rank2: number;
783
- rank1: number;
784
- total: number;
785
- }
786
-
787
- export type SlotSizeVec = (number | null)[];
788
-
789
- declare namespace Side {
790
- export type Player = "Player";
791
- export type Enemy = "Enemy";
792
- }
793
-
794
- export type Side = Side.Player | Side.Enemy;
795
-
796
- declare namespace GearAttr {
797
- export type Unknown = "Unknown";
798
- export type Abyssal = "Abyssal";
799
- export type HighAngleMount = "HighAngleMount";
800
- export type NightFighter = "NightFighter";
801
- export type NightAttacker = "NightAttacker";
802
- export type HeavyBomber = "HeavyBomber";
803
- export type MainGun = "MainGun";
804
- export type Radar = "Radar";
805
- export type SurfaceRadar = "SurfaceRadar";
806
- export type AirRadar = "AirRadar";
807
- export type DepthChargeProjector = "DepthChargeProjector";
808
- export type SynergisticDepthCharge = "SynergisticDepthCharge";
809
- export type AntiSubMortar = "AntiSubMortar";
810
- export type AntiSubWeapon = "AntiSubWeapon";
811
- export type AntiSubAircraft = "AntiSubAircraft";
812
- export type LateModelBowTorpedo = "LateModelBowTorpedo";
813
- export type Seaplane = "Seaplane";
814
- export type CbAircraft = "CbAircraft";
815
- export type LbAircraft = "LbAircraft";
816
- export type JetAircraft = "JetAircraft";
817
- export type Fighter = "Fighter";
818
- export type Recon = "Recon";
819
- export type ObservationSeaplane = "ObservationSeaplane";
820
- export type CbFighterBomber = "CbFighterBomber";
821
- export type AntiInstDiveBomber = "AntiInstDiveBomber";
822
- export type NightRecon = "NightRecon";
823
- export type CbSwordfish = "CbSwordfish";
824
- export type SemiNightPlane = "SemiNightPlane";
825
- export type HighAltitudeInterceptor = "HighAltitudeInterceptor";
792
+ export interface WarfareInfo {
793
+ day: AttackInfo<DayBattleAttackType, DayCutin | null> | null;
794
+ closing_torpedo: AttackInfo<null, null> | null;
795
+ night: AttackInfo<NightBattleAttackType, NightCutin | null> | null;
796
+ shelling_support: AttackInfo<null, null> | null;
797
+ opening_asw: AttackInfo<null, null> | null;
826
798
  }
827
799
 
828
- export type GearAttr =
829
- | GearAttr.Unknown
830
- | GearAttr.Abyssal
831
- | GearAttr.HighAngleMount
832
- | GearAttr.NightFighter
833
- | GearAttr.NightAttacker
834
- | GearAttr.HeavyBomber
835
- | GearAttr.MainGun
836
- | GearAttr.Radar
837
- | GearAttr.SurfaceRadar
838
- | GearAttr.AirRadar
839
- | GearAttr.DepthChargeProjector
840
- | GearAttr.SynergisticDepthCharge
841
- | GearAttr.AntiSubMortar
842
- | GearAttr.AntiSubWeapon
843
- | GearAttr.AntiSubAircraft
844
- | GearAttr.LateModelBowTorpedo
845
- | GearAttr.Seaplane
846
- | GearAttr.CbAircraft
847
- | GearAttr.LbAircraft
848
- | GearAttr.JetAircraft
849
- | GearAttr.Fighter
850
- | GearAttr.Recon
851
- | GearAttr.ObservationSeaplane
852
- | GearAttr.CbFighterBomber
853
- | GearAttr.AntiInstDiveBomber
854
- | GearAttr.NightRecon
855
- | GearAttr.CbSwordfish
856
- | GearAttr.SemiNightPlane
857
- | GearAttr.HighAltitudeInterceptor;
858
-
859
800
  declare namespace FleetType {
860
801
  export type Main = "Main";
861
802
  export type Escort = "Escort";
@@ -891,33 +832,49 @@ export interface EquipStype {
891
832
  equip_type: number[];
892
833
  }
893
834
 
894
- type __NightBattleAttackTypeAswAttackType = AswAttackType;
895
- type __NightBattleAttackTypeNightAttackType = NightAttackType;
896
- declare namespace NightBattleAttackType {
897
- export type NightAttack = {
898
- t: "NightAttack";
899
- c: __NightBattleAttackTypeNightAttackType;
900
- };
901
- export type Asw = { t: "Asw"; c: __NightBattleAttackTypeAswAttackType };
835
+ declare namespace ShellingAttackType {
836
+ export type Normal = "Normal";
837
+ export type Carrier = "Carrier";
902
838
  }
903
839
 
904
- export type NightBattleAttackType =
905
- | NightBattleAttackType.NightAttack
906
- | NightBattleAttackType.Asw;
840
+ export type ShellingAttackType =
841
+ | ShellingAttackType.Normal
842
+ | ShellingAttackType.Carrier;
907
843
 
908
- type __DayBattleAttackTypeAswAttackType = AswAttackType;
909
- type __DayBattleAttackTypeShellingAttackType = ShellingAttackType;
910
- declare namespace DayBattleAttackType {
911
- export type Shelling = {
912
- t: "Shelling";
913
- c: __DayBattleAttackTypeShellingAttackType;
914
- };
915
- export type Asw = { t: "Asw"; c: __DayBattleAttackTypeAswAttackType };
844
+ export interface AttackPower {
845
+ precap: number;
846
+ is_capped: boolean;
847
+ capped: number;
848
+ normal: number;
849
+ critical: number;
850
+ armor_penetration: number;
851
+ remaining_ammo_mod: number;
916
852
  }
917
853
 
918
- export type DayBattleAttackType =
919
- | DayBattleAttackType.Shelling
920
- | DayBattleAttackType.Asw;
854
+ export interface AttackPowerParams {
855
+ basic: number;
856
+ cap: number;
857
+ precap_mod: AttackPowerModifier;
858
+ postcap_mod: AttackPowerModifier;
859
+ ap_shell_mod: number | null;
860
+ carrier_power: number | null;
861
+ proficiency_critical_mod: number | null;
862
+ armor_penetration: number;
863
+ remaining_ammo_mod: number;
864
+ special_enemy_mods: SpecialEnemyModifiers;
865
+ custom_mods: CustomPowerModifiers;
866
+ }
867
+
868
+ export interface SpecialEnemyModifiers {
869
+ precap_general_mod: AttackPowerModifier;
870
+ stype_mod: AttackPowerModifier;
871
+ landing_craft_synergy_mod: AttackPowerModifier;
872
+ toku_daihatsu_tank_mod: AttackPowerModifier;
873
+ m4a1dd_mod: AttackPowerModifier;
874
+ honi_mod: AttackPowerModifier;
875
+ postcap_general_mod: AttackPowerModifier;
876
+ pt_mod: AttackPowerModifier;
877
+ }
921
878
 
922
879
  export interface AttackInfo<AttackType, Cutin> {
923
880
  attack_type: AttackType;
@@ -940,155 +897,45 @@ export interface AttackStats {
940
897
  damage: DamageInfo | null;
941
898
  }
942
899
 
943
- export type ShipStateMap = Record<ShipKey, ShipState>;
944
-
945
- declare namespace ShipKey {
946
- export type s1 = "s1";
947
- export type s2 = "s2";
948
- export type s3 = "s3";
949
- export type s4 = "s4";
950
- export type s5 = "s5";
951
- export type s6 = "s6";
952
- export type s7 = "s7";
953
- }
954
-
955
- export type ShipKey =
956
- | ShipKey.s1
957
- | ShipKey.s2
958
- | ShipKey.s3
959
- | ShipKey.s4
960
- | ShipKey.s5
961
- | ShipKey.s6
962
- | ShipKey.s7;
963
-
964
- export interface OrgState {
965
- id?: string;
966
- f1?: FleetState;
967
- f2?: FleetState;
968
- f3?: FleetState;
969
- f4?: FleetState;
970
- a1?: AirSquadronState;
971
- a2?: AirSquadronState;
972
- a3?: AirSquadronState;
973
- hq_level?: number;
974
- org_type?: OrgType;
975
- sortie?: string;
976
- route_sup?: string;
977
- boss_sup?: string;
978
- }
979
-
980
- export interface AirSquadronState extends GearVecState, SlotSizeVecState {
981
- id?: string;
982
- mode?: AirSquadronMode;
983
- }
984
-
985
- declare namespace AirSquadronMode {
986
- export type Sortie = "Sortie";
987
- export type AirDefense = "AirDefense";
988
- }
989
-
990
- export type AirSquadronMode =
991
- | AirSquadronMode.Sortie
992
- | AirSquadronMode.AirDefense;
993
-
994
- export interface FleetState {
995
- id?: string;
996
- len?: number;
997
- s1?: ShipState;
998
- s2?: ShipState;
999
- s3?: ShipState;
1000
- s4?: ShipState;
1001
- s5?: ShipState;
1002
- s6?: ShipState;
1003
- s7?: ShipState;
900
+ export interface CompAntiAirInfo {
901
+ fleet_adjusted_anti_air: number;
902
+ ships: ShipAntiAirInfo[];
903
+ anti_air_cutin_chance: [number, number][];
1004
904
  }
1005
905
 
1006
- export interface ShipState extends GearVecState, SlotSizeVecState {
1007
- id?: string;
906
+ export interface ShipAntiAirInfo {
1008
907
  ship_id: number;
1009
- level?: number;
1010
- current_hp?: number;
1011
- morale?: number;
1012
- ammo?: number;
1013
- fuel?: number;
1014
- max_hp_mod?: number;
1015
- firepower_mod?: number;
1016
- torpedo_mod?: number;
1017
- armor_mod?: number;
1018
- anti_air_mod?: number;
1019
- evasion_mod?: number;
1020
- asw_mod?: number;
1021
- los_mod?: number;
1022
- luck_mod?: number;
1023
- day_gunfit_accuracy?: number;
1024
- night_gunfit_accuracy?: number;
1025
- custom_power_mods?: CustomPowerModifiers;
1026
- }
1027
-
1028
- export interface SlotSizeVecState {
1029
- ss1?: number;
1030
- ss2?: number;
1031
- ss3?: number;
1032
- ss4?: number;
1033
- ss5?: number;
1034
- }
1035
-
1036
- export interface GearVecState {
1037
- g1?: GearState;
1038
- g2?: GearState;
1039
- g3?: GearState;
1040
- g4?: GearState;
1041
- g5?: GearState;
1042
- gx?: GearState;
1043
- }
1044
-
1045
- export interface GearState {
1046
- id?: string;
1047
- gear_id: number;
1048
- exp?: number;
1049
- stars?: number;
908
+ adjusted_anti_air: number | null;
909
+ proportional_shotdown_rate: number | null;
910
+ fixed_shotdown_number: number | null;
911
+ guaranteed: number | null;
912
+ anti_air_cutin_chance: [number, number][];
913
+ anti_air_propellant_barrage_chance: number | null;
1050
914
  }
1051
915
 
1052
- export interface MasterGear {
1053
- gear_id: number;
1054
- name: string;
1055
- types: GearTypeIdArray;
1056
- special_type?: number;
1057
- max_hp?: number;
1058
- firepower?: number;
1059
- armor?: number;
1060
- torpedo?: number;
1061
- anti_air?: number;
1062
- speed?: number;
1063
- bombing?: number;
1064
- asw?: number;
1065
- los?: number;
1066
- luck?: number;
1067
- accuracy?: number;
1068
- evasion?: number;
1069
- range?: number;
1070
- radius?: number;
1071
- cost?: number;
1072
- improvable?: boolean;
1073
- ship_anti_air_resistance?: number;
1074
- fleet_anti_air_resistance?: number;
916
+ export interface CompContactChanceInfo {
917
+ single: AirstrikeContactChance[] | null;
918
+ combined: AirstrikeContactChance[] | null;
1075
919
  }
1076
920
 
1077
- export interface HitRate {
921
+ export interface AirstrikeContactChance {
922
+ air_state: AirState;
923
+ trigger_rate: number;
924
+ rank3: number;
925
+ rank2: number;
926
+ rank1: number;
1078
927
  total: number;
1079
- normal: number;
1080
- critical: number;
1081
928
  }
1082
929
 
1083
- export interface HitRateParams {
1084
- accuracy_term: number;
1085
- evasion_term: number;
1086
- target_morale_mod: number;
1087
- critical_rate_constant: number;
1088
- critical_percentage_bonus: number;
1089
- hit_percentage_bonus: number;
930
+ export type SlotSizeVec = (number | null)[];
931
+
932
+ declare namespace Side {
933
+ export type Player = "Player";
934
+ export type Enemy = "Enemy";
1090
935
  }
1091
936
 
937
+ export type Side = Side.Player | Side.Enemy;
938
+
1092
939
  declare namespace NightAttackType {
1093
940
  export type Normal = "Normal";
1094
941
  export type ArkRoyal = "ArkRoyal";
@@ -1146,7 +993,18 @@ export type NightCutin =
1146
993
  | NightCutin.Cvci1_18
1147
994
  | NightCutin.Photobomber;
1148
995
 
1149
- export interface BattleConfig {
996
+ declare namespace ContactRank {
997
+ export type Rank1 = "Rank1";
998
+ export type Rank2 = "Rank2";
999
+ export type Rank3 = "Rank3";
1000
+ }
1001
+
1002
+ export type ContactRank =
1003
+ | ContactRank.Rank1
1004
+ | ContactRank.Rank2
1005
+ | ContactRank.Rank3;
1006
+
1007
+ export interface BattleDefinitions {
1150
1008
  formation: Record<Formation, NestedFormationDef>;
1151
1009
  anti_air_cutin: Record<number, AntiAirCutinDef>;
1152
1010
  day_cutin: Record<DayCutin, DayCutinDef>;
@@ -1240,32 +1098,72 @@ export interface MasterShip {
1240
1098
 
1241
1099
  export type StatInterval = [number | null, number | null];
1242
1100
 
1243
- export type GearTypeIdArray = [number, number, number, number, number];
1101
+ export interface MasterGear {
1102
+ gear_id: number;
1103
+ name: string;
1104
+ types: GearTypeIdArray;
1105
+ special_type?: number;
1106
+ max_hp?: number;
1107
+ firepower?: number;
1108
+ armor?: number;
1109
+ torpedo?: number;
1110
+ anti_air?: number;
1111
+ speed?: number;
1112
+ bombing?: number;
1113
+ asw?: number;
1114
+ los?: number;
1115
+ luck?: number;
1116
+ accuracy?: number;
1117
+ evasion?: number;
1118
+ range?: number;
1119
+ radius?: number;
1120
+ cost?: number;
1121
+ improvable?: boolean;
1122
+ ship_anti_air_resistance?: number;
1123
+ fleet_anti_air_resistance?: number;
1124
+ }
1244
1125
 
1245
- declare namespace ContactRank {
1246
- export type Rank1 = "Rank1";
1247
- export type Rank2 = "Rank2";
1248
- export type Rank3 = "Rank3";
1126
+ export interface WarfareContext {
1127
+ attacker_env: ShipEnvironment;
1128
+ target_env: ShipEnvironment;
1129
+ engagement: Engagement;
1130
+ air_state: AirState;
1249
1131
  }
1250
1132
 
1251
- export type ContactRank =
1252
- | ContactRank.Rank1
1253
- | ContactRank.Rank2
1254
- | ContactRank.Rank3;
1133
+ type __NightBattleAttackTypeAswAttackType = AswAttackType;
1134
+ type __NightBattleAttackTypeNightAttackType = NightAttackType;
1135
+ declare namespace NightBattleAttackType {
1136
+ export type NightAttack = {
1137
+ t: "NightAttack";
1138
+ c: __NightBattleAttackTypeNightAttackType;
1139
+ };
1140
+ export type Asw = { t: "Asw"; c: __NightBattleAttackTypeAswAttackType };
1141
+ }
1255
1142
 
1256
- export interface SimulatorResult {
1257
- items: SimulatorResultItem[];
1258
- sunk_vec: [number, number, number][];
1143
+ export type NightBattleAttackType =
1144
+ | NightBattleAttackType.NightAttack
1145
+ | NightBattleAttackType.Asw;
1146
+
1147
+ type __DayBattleAttackTypeAswAttackType = AswAttackType;
1148
+ type __DayBattleAttackTypeShellingAttackType = ShellingAttackType;
1149
+ declare namespace DayBattleAttackType {
1150
+ export type Shelling = {
1151
+ t: "Shelling";
1152
+ c: __DayBattleAttackTypeShellingAttackType;
1153
+ };
1154
+ export type Asw = { t: "Asw"; c: __DayBattleAttackTypeAswAttackType };
1259
1155
  }
1260
1156
 
1261
- export interface SimulatorResultItem {
1262
- id: string;
1263
- role: Role;
1264
- index: number;
1265
- damage_state_map: Record<DamageState, number>;
1157
+ export type DayBattleAttackType =
1158
+ | DayBattleAttackType.Shelling
1159
+ | DayBattleAttackType.Asw;
1160
+
1161
+ export interface WarfareAnalysisResult {
1162
+ player: AttackAnalysisResult;
1163
+ enemy: AttackAnalysisResult;
1266
1164
  }
1267
1165
 
1268
- export interface WarfareInfo {
1166
+ export interface AttackAnalysisResult {
1269
1167
  day: AttackInfo<DayBattleAttackType, DayCutin | null> | null;
1270
1168
  closing_torpedo: AttackInfo<null, null> | null;
1271
1169
  night: AttackInfo<NightBattleAttackType, NightCutin | null> | null;
@@ -1273,23 +1171,148 @@ export interface WarfareInfo {
1273
1171
  opening_asw: AttackInfo<null, null> | null;
1274
1172
  }
1275
1173
 
1276
- export interface WarfareAnalyzerContext {
1277
- attacker_env: WarfareAnalyzerShipEnvironment;
1278
- target_env: WarfareAnalyzerShipEnvironment;
1279
- engagement: Engagement;
1280
- air_state: AirState;
1174
+ export type ShipStateMap = Record<ShipKey, ShipState>;
1175
+
1176
+ declare namespace ShipKey {
1177
+ export type s1 = "s1";
1178
+ export type s2 = "s2";
1179
+ export type s3 = "s3";
1180
+ export type s4 = "s4";
1181
+ export type s5 = "s5";
1182
+ export type s6 = "s6";
1183
+ export type s7 = "s7";
1281
1184
  }
1282
1185
 
1283
- export interface WarfareAnalyzerShipEnvironment {
1284
- org_type: OrgType;
1285
- role: Role;
1286
- ship_index: number;
1287
- fleet_len: number;
1288
- formation: Formation;
1289
- fleet_los_mod: number | null;
1290
- night_situation: NightSituation;
1186
+ export type ShipKey =
1187
+ | ShipKey.s1
1188
+ | ShipKey.s2
1189
+ | ShipKey.s3
1190
+ | ShipKey.s4
1191
+ | ShipKey.s5
1192
+ | ShipKey.s6
1193
+ | ShipKey.s7;
1194
+
1195
+ export interface OrgState {
1196
+ id?: string;
1197
+ f1?: FleetState;
1198
+ f2?: FleetState;
1199
+ f3?: FleetState;
1200
+ f4?: FleetState;
1201
+ a1?: AirSquadronState;
1202
+ a2?: AirSquadronState;
1203
+ a3?: AirSquadronState;
1204
+ hq_level?: number;
1205
+ org_type?: OrgType;
1206
+ sortie?: string;
1207
+ route_sup?: string;
1208
+ boss_sup?: string;
1209
+ }
1210
+
1211
+ export interface AirSquadronState extends GearVecState, SlotSizeVecState {
1212
+ id?: string;
1213
+ mode?: AirSquadronMode;
1214
+ }
1215
+
1216
+ declare namespace AirSquadronMode {
1217
+ export type Sortie = "Sortie";
1218
+ export type AirDefense = "AirDefense";
1219
+ }
1220
+
1221
+ export type AirSquadronMode =
1222
+ | AirSquadronMode.Sortie
1223
+ | AirSquadronMode.AirDefense;
1224
+
1225
+ export interface FleetState {
1226
+ id?: string;
1227
+ len?: number;
1228
+ s1?: ShipState;
1229
+ s2?: ShipState;
1230
+ s3?: ShipState;
1231
+ s4?: ShipState;
1232
+ s5?: ShipState;
1233
+ s6?: ShipState;
1234
+ s7?: ShipState;
1235
+ }
1236
+
1237
+ export interface ShipState extends GearVecState, SlotSizeVecState {
1238
+ id?: string;
1239
+ ship_id: number;
1240
+ level?: number;
1241
+ current_hp?: number;
1242
+ morale?: number;
1243
+ ammo?: number;
1244
+ fuel?: number;
1245
+ max_hp_mod?: number;
1246
+ firepower_mod?: number;
1247
+ torpedo_mod?: number;
1248
+ armor_mod?: number;
1249
+ anti_air_mod?: number;
1250
+ evasion_mod?: number;
1251
+ asw_mod?: number;
1252
+ los_mod?: number;
1253
+ luck_mod?: number;
1254
+ day_gunfit_accuracy?: number;
1255
+ night_gunfit_accuracy?: number;
1256
+ custom_power_mods?: CustomPowerModifiers;
1291
1257
  }
1292
1258
 
1259
+ export interface SlotSizeVecState {
1260
+ ss1?: number;
1261
+ ss2?: number;
1262
+ ss3?: number;
1263
+ ss4?: number;
1264
+ ss5?: number;
1265
+ }
1266
+
1267
+ export interface GearVecState {
1268
+ g1?: GearState;
1269
+ g2?: GearState;
1270
+ g3?: GearState;
1271
+ g4?: GearState;
1272
+ g5?: GearState;
1273
+ gx?: GearState;
1274
+ }
1275
+
1276
+ export interface GearState {
1277
+ id?: string;
1278
+ gear_id: number;
1279
+ exp?: number;
1280
+ stars?: number;
1281
+ }
1282
+
1283
+ export interface HitRate {
1284
+ total: number;
1285
+ normal: number;
1286
+ critical: number;
1287
+ }
1288
+
1289
+ export interface HitRateParams {
1290
+ accuracy_term: number;
1291
+ evasion_term: number;
1292
+ target_morale_mod: number;
1293
+ critical_rate_constant: number;
1294
+ critical_percentage_bonus: number;
1295
+ hit_percentage_bonus: number;
1296
+ }
1297
+
1298
+ export type GearTypeIdArray = [number, number, number, number, number];
1299
+
1300
+ declare namespace ShellingAttackType {
1301
+ export type Normal = "Normal";
1302
+ export type Carrier = "Carrier";
1303
+ }
1304
+
1305
+ export type ShellingAttackType =
1306
+ | ShellingAttackType.Normal
1307
+ | ShellingAttackType.Carrier;
1308
+
1309
+ declare namespace AswAttackType {
1310
+ export type DepthCharge = "DepthCharge";
1311
+ export type Aircraft = "Aircraft";
1312
+ }
1313
+
1314
+ export type AswAttackType = AswAttackType.DepthCharge | AswAttackType.Aircraft;
1315
+
1293
1316
  export interface FleetNightCutinRateInfo {
1294
1317
  night_contact_chance: NightContactChance;
1295
1318
  ships: ShipNightCutinRateInfo[];
@@ -1381,14 +1404,14 @@ export class Analyzer {
1381
1404
  analyze_day_cutin(comp: Comp): CompDayCutinRateInfo;
1382
1405
  /**
1383
1406
  * @param {Comp} comp
1384
- * @param {NightSituation} attacker_situation
1385
- * @param {NightSituation} target_situation
1407
+ * @param {NightConditions} attacker_conditions
1408
+ * @param {NightConditions} target_conditions
1386
1409
  * @returns {FleetNightCutinRateInfo}
1387
1410
  */
1388
1411
  analyze_night_cutin(
1389
1412
  comp: Comp,
1390
- attacker_situation: NightSituation,
1391
- target_situation: NightSituation
1413
+ attacker_conditions: NightConditions,
1414
+ target_conditions: NightConditions
1392
1415
  ): FleetNightCutinRateInfo;
1393
1416
  /**
1394
1417
  * @param {Comp} comp
@@ -1396,13 +1419,13 @@ export class Analyzer {
1396
1419
  */
1397
1420
  analyze_contact_chance(comp: Comp): CompContactChanceInfo;
1398
1421
  /**
1399
- * @param {WarfareAnalyzerContext} params
1422
+ * @param {WarfareContext} params
1400
1423
  * @param {Ship} attacker
1401
1424
  * @param {Ship} target
1402
1425
  * @returns {WarfareInfo}
1403
1426
  */
1404
1427
  analyze_warfare(
1405
- params: WarfareAnalyzerContext,
1428
+ params: WarfareContext,
1406
1429
  attacker: Ship,
1407
1430
  target: Ship
1408
1431
  ): WarfareInfo;
@@ -1496,13 +1519,13 @@ export class Comp {
1496
1519
  transport_point(): number;
1497
1520
  /**
1498
1521
  * @param {Ship} ship
1499
- * @param {Formation} formation
1500
- * @returns {WarfareShipEnvironment}
1522
+ * @param {Formation | undefined} formation
1523
+ * @returns {ShipEnvironment}
1501
1524
  */
1502
1525
  create_warfare_ship_environment(
1503
1526
  ship: Ship,
1504
- formation: Formation
1505
- ): WarfareShipEnvironment;
1527
+ formation?: Formation
1528
+ ): ShipEnvironment;
1506
1529
  /**
1507
1530
  */
1508
1531
  boss_sup?: Fleet;
@@ -2066,15 +2089,6 @@ export class Org {
2066
2089
  * @returns {number}
2067
2090
  */
2068
2091
  high_altitude_interception_power(): number;
2069
- /**
2070
- * @param {Ship} ship
2071
- * @param {Formation} formation
2072
- * @returns {WarfareShipEnvironment}
2073
- */
2074
- create_warfare_ship_environment(
2075
- ship: Ship,
2076
- formation: Formation
2077
- ): WarfareShipEnvironment;
2078
2092
  /**
2079
2093
  * @returns {Org}
2080
2094
  */