fleethub-core 1.10.10 → 1.10.12

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.
@@ -104,8 +104,6 @@ export interface ShipState extends GearVecState, SlotSizeVecState {
104
104
 
105
105
  export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
106
106
 
107
- export type SlotSizeVec = (number | null)[];
108
-
109
107
  export type SpeedGroup = "A" | "B1" | "B2" | "C";
110
108
 
111
109
  export interface EquippabilityRule {
@@ -179,41 +177,9 @@ export type ShipType =
179
177
  | "CT"
180
178
  | "AO";
181
179
 
182
- export type GearTypeIdArray = [number, number, number, number, number];
183
-
184
- export interface MasterShip {
185
- ship_id: number;
186
- name: string;
187
- yomi: string;
188
- stype: number;
189
- ctype: number;
190
- nationality?: number;
191
- sort_id?: number;
192
- max_hp: StatInterval;
193
- firepower: StatInterval;
194
- armor: StatInterval;
195
- torpedo: StatInterval;
196
- evasion: StatInterval;
197
- anti_air: StatInterval;
198
- asw: StatInterval;
199
- los: StatInterval;
200
- luck: StatInterval;
201
- torpedo_accuracy?: number;
202
- basic_evasion_term?: number;
203
- speed: number;
204
- range?: number;
205
- fuel?: number;
206
- ammo?: number;
207
- next_id?: number;
208
- next_level?: number;
209
- slotnum: number;
210
- slots: SlotSizeVec;
211
- stock: GearState[];
212
- speed_group?: SpeedGroup;
213
- useful?: boolean;
214
- }
180
+ export type SlotSizeVec = (number | null)[];
215
181
 
216
- export type StatInterval = [number | null, number | null];
182
+ export type GearTypeIdArray = [number, number, number, number, number];
217
183
 
218
184
  export interface BattleConditions {
219
185
  org_type: OrgType;
@@ -257,7 +223,39 @@ export type Side = "Player" | "Enemy";
257
223
 
258
224
  export type Align = "Left" | "Right";
259
225
 
260
- export type AirWaveType = "Jet" | "LandBase" | "Carrier";
226
+ export interface MasterShip {
227
+ ship_id: number;
228
+ name: string;
229
+ yomi: string;
230
+ stype: number;
231
+ ctype: number;
232
+ nationality?: number;
233
+ sort_id?: number;
234
+ max_hp: StatInterval;
235
+ firepower: StatInterval;
236
+ armor: StatInterval;
237
+ torpedo: StatInterval;
238
+ evasion: StatInterval;
239
+ anti_air: StatInterval;
240
+ asw: StatInterval;
241
+ los: StatInterval;
242
+ luck: StatInterval;
243
+ torpedo_accuracy?: number;
244
+ basic_evasion_term?: number;
245
+ speed: number;
246
+ range?: number;
247
+ fuel?: number;
248
+ ammo?: number;
249
+ next_id?: number;
250
+ next_level?: number;
251
+ slotnum: number;
252
+ slots: SlotSizeVec;
253
+ stock: GearState[];
254
+ speed_group?: SpeedGroup;
255
+ useful?: boolean;
256
+ }
257
+
258
+ export type StatInterval = [number | null, number | null];
261
259
 
262
260
  export interface FormationCombatModifiersDef {
263
261
  power_mod?: number;
@@ -387,6 +385,8 @@ export interface AttackReport<T> {
387
385
  damage: DamageReport | null;
388
386
  }
389
387
 
388
+ export type AirWaveType = "Jet" | "LandBase" | "Carrier";
389
+
390
390
  export type ContactRank = "Rank1" | "Rank2" | "Rank3";
391
391
 
392
392
  export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
@@ -472,29 +472,6 @@ export type AirState =
472
472
 
473
473
  export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
474
474
 
475
- export interface AttackPowerModifier {
476
- a?: number;
477
- b?: number;
478
- }
479
-
480
- export interface SpecialEnemyModifiers {
481
- precap_general_mod: AttackPowerModifier;
482
- stype_mod: AttackPowerModifier;
483
- landing_craft_synergy_mod: AttackPowerModifier;
484
- toku_daihatsu_tank_mod: AttackPowerModifier;
485
- m4a1dd_mod: AttackPowerModifier;
486
- honi_mod: AttackPowerModifier;
487
- postcap_general_mod: AttackPowerModifier;
488
- pt_mod: AttackPowerModifier;
489
- }
490
-
491
- export interface CustomPowerModifiers {
492
- precap_mod?: AttackPowerModifier;
493
- postcap_mod?: AttackPowerModifier;
494
- basic_power_mod?: AttackPowerModifier;
495
- historical_mod?: AttackPowerModifier;
496
- }
497
-
498
475
  export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
499
476
 
500
477
  export type GearType =
@@ -573,56 +550,52 @@ export type GearCategory =
573
550
  | "LandBased"
574
551
  | "Misc";
575
552
 
553
+ export type ShipAttr =
554
+ | "Unknown"
555
+ | "Abyssal"
556
+ | "NightCarrier"
557
+ | "Installation"
558
+ | "RoyalNavy"
559
+ | "Kai2"
560
+ | "TurbineSpeedBonus"
561
+ | "Pillbox"
562
+ | "IsolatedIsland"
563
+ | "HarbourSummerPrincess"
564
+ | "SupplyDepot"
565
+ | "NewSupplyDepot"
566
+ | "PtImp"
567
+ | "BattleshipSummerPrincess"
568
+ | "HeavyCruiserSummerPrincess"
569
+ | "AnchorageWaterDemonVacationMode"
570
+ | "FrenchBattleshipPrincess"
571
+ | "DockPrincess";
572
+
576
573
  export interface ShipConditions extends ShipPosition {
577
574
  formation?: Formation;
578
575
  amagiri_index?: number | null;
579
576
  }
580
577
 
581
- export interface MasterIBonuses {
582
- shelling_power: MasterIBonusRule[];
583
- shelling_accuracy: MasterIBonusRule[];
584
- shelling_aerial_power: MasterIBonusRule[];
585
- torpedo_power: MasterIBonusRule[];
586
- torpedo_accuracy: MasterIBonusRule[];
587
- torpedo_evasion: MasterIBonusRule[];
588
- asw_power: MasterIBonusRule[];
589
- asw_accuracy: MasterIBonusRule[];
590
- night_power: MasterIBonusRule[];
591
- night_aerial_power: MasterIBonusRule[];
592
- night_accuracy: MasterIBonusRule[];
593
- defense_power: MasterIBonusRule[];
594
- contact_selection: MasterIBonusRule[];
595
- fighter_power: MasterIBonusRule[];
596
- ship_anti_air: MasterIBonusRule[];
597
- fleet_anti_air: MasterIBonusRule[];
598
- elos: MasterIBonusRule[];
599
- }
600
-
601
- export interface MasterIBonusRule {
602
- expr: CompiledEvaler;
603
- formula: CompiledEvaler;
604
- }
605
-
606
- export interface ShipMeta {
607
- id: string;
608
- ship_id: number;
609
- }
610
-
611
- export interface FleetMeta {
612
- id: string;
613
- len: number;
614
- ships: [string, ShipMeta | null][];
578
+ export interface AttackPowerModifier {
579
+ a?: number;
580
+ b?: number;
615
581
  }
616
582
 
617
- export interface CompMeta {
618
- fleets: Record<FleetType, FleetMeta>;
583
+ export interface SpecialEnemyModifiers {
584
+ precap_general_mod: AttackPowerModifier;
585
+ stype_mod: AttackPowerModifier;
586
+ landing_craft_synergy_mod: AttackPowerModifier;
587
+ toku_daihatsu_tank_mod: AttackPowerModifier;
588
+ m4a1dd_mod: AttackPowerModifier;
589
+ honi_mod: AttackPowerModifier;
590
+ postcap_general_mod: AttackPowerModifier;
591
+ pt_mod: AttackPowerModifier;
619
592
  }
620
593
 
621
- export interface ShipPosition {
622
- org_type?: OrgType;
623
- fleet_type?: FleetType;
624
- fleet_len?: number;
625
- index?: number;
594
+ export interface CustomPowerModifiers {
595
+ precap_mod?: AttackPowerModifier;
596
+ postcap_mod?: AttackPowerModifier;
597
+ basic_power_mod?: AttackPowerModifier;
598
+ historical_mod?: AttackPowerModifier;
626
599
  }
627
600
 
628
601
  export type CompiledEvaler = string;
@@ -648,11 +621,29 @@ export interface MasterAttrRule<T> {
648
621
  expr: CompiledEvaler;
649
622
  }
650
623
 
651
- export interface ShipAnalyzerConfig {
652
- air_state?: AirState;
653
- engagement?: Engagement;
654
- left?: AttackAnalyzerShipConfig;
655
- right?: AttackAnalyzerShipConfig;
624
+ export interface MasterIBonuses {
625
+ shelling_power: MasterIBonusRule[];
626
+ shelling_accuracy: MasterIBonusRule[];
627
+ shelling_aerial_power: MasterIBonusRule[];
628
+ torpedo_power: MasterIBonusRule[];
629
+ torpedo_accuracy: MasterIBonusRule[];
630
+ torpedo_evasion: MasterIBonusRule[];
631
+ asw_power: MasterIBonusRule[];
632
+ asw_accuracy: MasterIBonusRule[];
633
+ night_power: MasterIBonusRule[];
634
+ night_aerial_power: MasterIBonusRule[];
635
+ night_accuracy: MasterIBonusRule[];
636
+ defense_power: MasterIBonusRule[];
637
+ contact_selection: MasterIBonusRule[];
638
+ fighter_power: MasterIBonusRule[];
639
+ ship_anti_air: MasterIBonusRule[];
640
+ fleet_anti_air: MasterIBonusRule[];
641
+ elos: MasterIBonusRule[];
642
+ }
643
+
644
+ export interface MasterIBonusRule {
645
+ expr: CompiledEvaler;
646
+ formula: CompiledEvaler;
656
647
  }
657
648
 
658
649
  export interface NightContactChance {
@@ -748,6 +739,21 @@ export type GearAttr =
748
739
  | "SemiNightPlane"
749
740
  | "HighAltitudeInterceptor";
750
741
 
742
+ export interface ShipMeta {
743
+ id: string;
744
+ ship_id: number;
745
+ }
746
+
747
+ export interface FleetMeta {
748
+ id: string;
749
+ len: number;
750
+ ships: [string, ShipMeta | null][];
751
+ }
752
+
753
+ export interface CompMeta {
754
+ fleets: Record<FleetType, FleetMeta>;
755
+ }
756
+
751
757
  export type OrgType =
752
758
  | "Single"
753
759
  | "CarrierTaskForce"
@@ -756,62 +762,27 @@ export type OrgType =
756
762
  | "EnemySingle"
757
763
  | "EnemyCombined";
758
764
 
759
- export type ShipAttr =
760
- | "Unknown"
761
- | "Abyssal"
762
- | "NightCarrier"
763
- | "Installation"
764
- | "RoyalNavy"
765
- | "Kai2"
766
- | "TurbineSpeedBonus"
765
+ export interface ShipPosition {
766
+ org_type?: OrgType;
767
+ fleet_type?: FleetType;
768
+ fleet_len?: number;
769
+ index?: number;
770
+ }
771
+
772
+ export type SpecialEnemyType =
773
+ | "None"
774
+ | "SoftSkinned"
767
775
  | "Pillbox"
768
776
  | "IsolatedIsland"
769
- | "HarbourSummerPrincess"
770
777
  | "SupplyDepot"
771
778
  | "NewSupplyDepot"
779
+ | "HarbourSummerPrincess"
772
780
  | "PtImp"
773
781
  | "BattleshipSummerPrincess"
774
- | "HeavyCruiserSummerPrincess";
775
-
776
- export type GearVecInput = GearInput[];
777
-
778
- export interface GearInput {
779
- gear_id: number;
780
- types: GearTypeIdArray;
781
- firepower: number;
782
- torpedo: number;
783
- anti_air: number;
784
- armor: number;
785
- evasion: number;
786
- asw: number;
787
- los: number;
788
- bombing: number;
789
- accuracy: number;
790
- range: number;
791
- radius: number;
792
- stars: number;
793
- ace: number;
794
- }
795
-
796
- export interface ShipInput {
797
- ship_id: number;
798
- ctype: number;
799
- stype: number;
800
- yomi: string;
801
- }
802
-
803
- export interface EBonuses {
804
- firepower: number;
805
- torpedo: number;
806
- anti_air: number;
807
- armor: number;
808
- evasion: number;
809
- asw: number;
810
- los: number;
811
- bombing: number;
812
- accuracy: number;
813
- range: number;
814
- }
782
+ | "HeavyCruiserSummerPrincess"
783
+ | "FrenchBattleshipPrincess"
784
+ | "AnchorageWaterDemonVacationMode"
785
+ | "DockPrincess";
815
786
 
816
787
  export interface SupportShellingSimulatorParams {
817
788
  attacker_formation?: Formation;
@@ -827,6 +798,13 @@ export interface MasterBattleDefinitions {
827
798
  historical_bonuses?: HistoricalBonusDef[];
828
799
  }
829
800
 
801
+ export interface ShipAnalyzerConfig {
802
+ air_state?: AirState;
803
+ engagement?: Engagement;
804
+ left?: AttackAnalyzerShipConfig;
805
+ right?: AttackAnalyzerShipConfig;
806
+ }
807
+
830
808
  export interface CompDayCutinAnalysis {
831
809
  rank3_air_state: AirState;
832
810
  rank2_air_state: AirState;
@@ -881,22 +859,44 @@ export type FleetKey = "f1" | "f2" | "f3" | "f4";
881
859
 
882
860
  export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
883
861
 
884
- export interface CompAntiAirAnalysis {
885
- fleet_adjusted_anti_air: number;
886
- ships: AntiAirReport[];
887
- anti_air_cutin_chance: [number, number][];
862
+ export type GearVecInput = GearInput[];
863
+
864
+ export interface GearInput {
865
+ gear_id: number;
866
+ types: GearTypeIdArray;
867
+ firepower: number;
868
+ torpedo: number;
869
+ anti_air: number;
870
+ armor: number;
871
+ evasion: number;
872
+ asw: number;
873
+ los: number;
874
+ bombing: number;
875
+ accuracy: number;
876
+ range: number;
877
+ radius: number;
878
+ stars: number;
879
+ ace: number;
888
880
  }
889
881
 
890
- export interface AntiAirReport {
882
+ export interface ShipInput {
891
883
  ship_id: number;
892
- role: Role;
893
- index: number;
894
- adjusted_anti_air: number | null;
895
- proportional_shotdown_rate: number | null;
896
- fixed_shotdown_number: number | null;
897
- guaranteed: number | null;
898
- anti_air_cutin_chance: [number, number][];
899
- anti_air_propellant_barrage_chance: number | null;
884
+ ctype: number;
885
+ stype: number;
886
+ yomi: string;
887
+ }
888
+
889
+ export interface EBonuses {
890
+ firepower: number;
891
+ torpedo: number;
892
+ anti_air: number;
893
+ armor: number;
894
+ evasion: number;
895
+ asw: number;
896
+ los: number;
897
+ bombing: number;
898
+ accuracy: number;
899
+ range: number;
900
900
  }
901
901
 
902
902
  export interface ShellingStyle {
@@ -998,6 +998,24 @@ export interface AttackAnalyzerShipConfig
998
998
  fleet_los_mod?: number | null;
999
999
  }
1000
1000
 
1001
+ export interface CompAntiAirAnalysis {
1002
+ fleet_adjusted_anti_air: number;
1003
+ ships: AntiAirReport[];
1004
+ anti_air_cutin_chance: [number, number][];
1005
+ }
1006
+
1007
+ export interface AntiAirReport {
1008
+ ship_id: number;
1009
+ role: Role;
1010
+ index: number;
1011
+ adjusted_anti_air: number | null;
1012
+ proportional_shotdown_rate: number | null;
1013
+ fixed_shotdown_number: number | null;
1014
+ guaranteed: number | null;
1015
+ anti_air_cutin_chance: [number, number][];
1016
+ anti_air_propellant_barrage_chance: number | null;
1017
+ }
1018
+
1001
1019
  export type NodeId = string;
1002
1020
 
1003
1021
  export interface NodeState {
@@ -1008,18 +1026,6 @@ export interface NodeState {
1008
1026
  disable_historical_mod?: boolean;
1009
1027
  }
1010
1028
 
1011
- export type SpecialEnemyType =
1012
- | "None"
1013
- | "SoftSkinned"
1014
- | "Pillbox"
1015
- | "IsolatedIsland"
1016
- | "SupplyDepot"
1017
- | "NewSupplyDepot"
1018
- | "HarbourSummerPrincess"
1019
- | "PtImp"
1020
- | "BattleshipSummerPrincess"
1021
- | "HeavyCruiserSummerPrincess";
1022
-
1023
1029
  /**
1024
1030
  */
1025
1031
  export class AirSquadron {
@@ -21,6 +21,18 @@ function addHeapObject(obj) {
21
21
  return idx;
22
22
  }
23
23
 
24
+ function dropObject(idx) {
25
+ if (idx < 36) return;
26
+ heap[idx] = heap_next;
27
+ heap_next = idx;
28
+ }
29
+
30
+ function takeObject(idx) {
31
+ const ret = getObject(idx);
32
+ dropObject(idx);
33
+ return ret;
34
+ }
35
+
24
36
  let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
25
37
 
26
38
  cachedTextDecoder.decode();
@@ -38,18 +50,6 @@ function getStringFromWasm0(ptr, len) {
38
50
  return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
39
51
  }
40
52
 
41
- function dropObject(idx) {
42
- if (idx < 36) return;
43
- heap[idx] = heap_next;
44
- heap_next = idx;
45
- }
46
-
47
- function takeObject(idx) {
48
- const ret = getObject(idx);
49
- dropObject(idx);
50
- return ret;
51
- }
52
-
53
53
  let WASM_VECTOR_LEN = 0;
54
54
 
55
55
  let cachedTextEncoder = new TextEncoder('utf-8');
@@ -118,6 +118,25 @@ function getInt32Memory0() {
118
118
  return cachedInt32Memory0;
119
119
  }
120
120
 
121
+ let cachedUint32Memory0 = new Uint32Array();
122
+
123
+ function getUint32Memory0() {
124
+ if (cachedUint32Memory0.byteLength === 0) {
125
+ cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer);
126
+ }
127
+ return cachedUint32Memory0;
128
+ }
129
+
130
+ function getArrayJsValueFromWasm0(ptr, len) {
131
+ const mem = getUint32Memory0();
132
+ const slice = mem.subarray(ptr / 4, ptr / 4 + len);
133
+ const result = [];
134
+ for (let i = 0; i < slice.length; i++) {
135
+ result.push(takeObject(slice[i]));
136
+ }
137
+ return result;
138
+ }
139
+
121
140
  let cachedFloat64Memory0 = new Float64Array();
122
141
 
123
142
  function getFloat64Memory0() {
@@ -150,25 +169,6 @@ function _assertClass(instance, klass) {
150
169
  return instance.ptr;
151
170
  }
152
171
 
153
- let cachedUint32Memory0 = new Uint32Array();
154
-
155
- function getUint32Memory0() {
156
- if (cachedUint32Memory0.byteLength === 0) {
157
- cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer);
158
- }
159
- return cachedUint32Memory0;
160
- }
161
-
162
- function getArrayJsValueFromWasm0(ptr, len) {
163
- const mem = getUint32Memory0();
164
- const slice = mem.subarray(ptr / 4, ptr / 4 + len);
165
- const result = [];
166
- for (let i = 0; i < slice.length; i++) {
167
- result.push(takeObject(slice[i]));
168
- }
169
- return result;
170
- }
171
-
172
172
  function getArrayU16FromWasm0(ptr, len) {
173
173
  return getUint16Memory0().subarray(ptr / 2, ptr / 2 + len);
174
174
  }
@@ -2879,22 +2879,17 @@ module.exports.__wbindgen_object_clone_ref = function(arg0) {
2879
2879
  return addHeapObject(ret);
2880
2880
  };
2881
2881
 
2882
- module.exports.__wbindgen_string_new = function(arg0, arg1) {
2883
- const ret = getStringFromWasm0(arg0, arg1);
2884
- return addHeapObject(ret);
2885
- };
2886
-
2887
2882
  module.exports.__wbindgen_object_drop_ref = function(arg0) {
2888
2883
  takeObject(arg0);
2889
2884
  };
2890
2885
 
2891
- module.exports.__wbg_ship_new = function(arg0) {
2892
- const ret = Ship.__wrap(arg0);
2886
+ module.exports.__wbindgen_string_new = function(arg0, arg1) {
2887
+ const ret = getStringFromWasm0(arg0, arg1);
2893
2888
  return addHeapObject(ret);
2894
2889
  };
2895
2890
 
2896
- module.exports.__wbg_createEquipmentBonuses_e3730d3121ab232c = function(arg0, arg1) {
2897
- const ret = createEquipmentBonuses(takeObject(arg0), takeObject(arg1));
2891
+ module.exports.__wbg_ship_new = function(arg0) {
2892
+ const ret = Ship.__wrap(arg0);
2898
2893
  return addHeapObject(ret);
2899
2894
  };
2900
2895
 
@@ -2903,6 +2898,11 @@ module.exports.__wbindgen_is_undefined = function(arg0) {
2903
2898
  return ret;
2904
2899
  };
2905
2900
 
2901
+ module.exports.__wbg_createEquipmentBonuses_eabaf914ffa2c586 = function(arg0, arg1) {
2902
+ const ret = createEquipmentBonuses(takeObject(arg0), takeObject(arg1));
2903
+ return addHeapObject(ret);
2904
+ };
2905
+
2906
2906
  module.exports.__wbg_new_abda76e883ba8a5f = function() {
2907
2907
  const ret = new Error();
2908
2908
  return addHeapObject(ret);
@@ -2924,6 +2924,14 @@ module.exports.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {
2924
2924
  }
2925
2925
  };
2926
2926
 
2927
+ module.exports.__wbg_randomFillSync_065afffde01daa66 = function() { return handleError(function (arg0, arg1, arg2) {
2928
+ getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
2929
+ }, arguments) };
2930
+
2931
+ module.exports.__wbg_getRandomValues_b99eec4244a475bb = function() { return handleError(function (arg0, arg1) {
2932
+ getObject(arg0).getRandomValues(getObject(arg1));
2933
+ }, arguments) };
2934
+
2927
2935
  module.exports.__wbg_process_0cc2ada8524d6f83 = function(arg0) {
2928
2936
  const ret = getObject(arg0).process;
2929
2937
  return addHeapObject(ret);
@@ -2970,14 +2978,6 @@ module.exports.__wbg_msCrypto_a21fc88caf1ecdc8 = function(arg0) {
2970
2978
  return addHeapObject(ret);
2971
2979
  };
2972
2980
 
2973
- module.exports.__wbg_getRandomValues_b99eec4244a475bb = function() { return handleError(function (arg0, arg1) {
2974
- getObject(arg0).getRandomValues(getObject(arg1));
2975
- }, arguments) };
2976
-
2977
- module.exports.__wbg_randomFillSync_065afffde01daa66 = function() { return handleError(function (arg0, arg1, arg2) {
2978
- getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
2979
- }, arguments) };
2980
-
2981
2981
  module.exports.__wbg_new_1d9a920c6bfc44a8 = function() {
2982
2982
  const ret = new Array();
2983
2983
  return addHeapObject(ret);
Binary file