fleethub-core 0.4.4 → 0.7.0

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.
package/bindings.d.ts CHANGED
@@ -305,6 +305,8 @@ export type AirState =
305
305
  | "AirDenial"
306
306
  | "AirIncapability";
307
307
 
308
+ export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
309
+
308
310
  export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
309
311
 
310
312
  export type Formation = SingleFormation | CombinedFormation;
@@ -490,6 +492,7 @@ export interface OrgState {
490
492
  a3?: AirSquadronState;
491
493
  hq_level?: number;
492
494
  org_type?: OrgType;
495
+ sortie?: string;
493
496
  route_sup?: string;
494
497
  boss_sup?: string;
495
498
  }
@@ -687,7 +690,7 @@ export interface AttackPower {
687
690
  export interface HitRateParams {
688
691
  accuracy_term: number;
689
692
  evasion_term: number;
690
- morale_mod: number;
693
+ target_morale_mod: number;
691
694
  critical_rate_constant: number;
692
695
  critical_percentage_bonus: number;
693
696
  hit_percentage_bonus: number;
@@ -753,7 +756,7 @@ export interface FleetDayCutinRateInfo {
753
756
  ships: Array<ShipDayCutinRateInfo>;
754
757
  }
755
758
 
756
- export interface OrgDayCutinRateInfo {
759
+ export interface CompDayCutinRateInfo {
757
760
  main: FleetDayCutinRateInfo;
758
761
  escort: FleetDayCutinRateInfo | null;
759
762
  }
@@ -768,7 +771,7 @@ export interface ShipAntiAirInfo {
768
771
  anti_air_propellant_barrage_chance: number | null;
769
772
  }
770
773
 
771
- export interface OrgAntiAirInfo {
774
+ export interface CompAntiAirInfo {
772
775
  fleet_anti_air: number;
773
776
  ships: Array<ShipAntiAirInfo>;
774
777
  anti_air_cutin_chance: Array<[number, number]>;
@@ -806,15 +809,11 @@ export interface AirstrikeContactChance {
806
809
  total: number;
807
810
  }
808
811
 
809
- export interface OrgContactChanceInfo {
812
+ export interface CompContactChanceInfo {
810
813
  single: Array<AirstrikeContactChance> | null;
811
814
  combined: Array<AirstrikeContactChance> | null;
812
815
  }
813
816
 
814
- export interface OrgAirstrikeInfo {
815
- contact_chance: OrgContactChanceInfo;
816
- }
817
-
818
817
  export interface AttackStats {
819
818
  attack_power: AttackPower | null;
820
819
  attack_power_params: AttackPowerParams | null;
@@ -911,3 +910,5 @@ export interface SimulatorResult {
911
910
  items: Array<SimulatorResultItem>;
912
911
  sunk_vec: Array<[number, number, number]>;
913
912
  }
913
+
914
+ export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
package/node/fh_core.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  /**
4
+ */
5
+ export function set_panic_hook(): void;
6
+ /**
4
7
  * @param {Gear} gear
5
8
  * @returns {boolean}
6
9
  */
7
10
  export function air_squadron_can_equip(gear: Gear): boolean;
8
11
  /**
9
- */
10
- export function set_panic_hook(): void;
11
- /**
12
12
  * @param {bindings.OrgType} org_type
13
13
  * @returns {boolean}
14
14
  */
@@ -71,13 +71,11 @@ export class AirSquadron {
71
71
  */
72
72
  radius(): number;
73
73
  /**
74
- * @returns {string}
75
74
  */
76
75
  id: string;
77
76
  /**
78
- * @returns {bindings.AirSquadronMode}
79
77
  */
80
- readonly mode: bindings.AirSquadronMode;
78
+ mode: bindings.AirSquadronMode;
81
79
  /**
82
80
  * @returns {string}
83
81
  */
@@ -85,9 +83,57 @@ export class AirSquadron {
85
83
  }
86
84
  /**
87
85
  */
86
+ export class Analyzer {
87
+ free(): void;
88
+ /**
89
+ * @param {Comp} comp
90
+ * @param {bindings.Formation} formation
91
+ * @param {number | undefined} adjusted_anti_air_resist
92
+ * @param {number | undefined} fleet_anti_air_resist
93
+ * @param {number | undefined} aaci
94
+ * @returns {bindings.CompAntiAirInfo}
95
+ */
96
+ analyze_anti_air(comp: Comp, formation: bindings.Formation, adjusted_anti_air_resist?: number, fleet_anti_air_resist?: number, aaci?: number): bindings.CompAntiAirInfo;
97
+ /**
98
+ * @param {Comp} comp
99
+ * @returns {bindings.CompDayCutinRateInfo}
100
+ */
101
+ analyze_day_cutin(comp: Comp): bindings.CompDayCutinRateInfo;
102
+ /**
103
+ * @param {Comp} comp
104
+ * @param {bindings.NightSituation} attacker_situation
105
+ * @param {bindings.NightSituation} target_situation
106
+ * @returns {bindings.FleetNightCutinRateInfo}
107
+ */
108
+ analyze_night_cutin(comp: Comp, attacker_situation: bindings.NightSituation, target_situation: bindings.NightSituation): bindings.FleetNightCutinRateInfo;
109
+ /**
110
+ * @param {Comp} comp
111
+ * @returns {bindings.CompContactChanceInfo}
112
+ */
113
+ analyze_contact_chance(comp: Comp): bindings.CompContactChanceInfo;
114
+ /**
115
+ * @param {bindings.WarfareAnalyzerContext} params
116
+ * @param {Ship} attacker
117
+ * @param {Ship} target
118
+ * @returns {bindings.WarfareInfo}
119
+ */
120
+ analyze_warfare(params: bindings.WarfareAnalyzerContext, attacker: Ship, target: Ship): bindings.WarfareInfo;
121
+ /**
122
+ * @param {Comp} comp
123
+ * @param {bindings.Engagement} engagement
124
+ * @returns {bindings.FleetCutinAnalysis}
125
+ */
126
+ analyze_fleet_cutin(comp: Comp, engagement: bindings.Engagement): bindings.FleetCutinAnalysis;
127
+ }
128
+ /**
129
+ */
88
130
  export class Comp {
89
131
  free(): void;
90
132
  /**
133
+ * @returns {bindings.Side}
134
+ */
135
+ side(): bindings.Side;
136
+ /**
91
137
  * @returns {boolean}
92
138
  */
93
139
  is_combined(): boolean;
@@ -122,23 +168,49 @@ export class Comp {
122
168
  */
123
169
  get_ship_by_eid_with_clone(id: string): Ship | undefined;
124
170
  /**
125
- * @returns {Fleet | undefined}
171
+ * @returns {bindings.Formation}
172
+ */
173
+ default_formation(): bindings.Formation;
174
+ /**
175
+ * 艦隊対空値
176
+ * @param {number} formation_mod
177
+ * @returns {number}
178
+ */
179
+ fleet_anti_air(formation_mod: number): number;
180
+ /**
181
+ * 制空値
182
+ * @param {boolean} anti_combined
183
+ * @param {boolean} anti_lbas
184
+ * @returns {number | undefined}
185
+ */
186
+ fighter_power(anti_combined: boolean, anti_lbas: boolean): number | undefined;
187
+ /**
188
+ * マップ索敵
189
+ * @param {number} node_divaricated_factor
190
+ * @returns {number | undefined}
191
+ */
192
+ elos(node_divaricated_factor: number): number | undefined;
193
+ /**
194
+ * 輸送物資量(TP)
195
+ * @returns {number}
196
+ */
197
+ transport_point(): number;
198
+ /**
126
199
  */
127
200
  boss_sup?: Fleet;
128
201
  /**
129
- * @returns {Fleet | undefined}
130
202
  */
131
203
  escort?: Fleet;
132
204
  /**
133
- * @returns {Fleet}
205
+ */
206
+ hq_level: number;
207
+ /**
134
208
  */
135
209
  main: Fleet;
136
210
  /**
137
- * @returns {bindings.OrgType}
138
211
  */
139
212
  org_type: bindings.OrgType;
140
213
  /**
141
- * @returns {Fleet | undefined}
142
214
  */
143
215
  route_sup?: Fleet;
144
216
  }
@@ -182,56 +254,19 @@ export class FhCore {
182
254
  */
183
255
  create_ship_by_id(ship_id: number): Ship | undefined;
184
256
  /**
185
- * @returns {Ship}
186
- */
187
- create_default_ship(): Ship;
188
- /**
189
- * @returns {Uint16Array}
190
- */
191
- get_gear_ids(): Uint16Array;
192
- /**
193
- * @param {Org} org
194
- * @param {string} key
195
- * @param {bindings.Formation} formation
196
- * @param {number | undefined} adjusted_anti_air_resist
197
- * @param {number | undefined} fleet_anti_air_resist
198
- * @returns {any}
199
- */
200
- analyze_anti_air(org: Org, key: string, formation: bindings.Formation, adjusted_anti_air_resist?: number, fleet_anti_air_resist?: number): any;
201
- /**
202
- * @param {Org} org
203
- * @param {string} key
204
- * @returns {any}
205
- */
206
- analyze_day_cutin(org: Org, key: string): any;
207
- /**
208
- * @param {Org} org
209
- * @param {string} key
210
- * @param {bindings.NightSituation} attacker_situation
211
- * @param {bindings.NightSituation} defender_situation
212
- * @returns {any}
213
- */
214
- analyze_night_cutin(org: Org, key: string, attacker_situation: bindings.NightSituation, defender_situation: bindings.NightSituation): any;
215
- /**
216
- * @param {Org} org
217
- * @param {string} key
218
- * @returns {any}
257
+ * @param {Uint16Array} main
258
+ * @param {Uint16Array | undefined} escort
259
+ * @returns {Comp}
219
260
  */
220
- analyze_contact_chance(org: Org, key: string): any;
261
+ create_comp_by_map_enemy(main: Uint16Array, escort?: Uint16Array): Comp;
221
262
  /**
222
- * @param {bindings.WarfareAnalyzerContext} params
223
- * @param {Ship} attacker
224
- * @param {Ship} target
225
- * @returns {bindings.WarfareInfo}
263
+ * @returns {Ship}
226
264
  */
227
- analyze_warfare(params: bindings.WarfareAnalyzerContext, attacker: Ship, target: Ship): bindings.WarfareInfo;
265
+ create_default_ship(): Ship;
228
266
  /**
229
- * @param {Org} org
230
- * @param {string} key
231
- * @param {bindings.Engagement} engagement
232
- * @returns {bindings.FleetCutinAnalysis}
267
+ * @returns {Analyzer}
233
268
  */
234
- analyze_fleet_cutin(org: Org, key: string, engagement: bindings.Engagement): bindings.FleetCutinAnalysis;
269
+ create_analyzer(): Analyzer;
235
270
  /**
236
271
  * @param {Comp} player
237
272
  * @param {Comp} enemy
@@ -329,13 +364,11 @@ export class Fleet {
329
364
  */
330
365
  readonly fleet_los_mod: number | undefined;
331
366
  /**
332
- * @returns {string}
333
367
  */
334
368
  id: string;
335
369
  /**
336
- * @returns {number}
337
370
  */
338
- readonly len: number;
371
+ len: number;
339
372
  /**
340
373
  * @returns {string}
341
374
  */
@@ -402,10 +435,10 @@ export class Gear {
402
435
  */
403
436
  is_contact_selection_plane(): boolean;
404
437
  /**
405
- * @param {number} air_state_modifier
438
+ * @param {bindings.AirStateRank} rank
406
439
  * @returns {number}
407
440
  */
408
- contact_selection_rate(air_state_modifier: number): number;
441
+ contact_selection_rate(rank: bindings.AirStateRank): number;
409
442
  /**
410
443
  * @param {number} level
411
444
  * @returns {number}
@@ -427,6 +460,10 @@ export class Gear {
427
460
  elos(): number;
428
461
  /**
429
462
  * @returns {boolean}
463
+ */
464
+ is_abyssal(): boolean;
465
+ /**
466
+ * @returns {boolean}
430
467
  */
431
468
  is_abyssal_cuttlefish_torpedo(): boolean;
432
469
  /**
@@ -438,69 +475,55 @@ export class Gear {
438
475
  */
439
476
  expedition_bonus(): number;
440
477
  /**
441
- * @returns {number}
442
478
  */
443
- readonly accuracy: number;
479
+ accuracy: number;
444
480
  /**
445
481
  * @returns {number}
446
482
  */
447
483
  readonly ace: number;
448
484
  /**
449
- * @returns {number}
450
485
  */
451
- readonly adjusted_anti_air_resistance: number;
486
+ adjusted_anti_air_resistance: number;
452
487
  /**
453
- * @returns {number}
454
488
  */
455
- readonly anti_air: number;
489
+ anti_air: number;
456
490
  /**
457
491
  * @returns {number}
458
492
  */
459
493
  readonly anti_bomber: number;
460
494
  /**
461
- * @returns {number}
462
495
  */
463
- readonly armor: number;
496
+ armor: number;
464
497
  /**
465
- * @returns {number}
466
498
  */
467
- readonly asw: number;
499
+ asw: number;
468
500
  /**
469
- * @returns {number}
470
501
  */
471
- readonly bombing: number;
502
+ bombing: number;
472
503
  /**
473
- * @returns {number}
474
504
  */
475
- readonly cost: number;
505
+ cost: number;
476
506
  /**
477
- * @returns {number}
478
507
  */
479
- readonly default_exp: number;
508
+ default_exp: number;
480
509
  /**
481
- * @returns {number}
482
510
  */
483
- readonly evasion: number;
511
+ evasion: number;
484
512
  /**
485
- * @returns {number}
486
513
  */
487
- readonly exp: number;
514
+ exp: number;
488
515
  /**
489
- * @returns {number}
490
516
  */
491
- readonly firepower: number;
517
+ firepower: number;
492
518
  /**
493
- * @returns {number}
494
519
  */
495
- readonly fleet_anti_air_resistance: number;
520
+ fleet_anti_air_resistance: number;
496
521
  /**
497
- * @returns {number}
498
522
  */
499
- readonly gear_id: number;
523
+ gear_id: number;
500
524
  /**
501
- * @returns {bindings.GearType}
502
525
  */
503
- readonly gear_type: bindings.GearType;
526
+ gear_type: bindings.GearType;
504
527
  /**
505
528
  * @returns {number}
506
529
  */
@@ -510,57 +533,46 @@ export class Gear {
510
533
  */
511
534
  readonly icon_id: number;
512
535
  /**
513
- * @returns {string}
514
536
  */
515
537
  id: string;
516
538
  /**
517
- * @returns {boolean}
518
539
  */
519
- readonly improvable: boolean;
540
+ improvable: boolean;
520
541
  /**
521
542
  * @returns {number}
522
543
  */
523
544
  readonly interception: number;
524
545
  /**
525
- * @returns {number}
526
546
  */
527
- readonly los: number;
547
+ los: number;
528
548
  /**
529
- * @returns {number}
530
549
  */
531
- readonly luck: number;
550
+ luck: number;
532
551
  /**
533
- * @returns {number}
534
552
  */
535
- readonly max_hp: number;
553
+ max_hp: number;
536
554
  /**
537
- * @returns {string}
538
555
  */
539
556
  name: string;
540
557
  /**
541
- * @returns {number}
542
558
  */
543
- readonly radius: number;
559
+ radius: number;
544
560
  /**
545
- * @returns {number}
546
561
  */
547
- readonly range: number;
562
+ range: number;
548
563
  /**
549
564
  * @returns {number}
550
565
  */
551
566
  readonly special_type_id: number;
552
567
  /**
553
- * @returns {number}
554
568
  */
555
- readonly speed: number;
569
+ speed: number;
556
570
  /**
557
- * @returns {number}
558
571
  */
559
- readonly stars: number;
572
+ stars: number;
560
573
  /**
561
- * @returns {number}
562
574
  */
563
- readonly torpedo: number;
575
+ torpedo: number;
564
576
  /**
565
577
  * @returns {any}
566
578
  */
@@ -575,67 +587,51 @@ export class Gear {
575
587
  export class IBonuses {
576
588
  free(): void;
577
589
  /**
578
- * @returns {number}
579
590
  */
580
591
  adjusted_anti_air: number;
581
592
  /**
582
- * @returns {number}
583
593
  */
584
594
  asw_accuracy: number;
585
595
  /**
586
- * @returns {number}
587
596
  */
588
597
  asw_power: number;
589
598
  /**
590
- * @returns {number}
591
599
  */
592
600
  carrier_shelling_power: number;
593
601
  /**
594
- * @returns {number}
595
602
  */
596
603
  contact_selection: number;
597
604
  /**
598
- * @returns {number}
599
605
  */
600
606
  defense_power: number;
601
607
  /**
602
- * @returns {number}
603
608
  */
604
609
  elos: number;
605
610
  /**
606
- * @returns {number}
607
611
  */
608
612
  fighter_power: number;
609
613
  /**
610
- * @returns {number}
611
614
  */
612
615
  fleet_anti_air: number;
613
616
  /**
614
- * @returns {number}
615
617
  */
616
618
  night_accuracy: number;
617
619
  /**
618
- * @returns {number}
619
620
  */
620
621
  night_power: number;
621
622
  /**
622
- * @returns {number}
623
623
  */
624
624
  shelling_accuracy: number;
625
625
  /**
626
- * @returns {number}
627
626
  */
628
627
  shelling_power: number;
629
628
  /**
630
- * @returns {number}
631
629
  */
632
630
  torpedo_accuracy: number;
633
631
  /**
634
- * @returns {number}
635
632
  */
636
633
  torpedo_evasion: number;
637
634
  /**
638
- * @returns {number}
639
635
  */
640
636
  torpedo_power: number;
641
637
  }
@@ -660,16 +656,6 @@ export class Org {
660
656
  air_squadron_ids(): (string)[];
661
657
  /**
662
658
  * @param {bindings.Role} role
663
- * @returns {(string)[]}
664
- */
665
- ship_keys(role: bindings.Role): (string)[];
666
- /**
667
- * @param {bindings.Role} role
668
- * @returns {(string)[] | undefined}
669
- */
670
- sortie_ship_keys(role: bindings.Role): (string)[] | undefined;
671
- /**
672
- * @param {bindings.Role} role
673
659
  * @returns {number | undefined}
674
660
  */
675
661
  fleet_los_mod(role: bindings.Role): number | undefined;
@@ -703,6 +689,10 @@ export class Org {
703
689
  */
704
690
  get_fleet_id_by_role(role: bindings.Role): string;
705
691
  /**
692
+ * @returns {Comp}
693
+ */
694
+ create_comp(): Comp;
695
+ /**
706
696
  * @param {string} key
707
697
  * @returns {Comp}
708
698
  */
@@ -737,29 +727,6 @@ export class Org {
737
727
  */
738
728
  is_combined(): boolean;
739
729
  /**
740
- * @returns {bindings.Formation}
741
- */
742
- default_formation(): bindings.Formation;
743
- /**
744
- * 艦隊対空値
745
- * @param {number} formation_mod
746
- * @returns {number}
747
- */
748
- fleet_anti_air(formation_mod: number): number;
749
- /**
750
- * 制空値
751
- * @param {boolean} anti_combined
752
- * @param {boolean} anti_lbas
753
- * @returns {number | undefined}
754
- */
755
- fighter_power(anti_combined: boolean, anti_lbas: boolean): number | undefined;
756
- /**
757
- * マップ索敵
758
- * @param {number} node_divaricated_factor
759
- * @returns {number | undefined}
760
- */
761
- elos(node_divaricated_factor: number): number | undefined;
762
- /**
763
730
  * 防空時の基地制空値
764
731
  * @returns {number}
765
732
  */
@@ -770,12 +737,6 @@ export class Org {
770
737
  */
771
738
  high_altitude_interception_power(): number;
772
739
  /**
773
- * 輸送物資量(TP)
774
- * @param {string} key
775
- * @returns {number}
776
- */
777
- transport_point(key: string): number;
778
- /**
779
740
  * @param {Ship} ship
780
741
  * @param {bindings.Formation} formation
781
742
  * @returns {bindings.WarfareShipEnvironment}
@@ -786,25 +747,23 @@ export class Org {
786
747
  */
787
748
  static default(): Org;
788
749
  /**
789
- * @returns {string}
790
750
  */
791
- boss_sup: string;
751
+ boss_sup?: string;
792
752
  /**
793
- * @returns {number}
794
753
  */
795
- readonly hq_level: number;
754
+ hq_level: number;
796
755
  /**
797
- * @returns {string}
798
756
  */
799
757
  id: string;
800
758
  /**
801
- * @returns {bindings.OrgType}
802
759
  */
803
- readonly org_type: bindings.OrgType;
760
+ org_type: bindings.OrgType;
804
761
  /**
805
- * @returns {string}
806
762
  */
807
- route_sup: string;
763
+ route_sup?: string;
764
+ /**
765
+ */
766
+ sortie: string;
808
767
  /**
809
768
  * @returns {string}
810
769
  */
@@ -1008,9 +967,8 @@ export class Ship {
1008
967
  */
1009
968
  readonly accuracy: number;
1010
969
  /**
1011
- * @returns {number}
1012
970
  */
1013
- readonly ammo: number;
971
+ ammo: number;
1014
972
  /**
1015
973
  * @returns {number | undefined}
1016
974
  */
@@ -1028,9 +986,8 @@ export class Ship {
1028
986
  */
1029
987
  readonly ctype: number;
1030
988
  /**
1031
- * @returns {number}
1032
989
  */
1033
- readonly current_hp: number;
990
+ current_hp: number;
1034
991
  /**
1035
992
  * @returns {number | undefined}
1036
993
  */
@@ -1040,17 +997,14 @@ export class Ship {
1040
997
  */
1041
998
  readonly firepower: number | undefined;
1042
999
  /**
1043
- * @returns {number}
1044
1000
  */
1045
- readonly fuel: number;
1001
+ fuel: number;
1046
1002
  /**
1047
- * @returns {string}
1048
1003
  */
1049
1004
  id: string;
1050
1005
  /**
1051
- * @returns {number}
1052
1006
  */
1053
- readonly level: number;
1007
+ level: number;
1054
1008
  /**
1055
1009
  * @returns {number | undefined}
1056
1010
  */
@@ -1072,9 +1026,8 @@ export class Ship {
1072
1026
  */
1073
1027
  readonly max_hp: number | undefined;
1074
1028
  /**
1075
- * @returns {number}
1076
1029
  */
1077
- readonly morale: number;
1030
+ morale: number;
1078
1031
  /**
1079
1032
  * @returns {number | undefined}
1080
1033
  */
@@ -1124,17 +1077,14 @@ export class Ship {
1124
1077
  */
1125
1078
  readonly range: number | undefined;
1126
1079
  /**
1127
- * @returns {bindings.ShipClass}
1128
1080
  */
1129
- readonly ship_class: bindings.ShipClass;
1081
+ ship_class: bindings.ShipClass;
1130
1082
  /**
1131
- * @returns {number}
1132
1083
  */
1133
- readonly ship_id: number;
1084
+ ship_id: number;
1134
1085
  /**
1135
- * @returns {bindings.ShipType}
1136
1086
  */
1137
- readonly ship_type: bindings.ShipType;
1087
+ ship_type: bindings.ShipType;
1138
1088
  /**
1139
1089
  * @returns {number}
1140
1090
  */