fleethub-core 1.7.8 → 1.7.9

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.
@@ -111,33 +111,18 @@ export type DayCutin =
111
111
  | DayCutin.Zuiun
112
112
  | DayCutin.AirSea;
113
113
 
114
- declare namespace ShellingAttackType {
115
- export type Normal = "Normal";
116
- export type Carrier = "Carrier";
117
- }
118
-
119
- export type ShellingAttackType =
120
- | ShellingAttackType.Normal
121
- | ShellingAttackType.Carrier;
122
-
123
- export interface FleetCutinAnalysis {
124
- shelling: FleetCutinInfo[];
125
- night: FleetCutinInfo[];
126
- }
127
-
128
- export interface FleetCutinInfo {
129
- cutin: FleetCutin;
130
- rate: number | null;
131
- formation: Formation;
132
- items: FleetCutinInfoItem[];
114
+ declare namespace Engagement {
115
+ export type GreenT = "GreenT";
116
+ export type Parallel = "Parallel";
117
+ export type HeadOn = "HeadOn";
118
+ export type RedT = "RedT";
133
119
  }
134
120
 
135
- export interface FleetCutinInfoItem {
136
- ship_id: number;
137
- cutin: FleetCutin;
138
- fleet_cutin_mod: number;
139
- stats: AttackStats;
140
- }
121
+ export type Engagement =
122
+ | Engagement.GreenT
123
+ | Engagement.Parallel
124
+ | Engagement.HeadOn
125
+ | Engagement.RedT;
141
126
 
142
127
  declare namespace SpecialEnemyType {
143
128
  export type None = "None";
@@ -203,30 +188,6 @@ export type SpeedGroup =
203
188
  | SpeedGroup.B2
204
189
  | SpeedGroup.C;
205
190
 
206
- declare namespace AswAttackType {
207
- export type DepthCharge = "DepthCharge";
208
- export type Aircraft = "Aircraft";
209
- }
210
-
211
- export type AswAttackType = AswAttackType.DepthCharge | AswAttackType.Aircraft;
212
-
213
- declare namespace OrgType {
214
- export type Single = "Single";
215
- export type CarrierTaskForce = "CarrierTaskForce";
216
- export type SurfaceTaskForce = "SurfaceTaskForce";
217
- export type TransportEscort = "TransportEscort";
218
- export type EnemySingle = "EnemySingle";
219
- export type EnemyCombined = "EnemyCombined";
220
- }
221
-
222
- export type OrgType =
223
- | OrgType.Single
224
- | OrgType.CarrierTaskForce
225
- | OrgType.SurfaceTaskForce
226
- | OrgType.TransportEscort
227
- | OrgType.EnemySingle
228
- | OrgType.EnemyCombined;
229
-
230
191
  declare namespace FleetCutin {
231
192
  export type NelsonTouch = "NelsonTouch";
232
193
  export type NagatoCutin = "NagatoCutin";
@@ -255,14 +216,57 @@ export type AirWaveType =
255
216
  | AirWaveType.LandBase
256
217
  | AirWaveType.Carrier;
257
218
 
258
- export type NumMap<K, V> = Partial<Record<K, V>>;
219
+ export interface SimulatorResult {
220
+ items: SimulatorResultItem[];
221
+ sunk_vec: [number, number, number][];
222
+ }
259
223
 
260
- declare namespace Role {
261
- export type Main = "Main";
262
- export type Escort = "Escort";
224
+ export interface SimulatorResultItem {
225
+ id: string;
226
+ role: Role;
227
+ index: number;
228
+ damage_state_map: Record<DamageState, number>;
263
229
  }
264
230
 
265
- export type Role = Role.Main | Role.Escort;
231
+ declare namespace AswAttackType {
232
+ export type DepthCharge = "DepthCharge";
233
+ export type Aircraft = "Aircraft";
234
+ }
235
+
236
+ export type AswAttackType = AswAttackType.DepthCharge | AswAttackType.Aircraft;
237
+
238
+ declare namespace OrgType {
239
+ export type Single = "Single";
240
+ export type CarrierTaskForce = "CarrierTaskForce";
241
+ export type SurfaceTaskForce = "SurfaceTaskForce";
242
+ export type TransportEscort = "TransportEscort";
243
+ export type EnemySingle = "EnemySingle";
244
+ export type EnemyCombined = "EnemyCombined";
245
+ }
246
+
247
+ export type OrgType =
248
+ | OrgType.Single
249
+ | OrgType.CarrierTaskForce
250
+ | OrgType.SurfaceTaskForce
251
+ | OrgType.TransportEscort
252
+ | OrgType.EnemySingle
253
+ | OrgType.EnemyCombined;
254
+
255
+ export interface WarfareContext {
256
+ attacker_env: WarfareShipEnvironment;
257
+ target_env: WarfareShipEnvironment;
258
+ engagement: Engagement;
259
+ air_state: AirState;
260
+ }
261
+
262
+ export interface WarfareShipEnvironment {
263
+ org_type: OrgType;
264
+ role: Role;
265
+ ship_index: number;
266
+ fleet_len: number;
267
+ formation: Formation;
268
+ fleet_los_mod: number | null;
269
+ }
266
270
 
267
271
  export interface CompMeta {
268
272
  fleets: Record<FleetType, FleetMeta>;
@@ -305,43 +309,14 @@ export interface MasterAttrRule<T> {
305
309
  expr: string;
306
310
  }
307
311
 
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
- }
312
+ export type NumMap<K, V> = Partial<Record<K, V>>;
333
313
 
334
- export interface ShipDayCutinRateInfo {
335
- ship_id: number;
336
- air_supremacy: DayCutinRateInfo;
337
- air_superiority: DayCutinRateInfo;
314
+ declare namespace Role {
315
+ export type Main = "Main";
316
+ export type Escort = "Escort";
338
317
  }
339
318
 
340
- export interface DayCutinRateInfo {
341
- observation_term: number | null;
342
- rates: [DayCutin | null, number | null][];
343
- total_cutin_rate: number | null;
344
- }
319
+ export type Role = Role.Main | Role.Escort;
345
320
 
346
321
  declare namespace GearCategory {
347
322
  export type Fighter = "Fighter";
@@ -495,18 +470,27 @@ export type GearType =
495
470
  | GearType.LargeRadar2
496
471
  | GearType.CbRecon2;
497
472
 
498
- declare namespace Engagement {
499
- export type GreenT = "GreenT";
500
- export type Parallel = "Parallel";
501
- export type HeadOn = "HeadOn";
502
- export type RedT = "RedT";
473
+ export interface CompDayCutinRateInfo {
474
+ main: FleetDayCutinRateInfo;
475
+ escort: FleetDayCutinRateInfo | null;
503
476
  }
504
477
 
505
- export type Engagement =
506
- | Engagement.GreenT
507
- | Engagement.Parallel
508
- | Engagement.HeadOn
509
- | Engagement.RedT;
478
+ export interface FleetDayCutinRateInfo {
479
+ fleet_los_mod: number | null;
480
+ ships: ShipDayCutinRateInfo[];
481
+ }
482
+
483
+ export interface ShipDayCutinRateInfo {
484
+ ship_id: number;
485
+ air_supremacy: DayCutinRateInfo;
486
+ air_superiority: DayCutinRateInfo;
487
+ }
488
+
489
+ export interface DayCutinRateInfo {
490
+ observation_term: number | null;
491
+ rates: [DayCutin | null, number | null][];
492
+ total_cutin_rate: number | null;
493
+ }
510
494
 
511
495
  export interface EBonuses {
512
496
  firepower: number;
@@ -576,12 +560,6 @@ export type AirState =
576
560
  | AirState.AirDenial
577
561
  | AirState.AirIncapability;
578
562
 
579
- export interface ShellingSupportSimulatorParams {
580
- attacker_formation: Formation;
581
- target_formation: Formation;
582
- engagement: Engagement;
583
- }
584
-
585
563
  export interface MasterIBonuses {
586
564
  shelling_power: MasterIBonusRule[];
587
565
  carrier_shelling_power: MasterIBonusRule[];
@@ -606,12 +584,40 @@ export interface MasterIBonusRule {
606
584
  formula: CompiledEvaler;
607
585
  }
608
586
 
587
+ declare namespace ShellingAttackType {
588
+ export type Normal = "Normal";
589
+ export type Carrier = "Carrier";
590
+ }
591
+
592
+ export type ShellingAttackType =
593
+ | ShellingAttackType.Normal
594
+ | ShellingAttackType.Carrier;
595
+
609
596
  export interface NightSituation {
610
597
  night_contact_rank: ContactRank | null;
611
598
  starshell: boolean;
612
599
  searchlight: boolean;
613
600
  }
614
601
 
602
+ export interface FleetCutinAnalysis {
603
+ shelling: FleetCutinInfo[];
604
+ night: FleetCutinInfo[];
605
+ }
606
+
607
+ export interface FleetCutinInfo {
608
+ cutin: FleetCutin;
609
+ rate: number | null;
610
+ formation: Formation;
611
+ items: FleetCutinInfoItem[];
612
+ }
613
+
614
+ export interface FleetCutinInfoItem {
615
+ ship_id: number;
616
+ cutin: FleetCutin;
617
+ fleet_cutin_mod: number;
618
+ stats: AttackStats;
619
+ }
620
+
615
621
  export interface DamageInfo {
616
622
  miss_damage_min: number;
617
623
  miss_damage_max: number;
@@ -719,6 +725,12 @@ export interface AttackPowerModifier {
719
725
  b?: number;
720
726
  }
721
727
 
728
+ export interface ShellingSupportSimulatorParams {
729
+ attacker_formation: Formation;
730
+ target_formation: Formation;
731
+ engagement: Engagement;
732
+ }
733
+
722
734
  export interface AttackPower {
723
735
  precap: number;
724
736
  is_capped: boolean;
@@ -754,22 +766,6 @@ export interface SpecialEnemyModifiers {
754
766
  pt_mod: AttackPowerModifier;
755
767
  }
756
768
 
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
769
  export interface CompContactChanceInfo {
774
770
  single: AirstrikeContactChance[] | null;
775
771
  combined: AirstrikeContactChance[] | null;
@@ -784,15 +780,6 @@ export interface AirstrikeContactChance {
784
780
  total: number;
785
781
  }
786
782
 
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
783
  declare namespace GearAttr {
797
784
  export type Unknown = "Unknown";
798
785
  export type Abyssal = "Abyssal";
@@ -891,34 +878,6 @@ export interface EquipStype {
891
878
  equip_type: number[];
892
879
  }
893
880
 
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 };
902
- }
903
-
904
- export type NightBattleAttackType =
905
- | NightBattleAttackType.NightAttack
906
- | NightBattleAttackType.Asw;
907
-
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 };
916
- }
917
-
918
- export type DayBattleAttackType =
919
- | DayBattleAttackType.Shelling
920
- | DayBattleAttackType.Asw;
921
-
922
881
  export interface AttackInfo<AttackType, Cutin> {
923
882
  attack_type: AttackType;
924
883
  items: AttackInfoItem<Cutin>[];
@@ -940,6 +899,133 @@ export interface AttackStats {
940
899
  damage: DamageInfo | null;
941
900
  }
942
901
 
902
+ export interface CompAntiAirInfo {
903
+ fleet_adjusted_anti_air: number;
904
+ ships: ShipAntiAirInfo[];
905
+ anti_air_cutin_chance: [number, number][];
906
+ }
907
+
908
+ export interface ShipAntiAirInfo {
909
+ ship_id: number;
910
+ adjusted_anti_air: number | null;
911
+ proportional_shotdown_rate: number | null;
912
+ fixed_shotdown_number: number | null;
913
+ guaranteed: number | null;
914
+ anti_air_cutin_chance: [number, number][];
915
+ anti_air_propellant_barrage_chance: number | null;
916
+ }
917
+
918
+ export type SlotSizeVec = (number | null)[];
919
+
920
+ declare namespace Side {
921
+ export type Player = "Player";
922
+ export type Enemy = "Enemy";
923
+ }
924
+
925
+ export type Side = Side.Player | Side.Enemy;
926
+
927
+ declare namespace NightAttackType {
928
+ export type Normal = "Normal";
929
+ export type ArkRoyal = "ArkRoyal";
930
+ export type Carrier = "Carrier";
931
+ }
932
+
933
+ export type NightAttackType =
934
+ | NightAttackType.Normal
935
+ | NightAttackType.ArkRoyal
936
+ | NightAttackType.Carrier;
937
+
938
+ type __NightSpecialAttackFleetCutin = FleetCutin;
939
+ type __NightSpecialAttackNightCutin = NightCutin;
940
+ declare namespace NightSpecialAttack {
941
+ export type NightCutin = { NightCutin: __NightSpecialAttackNightCutin };
942
+ export type FleetCutin = { FleetCutin: __NightSpecialAttackFleetCutin };
943
+ }
944
+
945
+ export type NightSpecialAttack =
946
+ | NightSpecialAttack.NightCutin
947
+ | NightSpecialAttack.FleetCutin;
948
+
949
+ declare namespace NightCutin {
950
+ export type MainTorpRadar = "MainTorpRadar";
951
+ export type TorpLookoutRadar = "TorpLookoutRadar";
952
+ export type TorpTsloTorp = "TorpTsloTorp";
953
+ export type TorpTsloDrum = "TorpTsloDrum";
954
+ export type DoubleAttack = "DoubleAttack";
955
+ export type TorpTorpMain = "TorpTorpMain";
956
+ export type TorpTorpTorp = "TorpTorpTorp";
957
+ export type MainMainSec = "MainMainSec";
958
+ export type MainMainMain = "MainMainMain";
959
+ export type SubTorpTorp = "SubTorpTorp";
960
+ export type SubRadarTorp = "SubRadarTorp";
961
+ export type Cvci1_25 = "Cvci1_25";
962
+ export type Cvci1_20 = "Cvci1_20";
963
+ export type Cvci1_18 = "Cvci1_18";
964
+ export type Photobomber = "Photobomber";
965
+ }
966
+
967
+ export type NightCutin =
968
+ | NightCutin.MainTorpRadar
969
+ | NightCutin.TorpLookoutRadar
970
+ | NightCutin.TorpTsloTorp
971
+ | NightCutin.TorpTsloDrum
972
+ | NightCutin.DoubleAttack
973
+ | NightCutin.TorpTorpMain
974
+ | NightCutin.TorpTorpTorp
975
+ | NightCutin.MainMainSec
976
+ | NightCutin.MainMainMain
977
+ | NightCutin.SubTorpTorp
978
+ | NightCutin.SubRadarTorp
979
+ | NightCutin.Cvci1_25
980
+ | NightCutin.Cvci1_20
981
+ | NightCutin.Cvci1_18
982
+ | NightCutin.Photobomber;
983
+
984
+ export interface HitRate {
985
+ total: number;
986
+ normal: number;
987
+ critical: number;
988
+ }
989
+
990
+ export interface HitRateParams {
991
+ accuracy_term: number;
992
+ evasion_term: number;
993
+ target_morale_mod: number;
994
+ critical_rate_constant: number;
995
+ critical_percentage_bonus: number;
996
+ hit_percentage_bonus: number;
997
+ }
998
+
999
+ type __NightBattleAttackTypeAswAttackType = AswAttackType;
1000
+ type __NightBattleAttackTypeNightAttackType = NightAttackType;
1001
+ declare namespace NightBattleAttackType {
1002
+ export type NightAttack = {
1003
+ t: "NightAttack";
1004
+ c: __NightBattleAttackTypeNightAttackType;
1005
+ };
1006
+ export type Asw = { t: "Asw"; c: __NightBattleAttackTypeAswAttackType };
1007
+ }
1008
+
1009
+ export type NightBattleAttackType =
1010
+ | NightBattleAttackType.NightAttack
1011
+ | NightBattleAttackType.Asw;
1012
+
1013
+ type __DayBattleAttackTypeAswAttackType = AswAttackType;
1014
+ type __DayBattleAttackTypeShellingAttackType = ShellingAttackType;
1015
+ declare namespace DayBattleAttackType {
1016
+ export type Shelling = {
1017
+ t: "Shelling";
1018
+ c: __DayBattleAttackTypeShellingAttackType;
1019
+ };
1020
+ export type Asw = { t: "Asw"; c: __DayBattleAttackTypeAswAttackType };
1021
+ }
1022
+
1023
+ export type DayBattleAttackType =
1024
+ | DayBattleAttackType.Shelling
1025
+ | DayBattleAttackType.Asw;
1026
+
1027
+ export type GearTypeIdArray = [number, number, number, number, number];
1028
+
943
1029
  export type ShipStateMap = Record<ShipKey, ShipState>;
944
1030
 
945
1031
  declare namespace ShipKey {
@@ -1049,102 +1135,16 @@ export interface GearState {
1049
1135
  stars?: number;
1050
1136
  }
1051
1137
 
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;
1075
- }
1076
-
1077
- export interface HitRate {
1078
- total: number;
1079
- normal: number;
1080
- critical: number;
1081
- }
1082
-
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;
1090
- }
1091
-
1092
- declare namespace NightAttackType {
1093
- export type Normal = "Normal";
1094
- export type ArkRoyal = "ArkRoyal";
1095
- export type Carrier = "Carrier";
1096
- }
1097
-
1098
- export type NightAttackType =
1099
- | NightAttackType.Normal
1100
- | NightAttackType.ArkRoyal
1101
- | NightAttackType.Carrier;
1102
-
1103
- type __NightSpecialAttackFleetCutin = FleetCutin;
1104
- type __NightSpecialAttackNightCutin = NightCutin;
1105
- declare namespace NightSpecialAttack {
1106
- export type NightCutin = { NightCutin: __NightSpecialAttackNightCutin };
1107
- export type FleetCutin = { FleetCutin: __NightSpecialAttackFleetCutin };
1108
- }
1109
-
1110
- export type NightSpecialAttack =
1111
- | NightSpecialAttack.NightCutin
1112
- | NightSpecialAttack.FleetCutin;
1113
-
1114
- declare namespace NightCutin {
1115
- export type MainTorpRadar = "MainTorpRadar";
1116
- export type TorpLookoutRadar = "TorpLookoutRadar";
1117
- export type TorpTsloTorp = "TorpTsloTorp";
1118
- export type TorpTsloDrum = "TorpTsloDrum";
1119
- export type DoubleAttack = "DoubleAttack";
1120
- export type TorpTorpMain = "TorpTorpMain";
1121
- export type TorpTorpTorp = "TorpTorpTorp";
1122
- export type MainMainSec = "MainMainSec";
1123
- export type MainMainMain = "MainMainMain";
1124
- export type SubTorpTorp = "SubTorpTorp";
1125
- export type SubRadarTorp = "SubRadarTorp";
1126
- export type Cvci1_25 = "Cvci1_25";
1127
- export type Cvci1_20 = "Cvci1_20";
1128
- export type Cvci1_18 = "Cvci1_18";
1129
- export type Photobomber = "Photobomber";
1138
+ declare namespace ContactRank {
1139
+ export type Rank1 = "Rank1";
1140
+ export type Rank2 = "Rank2";
1141
+ export type Rank3 = "Rank3";
1130
1142
  }
1131
1143
 
1132
- export type NightCutin =
1133
- | NightCutin.MainTorpRadar
1134
- | NightCutin.TorpLookoutRadar
1135
- | NightCutin.TorpTsloTorp
1136
- | NightCutin.TorpTsloDrum
1137
- | NightCutin.DoubleAttack
1138
- | NightCutin.TorpTorpMain
1139
- | NightCutin.TorpTorpTorp
1140
- | NightCutin.MainMainSec
1141
- | NightCutin.MainMainMain
1142
- | NightCutin.SubTorpTorp
1143
- | NightCutin.SubRadarTorp
1144
- | NightCutin.Cvci1_25
1145
- | NightCutin.Cvci1_20
1146
- | NightCutin.Cvci1_18
1147
- | NightCutin.Photobomber;
1144
+ export type ContactRank =
1145
+ | ContactRank.Rank1
1146
+ | ContactRank.Rank2
1147
+ | ContactRank.Rank3;
1148
1148
 
1149
1149
  export interface BattleConfig {
1150
1150
  formation: Record<Formation, NestedFormationDef>;
@@ -1240,29 +1240,29 @@ export interface MasterShip {
1240
1240
 
1241
1241
  export type StatInterval = [number | null, number | null];
1242
1242
 
1243
- export type GearTypeIdArray = [number, number, number, number, number];
1244
-
1245
- declare namespace ContactRank {
1246
- export type Rank1 = "Rank1";
1247
- export type Rank2 = "Rank2";
1248
- export type Rank3 = "Rank3";
1249
- }
1250
-
1251
- export type ContactRank =
1252
- | ContactRank.Rank1
1253
- | ContactRank.Rank2
1254
- | ContactRank.Rank3;
1255
-
1256
- export interface SimulatorResult {
1257
- items: SimulatorResultItem[];
1258
- sunk_vec: [number, number, number][];
1259
- }
1260
-
1261
- export interface SimulatorResultItem {
1262
- id: string;
1263
- role: Role;
1264
- index: number;
1265
- damage_state_map: Record<DamageState, number>;
1243
+ export interface MasterGear {
1244
+ gear_id: number;
1245
+ name: string;
1246
+ types: GearTypeIdArray;
1247
+ special_type?: number;
1248
+ max_hp?: number;
1249
+ firepower?: number;
1250
+ armor?: number;
1251
+ torpedo?: number;
1252
+ anti_air?: number;
1253
+ speed?: number;
1254
+ bombing?: number;
1255
+ asw?: number;
1256
+ los?: number;
1257
+ luck?: number;
1258
+ accuracy?: number;
1259
+ evasion?: number;
1260
+ range?: number;
1261
+ radius?: number;
1262
+ cost?: number;
1263
+ improvable?: boolean;
1264
+ ship_anti_air_resistance?: number;
1265
+ fleet_anti_air_resistance?: number;
1266
1266
  }
1267
1267
 
1268
1268
  export interface WarfareInfo {