fleethub-core 1.8.10 → 1.8.11

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.
@@ -1,10 +1,38 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
+ export function __wbg_fleet_free(a: number): void;
5
+ export function __wbg_get_fleet_id(a: number, b: number): void;
6
+ export function __wbg_set_fleet_id(a: number, b: number, c: number): void;
7
+ export function __wbg_get_fleet_hash(a: number, b: number): void;
8
+ export function __wbg_get_fleet_len(a: number): number;
9
+ export function fleet_meta(a: number): number;
10
+ export function fleet_ship_keys(a: number, b: number): void;
11
+ export function fleet_ship_ids(a: number, b: number): void;
12
+ export function fleet_get_gear_ids_by_improvable(a: number, b: number): void;
13
+ export function fleet_get_gear_ids_by_proficiency(a: number, b: number): void;
14
+ export function fleet_get_damage_bound(a: number, b: number, c: number, d: number): number;
15
+ export function fleet_get_remaining_fuel(a: number, b: number, c: number, d: number, e: number): number;
16
+ export function fleet_get_remaining_ammo(a: number, b: number, c: number, d: number, e: number): number;
17
+ export function fleet_count_ships(a: number): number;
18
+ export function fleet_get_ship(a: number, b: number): number;
19
+ export function fleet_fleet_los_mod(a: number, b: number): void;
20
+ export function fleet_fighter_power(a: number, b: number, c: number): void;
21
+ export function fleet_elos(a: number, b: number, c: number, d: number): void;
22
+ export function fleet_aviation_detection_score(a: number, b: number): void;
23
+ export function fleet_expedition_bonus(a: number): number;
24
+ export function fleet_sum_ship_stat_by(a: number, b: number, c: number, d: number): void;
25
+ export function fleet_reset_battle_state(a: number): void;
4
26
  export function ship_state_day_gunfit_accuracy(a: number, b: number): void;
5
27
  export function ship_state_night_gunfit_accuracy(a: number, b: number): void;
6
28
  export function ship_gunfit_accuracy(a: number, b: number): number;
7
29
  export function set_panic_hook(): void;
30
+ export function __wbg_analyzer_free(a: number): void;
31
+ export function analyzer_analyze_ship_attack(a: number, b: number, c: number, d: number, e: number): number;
32
+ export function analyzer_analyze_node_attack(a: number, b: number, c: number, d: number, e: number, f: number): number;
33
+ export function analyzer_analyze_node_attack2(a: number, b: number, c: number, d: number, e: number, f: number): number;
34
+ export function analyzer_analyze_comp(a: number, b: number, c: number): number;
35
+ export function analyzer_simulate_support_shelling(a: number, b: number, c: number, d: number, e: number, f: number): void;
8
36
  export function __wbg_fhcore_free(a: number): void;
9
37
  export function fhcore_new(a: number, b: number): void;
10
38
  export function fhcore_create_gear(a: number, b: number): number;
@@ -79,11 +107,6 @@ export function comp_elos(a: number, b: number, c: number): void;
79
107
  export function comp_transport_point(a: number): number;
80
108
  export function comp_get_ship_conditions(a: number, b: number, c: number): number;
81
109
  export function comp_fleet_los_mod(a: number, b: number, c: number): void;
82
- export function __wbg_analyzer_free(a: number): void;
83
- export function analyzer_analyze_ship_attack(a: number, b: number, c: number, d: number, e: number): number;
84
- export function analyzer_analyze_node_attack(a: number, b: number, c: number, d: number, e: number, f: number): number;
85
- export function analyzer_analyze_comp(a: number, b: number, c: number): number;
86
- export function analyzer_simulate_support_shelling(a: number, b: number, c: number, d: number, e: number, f: number): void;
87
110
  export function __wbg_ship_free(a: number): void;
88
111
  export function __wbg_get_ship_id(a: number, b: number): void;
89
112
  export function __wbg_set_ship_id(a: number, b: number, c: number): void;
@@ -156,6 +179,7 @@ export function ship_accuracy(a: number): number;
156
179
  export function ship_innate_torpedo_accuracy(a: number): number;
157
180
  export function ship_is_installation(a: number): number;
158
181
  export function ship_is_pt_imp(a: number): number;
182
+ export function ship_is_attackable_by_torpedo(a: number): number;
159
183
  export function ship_get_slot_size(a: number, b: number): number;
