fleethub-core 1.4.3 → 1.6.2

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.
@@ -43,6 +43,41 @@ export interface GearInput {
43
43
 
44
44
  export type GearVecInput = GearInput[];
45
45
 
46
+ export type ShipType =
47
+ | "Unknown"
48
+ | "DE"
49
+ | "DD"
50
+ | "CL"
51
+ | "CLT"
52
+ | "CA"
53
+ | "CAV"
54
+ | "CVL"
55
+ | "FBB"
56
+ | "BB"
57
+ | "BBV"
58
+ | "CV"
59
+ | "XBB"
60
+ | "SS"
61
+ | "SSV"
62
+ | "AP"
63
+ | "AV"
64
+ | "LHA"
65
+ | "CVB"
66
+ | "AR"
67
+ | "AS"
68
+ | "CT"
69
+ | "AO";
70
+
71
+ export type ShipCategory =
72
+ | "Battleship"
73
+ | "AircraftCarrier"
74
+ | "HeavyCruiser"
75
+ | "LightCruiser"
76
+ | "Destroyer"
77
+ | "CoastalDefenseShip"
78
+ | "Submarine"
79
+ | "AuxiliaryShip";
80
+
46
81
  export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
47
82
 
48
83
  export type AirState =
@@ -52,34 +87,23 @@ export type AirState =
52
87
  | "AirDenial"
53
88
  | "AirIncapability";
54
89
 
55
- export interface MasterIBonuses {
56
- shelling_power: MasterIBonusRule[];
57
- carrier_shelling_power: MasterIBonusRule[];
58
- shelling_accuracy: MasterIBonusRule[];
59
- torpedo_power: MasterIBonusRule[];
60
- torpedo_accuracy: MasterIBonusRule[];
61
- torpedo_evasion: MasterIBonusRule[];
62
- asw_power: MasterIBonusRule[];
63
- asw_accuracy: MasterIBonusRule[];
64
- night_power: MasterIBonusRule[];
65
- night_accuracy: MasterIBonusRule[];
66
- defense_power: MasterIBonusRule[];
67
- contact_selection: MasterIBonusRule[];
68
- fighter_power: MasterIBonusRule[];
69
- ship_anti_air: MasterIBonusRule[];
70
- fleet_anti_air: MasterIBonusRule[];
71
- elos: MasterIBonusRule[];
90
+ export interface FleetCutinAnalysis {
91
+ shelling: FleetCutinInfo[];
92
+ night: FleetCutinInfo[];
72
93
  }
73
94
 
74
- export interface MasterIBonusRule {
75
- expr: CompiledEvaler;
76
- formula: CompiledEvaler;
95
+ export interface FleetCutinInfo {
96
+ cutin: FleetCutin;
97
+ rate: number | null;
98
+ formation: Formation;
99
+ items: FleetCutinInfoItem[];
77
100
  }
78
101
 
79
- export interface NightSituation {
80
- night_contact_rank: ContactRank | null;
81
- starshell: boolean;
82
- searchlight: boolean;
102
+ export interface FleetCutinInfoItem {
103
+ ship_id: number;
104
+ cutin: FleetCutin;
105
+ fleet_cutin_mod: number;
106
+ stats: AttackStats;
83
107
  }
84
108
 
85
109
  export interface DamageInfo {
@@ -95,70 +119,6 @@ export interface DamageInfo {
95
119
  damage_state_map: NumMap<DamageState, number>;
96
120
  }
97
121
 
98
- export interface BattleConfig {
99
- formation: Record<Formation, NestedFormationDef>;
100
- anti_air_cutin: Record<number, AntiAirCutinDef>;
101
- day_cutin: Record<DayCutin, DayCutinDef>;
102
- night_cutin: Record<NightCutin, NightCutinDef>;
103
- }
104
-
105
- export interface NightCutinDef {
106
- tag: NightCutin;
107
- hits: number;
108
- type_factor: number | null;
109
- power_mod: number | null;
110
- accuracy_mod: number | null;
111
- }
112
-
113
- export interface DayCutinDef {
114
- tag: DayCutin;
115
- hits: number;
116
- type_factor: number | null;
117
- power_mod: number | null;
118
- accuracy_mod: number | null;
119
- }
120
-
121
- export interface AntiAirCutinDef {
122
- id: number;
123
- type_factor: number | null;
124
- multiplier: number | null;
125
- guaranteed: number | null;
126
- sequential: boolean | null;
127
- }
128
-
129
- export type NestedFormationDef =
130
- | FormationDef
131
- | { top_half: FormationDef; bottom_half: FormationDef };
132
-
133
- export interface FormationDef {
134
- tag: Formation;
135
- protection_rate: number | null;
136
- fleet_anti_air_mod: number;
137
- shelling: FormationWarfareDef;
138
- torpedo: FormationWarfareDef;
139
- asw: FormationWarfareDef;
140
- night: FormationWarfareDef;
141
- shelling_support: FormationWarfareDef;
142
- }
143
-
144
- export interface FormationWarfareDef {
145
- power_mod: number | null;
146
- accuracy_mod: number | null;
147
- evasion_mod: number | null;
148
- }
149
-
150
- export type AirWaveType = "Jet" | "LandBase" | "Carrier";
151
-
152
- export type AswAttackType = "DepthCharge" | "Aircraft";
153
-
154
- export type OrgType =
155
- | "Single"
156
- | "CarrierTaskForce"
157
- | "SurfaceTaskForce"
158
- | "TransportEscort"
159
- | "EnemySingle"
160
- | "EnemyCombined";
161
-
162
122
  export interface WarfareContext {
163
123
  attacker_env: WarfareShipEnvironment;
164
124
  target_env: WarfareShipEnvironment;
@@ -201,8 +161,9 @@ export interface AttackPowerParams {
201
161
  }
202
162
 
203
163
  export interface CustomModifiers {
204
- precap_mod: AttackPowerModifier;
205
- postcap_mod: AttackPowerModifier;
164
+ precap_mod?: AttackPowerModifier;
165
+ postcap_mod?: AttackPowerModifier;
166
+ basic_power_mod?: AttackPowerModifier;
206
167
  }
207
168
 
208
169
  export interface SpecialEnemyModifiers {
@@ -221,9 +182,13 @@ export interface AttackPowerModifier {
221
182
  b: number;
222
183
  }
223
184
 
224
- export type NumMap<K, V> = Partial<Record<K, V>>;
225
-
226
- export type Role = "Main" | "Escort";
185
+ export type OrgType =
186
+ | "Single"
187
+ | "CarrierTaskForce"
188
+ | "SurfaceTaskForce"
189
+ | "TransportEscort"
190
+ | "EnemySingle"
191
+ | "EnemyCombined";
227
192
 
228
193
  export interface CompMeta {
229
194
  fleets: Record<FleetType, FleetMeta>;
@@ -240,62 +205,33 @@ export interface ShipMeta {
240
205
  ship_id: number;
241
206
  }
242
207
 
243
- export interface CompDayCutinRateInfo {
244
- main: FleetDayCutinRateInfo;
245
- escort: FleetDayCutinRateInfo | null;
246
- }
247
-
248
- export interface FleetDayCutinRateInfo {
249
- fleet_los_mod: number | null;
250
- ships: ShipDayCutinRateInfo[];
208
+ export interface MasterData {
209
+ gears: MasterGear[];
210
+ gear_attrs: MasterAttrRule<GearAttr>[];
211
+ ships: MasterShip[];
212
+ ship_attrs: MasterAttrRule<ShipAttr>[];
213
+ ibonuses: MasterIBonuses;
214
+ equippable: MasterEquippable;
215
+ formation: NestedFormationDef[];
216
+ anti_air_cutin: AntiAirCutinDef[];
217
+ day_cutin: DayCutinDef[];
218
+ night_cutin: NightCutinDef[];
251
219
  }
252
220
 
253
- export interface ShipDayCutinRateInfo {
254
- ship_id: number;
255
- air_supremacy: DayCutinRateInfo;
256
- air_superiority: DayCutinRateInfo;
221
+ export interface MasterConfig {
222
+ formation: NestedFormationDef[];
223
+ anti_air_cutin: AntiAirCutinDef[];
224
+ day_cutin: DayCutinDef[];
225
+ night_cutin: NightCutinDef[];
257
226
  }
258
227
 
259
- export interface DayCutinRateInfo {
260
- observation_term: number | null;
261
- rates: [DayCutin | null, number | null][];
262
- total_cutin_rate: number | null;
228
+ export interface MasterAttrRule<T> {
229
+ tag: T;
230
+ name: string;
231
+ expr: string;
263
232
  }
264
233
 
265
- export type ShipType =
266
- | "Unknown"
267
- | "DE"
268
- | "DD"
269
- | "CL"
270
- | "CLT"
271
- | "CA"
272
- | "CAV"
273
- | "CVL"
274
- | "FBB"
275
- | "BB"
276
- | "BBV"
277
- | "CV"
278
- | "XBB"
279
- | "SS"
280
- | "SSV"
281
- | "AP"
282
- | "AV"
283
- | "LHA"
284
- | "CVB"
285
- | "AR"
286
- | "AS"
287
- | "CT"
288
- | "AO";
289
-
290
- export type ShipCategory =
291
- | "Battleship"
292
- | "AircraftCarrier"
293
- | "HeavyCruiser"
294
- | "LightCruiser"
295
- | "Destroyer"
296
- | "CoastalDefenseShip"
297
- | "Submarine"
298
- | "AuxiliaryShip";
234
+ export type NumMap<K, V> = Partial<Record<K, V>>;
299
235
 
300
236
  export type ShellingSpecialAttack =
301
237
  | { DayCutin: DayCutin }
@@ -313,6 +249,8 @@ export type DayCutin =
313
249
  | "Zuiun"
314
250
  | "AirSea";
315
251
 
252
+ export type Role = "Main" | "Escort";
253
+
316
254
  export type GearCategory =
317
255
  | "Fighter"
318
256
  | "Bomber"
@@ -397,64 +335,30 @@ export interface ShellingSupportSimulatorParams {
397
335
  custom_mods: CustomModifiers;
398
336
  }
399
337
 
400
- export interface MasterData {
401
- gears: MasterGear[];
402
- gear_attrs: MasterAttrRule<GearAttr>[];
403
- ships: MasterShip[];
404
- ship_attrs: MasterAttrRule<ShipAttr>[];
405
- ibonuses: MasterIBonuses;
406
- equippable: MasterEquippable;
407
- formation: NestedFormationDef[];
408
- anti_air_cutin: AntiAirCutinDef[];
409
- day_cutin: DayCutinDef[];
410
- night_cutin: NightCutinDef[];
411
- }
338
+ export type ShellingAttackType = "Normal" | "Carrier";
412
339
 
413
- export interface MasterConfig {
414
- formation: NestedFormationDef[];
415
- anti_air_cutin: AntiAirCutinDef[];
416
- day_cutin: DayCutinDef[];
417
- night_cutin: NightCutinDef[];
340
+ export interface CompDayCutinRateInfo {
341
+ main: FleetDayCutinRateInfo;
342
+ escort: FleetDayCutinRateInfo | null;
418
343
  }
419
344
 
420
- export interface MasterAttrRule<T> {
421
- tag: T;
422
- name: string;
423
- expr: string;
345
+ export interface FleetDayCutinRateInfo {
346
+ fleet_los_mod: number | null;
347
+ ships: ShipDayCutinRateInfo[];
424
348
  }
425
349
 
426
- export interface MasterShip {
350
+ export interface ShipDayCutinRateInfo {
427
351
  ship_id: number;
428
- name: string;
429
- yomi: string;
430
- stype: number;
431
- ctype: number;
432
- sort_id?: number;
433
- max_hp: StatInterval;
434
- firepower: StatInterval;
435
- armor: StatInterval;
436
- torpedo: StatInterval;
437
- evasion: StatInterval;
438
- anti_air: StatInterval;
439
- asw: StatInterval;
440
- los: StatInterval;
441
- luck: StatInterval;
442
- torpedo_accuracy?: number;
443
- speed: number;
444
- range?: number;
445
- fuel?: number;
446
- ammo?: number;
447
- next_id?: number;
448
- next_level?: number;
449
- slotnum: number;
450
- slots: SlotSizeVec;
451
- stock: GearState[];
452
- speed_group?: SpeedGroup;
453
- useful?: boolean;
352
+ air_supremacy: DayCutinRateInfo;
353
+ air_superiority: DayCutinRateInfo;
354
+ }
355
+
356
+ export interface DayCutinRateInfo {
357
+ observation_term: number | null;
358
+ rates: [DayCutin | null, number | null][];
359
+ total_cutin_rate: number | null;
454
360
  }
455
361
 
456
- export type StatInterval = [number | null, number | null];
457
-
458
362
  export type ShipAttr =
459
363
  | "Unknown"
460
364
  | "Abyssal"
@@ -471,54 +375,34 @@ export type ShipAttr =
471
375
  | "BattleshipSummerPrincess"
472
376
  | "HeavyCruiserSummerPrincess";
473
377
 
474
- export type Formation = SingleFormation | CombinedFormation;
475
-
476
- export type CombinedFormation =
477
- | "Cruising1"
478
- | "Cruising2"
479
- | "Cruising3"
480
- | "Cruising4";
481
-
482
- export type SingleFormation =
483
- | "LineAhead"
484
- | "DoubleLine"
485
- | "Diamond"
486
- | "Echelon"
487
- | "LineAbreast"
488
- | "Vanguard";
489
-
490
- export type ShellingAttackType = "Normal" | "Carrier";
491
-
492
- export interface FleetCutinAnalysis {
493
- shelling: FleetCutinInfo[];
494
- night: FleetCutinInfo[];
495
- }
496
-
497
- export interface FleetCutinInfo {
498
- cutin: FleetCutin;
499
- formation: Formation;
500
- items: FleetCutinInfoItem[];
501
- }
502
-
503
- export interface FleetCutinInfoItem {
504
- ship_id: number;
505
- cutin: FleetCutin;
506
- fleet_cutin_mod: number;
507
- stats: AttackStats;
378
+ export interface MasterIBonuses {
379
+ shelling_power: MasterIBonusRule[];
380
+ carrier_shelling_power: MasterIBonusRule[];
381
+ shelling_accuracy: MasterIBonusRule[];
382
+ torpedo_power: MasterIBonusRule[];
383
+ torpedo_accuracy: MasterIBonusRule[];
384
+ torpedo_evasion: MasterIBonusRule[];
385
+ asw_power: MasterIBonusRule[];
386
+ asw_accuracy: MasterIBonusRule[];
387
+ night_power: MasterIBonusRule[];
388
+ night_accuracy: MasterIBonusRule[];
389
+ defense_power: MasterIBonusRule[];
390
+ contact_selection: MasterIBonusRule[];
391
+ fighter_power: MasterIBonusRule[];
392
+ ship_anti_air: MasterIBonusRule[];
393
+ fleet_anti_air: MasterIBonusRule[];
394
+ elos: MasterIBonusRule[];
508
395
  }
509
396
 
510
- export interface CompContactChanceInfo {
511
- single: AirstrikeContactChance[] | null;
512
- combined: AirstrikeContactChance[] | null;
397
+ export interface MasterIBonusRule {
398
+ expr: CompiledEvaler;
399
+ formula: CompiledEvaler;
513
400
  }
514
401
 
515
- export interface AirstrikeContactChance {
516
- air_state: AirState;
517
- trigger_rate: number;
518
- rank3: number;
519
- rank2: number;
520
- rank1: number;
521
- total: number;
402
+ export interface NightSituation {
403
+ night_contact_rank: ContactRank | null;
404
+ starshell: boolean;
405
+ searchlight: boolean;
522
406
  }
523
407
 
524
408
  export type GearAttr =
@@ -552,29 +436,23 @@ export type GearAttr =
552
436
  | "SemiNightPlane"
553
437
  | "HighAltitudeInterceptor";
554
438
 
555
- export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
556
-
557
- export interface MasterEquippable {
558
- equip_stype: EquipStype[];
559
- equip_exslot: number[];
560
- equip_ship: MstEquipShip[];
561
- equip_exslot_ship: MstEquipExslotShip[];
562
- }
439
+ export type Formation = SingleFormation | CombinedFormation;
563
440
 
564
- export interface MstEquipExslotShip {
565
- api_slotitem_id: number;
566
- api_ship_ids: number[];
567
- }
441
+ export type CombinedFormation =
442
+ | "Cruising1"
443
+ | "Cruising2"
444
+ | "Cruising3"
445
+ | "Cruising4";
568
446
 
569
- export interface MstEquipShip {
570
- api_ship_id: number;
571
- api_equip_type: number[];
572
- }
447
+ export type SingleFormation =
448
+ | "LineAhead"
449
+ | "DoubleLine"
450
+ | "Diamond"
451
+ | "Echelon"
452
+ | "LineAbreast"
453
+ | "Vanguard";
573
454
 
574
- export interface EquipStype {
575
- id: number;
576
- equip_type: number[];
577
- }
455
+ export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
578
456
 
579
457
  export interface AttackInfo<AttackType, Cutin> {
580
458
  attack_type: AttackType;
@@ -613,6 +491,20 @@ export interface ShipAntiAirInfo {
613
491
  anti_air_propellant_barrage_chance: number | null;
614
492
  }
615
493
 
494
+ export interface CompContactChanceInfo {
495
+ single: AirstrikeContactChance[] | null;
496
+ combined: AirstrikeContactChance[] | null;
497
+ }
498
+
499
+ export interface AirstrikeContactChance {
500
+ air_state: AirState;
501
+ trigger_rate: number;
502
+ rank3: number;
503
+ rank2: number;
504
+ rank1: number;
505
+ total: number;
506
+ }
507
+
616
508
  export type ShipStateMap = Record<ShipKey, ShipState>;
617
509
 
618
510
  export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
@@ -709,15 +601,31 @@ export interface GearState {
709
601
  stars?: number;
710
602
  }
711
603
 
712
- export type Side = "Player" | "Enemy";
604
+ export interface MasterEquippable {
605
+ equip_stype: EquipStype[];
606
+ equip_exslot: number[];
607
+ equip_ship: MstEquipShip[];
608
+ equip_exslot_ship: MstEquipExslotShip[];
609
+ }
713
610
 
714
- export type NightBattleAttackType =
715
- | { t: "NightAttack"; c: NightAttackType }
716
- | { t: "Asw"; c: AswAttackType };
611
+ export interface MstEquipExslotShip {
612
+ api_slotitem_id: number;
613
+ api_ship_ids: number[];
614
+ }
717
615
 
718
- export type DayBattleAttackType =
719
- | { t: "Shelling"; c: ShellingAttackType }
720
- | { t: "Asw"; c: AswAttackType };
616
+ export interface MstEquipShip {
617
+ api_ship_id: number;
618
+ api_equip_type: number[];
619
+ }
620
+
621
+ export interface EquipStype {
622
+ id: number;
623
+ equip_type: number[];
624
+ }
625
+
626
+ export type SlotSizeVec = (number | null)[];
627
+
628
+ export type Side = "Player" | "Enemy";
721
629
 
722
630
  export type NightAttackType = "Normal" | "ArkRoyal" | "Carrier";
723
631
 
@@ -742,6 +650,58 @@ export type NightCutin =
742
650
  | "Cvci1_18"
743
651
  | "Photobomber";
744
652
 
653
+ export interface BattleConfig {
654
+ formation: Record<Formation, NestedFormationDef>;
655
+ anti_air_cutin: Record<number, AntiAirCutinDef>;
656
+ day_cutin: Record<DayCutin, DayCutinDef>;
657
+ night_cutin: Record<NightCutin, NightCutinDef>;
658
+ }
659
+
660
+ export interface NightCutinDef {
661
+ tag: NightCutin;
662
+ hits: number;
663
+ type_factor: number | null;
664
+ power_mod: number | null;
665
+ accuracy_mod: number | null;
666
+ }
667
+
668
+ export interface DayCutinDef {
669
+ tag: DayCutin;
670
+ hits: number;
671
+ type_factor: number | null;
672
+ power_mod: number | null;
673
+ accuracy_mod: number | null;
674
+ }
675
+
676
+ export interface AntiAirCutinDef {
677
+ id: number;
678
+ type_factor: number | null;
679
+ multiplier: number | null;
680
+ guaranteed: number | null;
681
+ sequential: boolean | null;
682
+ }
683
+
684
+ export type NestedFormationDef =
685
+ | FormationDef
686
+ | { top_half: FormationDef; bottom_half: FormationDef };
687
+
688
+ export interface FormationDef {
689
+ tag: Formation;
690
+ protection_rate: number | null;
691
+ fleet_anti_air_mod: number;
692
+ shelling: FormationWarfareDef;
693
+ torpedo: FormationWarfareDef;
694
+ asw: FormationWarfareDef;
695
+ night: FormationWarfareDef;
696
+ shelling_support: FormationWarfareDef;
697
+ }
698
+
699
+ export interface FormationWarfareDef {
700
+ power_mod: number | null;
701
+ accuracy_mod: number | null;
702
+ evasion_mod: number | null;
703
+ }
704
+
745
705
  export interface MasterGear {
746
706
  gear_id: number;
747
707
  name: string;
@@ -782,6 +742,48 @@ export interface HitRateParams {
782
742
  hit_percentage_bonus: number;
783
743
  }
784
744
 
745
+ export type NightBattleAttackType =
746
+ | { t: "NightAttack"; c: NightAttackType }
747
+ | { t: "Asw"; c: AswAttackType };
748
+
749
+ export type DayBattleAttackType =
750
+ | { t: "Shelling"; c: ShellingAttackType }
751
+ | { t: "Asw"; c: AswAttackType };
752
+
753
+ export type GearTypeIdArray = [number, number, number, number, number];
754
+
755
+ export interface MasterShip {
756
+ ship_id: number;
757
+ name: string;
758
+ yomi: string;
759
+ stype: number;
760
+ ctype: number;
761
+ sort_id?: number;
762
+ max_hp: StatInterval;
763
+ firepower: StatInterval;
764
+ armor: StatInterval;
765
+ torpedo: StatInterval;
766
+ evasion: StatInterval;
767
+ anti_air: StatInterval;
768
+ asw: StatInterval;
769
+ los: StatInterval;
770
+ luck: StatInterval;
771
+ torpedo_accuracy?: number;
772
+ speed: number;
773
+ range?: number;
774
+ fuel?: number;
775
+ ammo?: number;
776
+ next_id?: number;
777
+ next_level?: number;
778
+ slotnum: number;
779
+ slots: SlotSizeVec;
780
+ stock: GearState[];
781
+ speed_group?: SpeedGroup;
782
+ useful?: boolean;
783
+ }
784
+
785
+ export type StatInterval = [number | null, number | null];
786
+
785
787
  export interface WarfareInfo {
786
788
  day: AttackInfo<DayBattleAttackType, DayCutin | null> | null;
787
789
  closing_torpedo: AttackInfo<null, null> | null;
@@ -808,10 +810,6 @@ export interface WarfareAnalyzerShipEnvironment {
808
810
  custom_mods: CustomModifiers;
809
811
  }
810
812
 
811
- export type GearTypeIdArray = [number, number, number, number, number];
812
-
813
- export type SlotSizeVec = (number | null)[];
814
-
815
813
  export type SpecialEnemyType =
816
814
  | "None"
817
815
  | "SoftSkinned"
@@ -837,6 +835,8 @@ export type FleetCutin =
837
835
 
838
836
  export type ContactRank = "Rank1" | "Rank2" | "Rank3";
839
837
 
838
+ export type AirWaveType = "Jet" | "LandBase" | "Carrier";
839
+
840
840
  export interface SimulatorResult {
841
841
  items: SimulatorResultItem[];
842
842
  sunk_vec: [number, number, number][];
@@ -849,6 +849,8 @@ export interface SimulatorResultItem {
849
849
  damage_state_map: Record<DamageState, number>;
850
850
  }
851
851
 
852
+ export type AswAttackType = "DepthCharge" | "Aircraft";
853
+
852
854
  export interface FleetNightCutinRateInfo {
853
855
  night_contact_chance: NightContactChance;
854
856
  ships: ShipNightCutinRateInfo[];
@@ -1318,6 +1320,14 @@ export class Gear {
1318
1320
  * @returns {number}
1319
1321
  */
1320
1322
  night_contact_rate(level: number): number;
1323
+ /**
1324
+ * @returns {boolean}
1325
+ */
1326
+ is_night_attacker(): boolean;
1327
+ /**
1328
+ * @returns {boolean}
1329
+ */
1330
+ is_night_fighter(): boolean;
1321
1331
  /**
1322
1332
  * @returns {boolean}
1323
1333
  */