fleethub-core 1.4.2 → 1.6.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.
@@ -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;
@@ -176,6 +136,55 @@ export interface WarfareShipEnvironment {
176
136
  fleet_los_mod: number | null;
177
137
  }
178
138
 
139
+ export type OrgType =
140
+ | "Single"
141
+ | "CarrierTaskForce"
142
+ | "SurfaceTaskForce"
143
+ | "TransportEscort"
144
+ | "EnemySingle"
145
+ | "EnemyCombined";
146
+
147
+ export interface CompMeta {
148
+ fleets: Record<FleetType, FleetMeta>;
149
+ }
150
+
151
+ export interface FleetMeta {
152
+ id: string;
153
+ len: number;
154
+ ships: [string, ShipMeta | null][];
155
+ }
156
+
157
+ export interface ShipMeta {
158
+ id: string;
159
+ ship_id: number;
160
+ }
161
+
162
+ export interface MasterData {
163
+ gears: MasterGear[];
164
+ gear_attrs: MasterAttrRule<GearAttr>[];
165
+ ships: MasterShip[];
166
+ ship_attrs: MasterAttrRule<ShipAttr>[];
167
+ ibonuses: MasterIBonuses;
168
+ equippable: MasterEquippable;
169
+ formation: NestedFormationDef[];
170
+ anti_air_cutin: AntiAirCutinDef[];
171
+ day_cutin: DayCutinDef[];
172
+ night_cutin: NightCutinDef[];
173
+ }
174
+
175
+ export interface MasterConfig {
176
+ formation: NestedFormationDef[];
177
+ anti_air_cutin: AntiAirCutinDef[];
178
+ day_cutin: DayCutinDef[];
179
+ night_cutin: NightCutinDef[];
180
+ }
181
+
182
+ export interface MasterAttrRule<T> {
183
+ tag: T;
184
+ name: string;
185
+ expr: string;
186
+ }
187
+
179
188
  export interface AttackPower {
180
189
  precap: number;
181
190
  is_capped: boolean;
@@ -223,80 +232,6 @@ export interface AttackPowerModifier {
223
232
 
224
233
  export type NumMap<K, V> = Partial<Record<K, V>>;
225
234
 
226
- export type Role = "Main" | "Escort";
227
-
228
- export interface CompMeta {
229
- fleets: Record<FleetType, FleetMeta>;
230
- }
231
-
232
- export interface FleetMeta {
233
- id: string;
234
- len: number;
235
- ships: [string, ShipMeta | null][];
236
- }
237
-
238
- export interface ShipMeta {
239
- id: string;
240
- ship_id: number;
241
- }
242
-
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[];
251
- }
252
-
253
- export interface ShipDayCutinRateInfo {
254
- ship_id: number;
255
- air_supremacy: DayCutinRateInfo;
256
- air_superiority: DayCutinRateInfo;
257
- }
258
-
259
- export interface DayCutinRateInfo {
260
- observation_term: number | null;
261
- rates: [DayCutin | null, number | null][];
262
- total_cutin_rate: number | null;
263
- }
264
-
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";
299
-
300
235
  export type ShellingSpecialAttack =
301
236
  | { DayCutin: DayCutin }
302
237
  | { FleetCutin: FleetCutin };
@@ -313,6 +248,8 @@ export type DayCutin =
313
248
  | "Zuiun"
314
249
  | "AirSea";
315
250
 
251
+ export type Role = "Main" | "Escort";
252
+
316
253
  export type GearCategory =
317
254
  | "Fighter"
318
255
  | "Bomber"
@@ -397,63 +334,29 @@ export interface ShellingSupportSimulatorParams {
397
334
  custom_mods: CustomModifiers;
398
335
  }
399
336
 
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
- }
412
-
413
- export interface MasterConfig {
414
- formation: NestedFormationDef[];
415
- anti_air_cutin: AntiAirCutinDef[];
416
- day_cutin: DayCutinDef[];
417
- night_cutin: NightCutinDef[];
418
- }
337
+ export type ShellingAttackType = "Normal" | "Carrier";
419
338
 