160
184
  export function ship_get_max_slot_size(a: number, b: number): number;
161
185
  export function ship_remaining_ammo_mod(a: number): number;
@@ -247,28 +271,6 @@ export function gear_expedition_bonus(a: number): number;
247
271
  export function gear_can_be_deployed_to_land_base(a: number): number;
248
272
  export function __wbg_get_gear_hash(a: number, b: number): void;
249
273
  export function gear_has_proficiency(a: number): number;
250
- export function __wbg_fleet_free(a: number): void;
251
- export function __wbg_get_fleet_id(a: number, b: number): void;
252
- export function __wbg_set_fleet_id(a: number, b: number, c: number): void;
253
- export function __wbg_get_fleet_hash(a: number, b: number): void;
254
- export function __wbg_get_fleet_len(a: number): number;
255
- export function fleet_meta(a: number): number;
256
- export function fleet_ship_keys(a: number, b: number): void;
257
- export function fleet_ship_ids(a: number, b: number): void;
258
- export function fleet_get_gear_ids_by_improvable(a: number, b: number): void;
259
- export function fleet_get_gear_ids_by_proficiency(a: number, b: number): void;
260
- export function fleet_get_damage_bound(a: number, b: number, c: number, d: number): number;
261
- export function fleet_get_remaining_fuel(a: number, b: number, c: number, d: number, e: number): number;
262
- export function fleet_get_remaining_ammo(a: number, b: number, c: number, d: number, e: number): number;
263
- export function fleet_count_ships(a: number): number;
264
- export function fleet_get_ship(a: number, b: number): number;
265
- export function fleet_fleet_los_mod(a: number, b: number): void;
266
- export function fleet_fighter_power(a: number, b: number, c: number): void;
267
- export function fleet_elos(a: number, b: number, c: number, d: number): void;
268
- export function fleet_aviation_detection_score(a: number, b: number): void;
269
- export function fleet_expedition_bonus(a: number): number;
270
- export function fleet_sum_ship_stat_by(a: number, b: number, c: number, d: number): void;
271
- export function fleet_reset_battle_state(a: number): void;
272
274
  export function __wbindgen_malloc(a: number): number;
273
275
  export function __wbindgen_realloc(a: number, b: number, c: number): number;
274
276
  export function __wbindgen_add_to_stack_pointer(a: number): number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleethub-core",
3
- "version": "1.8.10",
3
+ "version": "1.8.11",
4
4
  "license": "UNLICENSED",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -8,8 +8,6 @@ export function set_panic_hook(): void;
8
8
  * @returns {ShipConditions}
9
9
  */
10
10
  export function parse_ship_conditions(value: ShipConditions): ShipConditions;
