fleethub-core 1.2.1 → 1.3.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.
@@ -5,6 +5,9 @@
5
5
  * @returns {boolean}
6
6
  */
7
7
  export function air_squadron_can_equip(gear: Gear): boolean;
8
+ /**
9
+ */
10
+ export function set_panic_hook(): void;
8
11
  /**
9
12
  * @param {OrgType} org_type
10
13
  * @returns {boolean}
@@ -25,31 +28,6 @@ export function org_type_is_player(org_type: OrgType): boolean;
25
28
  * @returns {Side}
26
29
  */
27
30
  export function org_type_side(org_type: OrgType): Side;
28
- /**
29
- */
30
- export function set_panic_hook(): void;
31
- export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
32
-
33
- export type AirState =
34
- | "AirSupremacy"
35
- | "AirSuperiority"
36
- | "AirParity"
37
- | "AirDenial"
38
- | "AirIncapability";
39
-
40
- export type ShellingSupportSimulatorParams = {
41
- attacker_formation: Formation;
42
- target_formation: Formation;
43
- engagement: Engagement;
44
- custom_mods: CustomModifiers;
45
- };
46
-
47
- export type NightSituation = {
48
- night_contact_rank: ContactRank | null;
49
- starshell: boolean;
50
- searchlight: boolean;
51
- };
52
-
53
31
  export type CompDayCutinRateInfo = {
54
32
  main: FleetDayCutinRateInfo;
55
33
  escort: FleetDayCutinRateInfo | null;
@@ -196,8 +174,6 @@ export type MasterData = {
196
174
 
197
175
  export type ContactRank = "Rank1" | "Rank2" | "Rank3";
198
176
 
199
- export type AirWaveType = "Jet" | "LandBase" | "Carrier";
200
-
201
177
  export type SimulatorResult = {
202
178
  items: SimulatorResultItem[];
203
179
  sunk_vec: [number, number, number][];
@@ -279,18 +255,6 @@ export type ShipCategory =
279
255
  | "Submarine"
280
256
  | "AuxiliaryShip";
281
257
 
282
- export type CompMeta = { fleets: Record<FleetType, FleetMeta> };
283
-
284
- export type FleetMeta = {
285
- id: string;
286
- len: number;
287
- ships: [string, ShipMeta | null][];
288
- };
289
-
290
- export type ShipMeta = { id: string; ship_id: number };
291
-
292
- export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
293
-
294
258
  export type WarfareContext = {
295
259
  attacker_env: WarfareShipEnvironment;
296
260
  target_env: WarfareShipEnvironment;
@@ -324,43 +288,17 @@ export type DayCutin =
324
288
  | "Zuiun"
325
289
  | "AirSea";
326
290
 
327
- export type EBonusFnGearInput = {
328
- gear_id: number;
329
- types: GearTypes;
330
- firepower: number;
331
- torpedo: number;
332
- anti_air: number;
333
- armor: number;
334
- evasion: number;
335
- asw: number;
336
- los: number;
337
- bombing: number;
338
- accuracy: number;
339
- range: number;
340
- radius: number;
341
- stars: number;
342
- ace: number;
343
- };
291
+ export type CompMeta = { fleets: Record<FleetType, FleetMeta> };
344
292
 
345
- export type EBonusFnShipInput = {
346
- ship_id: number;
347
- ctype: number;
348
- stype: number;
349
- yomi: string;
293
+ export type FleetMeta = {
294
+ id: string;
295
+ len: number;
296
+ ships: [string, ShipMeta | null][];
350
297
  };
351
298
 
352
- export type EBonuses = {
353
- firepower: number;
354
- torpedo: number;
355
- anti_air: number;
356
- armor: number;
357
- evasion: number;
358
- asw: number;
359
- los: number;
360
- bombing: number;
361
- accuracy: number;
362
- range: number;
363
- };
299
+ export type ShipMeta = { id: string; ship_id: number };
300
+
301
+ export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
364
302
 
365
303
  export type AttackPower = {
366
304
  precap: number;
@@ -404,6 +342,66 @@ export type SpecialEnemyModifiers = {
404
342
 
405
343
  export type AttackPowerModifier = { a: number; b: number };
406
344
 
345
+ export type EBonusFnGearInput = {
346
+ gear_id: number;
347
+ types: GearTypes;
348
+ firepower: number;
349
+ torpedo: number;
350
+ anti_air: number;
351
+ armor: number;
352
+ evasion: number;
353
+ asw: number;
354
+ los: number;
355
+ bombing: number;
356
+ accuracy: number;
357
+ range: number;
358
+ radius: number;
359
+ stars: number;
360
+ ace: number;
361
+ };
362
+
363
+ export type EBonusFnShipInput = {
364
+ ship_id: number;
365
+ ctype: number;
366
+ stype: number;
367
+ yomi: string;
368
+ };
369
+
370
+ export type EBonuses = {
371
+ firepower: number;
372
+ torpedo: number;
373
+ anti_air: number;
374
+ armor: number;
375
+ evasion: number;
376
+ asw: number;
377
+ los: number;
378
+ bombing: number;
379
+ accuracy: number;
380
+ range: number;
381
+ };
382
+
383
+ export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
384
+
385
+ export type AirState =
386
+ | "AirSupremacy"
387
+ | "AirSuperiority"
388
+ | "AirParity"
389
+ | "AirDenial"
390
+ | "AirIncapability";
391
+
392
+ export type ShellingSupportSimulatorParams = {
393
+ attacker_formation: Formation;
394
+ target_formation: Formation;
395
+ engagement: Engagement;
396
+ custom_mods: CustomModifiers;
397
+ };
398
+
399
+ export type NightSituation = {
400
+ night_contact_rank: ContactRank | null;
401
+ starshell: boolean;
402
+ searchlight: boolean;
403
+ };
404
+
407
405
  export type GearState = {
408
406
  id?: string;
409
407
  gear_id: number;
@@ -503,65 +501,8 @@ export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
503
501
 
504
502
  export type ShipStateMap = Record<ShipKey, ShipState>;
505
503
 
506
- export type Formation = SingleFormation | CombinedFormation;
507
-
508
- export type CombinedFormation =
509
- | "Cruising1"
510
- | "Cruising2"
511
- | "Cruising3"
512
- | "Cruising4";
513
-
514
- export type SingleFormation =
515
- | "LineAhead"
516
- | "DoubleLine"
517
- | "Diamond"
518
- | "Echelon"
519
- | "LineAbreast"
520
- | "Vanguard";
521
-
522
504
  export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
523
505
 
524
- export type ShellingAttackType = "Normal" | "Carrier";
525
-
526
- export type FleetCutinAnalysis = {
527
- shelling: FleetCutinInfo[];
528
- night: FleetCutinInfo[];
529
- };
530
-
531
- export type FleetCutinInfo = {
532
- cutin: FleetCutin;
533
- formation: Formation;
534
- items: FleetCutinInfoItem[];
535
- };
536
-
537
- export type FleetCutinInfoItem = {
538
- ship_id: number;
539
- cutin: FleetCutin;
540
- fleet_cutin_mod: number;
541
- stats: AttackStats;
542
- };
543
-
544
- export type AttackInfo<AttackType, Cutin> = {
545
- attack_type: AttackType;
546
- items: AttackInfoItem<Cutin>[];
547
- damage_state_map: NumMap<DamageState, number> | null;
548
- };
549
-
550
- export type AttackInfoItem<Cutin> = {
551
- cutin: Cutin;
552
- rate: number | null;
553
- stats: AttackStats;
554
- };
555
-
556
- export type AttackStats = {
557
- attack_power: AttackPower | null;
558
- attack_power_params: AttackPowerParams | null;
559
- hits: number;
560
- hit_rate: HitRate | null;
561
- hit_rate_params: HitRateParams | null;
562
- damage: DamageInfo | null;
563
- };
564
-
565
506
  export type CompAntiAirInfo = {
566
507
  fleet_anti_air: number;
567
508
  ships: ShipAntiAirInfo[];
@@ -578,20 +519,6 @@ export type ShipAntiAirInfo = {
578
519
  anti_air_propellant_barrage_chance: number | null;
579
520
  };
580
521
 
581
- export type CompContactChanceInfo = {
582
- single: AirstrikeContactChance[] | null;
583
- combined: AirstrikeContactChance[] | null;
584
- };
585
-
586
- export type AirstrikeContactChance = {
587
- air_state: AirState;
588
- trigger_rate: number;
589
- rank3: number;
590
- rank2: number;
591
- rank1: number;
592
- total: number;
593
- };
594
-
595
522
  export type GearAttr =
596
523
  | "Abyssal"
597
524
  | "HighAngleMount"
@@ -697,6 +624,77 @@ export type GearType =
697
624
  | "LargeRadar2"
698
625
  | "CbRecon2";
699
626
 
627
+ export type Formation = SingleFormation | CombinedFormation;
628
+
629
+ export type CombinedFormation =
630
+ | "Cruising1"
631
+ | "Cruising2"
632
+ | "Cruising3"
633
+ | "Cruising4";
634
+
635
+ export type SingleFormation =
636
+ | "LineAhead"
637
+ | "DoubleLine"
638
+ | "Diamond"
639
+ | "Echelon"
640
+ | "LineAbreast"
641
+ | "Vanguard";
642
+
643
+ export type FleetCutinAnalysis = {
644
+ shelling: FleetCutinInfo[];
645
+ night: FleetCutinInfo[];
646
+ };
647
+
648
+ export type FleetCutinInfo = {
649
+ cutin: FleetCutin;
650
+ formation: Formation;
651
+ items: FleetCutinInfoItem[];
652
+ };
653
+
654
+ export type FleetCutinInfoItem = {
655
+ ship_id: number;
656
+ cutin: FleetCutin;
657
+ fleet_cutin_mod: number;
658
+ stats: AttackStats;
659
+ };
660
+
661
+ export type AttackInfo<AttackType, Cutin> = {
662
+ attack_type: AttackType;
663
+ items: AttackInfoItem<Cutin>[];
664
+ damage_state_map: NumMap<DamageState, number> | null;
665
+ };
666
+
667
+ export type AttackInfoItem<Cutin> = {
668
+ cutin: Cutin;
669
+ rate: number | null;
670
+ stats: AttackStats;
671
+ };
672
+
673
+ export type AttackStats = {
674
+ attack_power: AttackPower | null;
675
+ attack_power_params: AttackPowerParams | null;
676
+ hits: number;
677
+ hit_rate: HitRate | null;
678
+ hit_rate_params: HitRateParams | null;
679
+ damage: DamageInfo | null;
680
+ };
681
+
682
+ export type CompContactChanceInfo = {
683
+ single: AirstrikeContactChance[] | null;
684
+ combined: AirstrikeContactChance[] | null;
685
+ };
686
+
687
+ export type AirstrikeContactChance = {
688
+ air_state: AirState;
689
+ trigger_rate: number;
690
+ rank3: number;
691
+ rank2: number;
692
+ rank1: number;
693
+ total: number;
694
+ };
695
+
696
+ export type ShellingAttackType = "Normal" | "Carrier";
697
+
700
698
  export type NightBattleAttackType =
701
699
  | { t: "NightAttack"; c: NightAttackType }
702
700
  | { t: "Asw"; c: AswAttackType };
@@ -826,6 +824,8 @@ export type FormationWarfareDef = {
826
824
  evasion_mod: number | null;
827
825
  };
828
826
 
827
+ export type AirWaveType = "Jet" | "LandBase" | "Carrier";
828
+
829
829
  export type FleetNightCutinRateInfo = {
830
830
  night_contact_chance: NightContactChance;
831
831
  ships: ShipNightCutinRateInfo[];