420
- export interface MasterAttrRule<T> {
421
- tag: T;
422
- name: string;
423
- expr: string;
339
+ export interface CompDayCutinRateInfo {
340
+ main: FleetDayCutinRateInfo;
341
+ escort: FleetDayCutinRateInfo | null;
424
342
  }
425
343
 
426
- export interface MasterShip {
427
- 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;
344
+ export interface FleetDayCutinRateInfo {
345
+ fleet_los_mod: number | null;
346
+ ships: ShipDayCutinRateInfo[];
454
347
  }
455
348
 
456
- export type StatInterval = [number | null, number | null];
349
+ export interface ShipDayCutinRateInfo {
350
+ ship_id: number;
351
+ air_supremacy: DayCutinRateInfo;
352
+ air_superiority: DayCutinRateInfo;
353
+ }
354
+
355
+ export interface DayCutinRateInfo {
356
+ observation_term: number | null;
357
+ rates: [DayCutin | null, number | null][];
358
+ total_cutin_rate: number | null;
359
+ }
457
360
 
458
361
  export type ShipAttr =
459
362
  | "Unknown"
@@ -471,54 +374,34 @@ export type ShipAttr =
471
374
  | "BattleshipSummerPrincess"
472
375
  | "HeavyCruiserSummerPrincess";
473
376
 
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;
377
+ export interface MasterIBonuses {
378
+ shelling_power: MasterIBonusRule[];
379
+ carrier_shelling_power: MasterIBonusRule[];
380
+ shelling_accuracy: MasterIBonusRule[];
381
+ torpedo_power: MasterIBonusRule[];
382
+ torpedo_accuracy: MasterIBonusRule[];
383
+ torpedo_evasion: MasterIBonusRule[];
384
+ asw_power: MasterIBonusRule[];
385
+ asw_accuracy: MasterIBonusRule[];
386
+ night_power: MasterIBonusRule[];
387
+ night_accuracy: MasterIBonusRule[];
388
+ defense_power: MasterIBonusRule[];
389
+ contact_selection: MasterIBonusRule[];
390
+ fighter_power: MasterIBonusRule[];
391
+ ship_anti_air: MasterIBonusRule[];
392
+ fleet_anti_air: MasterIBonusRule[];
393
+ elos: MasterIBonusRule[];
508
394
  }
509
395
 
510
- export interface CompContactChanceInfo {
511
- single: AirstrikeContactChance[] | null;
512
- combined: AirstrikeContactChance[] | null;
396
+ export interface MasterIBonusRule {
397
+ expr: CompiledEvaler;
398
+ formula: CompiledEvaler;
513
399
  }
514
400
 
515
- export interface AirstrikeContactChance {
516
- air_state: AirState;
517
- trigger_rate: number;
518
- rank3: number;
519
- rank2: number;
520
- rank1: number;
521
- total: number;
401
+ export interface NightSituation {
402
+ night_contact_rank: ContactRank | null;
403
+ starshell: boolean;
404
+ searchlight: boolean;
522
405
  }
523
406
 
524
407
  export type GearAttr =
@@ -552,29 +435,23 @@ export type GearAttr =
552
435
  | "SemiNightPlane"
553
436
  | "HighAltitudeInterceptor";
554
437
 
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
- }
438
+ export type Formation = SingleFormation | CombinedFormation;
563
439
 
564
- export interface MstEquipExslotShip {
565
- api_slotitem_id: number;
566
- api_ship_ids: number[];
567
- }
440
+ export type CombinedFormation =
441
+ | "Cruising1"
442
+ | "Cruising2"
443
+ | "Cruising3"
444
+ | "Cruising4";
568
445
 
569
- export interface MstEquipShip {
570
- api_ship_id: number;
571
- api_equip_type: number[];
572
- }
446
+ export type SingleFormation =
447
+ | "LineAhead"
448
+ | "DoubleLine"
449
+ | "Diamond"
450
+ | "Echelon"
451
+ | "LineAbreast"
452
+ | "Vanguard";
573
453
 
574
- export interface EquipStype {
575
- id: number;
576
- equip_type: number[];
577
- }
454
+ export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
578
455
 
579
456
  export interface AttackInfo<AttackType, Cutin> {
580
457
  attack_type: AttackType;
@@ -613,6 +490,20 @@ export interface ShipAntiAirInfo {
613
490
  anti_air_propellant_barrage_chance: number | null;
614
491
  }
615
492
 
493
+ export interface CompContactChanceInfo {
494
+ single: AirstrikeContactChance[] | null;
495
+ combined: AirstrikeContactChance[] | null;
496
+ }
497
+
498
+ export interface AirstrikeContactChance {
499
+ air_state: AirState;
500
+ trigger_rate: number;
501
+ rank3: number;
502
+ rank2: number;
503
+ rank1: number;
504
+ total: number;
505
+ }
506
+
616
507
  export type ShipStateMap = Record<ShipKey, ShipState>;
617
508
 
618
509
  export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
@@ -709,7 +600,27 @@ export interface GearState {
709
600
  stars?: number;
710
601
  }
711
602
 
712
- export type Side = "Player" | "Enemy";
603
+ export interface MasterEquippable {
604
+ equip_stype: EquipStype[];
605
+ equip_exslot: number[];
606
+ equip_ship: MstEquipShip[];
607
+ equip_exslot_ship: MstEquipExslotShip[];
608
+ }
609
+
610
+ export interface MstEquipExslotShip {
611
+ api_slotitem_id: number;
612
+ api_ship_ids: number[];
613
+ }
614
+
615
+ export interface MstEquipShip {
616
+ api_ship_id: number;
617
+ api_equip_type: number[];
618
+ }
619
+
620
+ export interface EquipStype {
621
+ id: number;
622
+ equip_type: number[];
623
+ }
713
624
 
714
625
  export type NightBattleAttackType =
715
626
  | { t: "NightAttack"; c: NightAttackType }
@@ -719,6 +630,10 @@ export type DayBattleAttackType =
719
630
  | { t: "Shelling"; c: ShellingAttackType }
720
631
  | { t: "Asw"; c: AswAttackType };
721
632
 
633
+ export type SlotSizeVec = (number | null)[];
634
+
635
+ export type Side = "Player" | "Enemy";
636
+
722
637
  export type NightAttackType = "Normal" | "ArkRoyal" | "Carrier";
723
638
 
724
639
  export type NightSpecialAttack =
@@ -742,6 +657,58 @@ export type NightCutin =
742
657
  | "Cvci1_18"
743
658
  | "Photobomber";
744
659
 
660
+ export interface BattleConfig {
661
+ formation: Record<Formation, NestedFormationDef>;
662
+ anti_air_cutin: Record<number, AntiAirCutinDef>;
663
+ day_cutin: Record<DayCutin, DayCutinDef>;
664
+ night_cutin: Record<NightCutin, NightCutinDef>;
665
+ }
666
+
667
+ export interface NightCutinDef {
668
+ tag: NightCutin;
669
+ hits: number;
670
+ type_factor: number | null;
671
+ power_mod: number | null;
672
+ accuracy_mod: number | null;
673
+ }
674
+
675
+ export interface DayCutinDef {
676
+ tag: DayCutin;
677
+ hits: number;
678
+ type_factor: number | null;
679
+ power_mod: number | null;
680
+ accuracy_mod: number | null;
681
+ }
682
+
683
+ export interface AntiAirCutinDef {
684
+ id: number;
685
+ type_factor: number | null;
686
+ multiplier: number | null;
687
+ guaranteed: number | null;
688
+ sequential: boolean | null;
689
+ }
690
+
691
+ export type NestedFormationDef =
692
+ | FormationDef
693
+ | { top_half: FormationDef; bottom_half: FormationDef };
694
+
695
+ export interface FormationDef {
696
+ tag: Formation;
697
+ protection_rate: number | null;
698
+ fleet_anti_air_mod: number;
699
+ shelling: FormationWarfareDef;
700
+ torpedo: FormationWarfareDef;
701
+ asw: FormationWarfareDef;
702
+ night: FormationWarfareDef;
703
+ shelling_support: FormationWarfareDef;
704
+ }
705
+
706
+ export interface FormationWarfareDef {
707
+ power_mod: number | null;
708
+ accuracy_mod: number | null;
709
+ evasion_mod: number | null;
710
+ }
711
+
745
712
  export interface MasterGear {
746
713
  gear_id: number;
747
714
  name: string;
@@ -782,6 +749,40 @@ export interface HitRateParams {
782
749
  hit_percentage_bonus: number;
783
750
  }
784
751
 
752
+ export type GearTypeIdArray = [number, number, number, number, number];
753
+
754
+ export interface MasterShip {
755
+ ship_id: number;
756
+ name: string;
757
+ yomi: string;
758
+ stype: number;
759
+ ctype: number;
760
+ sort_id?: number;
761
+ max_hp: StatInterval;
762
+ firepower: StatInterval;
763
+ armor: StatInterval;
764
+ torpedo: StatInterval;
765
+ evasion: StatInterval;
766
+ anti_air: StatInterval;
767
+ asw: StatInterval;
768
+ los: StatInterval;
769
+ luck: StatInterval;
770
+ torpedo_accuracy?: number;
771
+ speed: number;
772
+ range?: number;
773
+ fuel?: number;
774
+ ammo?: number;
775
+ next_id?: number;
776
+ next_level?: number;
777
+ slotnum: number;
778
+ slots: SlotSizeVec;
779
+ stock: GearState[];
780
+ speed_group?: SpeedGroup;
781
+ useful?: boolean;
782
+ }
783
+
784
+ export type StatInterval = [number | null, number | null];
785
+
785
786
  export interface WarfareInfo {
786
787
  day: AttackInfo<DayBattleAttackType, DayCutin | null> | null;
787
788
  closing_torpedo: AttackInfo<null, null> | null;
@@ -808,10 +809,6 @@ export interface WarfareAnalyzerShipEnvironment {
808
809
  custom_mods: CustomModifiers;
809
810
  }
810
811
 
811
- export type GearTypeIdArray = [number, number, number, number, number];
812
-
813
- export type SlotSizeVec = (number | null)[];
814
-
815
812
  export type SpecialEnemyType =
816
813
  | "None"
817
814
  | "SoftSkinned"
@@ -837,6 +834,8 @@ export type FleetCutin =
837
834
 
838
835
  export type ContactRank = "Rank1" | "Rank2" | "Rank3";
839
836
 
837
+ export type AirWaveType = "Jet" | "LandBase" | "Carrier";
838
+
840
839
  export interface SimulatorResult {
841
840
  items: SimulatorResultItem[];
842
841
  sunk_vec: [number, number, number][];
@@ -849,6 +848,8 @@ export interface SimulatorResultItem {
849
848
  damage_state_map: Record<DamageState, number>;
850
849
  }
851
850
 
851
+ export type AswAttackType = "DepthCharge" | "Aircraft";
852
+
852
853
  export interface FleetNightCutinRateInfo {
853
854
  night_contact_chance: NightContactChance;
854
855
  ships: ShipNightCutinRateInfo[];
@@ -1318,6 +1319,14 @@ export class Gear {
1318
1319
  * @returns {number}
1319
1320
  */
1320
1321
  night_contact_rate(level: number): number;
1322
+ /**
1323
+ * @returns {boolean}
1324
+ */
1325
+ is_night_attacker(): boolean;
1326
+ /**
1327
+ * @returns {boolean}
1328
+ */
1329
+ is_night_fighter(): boolean;
1321
1330
  /**
1322
1331
  * @returns {boolean}
1323
1332
  */