11
- export type Side = "Player" | "Enemy";
12
-
13
11
  export interface ShipPosition {
14
12
  org_type?: OrgType;
15
13
  fleet_type?: FleetType;
@@ -34,56 +32,35 @@ export interface ShipMeta {
34
32
 
35
33
  export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
36
34
 
37
- export interface BattleDefinitions {
38
- formation: Record<Formation, NestedFormationDef>;
39
- anti_air_cutin: Record<number, AntiAirCutinDef>;
40
- day_cutin: Record<DayCutin, DayCutinDef>;
41
- night_cutin: Record<NightCutin, NightCutinDef>;
42
- }
35
+ export type TorpedoAttackType = null;
43
36
 
44
- export interface NightCutinDef {
45
- tag: NightCutin;
46
- hits: number;
47
- type_factor: number | null;
48
- power_mod: number | null;
49
- accuracy_mod: number | null;
50
- }
37
+ export type NightPhaseAttackType =
38
+ | { t: "Night"; c: NightAttackType }
39
+ | { t: "Asw"; c: AswAttackType };
51
40
 
52
- export interface DayCutinDef {
53
- tag: DayCutin;
54
- hits: number;
55
- type_factor: number | null;
56
- power_mod: number | null;
57
- accuracy_mod: number | null;
58
- }
41
+ export type DayPhaseAttackType =
42
+ | { t: "Shelling"; c: ShellingType }
43
+ | { t: "Asw"; c: AswAttackType };
59
44
 
60
- export interface AntiAirCutinDef {
61
- id: number;
62
- type_factor: number | null;
63
- multiplier: number | null;
64
- guaranteed: number | null;
65
- sequential: boolean | null;
66
- }
45
+ export type AttackType =
46
+ | { t: "Asw"; c: AswAttackType }
47
+ | { t: "Shelling"; c: ShellingType }
48
+ | { t: "Night"; c: NightAttackType }
49
+ | { t: "Torpedo" }
50
+ | { t: "SupportShelling"; c: SupportShellingType };
67
51
 
68
- export type NestedFormationDef =
69
- | FormationDef
70
- | { top_half: FormationDef; bottom_half: FormationDef };
52
+ export type SupportShellingType = ShellingType;
71
53
 
72
- export interface FormationDef {
73
- tag: Formation;
74
- protection_rate: number | null;
75
- fleet_anti_air_mod: number;
76
- shelling: FormationCombatModifiersDef;
77
- torpedo: FormationCombatModifiersDef;
78
- asw: FormationCombatModifiersDef;
79
- night: FormationCombatModifiersDef;
80
- support_shelling: FormationCombatModifiersDef;
81
- }
54
+ export type NightAttackType = "Normal" | "Swordfish" | "Carrier";
82
55
 
83
- export interface FormationCombatModifiersDef {
84
- power_mod?: number;
85
- accuracy_mod?: number;
86
- evasion_mod?: number;
56
+ export type ShellingType = "Normal" | "Carrier";
57
+
58
+ export type AswAttackType = "DepthCharge" | "Aircraft";
59
+
60
+ export type FhResult<T> = { Ok: T } | { Err: string };
61
+
62
+ export interface NodeAttackAnalysis2 {
63
+ data: AttackAnalysis[];
87
64
  }
88
65
 
89
66
  export type CompiledEvaler = string;
@@ -181,6 +158,24 @@ export interface ActionReport<T> {
181
158
  is_active: boolean;
182
159
  }
183
160
 
161
+ export type GearTypeIdArray = [number, number, number, number, number];
162
+
163
+ export type SpecialEnemyType =
164
+ | "None"
165
+ | "SoftSkinned"
166
+ | "Pillbox"
167
+ | "IsolatedIsland"
168
+ | "SupplyDepot"
169
+ | "NewSupplyDepot"
170
+ | "HarbourSummerPrincess"
171
+ | "PtImp"
172
+ | "BattleshipSummerPrincess"
173
+ | "HeavyCruiserSummerPrincess";
174
+
175
+ export type Align = "Left" | "Right";
176
+
177
+ export type Side = "Player" | "Enemy";
178
+
184
179
  export type ShipType =
185
180
  | "Unknown"
186
181
  | "DE"
@@ -216,47 +211,6 @@ export type ShipCategory =
216
211
  | "Submarine"
217
212
  | "AuxiliaryShip";
218
213
 
219
- export type NightCutinLike = NightCutin | FleetCutin;
220
-
221
- export type DayCutinLike = DayCutin | FleetCutin;
222
-
223
- export type FleetCutin =
224
- | "NelsonTouch"
225
- | "NagatoClassCutin"
226
- | "ColoradoClassCutin"
227
- | "KongouClassCutin"
228
- | "Yamato2ShipCutin"
229
- | "Yamato3ShipCutin";
230
-
231
- export type NightCutin =
232
- | "MainTorpRadar"
233
- | "TorpLookoutRadar"
234
- | "TorpTsloTorp"
235
- | "TorpTsloDrum"
236
- | "DoubleAttack"
237
- | "TorpTorpMain"
238
- | "TorpTorpTorp"
239
- | "MainMainSec"
240
- | "MainMainMain"
241
- | "SubTorpTorp"
242
- | "SubRadarTorp"
243
- | "Cvci1_25"
244
- | "Cvci1_20"
245
- | "Cvci1_18"
246
- | "Photobomber";
247
-
248
- export type DayCutin =
249
- | "Zuiun"
250
- | "AirSea"
251
- | "MainMain"
252
- | "MainAp"
253
- | "MainRadar"
254
- | "MainSec"
255
- | "DoubleAttack"
256
- | "FBA"
257
- | "BBA"
258
- | "BA";
259
-
260
214
  export interface MasterIBonuses {
261
215
  shelling_power: MasterIBonusRule[];
262
216
  shelling_accuracy: MasterIBonusRule[];
@@ -305,10 +259,51 @@ export interface MoveShipPayload {
305
259
  target: [string | null, string, ShipKey];
306
260
  }
307
261
 
308
- export type GearTypeIdArray = [number, number, number, number, number];
309
-
310
262
  export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
311
263
 
264
+ export type NightCutinLike = NightCutin | FleetCutin;
265
+
266
+ export type DayCutinLike = DayCutin | FleetCutin;
267
+
268
+ export type FleetCutin =
269
+ | "NelsonTouch"
270
+ | "NagatoClassCutin"
271
+ | "ColoradoClassCutin"
272
+ | "KongouClassCutin"
273
+ | "Yamato2ShipCutin"
274
+ | "Yamato3ShipCutin";
275
+
276
+ export type NightCutin =
277
+ | "MainTorpRadar"
278
+ | "TorpLookoutRadar"
279
+ | "TorpTsloTorp"
280
+ | "TorpTsloDrum"
281
+ | "DoubleAttack"
282
+ | "TorpTorpMain"
283
+ | "TorpTorpTorp"
284
+ | "MainMainSec"
285
+ | "MainMainMain"
286
+ | "SubTorpTorp"
287
+ | "SubRadarTorp"
288
+ | "Cvci1_25"
289
+ | "Cvci1_20"
290
+ | "Cvci1_18"
291
+ | "Photobomber";
292
+
293
+ export type DayCutin =
294
+ | "Zuiun"
295
+ | "AirSea"
296
+ | "MainMain"
297
+ | "MainAp"
298
+ | "MainRadar"
299
+ | "MainSec"
300
+ | "DoubleAttack"
301
+ | "FBA"
302
+ | "BBA"
303
+ | "BA";
304
+
305
+ export type ContactRank = "Rank1" | "Rank2" | "Rank3";
306
+
312
307
  export type AirWaveType = "Jet" | "LandBase" | "Carrier";
313
308
 
314
309
  export interface SimulatorResult {
@@ -323,21 +318,8 @@ export interface SimulatorResultItem {
323
318
  damage_state_map: Record<DamageState, number>;
324
319
  }
325
320
 
326
- export type SpecialEnemyType =
327
- | "None"
328
- | "SoftSkinned"
329
- | "Pillbox"
330
- | "IsolatedIsland"
331
- | "SupplyDepot"
332
- | "HarbourSummerPrincess"
333
- | "PtImp"
334
- | "BattleshipSummerPrincess"
335
- | "HeavyCruiserSummerPrincess";
336
-
337
321
  export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
338
322
 
339
- export type ContactRank = "Rank1" | "Rank2" | "Rank3";
340
-
341
323
  export type GearCategory =
342
324
  | "Fighter"
343
325
  | "Bomber"
@@ -416,31 +398,6 @@ export type GearType =
416
398
 
417
399
  export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
418
400
 
419
- export type TorpedoAttackType = null;
420
-
421
- export type NightPhaseAttackType =
422
- | { t: "Night"; c: NightAttackType }
423
- | { t: "Asw"; c: AswAttackType };
424
-
425
- export type DayPhaseAttackType =
426
- | { t: "Shelling"; c: ShellingType }
427
- | { t: "Asw"; c: AswAttackType };
428
-
429
- export type AttackType =
430
- | { t: "Asw"; c: AswAttackType }
431
- | { t: "Shelling"; c: ShellingType }
432
- | { t: "Night"; c: NightAttackType }
433
- | { t: "Torpedo" }
434
- | { t: "SupportShelling"; c: SupportShellingType };
435
-
436
- export type SupportShellingType = ShellingType;
437
-
438
- export type NightAttackType = "Normal" | "Swordfish" | "Carrier";
439
-
440
- export type ShellingType = "Normal" | "Carrier";
441
-
442
- export type AswAttackType = "DepthCharge" | "Aircraft";
443
-
444
401
  export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
445
402
 
446
403
  export type AirState =
@@ -450,8 +407,6 @@ export type AirState =
450
407
  | "AirDenial"
451
408
  | "AirIncapability";
452
409
 
453
- export type FhResult<T> = { Ok: T } | { Err: string };
454
-
455
410
  export interface MasterData extends MasterBattleDefinitions {
456
411
  created_at: number;
457
412
  gears: MasterGear[];
@@ -545,6 +500,7 @@ export type ShipAttr =
545
500
  | "IsolatedIsland"
546
501
  | "HarbourSummerPrincess"
547
502
  | "SupplyDepot"
503
+ | "NewSupplyDepot"
548
504
  | "PtImp"
549
505
  | "BattleshipSummerPrincess"
550
506
  | "HeavyCruiserSummerPrincess";
@@ -557,6 +513,65 @@ export type OrgType =
557
513
  | "EnemySingle"
558
514
  | "EnemyCombined";
559
515
 
516
+ export interface BattleDefinitions {
517
+ formation: Record<Formation, NestedFormationDef>;
518
+ anti_air_cutin: Record<number, AntiAirCutinDef>;
519
+ day_cutin: Record<DayCutin, DayCutinDef>;
520
+ night_cutin: Record<NightCutin, NightCutinDef>;
521
+ }
522
+
523
+ export interface NightCutinDef {
524
+ tag: NightCutin;
525
+ hits: number;
526
+ type_factor: number | null;
527
+ power_mod: number | null;
528
+ accuracy_mod: number | null;
529
+ }
530
+
531
+ export interface DayCutinDef {
532
+ tag: DayCutin;
533
+ hits: number;
534
+ type_factor: number | null;
535
+ power_mod: number | null;
536
+ accuracy_mod: number | null;
537
+ }
538
+
539
+ export interface AntiAirCutinDef {
540
+ id: number;
541
+ type_factor: number | null;
542
+ multiplier: number | null;
543
+ guaranteed: number | null;
544
+ sequential: boolean | null;
545
+ }
546
+
547
+ export type NestedFormationDef =
548
+ | FormationDef
549
+ | { top_half: FormationDef; bottom_half: FormationDef };
550
+
551
+ export interface FormationDef {
552
+ tag: Formation;
553
+ protection_rate: number | null;
554
+ fleet_anti_air_mod: number;
555
+ shelling: FormationCombatModifiersDef;
556
+ torpedo: FormationCombatModifiersDef;
557
+ asw: FormationCombatModifiersDef;
558
+ night: FormationCombatModifiersDef;
559
+ support_shelling: FormationCombatModifiersDef;
560
+ }
561
+
562
+ export interface FormationCombatModifiersDef {
563
+ power_mod?: number;
564
+ accuracy_mod?: number;
565
+ evasion_mod?: number;
566
+ }
567
+
568
+ export interface ShipAnalyzerConfig {
569
+ air_state?: AirState;
570
+ engagement?: Engagement;
571
+ left?: AttackAnalyzerShipConfig;
572
+ right?: AttackAnalyzerShipConfig;
573
+ }
574
+
560
575
  export type GearAttr =
561
576
  | "Unknown"
562
577
  | "Abyssal"
@@ -597,13 +612,6 @@ export interface SupportShellingSimulatorParams {
597
612
  engagement: Engagement;
598
613
  }
599
614
 
600
- export interface ShipAnalyzerConfig {
601
- air_state?: AirState;
602
- engagement?: Engagement;
603
- left?: AttackAnalyzerShipConfig;
604
- right?: AttackAnalyzerShipConfig;
605
- }
606
-
607
615
  export interface CompAntiAirAnalysis {
608
616
  fleet_adjusted_anti_air: number;
609
617
  ships: AntiAirReport[];
@@ -1068,6 +1076,19 @@ export class Analyzer {
1068
1076
  right_comp: Comp,
1069
1077
  right_ship: Ship
1070
1078
  ): NodeAttackAnalysis;
1079
+ /**
1080
+ * @param {NodeAttackAnalyzerConfig} config
1081
+ * @param {Comp} left_comp
1082
+ * @param {Comp} right_comp
1083
+ * @param {string} attacker_id
1084
+ * @returns {NodeAttackAnalysis2 | undefined}
1085
+ */
1086
+ analyze_node_attack2(
1087
+ config: NodeAttackAnalyzerConfig,
1088
+ left_comp: Comp,
1089
+ right_comp: Comp,
1090
+ attacker_id: string
1091
+ ): NodeAttackAnalysis2 | undefined;
1071
1092
  /**
1072
1093
  * @param {Comp} comp
1073
1094
  * @param {CompAnalyzerConfig} config
@@ -1859,6 +1880,10 @@ export class Ship {
1859
1880
  * @returns {boolean}
1860
1881
  */
1861
1882
  is_pt_imp(): boolean;
1883
+ /**
1884
+ * @returns {boolean}
1885
+ */
1886
+ is_attackable_by_torpedo(): boolean;
1862
1887
  /**
1863
1888
  * @param {number} index
1864
1889
  * @returns {number | undefined}