fleethub-core 1.11.17 → 1.11.19
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/node/fleethub_core.d.ts +177 -159
- package/node/fleethub_core.js +23 -1
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +33 -30
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +177 -159
- package/pkg/fleethub_core_bg.js +23 -1
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +33 -30
package/node/fleethub_core.d.ts
CHANGED
|
@@ -8,19 +8,31 @@ export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
|
8
8
|
/**
|
|
9
9
|
*/
|
|
10
10
|
export function set_panic_hook(): void;
|
|
11
|
-
export
|
|
11
|
+
export interface CompAnalyzerConfig {
|
|
12
|
+
engagement: Engagement;
|
|
13
|
+
formation: Formation;
|
|
14
|
+
anti_air_cutin: number | null;
|
|
15
|
+
ship_anti_air_resist: number;
|
|
16
|
+
fleet_anti_air_resist: number;
|
|
17
|
+
left_night_fleet_conditions: NightFleetConditions;
|
|
18
|
+
right_night_fleet_conditions: NightFleetConditions;
|
|
19
|
+
}
|
|
12
20
|
|
|
13
|
-
export interface
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
export interface CompNightAnalysis {
|
|
22
|
+
night_cutin: CompNightCutinAnalysis;
|
|
23
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface CompDayAnalysis {
|
|
27
|
+
day_cutin: CompDayCutinAnalysis;
|
|
28
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface CompAnalysis {
|
|
32
|
+
day: CompDayAnalysis;
|
|
33
|
+
night: CompNightAnalysis;
|
|
34
|
+
contact: ContactAnalysis;
|
|
35
|
+
anti_air: CompAntiAirAnalysis;
|
|
24
36
|
}
|
|
25
37
|
|
|
26
38
|
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
@@ -39,10 +51,9 @@ export type AirState =
|
|
|
39
51
|
|
|
40
52
|
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
41
53
|
|
|
42
|
-
export
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
54
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
55
|
+
|
|
56
|
+
export type Role = "Main" | "Escort";
|
|
46
57
|
|
|
47
58
|
export interface SupportShellingSimulatorParams {
|
|
48
59
|
attacker_formation?: Formation;
|
|
@@ -51,8 +62,6 @@ export interface SupportShellingSimulatorParams {
|
|
|
51
62
|
node_state: NodeState;
|
|
52
63
|
}
|
|
53
64
|
|
|
54
|
-
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
55
|
-
|
|
56
65
|
export interface MasterIBonuses {
|
|
57
66
|
shelling_power: MasterIBonusRule[];
|
|
58
67
|
shelling_accuracy: MasterIBonusRule[];
|
|
@@ -89,6 +98,7 @@ export interface AttackPower {
|
|
|
89
98
|
}
|
|
90
99
|
|
|
91
100
|
export interface AttackPowerParams {
|
|
101
|
+
is_cutin: boolean;
|
|
92
102
|
basic: number;
|
|
93
103
|
cap: number;
|
|
94
104
|
precap_mod: AttackPowerModifier;
|
|
@@ -98,38 +108,12 @@ export interface AttackPowerParams {
|
|
|
98
108
|
proficiency_critical_mod: number;
|
|
99
109
|
armor_penetration: number;
|
|
100
110
|
remaining_ammo_mod: number;
|
|
111
|
+
balloon_mod: number;
|
|
101
112
|
special_enemy_mods: SpecialEnemyModifiers;
|
|
102
113
|
historical_mod: AttackPowerModifier;
|
|
103
114
|
custom_mods: CustomPowerModifiers;
|
|
104
115
|
}
|
|
105
116
|
|
|
106
|
-
export interface CompAnalyzerConfig {
|
|
107
|
-
engagement: Engagement;
|
|
108
|
-
formation: Formation;
|
|
109
|
-
anti_air_cutin: number | null;
|
|
110
|
-
ship_anti_air_resist: number;
|
|
111
|
-
fleet_anti_air_resist: number;
|
|
112
|
-
left_night_fleet_conditions: NightFleetConditions;
|
|
113
|
-
right_night_fleet_conditions: NightFleetConditions;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export interface CompNightAnalysis {
|
|
117
|
-
night_cutin: CompNightCutinAnalysis;
|
|
118
|
-
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
export interface CompDayAnalysis {
|
|
122
|
-
day_cutin: CompDayCutinAnalysis;
|
|
123
|
-
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export interface CompAnalysis {
|
|
127
|
-
day: CompDayAnalysis;
|
|
128
|
-
night: CompNightAnalysis;
|
|
129
|
-
contact: ContactAnalysis;
|
|
130
|
-
anti_air: CompAntiAirAnalysis;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
117
|
export interface ActionReport<T> {
|
|
134
118
|
data: Record<string, AttackReport<T>>;
|
|
135
119
|
damage_state_density: Histogram<DamageState, number> | null;
|
|
@@ -187,8 +171,6 @@ export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
|
187
171
|
|
|
188
172
|
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
189
173
|
|
|
190
|
-
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
191
|
-
|
|
192
174
|
export interface FleetState {
|
|
193
175
|
id?: string;
|
|
194
176
|
len?: number;
|
|
@@ -216,6 +198,13 @@ export interface CompMeta {
|
|
|
216
198
|
fleets: Record<FleetType, FleetMeta>;
|
|
217
199
|
}
|
|
218
200
|
|
|
201
|
+
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
202
|
+
|
|
203
|
+
export interface ShipConditions extends ShipPosition {
|
|
204
|
+
formation?: Formation;
|
|
205
|
+
amagiri_index?: number | null;
|
|
206
|
+
}
|
|
207
|
+
|
|
219
208
|
export type SpecialEnemyType =
|
|
220
209
|
| "None"
|
|
221
210
|
| "SoftSkinned"
|
|
@@ -232,6 +221,8 @@ export type SpecialEnemyType =
|
|
|
232
221
|
| "DockPrincess"
|
|
233
222
|
| "SummerAircraftCarrierDemon";
|
|
234
223
|
|
|
224
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
225
|
+
|
|
235
226
|
export interface MasterData extends MasterBattleDefinitions {
|
|
236
227
|
created_at: number;
|
|
237
228
|
gears: MasterGear[];
|
|
@@ -253,37 +244,6 @@ export interface MasterAttrRule<T> {
|
|
|
253
244
|
expr: CompiledEvaler;
|
|
254
245
|
}
|
|
255
246
|
|
|
256
|
-
export interface EquippabilityRule {
|
|
257
|
-
ship: CompiledEvaler;
|
|
258
|
-
keys?: string[];
|
|
259
|
-
include?: string;
|
|
260
|
-
exclude?: string;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
export interface MasterEquippability {
|
|
264
|
-
equip_stype: EquipStype[];
|
|
265
|
-
equip_exslot: number[];
|
|
266
|
-
equip_ship: MstEquipShip[];
|
|
267
|
-
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
268
|
-
rules: EquippabilityRule[];
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
export interface MstEquipExslotShip {
|
|
272
|
-
api_ctypes: Record<number, number> | null;
|
|
273
|
-
api_ship_ids: Record<number, number> | null;
|
|
274
|
-
api_stypes: Record<number, number> | null;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
export interface MstEquipShip {
|
|
278
|
-
api_ship_id: number;
|
|
279
|
-
api_equip_type: number[];
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
export interface EquipStype {
|
|
283
|
-
id: number;
|
|
284
|
-
equip_type: number[];
|
|
285
|
-
}
|
|
286
|
-
|
|
287
247
|
export interface MasterBattleDefinitions {
|
|
288
248
|
formation: NestedFormationDef[];
|
|
289
249
|
anti_air_cutin: AntiAirCutinDef[];
|
|
@@ -335,7 +295,12 @@ export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
|
335
295
|
observation_term: number | null;
|
|
336
296
|
}
|
|
337
297
|
|
|
338
|
-
export
|
|
298
|
+
export interface AttackAnalyzerShipConfig
|
|
299
|
+
extends ShipConditions,
|
|
300
|
+
NightFleetConditions {
|
|
301
|
+
balloons?: number;
|
|
302
|
+
fleet_los_mod?: number | null;
|
|
303
|
+
}
|
|
339
304
|
|
|
340
305
|
export type SingleFormation =
|
|
341
306
|
| "LineAhead"
|
|
@@ -384,8 +349,6 @@ export type GearAttr =
|
|
|
384
349
|
| "SemiNightPlane"
|
|
385
350
|
| "HighAltitudeInterceptor";
|
|
386
351
|
|
|
387
|
-
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
388
|
-
|
|
389
352
|
export interface OrgState {
|
|
390
353
|
id?: string;
|
|
391
354
|
f1?: FleetState;
|
|
@@ -412,55 +375,55 @@ export type OrgType =
|
|
|
412
375
|
| "EnemySingle"
|
|
413
376
|
| "EnemyCombined";
|
|
414
377
|
|
|
415
|
-
export
|
|
378
|
+
export interface EquippabilityRule {
|
|
379
|
+
ship: CompiledEvaler;
|
|
380
|
+
keys?: string[];
|
|
381
|
+
include?: string;
|
|
382
|
+
exclude?: string;
|
|
383
|
+
}
|
|
416
384
|
|
|
417
|
-
export
|
|
385
|
+
export interface MasterEquippability {
|
|
386
|
+
equip_stype: EquipStype[];
|
|
387
|
+
equip_exslot: number[];
|
|
388
|
+
equip_ship: MstEquipShip[];
|
|
389
|
+
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
390
|
+
rules: EquippabilityRule[];
|
|
391
|
+
}
|
|
418
392
|
|
|
419
|
-
export interface
|
|
420
|
-
|
|
421
|
-
|
|
393
|
+
export interface MstEquipExslotShip {
|
|
394
|
+
api_ctypes: Record<number, number> | null;
|
|
395
|
+
api_ship_ids: Record<number, number> | null;
|
|
396
|
+
api_stypes: Record<number, number> | null;
|
|
422
397
|
}
|
|
423
398
|
|
|
424
|
-
export interface
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
index: number;
|
|
428
|
-
damage_state_map: Record<DamageState, number>;
|
|
399
|
+
export interface MstEquipShip {
|
|
400
|
+
api_ship_id: number;
|
|
401
|
+
api_equip_type: number[];
|
|
429
402
|
}
|
|
430
403
|
|
|
431
|
-
export interface
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
attack_power: AttackPower | null;
|
|
435
|
-
attack_power_params: AttackPowerParams | null;
|
|
436
|
-
hits: number;
|
|
437
|
-
hit_rate: HitRate | null;
|
|
438
|
-
hit_rate_params: HitRateParams | null;
|
|
439
|
-
damage: DamageReport | null;
|
|
404
|
+
export interface EquipStype {
|
|
405
|
+
id: number;
|
|
406
|
+
equip_type: number[];
|
|
440
407
|
}
|
|
441
408
|
|
|
442
|
-
export interface
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
fleet_los_mod?: number | null;
|
|
409
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
410
|
+
formation?: Formation;
|
|
411
|
+
balloons?: number;
|
|
446
412
|
}
|
|
447
413
|
|
|
448
|
-
export interface
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
414
|
+
export interface NodeAttackAnalyzerConfig {
|
|
415
|
+
air_state?: AirState;
|
|
416
|
+
engagement?: Engagement;
|
|
417
|
+
node_state?: NodeState;
|
|
418
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
419
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
452
420
|
}
|
|
453
421
|
|
|
454
|
-
export interface
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
proportional_shotdown_rate: number | null;
|
|
460
|
-
fixed_shotdown_number: number | null;
|
|
461
|
-
guaranteed: number | null;
|
|
462
|
-
anti_air_cutin_chance: [number, number][];
|
|
463
|
-
anti_air_propellant_barrage_chance: number | null;
|
|
422
|
+
export interface NodeAttackAnalysis {
|
|
423
|
+
left: AttackAnalysis;
|
|
424
|
+
right: AttackAnalysis;
|
|
425
|
+
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
426
|
+
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
464
427
|
}
|
|
465
428
|
|
|
466
429
|
export interface FormationCombatModifiersDef {
|
|
@@ -536,6 +499,8 @@ export interface BattleDefinitions {
|
|
|
536
499
|
historical_bonuses: HistoricalBonusDef[];
|
|
537
500
|
}
|
|
538
501
|
|
|
502
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
503
|
+
|
|
539
504
|
export interface ShipPosition {
|
|
540
505
|
org_type?: OrgType;
|
|
541
506
|
fleet_type?: FleetType;
|
|
@@ -543,6 +508,49 @@ export interface ShipPosition {
|
|
|
543
508
|
index?: number;
|
|
544
509
|
}
|
|
545
510
|
|
|
511
|
+
export interface SimulatorResult {
|
|
512
|
+
items: SimulatorResultItem[];
|
|
513
|
+
sunk_vec: [number, number, number][];
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
export interface SimulatorResultItem {
|
|
517
|
+
id: string;
|
|
518
|
+
fleet_type: FleetType;
|
|
519
|
+
index: number;
|
|
520
|
+
damage_state_map: Record<DamageState, number>;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
export interface ContactAnalysis {
|
|
524
|
+
single: DayContactChance[] | null;
|
|
525
|
+
combined: DayContactChance[] | null;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
export interface DayContactChance {
|
|
529
|
+
air_state: AirState;
|
|
530
|
+
trigger_rate: number;
|
|
531
|
+
rank3: number;
|
|
532
|
+
rank2: number;
|
|
533
|
+
rank1: number;
|
|
534
|
+
total: number;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
export type NodeId = string;
|
|
538
|
+
|
|
539
|
+
export interface NodeState {
|
|
540
|
+
map?: number;
|
|
541
|
+
node?: NodeId;
|
|
542
|
+
phase?: number;
|
|
543
|
+
debuff?: boolean;
|
|
544
|
+
disable_historical_mod?: boolean;
|
|
545
|
+
landing_battle?: boolean;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
export type Side = "Player" | "Enemy";
|
|
549
|
+
|
|
550
|
+
export type Align = "Left" | "Right";
|
|
551
|
+
|
|
552
|
+
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
553
|
+
|
|
546
554
|
export type CompiledEvaler = string;
|
|
547
555
|
|
|
548
556
|
export interface HitRate {
|
|
@@ -567,37 +575,33 @@ export interface ShipAnalyzerConfig {
|
|
|
567
575
|
right?: AttackAnalyzerShipConfig;
|
|
568
576
|
}
|
|
569
577
|
|
|
570
|
-
export interface
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
right?: NodeAttackAnalyzerShipConfig;
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
export interface NodeAttackAnalysis {
|
|
583
|
-
left: AttackAnalysis;
|
|
584
|
-
right: AttackAnalysis;
|
|
585
|
-
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
586
|
-
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
578
|
+
export interface AttackReport<T> {
|
|
579
|
+
style: T;
|
|
580
|
+
proc_rate: number | null;
|
|
581
|
+
attack_power: AttackPower | null;
|
|
582
|
+
attack_power_params: AttackPowerParams | null;
|
|
583
|
+
hits: number;
|
|
584
|
+
hit_rate: HitRate | null;
|
|
585
|
+
hit_rate_params: HitRateParams | null;
|
|
586
|
+
damage: DamageReport | null;
|
|
587
587
|
}
|
|
588
588
|
|
|
589
|
-
export interface
|
|
590
|
-
|
|
591
|
-
|
|
589
|
+
export interface CompAntiAirAnalysis {
|
|
590
|
+
fleet_adjusted_anti_air: number;
|
|
591
|
+
ships: AntiAirReport[];
|
|
592
|
+
anti_air_cutin_chance: [number, number][];
|
|
592
593
|
}
|
|
593
594
|
|
|
594
|
-
export interface
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
595
|
+
export interface AntiAirReport {
|
|
596
|
+
ship_id: number;
|
|
597
|
+
role: Role;
|
|
598
|
+
index: number;
|
|
599
|
+
adjusted_anti_air: number | null;
|
|
600
|
+
proportional_shotdown_rate: number | null;
|
|
601
|
+
fixed_shotdown_number: number | null;
|
|
602
|
+
guaranteed: number | null;
|
|
603
|
+
anti_air_cutin_chance: [number, number][];
|
|
604
|
+
anti_air_propellant_barrage_chance: number | null;
|
|
601
605
|
}
|
|
602
606
|
|
|
603
607
|
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
@@ -627,20 +631,6 @@ export type NightPhaseAttackType =
|
|
|
627
631
|
|
|
628
632
|
export type TorpedoAttackType = null;
|
|
629
633
|
|
|
630
|
-
export type NodeId = string;
|
|
631
|
-
|
|
632
|
-
export interface NodeState {
|
|
633
|
-
map?: number;
|
|
634
|
-
node?: NodeId;
|
|
635
|
-
phase?: number;
|
|
636
|
-
debuff?: boolean;
|
|
637
|
-
disable_historical_mod?: boolean;
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
export type Side = "Player" | "Enemy";
|
|
641
|
-
|
|
642
|
-
export type Align = "Left" | "Right";
|
|
643
|
-
|
|
644
634
|
export interface MoveShipPayload {
|
|
645
635
|
current: [string, string, ShipKey];
|
|
646
636
|
target: [string | null, string, ShipKey];
|
|
@@ -986,6 +976,8 @@ export type ShipType =
|
|
|
986
976
|
| "CT"
|
|
987
977
|
| "AO";
|
|
988
978
|
|
|
979
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
980
|
+
|
|
989
981
|
export type GearVecInput = GearInput[];
|
|
990
982
|
|
|
991
983
|
export interface GearInput {
|
|
@@ -1039,6 +1031,19 @@ export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
|
1039
1031
|
power_mod: number;
|
|
1040
1032
|
}
|
|
1041
1033
|
|
|
1034
|
+
export interface DamageReport {
|
|
1035
|
+
miss_damage_min: number;
|
|
1036
|
+
miss_damage_max: number;
|
|
1037
|
+
normal_damage_min: number;
|
|
1038
|
+
normal_damage_max: number;
|
|
1039
|
+
critical_damage_min: number;
|
|
1040
|
+
critical_damage_max: number;
|
|
1041
|
+
normal_scratch_rate: number;
|
|
1042
|
+
critical_scratch_rate: number;
|
|
1043
|
+
damage_density: Histogram<number, number>;
|
|
1044
|
+
damage_state_density: Histogram<DamageState, number>;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1042
1047
|
/**
|
|
1043
1048
|
*/
|
|
1044
1049
|
export class AirSquadron {
|
|
@@ -1234,6 +1239,10 @@ export class Comp {
|
|
|
1234
1239
|
* @returns {number | undefined}
|
|
1235
1240
|
*/
|
|
1236
1241
|
fleet_los_mod(fleet_type: FleetType): number | undefined;
|
|
1242
|
+
/**
|
|
1243
|
+
* @returns {number}
|
|
1244
|
+
*/
|
|
1245
|
+
balloons(): number;
|
|
1237
1246
|
/**
|
|
1238
1247
|
*/
|
|
1239
1248
|
boss_sup?: Fleet;
|
|
@@ -1286,6 +1295,11 @@ export class FhCore {
|
|
|
1286
1295
|
* @returns {Org | undefined}
|
|
1287
1296
|
*/
|
|
1288
1297
|
create_org(input?: OrgState): Org | undefined;
|
|
1298
|
+
/**
|
|
1299
|
+
* @param {number} ship_id
|
|
1300
|
+
* @returns {ShipState | undefined}
|
|
1301
|
+
*/
|
|
1302
|
+
create_ship_state_by_id(ship_id: number): ShipState | undefined;
|
|
1289
1303
|
/**
|
|
1290
1304
|
* @param {number} ship_id
|
|
1291
1305
|
* @returns {Ship | undefined}
|
|
@@ -1526,6 +1540,10 @@ export class Gear {
|
|
|
1526
1540
|
* @returns {boolean}
|
|
1527
1541
|
*/
|
|
1528
1542
|
can_be_deployed_to_land_base(): boolean;
|
|
1543
|
+
/**
|
|
1544
|
+
* @returns {boolean}
|
|
1545
|
+
*/
|
|
1546
|
+
is_balloon(): boolean;
|
|
1529
1547
|
/**
|
|
1530
1548
|
*/
|
|
1531
1549
|
readonly accuracy: number;
|
package/node/fleethub_core.js
CHANGED
|
@@ -769,6 +769,13 @@ class Comp {
|
|
|
769
769
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
770
770
|
}
|
|
771
771
|
}
|
|
772
|
+
/**
|
|
773
|
+
* @returns {number}
|
|
774
|
+
*/
|
|
775
|
+
balloons() {
|
|
776
|
+
const ret = wasm.comp_balloons(this.__wbg_ptr);
|
|
777
|
+
return ret >>> 0;
|
|
778
|
+
}
|
|
772
779
|
}
|
|
773
780
|
module.exports.Comp = Comp;
|
|
774
781
|
|
|
@@ -856,6 +863,14 @@ class FhCore {
|
|
|
856
863
|
}
|
|
857
864
|
/**
|
|
858
865
|
* @param {number} ship_id
|
|
866
|
+
* @returns {ShipState | undefined}
|
|
867
|
+
*/
|
|
868
|
+
create_ship_state_by_id(ship_id) {
|
|
869
|
+
const ret = wasm.fhcore_create_ship_state_by_id(this.__wbg_ptr, ship_id);
|
|
870
|
+
return takeObject(ret);
|
|
871
|
+
}
|
|
872
|
+
/**
|
|
873
|
+
* @param {number} ship_id
|
|
859
874
|
* @returns {Ship | undefined}
|
|
860
875
|
*/
|
|
861
876
|
create_ship_by_id(ship_id) {
|
|
@@ -1674,6 +1689,13 @@ class Gear {
|
|
|
1674
1689
|
const ret = wasm.gear_can_be_deployed_to_land_base(this.__wbg_ptr);
|
|
1675
1690
|
return ret !== 0;
|
|
1676
1691
|
}
|
|
1692
|
+
/**
|
|
1693
|
+
* @returns {boolean}
|
|
1694
|
+
*/
|
|
1695
|
+
is_balloon() {
|
|
1696
|
+
const ret = wasm.gear_is_balloon(this.__wbg_ptr);
|
|
1697
|
+
return ret !== 0;
|
|
1698
|
+
}
|
|
1677
1699
|
}
|
|
1678
1700
|
module.exports.Gear = Gear;
|
|
1679
1701
|
|
|
@@ -2949,7 +2971,7 @@ module.exports.__wbg_ship_new = function(arg0) {
|
|
|
2949
2971
|
return addHeapObject(ret);
|
|
2950
2972
|
};
|
|
2951
2973
|
|
|
2952
|
-
module.exports.
|
|
2974
|
+
module.exports.__wbg_createEquipmentBonuses_9b9d0a315ee50a1e = function(arg0, arg1) {
|
|
2953
2975
|
const ret = createEquipmentBonuses(takeObject(arg0), takeObject(arg1));
|
|
2954
2976
|
return addHeapObject(ret);
|
|
2955
2977
|
};
|
|
Binary file
|
|
@@ -128,6 +128,37 @@ export function airsquadron_fighter_power(a: number): number;
|
|
|
128
128
|
export function airsquadron_interception_power(a: number): number;
|
|
129
129
|
export function airsquadron_radius(a: number): number;
|
|
130
130
|
export function parse_ship_conditions(a: number): number;
|
|
131
|
+
export function __wbg_comp_free(a: number): void;
|
|
132
|
+
export function __wbg_get_comp_org_type(a: number): number;
|
|
133
|
+
export function __wbg_get_comp_hq_level(a: number): number;
|
|
134
|
+
export function __wbg_get_comp_main(a: number): number;
|
|
135
|
+
export function __wbg_set_comp_main(a: number, b: number): void;
|
|
136
|
+
export function __wbg_get_comp_escort(a: number): number;
|
|
137
|
+
export function __wbg_set_comp_escort(a: number, b: number): void;
|
|
138
|
+
export function __wbg_get_comp_route_sup(a: number): number;
|
|
139
|
+
export function __wbg_set_comp_route_sup(a: number, b: number): void;
|
|
140
|
+
export function __wbg_get_comp_boss_sup(a: number): number;
|
|
141
|
+
export function __wbg_set_comp_boss_sup(a: number, b: number): void;
|
|
142
|
+
export function comp_side(a: number): number;
|
|
143
|
+
export function comp_is_combined(a: number): number;
|
|
144
|
+
export function comp_is_player(a: number): number;
|
|
145
|
+
export function comp_is_enemy(a: number): number;
|
|
146
|
+
export function comp_has_ship_eid(a: number, b: number, c: number): number;
|
|
147
|
+
export function comp_first_ship_id(a: number, b: number): void;
|
|
148
|
+
export function comp_has_route_sup(a: number): number;
|
|
149
|
+
export function comp_meta(a: number): number;
|
|
150
|
+
export function comp_get_fleet_id(a: number, b: number, c: number): void;
|
|
151
|
+
export function comp_get_ship_with_clone(a: number, b: number, c: number): number;
|
|
152
|
+
export function comp_get_ship_entity_id(a: number, b: number, c: number, d: number): void;
|
|
153
|
+
export function comp_get_ship_by_eid_with_clone(a: number, b: number, c: number): number;
|
|
154
|
+
export function comp_default_formation(a: number): number;
|
|
155
|
+
export function comp_adjusted_anti_air(a: number, b: number): number;
|
|
156
|
+
export function comp_fighter_power(a: number, b: number, c: number, d: number): void;
|
|
157
|
+
export function comp_elos(a: number, b: number, c: number): void;
|
|
158
|
+
export function comp_transport_point(a: number): number;
|
|
159
|
+
export function comp_get_ship_conditions(a: number, b: number, c: number): number;
|
|
160
|
+
export function comp_fleet_los_mod(a: number, b: number, c: number): void;
|
|
161
|
+
export function comp_balloons(a: number): number;
|
|
131
162
|
export function __wbg_gear_free(a: number): void;
|
|
132
163
|
export function __wbg_get_gear_id(a: number, b: number): void;
|
|
133
164
|
export function __wbg_set_gear_id(a: number, b: number, c: number): void;
|
|
@@ -189,37 +220,8 @@ export function gear_is_abyssal_cuttlefish_torpedo(a: number): number;
|
|
|
189
220
|
export function gear_is_abyssal_patrolling_attack_hawk(a: number): number;
|
|
190
221
|
export function gear_expedition_bonus(a: number): number;
|
|
191
222
|
export function gear_can_be_deployed_to_land_base(a: number): number;
|
|
223
|
+
export function gear_is_balloon(a: number): number;
|
|
192
224
|
export function gear_has_proficiency(a: number): number;
|
|
193
|
-
export function __wbg_comp_free(a: number): void;
|
|
194
|
-
export function __wbg_get_comp_org_type(a: number): number;
|
|
195
|
-
export function __wbg_get_comp_hq_level(a: number): number;
|
|
196
|
-
export function __wbg_get_comp_main(a: number): number;
|
|
197
|
-
export function __wbg_set_comp_main(a: number, b: number): void;
|
|
198
|
-
export function __wbg_get_comp_escort(a: number): number;
|
|
199
|
-
export function __wbg_set_comp_escort(a: number, b: number): void;
|
|
200
|
-
export function __wbg_get_comp_route_sup(a: number): number;
|
|
201
|
-
export function __wbg_set_comp_route_sup(a: number, b: number): void;
|
|
202
|
-
export function __wbg_get_comp_boss_sup(a: number): number;
|
|
203
|
-
export function __wbg_set_comp_boss_sup(a: number, b: number): void;
|
|
204
|
-
export function comp_side(a: number): number;
|
|
205
|
-
export function comp_is_combined(a: number): number;
|
|
206
|
-
export function comp_is_player(a: number): number;
|
|
207
|
-
export function comp_is_enemy(a: number): number;
|
|
208
|
-
export function comp_has_ship_eid(a: number, b: number, c: number): number;
|
|
209
|
-
export function comp_first_ship_id(a: number, b: number): void;
|
|
210
|
-
export function comp_has_route_sup(a: number): number;
|
|
211
|
-
export function comp_meta(a: number): number;
|
|
212
|
-
export function comp_get_fleet_id(a: number, b: number, c: number): void;
|
|
213
|
-
export function comp_get_ship_with_clone(a: number, b: number, c: number): number;
|
|
214
|
-
export function comp_get_ship_entity_id(a: number, b: number, c: number, d: number): void;
|
|
215
|
-
export function comp_get_ship_by_eid_with_clone(a: number, b: number, c: number): number;
|
|
216
|
-
export function comp_default_formation(a: number): number;
|
|
217
|
-
export function comp_adjusted_anti_air(a: number, b: number): number;
|
|
218
|
-
export function comp_fighter_power(a: number, b: number, c: number, d: number): void;
|
|
219
|
-
export function comp_elos(a: number, b: number, c: number): void;
|
|
220
|
-
export function comp_transport_point(a: number): number;
|
|
221
|
-
export function comp_get_ship_conditions(a: number, b: number, c: number): number;
|
|
222
|
-
export function comp_fleet_los_mod(a: number, b: number, c: number): void;
|
|
223
225
|
export function set_panic_hook(): void;
|
|
224
226
|
export function ship_state_day_gunfit_accuracy(a: number, b: number): void;
|
|
225
227
|
export function ship_state_night_gunfit_accuracy(a: number, b: number): void;
|
|
@@ -265,6 +267,7 @@ export function fhcore_create_ship(a: number, b: number): number;
|
|
|
265
267
|
export function fhcore_create_air_squadron(a: number, b: number): number;
|
|
266
268
|
export function fhcore_create_fleet(a: number, b: number): number;
|
|
267
269
|
export function fhcore_create_org(a: number, b: number): number;
|
|
270
|
+
export function fhcore_create_ship_state_by_id(a: number, b: number): number;
|
|
268
271
|
export function fhcore_create_ship_by_id(a: number, b: number): number;
|
|
269
272
|
export function fhcore_create_all_ships(a: number): number;
|
|
270
273
|
export function fhcore_create_comp_by_map_enemy(a: number, b: number, c: number, d: number, e: number): number;
|
package/package.json
CHANGED
package/pkg/fleethub_core.d.ts
CHANGED
|
@@ -8,19 +8,31 @@ export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
|
8
8
|
/**
|
|
9
9
|
*/
|
|
10
10
|
export function set_panic_hook(): void;
|
|
11
|
-
export
|
|
11
|
+
export interface CompAnalyzerConfig {
|
|
12
|
+
engagement: Engagement;
|
|
13
|
+
formation: Formation;
|
|
14
|
+
anti_air_cutin: number | null;
|
|
15
|
+
ship_anti_air_resist: number;
|
|
16
|
+
fleet_anti_air_resist: number;
|
|
17
|
+
left_night_fleet_conditions: NightFleetConditions;
|
|
18
|
+
right_night_fleet_conditions: NightFleetConditions;
|
|
19
|
+
}
|
|
12
20
|
|
|
13
|
-
export interface
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
export interface CompNightAnalysis {
|
|
22
|
+
night_cutin: CompNightCutinAnalysis;
|
|
23
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface CompDayAnalysis {
|
|
27
|
+
day_cutin: CompDayCutinAnalysis;
|
|
28
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface CompAnalysis {
|
|
32
|
+
day: CompDayAnalysis;
|
|
33
|
+
night: CompNightAnalysis;
|
|
34
|
+
contact: ContactAnalysis;
|
|
35
|
+
anti_air: CompAntiAirAnalysis;
|
|
24
36
|
}
|
|
25
37
|
|
|
26
38
|
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
@@ -39,10 +51,9 @@ export type AirState =
|
|
|
39
51
|
|
|
40
52
|
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
41
53
|
|
|
42
|
-
export
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
54
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
55
|
+
|
|
56
|
+
export type Role = "Main" | "Escort";
|
|
46
57
|
|
|
47
58
|
export interface SupportShellingSimulatorParams {
|
|
48
59
|
attacker_formation?: Formation;
|
|
@@ -51,8 +62,6 @@ export interface SupportShellingSimulatorParams {
|
|
|
51
62
|
node_state: NodeState;
|
|
52
63
|
}
|
|
53
64
|
|
|
54
|
-
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
55
|
-
|
|
56
65
|
export interface MasterIBonuses {
|
|
57
66
|
shelling_power: MasterIBonusRule[];
|
|
58
67
|
shelling_accuracy: MasterIBonusRule[];
|
|
@@ -89,6 +98,7 @@ export interface AttackPower {
|
|
|
89
98
|
}
|
|
90
99
|
|
|
91
100
|
export interface AttackPowerParams {
|
|
101
|
+
is_cutin: boolean;
|
|
92
102
|
basic: number;
|
|
93
103
|
cap: number;
|
|
94
104
|
precap_mod: AttackPowerModifier;
|
|
@@ -98,38 +108,12 @@ export interface AttackPowerParams {
|
|
|
98
108
|
proficiency_critical_mod: number;
|
|
99
109
|
armor_penetration: number;
|
|
100
110
|
remaining_ammo_mod: number;
|
|
111
|
+
balloon_mod: number;
|
|
101
112
|
special_enemy_mods: SpecialEnemyModifiers;
|
|
102
113
|
historical_mod: AttackPowerModifier;
|
|
103
114
|
custom_mods: CustomPowerModifiers;
|
|
104
115
|
}
|
|
105
116
|
|
|
106
|
-
export interface CompAnalyzerConfig {
|
|
107
|
-
engagement: Engagement;
|
|
108
|
-
formation: Formation;
|
|
109
|
-
anti_air_cutin: number | null;
|
|
110
|
-
ship_anti_air_resist: number;
|
|
111
|
-
fleet_anti_air_resist: number;
|
|
112
|
-
left_night_fleet_conditions: NightFleetConditions;
|
|
113
|
-
right_night_fleet_conditions: NightFleetConditions;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export interface CompNightAnalysis {
|
|
117
|
-
night_cutin: CompNightCutinAnalysis;
|
|
118
|
-
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
export interface CompDayAnalysis {
|
|
122
|
-
day_cutin: CompDayCutinAnalysis;
|
|
123
|
-
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export interface CompAnalysis {
|
|
127
|
-
day: CompDayAnalysis;
|
|
128
|
-
night: CompNightAnalysis;
|
|
129
|
-
contact: ContactAnalysis;
|
|
130
|
-
anti_air: CompAntiAirAnalysis;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
117
|
export interface ActionReport<T> {
|
|
134
118
|
data: Record<string, AttackReport<T>>;
|
|
135
119
|
damage_state_density: Histogram<DamageState, number> | null;
|
|
@@ -187,8 +171,6 @@ export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
|
187
171
|
|
|
188
172
|
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
189
173
|
|
|
190
|
-
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
191
|
-
|
|
192
174
|
export interface FleetState {
|
|
193
175
|
id?: string;
|
|
194
176
|
len?: number;
|
|
@@ -216,6 +198,13 @@ export interface CompMeta {
|
|
|
216
198
|
fleets: Record<FleetType, FleetMeta>;
|
|
217
199
|
}
|
|
218
200
|
|
|
201
|
+
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
202
|
+
|
|
203
|
+
export interface ShipConditions extends ShipPosition {
|
|
204
|
+
formation?: Formation;
|
|
205
|
+
amagiri_index?: number | null;
|
|
206
|
+
}
|
|
207
|
+
|
|
219
208
|
export type SpecialEnemyType =
|
|
220
209
|
| "None"
|
|
221
210
|
| "SoftSkinned"
|
|
@@ -232,6 +221,8 @@ export type SpecialEnemyType =
|
|
|
232
221
|
| "DockPrincess"
|
|
233
222
|
| "SummerAircraftCarrierDemon";
|
|
234
223
|
|
|
224
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
225
|
+
|
|
235
226
|
export interface MasterData extends MasterBattleDefinitions {
|
|
236
227
|
created_at: number;
|
|
237
228
|
gears: MasterGear[];
|
|
@@ -253,37 +244,6 @@ export interface MasterAttrRule<T> {
|
|
|
253
244
|
expr: CompiledEvaler;
|
|
254
245
|
}
|
|
255
246
|
|
|
256
|
-
export interface EquippabilityRule {
|
|
257
|
-
ship: CompiledEvaler;
|
|
258
|
-
keys?: string[];
|
|
259
|
-
include?: string;
|
|
260
|
-
exclude?: string;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
export interface MasterEquippability {
|
|
264
|
-
equip_stype: EquipStype[];
|
|
265
|
-
equip_exslot: number[];
|
|
266
|
-
equip_ship: MstEquipShip[];
|
|
267
|
-
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
268
|
-
rules: EquippabilityRule[];
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
export interface MstEquipExslotShip {
|
|
272
|
-
api_ctypes: Record<number, number> | null;
|
|
273
|
-
api_ship_ids: Record<number, number> | null;
|
|
274
|
-
api_stypes: Record<number, number> | null;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
export interface MstEquipShip {
|
|
278
|
-
api_ship_id: number;
|
|
279
|
-
api_equip_type: number[];
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
export interface EquipStype {
|
|
283
|
-
id: number;
|
|
284
|
-
equip_type: number[];
|
|
285
|
-
}
|
|
286
|
-
|
|
287
247
|
export interface MasterBattleDefinitions {
|
|
288
248
|
formation: NestedFormationDef[];
|
|
289
249
|
anti_air_cutin: AntiAirCutinDef[];
|
|
@@ -335,7 +295,12 @@ export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
|
335
295
|
observation_term: number | null;
|
|
336
296
|
}
|
|
337
297
|
|
|
338
|
-
export
|
|
298
|
+
export interface AttackAnalyzerShipConfig
|
|
299
|
+
extends ShipConditions,
|
|
300
|
+
NightFleetConditions {
|
|
301
|
+
balloons?: number;
|
|
302
|
+
fleet_los_mod?: number | null;
|
|
303
|
+
}
|
|
339
304
|
|
|
340
305
|
export type SingleFormation =
|
|
341
306
|
| "LineAhead"
|
|
@@ -384,8 +349,6 @@ export type GearAttr =
|
|
|
384
349
|
| "SemiNightPlane"
|
|
385
350
|
| "HighAltitudeInterceptor";
|
|
386
351
|
|
|
387
|
-
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
388
|
-
|
|
389
352
|
export interface OrgState {
|
|
390
353
|
id?: string;
|
|
391
354
|
f1?: FleetState;
|
|
@@ -412,55 +375,55 @@ export type OrgType =
|
|
|
412
375
|
| "EnemySingle"
|
|
413
376
|
| "EnemyCombined";
|
|
414
377
|
|
|
415
|
-
export
|
|
378
|
+
export interface EquippabilityRule {
|
|
379
|
+
ship: CompiledEvaler;
|
|
380
|
+
keys?: string[];
|
|
381
|
+
include?: string;
|
|
382
|
+
exclude?: string;
|
|
383
|
+
}
|
|
416
384
|
|
|
417
|
-
export
|
|
385
|
+
export interface MasterEquippability {
|
|
386
|
+
equip_stype: EquipStype[];
|
|
387
|
+
equip_exslot: number[];
|
|
388
|
+
equip_ship: MstEquipShip[];
|
|
389
|
+
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
390
|
+
rules: EquippabilityRule[];
|
|
391
|
+
}
|
|
418
392
|
|
|
419
|
-
export interface
|
|
420
|
-
|
|
421
|
-
|
|
393
|
+
export interface MstEquipExslotShip {
|
|
394
|
+
api_ctypes: Record<number, number> | null;
|
|
395
|
+
api_ship_ids: Record<number, number> | null;
|
|
396
|
+
api_stypes: Record<number, number> | null;
|
|
422
397
|
}
|
|
423
398
|
|
|
424
|
-
export interface
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
index: number;
|
|
428
|
-
damage_state_map: Record<DamageState, number>;
|
|
399
|
+
export interface MstEquipShip {
|
|
400
|
+
api_ship_id: number;
|
|
401
|
+
api_equip_type: number[];
|
|
429
402
|
}
|
|
430
403
|
|
|
431
|
-
export interface
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
attack_power: AttackPower | null;
|
|
435
|
-
attack_power_params: AttackPowerParams | null;
|
|
436
|
-
hits: number;
|
|
437
|
-
hit_rate: HitRate | null;
|
|
438
|
-
hit_rate_params: HitRateParams | null;
|
|
439
|
-
damage: DamageReport | null;
|
|
404
|
+
export interface EquipStype {
|
|
405
|
+
id: number;
|
|
406
|
+
equip_type: number[];
|
|
440
407
|
}
|
|
441
408
|
|
|
442
|
-
export interface
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
fleet_los_mod?: number | null;
|
|
409
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
410
|
+
formation?: Formation;
|
|
411
|
+
balloons?: number;
|
|
446
412
|
}
|
|
447
413
|
|
|
448
|
-
export interface
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
414
|
+
export interface NodeAttackAnalyzerConfig {
|
|
415
|
+
air_state?: AirState;
|
|
416
|
+
engagement?: Engagement;
|
|
417
|
+
node_state?: NodeState;
|
|
418
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
419
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
452
420
|
}
|
|
453
421
|
|
|
454
|
-
export interface
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
proportional_shotdown_rate: number | null;
|
|
460
|
-
fixed_shotdown_number: number | null;
|
|
461
|
-
guaranteed: number | null;
|
|
462
|
-
anti_air_cutin_chance: [number, number][];
|
|
463
|
-
anti_air_propellant_barrage_chance: number | null;
|
|
422
|
+
export interface NodeAttackAnalysis {
|
|
423
|
+
left: AttackAnalysis;
|
|
424
|
+
right: AttackAnalysis;
|
|
425
|
+
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
426
|
+
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
464
427
|
}
|
|
465
428
|
|
|
466
429
|
export interface FormationCombatModifiersDef {
|
|
@@ -536,6 +499,8 @@ export interface BattleDefinitions {
|
|
|
536
499
|
historical_bonuses: HistoricalBonusDef[];
|
|
537
500
|
}
|
|
538
501
|
|
|
502
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
503
|
+
|
|
539
504
|
export interface ShipPosition {
|
|
540
505
|
org_type?: OrgType;
|
|
541
506
|
fleet_type?: FleetType;
|
|
@@ -543,6 +508,49 @@ export interface ShipPosition {
|
|
|
543
508
|
index?: number;
|
|
544
509
|
}
|
|
545
510
|
|
|
511
|
+
export interface SimulatorResult {
|
|
512
|
+
items: SimulatorResultItem[];
|
|
513
|
+
sunk_vec: [number, number, number][];
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
export interface SimulatorResultItem {
|
|
517
|
+
id: string;
|
|
518
|
+
fleet_type: FleetType;
|
|
519
|
+
index: number;
|
|
520
|
+
damage_state_map: Record<DamageState, number>;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
export interface ContactAnalysis {
|
|
524
|
+
single: DayContactChance[] | null;
|
|
525
|
+
combined: DayContactChance[] | null;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
export interface DayContactChance {
|
|
529
|
+
air_state: AirState;
|
|
530
|
+
trigger_rate: number;
|
|
531
|
+
rank3: number;
|
|
532
|
+
rank2: number;
|
|
533
|
+
rank1: number;
|
|
534
|
+
total: number;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
export type NodeId = string;
|
|
538
|
+
|
|
539
|
+
export interface NodeState {
|
|
540
|
+
map?: number;
|
|
541
|
+
node?: NodeId;
|
|
542
|
+
phase?: number;
|
|
543
|
+
debuff?: boolean;
|
|
544
|
+
disable_historical_mod?: boolean;
|
|
545
|
+
landing_battle?: boolean;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
export type Side = "Player" | "Enemy";
|
|
549
|
+
|
|
550
|
+
export type Align = "Left" | "Right";
|
|
551
|
+
|
|
552
|
+
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
553
|
+
|
|
546
554
|
export type CompiledEvaler = string;
|
|
547
555
|
|
|
548
556
|
export interface HitRate {
|
|
@@ -567,37 +575,33 @@ export interface ShipAnalyzerConfig {
|
|
|
567
575
|
right?: AttackAnalyzerShipConfig;
|
|
568
576
|
}
|
|
569
577
|
|
|
570
|
-
export interface
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
right?: NodeAttackAnalyzerShipConfig;
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
export interface NodeAttackAnalysis {
|
|
583
|
-
left: AttackAnalysis;
|
|
584
|
-
right: AttackAnalysis;
|
|
585
|
-
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
586
|
-
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
578
|
+
export interface AttackReport<T> {
|
|
579
|
+
style: T;
|
|
580
|
+
proc_rate: number | null;
|
|
581
|
+
attack_power: AttackPower | null;
|
|
582
|
+
attack_power_params: AttackPowerParams | null;
|
|
583
|
+
hits: number;
|
|
584
|
+
hit_rate: HitRate | null;
|
|
585
|
+
hit_rate_params: HitRateParams | null;
|
|
586
|
+
damage: DamageReport | null;
|
|
587
587
|
}
|
|
588
588
|
|
|
589
|
-
export interface
|
|
590
|
-
|
|
591
|
-
|
|
589
|
+
export interface CompAntiAirAnalysis {
|
|
590
|
+
fleet_adjusted_anti_air: number;
|
|
591
|
+
ships: AntiAirReport[];
|
|
592
|
+
anti_air_cutin_chance: [number, number][];
|
|
592
593
|
}
|
|
593
594
|
|
|
594
|
-
export interface
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
595
|
+
export interface AntiAirReport {
|
|
596
|
+
ship_id: number;
|
|
597
|
+
role: Role;
|
|
598
|
+
index: number;
|
|
599
|
+
adjusted_anti_air: number | null;
|
|
600
|
+
proportional_shotdown_rate: number | null;
|
|
601
|
+
fixed_shotdown_number: number | null;
|
|
602
|
+
guaranteed: number | null;
|
|
603
|
+
anti_air_cutin_chance: [number, number][];
|
|
604
|
+
anti_air_propellant_barrage_chance: number | null;
|
|
601
605
|
}
|
|
602
606
|
|
|
603
607
|
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
@@ -627,20 +631,6 @@ export type NightPhaseAttackType =
|
|
|
627
631
|
|
|
628
632
|
export type TorpedoAttackType = null;
|
|
629
633
|
|
|
630
|
-
export type NodeId = string;
|
|
631
|
-
|
|
632
|
-
export interface NodeState {
|
|
633
|
-
map?: number;
|
|
634
|
-
node?: NodeId;
|
|
635
|
-
phase?: number;
|
|
636
|
-
debuff?: boolean;
|
|
637
|
-
disable_historical_mod?: boolean;
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
export type Side = "Player" | "Enemy";
|
|
641
|
-
|
|
642
|
-
export type Align = "Left" | "Right";
|
|
643
|
-
|
|
644
634
|
export interface MoveShipPayload {
|
|
645
635
|
current: [string, string, ShipKey];
|
|
646
636
|
target: [string | null, string, ShipKey];
|
|
@@ -986,6 +976,8 @@ export type ShipType =
|
|
|
986
976
|
| "CT"
|
|
987
977
|
| "AO";
|
|
988
978
|
|
|
979
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
980
|
+
|
|
989
981
|
export type GearVecInput = GearInput[];
|
|
990
982
|
|
|
991
983
|
export interface GearInput {
|
|
@@ -1039,6 +1031,19 @@ export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
|
1039
1031
|
power_mod: number;
|
|
1040
1032
|
}
|
|
1041
1033
|
|
|
1034
|
+
export interface DamageReport {
|
|
1035
|
+
miss_damage_min: number;
|
|
1036
|
+
miss_damage_max: number;
|
|
1037
|
+
normal_damage_min: number;
|
|
1038
|
+
normal_damage_max: number;
|
|
1039
|
+
critical_damage_min: number;
|
|
1040
|
+
critical_damage_max: number;
|
|
1041
|
+
normal_scratch_rate: number;
|
|
1042
|
+
critical_scratch_rate: number;
|
|
1043
|
+
damage_density: Histogram<number, number>;
|
|
1044
|
+
damage_state_density: Histogram<DamageState, number>;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1042
1047
|
/**
|
|
1043
1048
|
*/
|
|
1044
1049
|
export class AirSquadron {
|
|
@@ -1234,6 +1239,10 @@ export class Comp {
|
|
|
1234
1239
|
* @returns {number | undefined}
|
|
1235
1240
|
*/
|
|
1236
1241
|
fleet_los_mod(fleet_type: FleetType): number | undefined;
|
|
1242
|
+
/**
|
|
1243
|
+
* @returns {number}
|
|
1244
|
+
*/
|
|
1245
|
+
balloons(): number;
|
|
1237
1246
|
/**
|
|
1238
1247
|
*/
|
|
1239
1248
|
boss_sup?: Fleet;
|
|
@@ -1286,6 +1295,11 @@ export class FhCore {
|
|
|
1286
1295
|
* @returns {Org | undefined}
|
|
1287
1296
|
*/
|
|
1288
1297
|
create_org(input?: OrgState): Org | undefined;
|
|
1298
|
+
/**
|
|
1299
|
+
* @param {number} ship_id
|
|
1300
|
+
* @returns {ShipState | undefined}
|
|
1301
|
+
*/
|
|
1302
|
+
create_ship_state_by_id(ship_id: number): ShipState | undefined;
|
|
1289
1303
|
/**
|
|
1290
1304
|
* @param {number} ship_id
|
|
1291
1305
|
* @returns {Ship | undefined}
|
|
@@ -1526,6 +1540,10 @@ export class Gear {
|
|
|
1526
1540
|
* @returns {boolean}
|
|
1527
1541
|
*/
|
|
1528
1542
|
can_be_deployed_to_land_base(): boolean;
|
|
1543
|
+
/**
|
|
1544
|
+
* @returns {boolean}
|
|
1545
|
+
*/
|
|
1546
|
+
is_balloon(): boolean;
|
|
1529
1547
|
/**
|
|
1530
1548
|
*/
|
|
1531
1549
|
readonly accuracy: number;
|
package/pkg/fleethub_core_bg.js
CHANGED
|
@@ -773,6 +773,13 @@ export class Comp {
|
|
|
773
773
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
774
774
|
}
|
|
775
775
|
}
|
|
776
|
+
/**
|
|
777
|
+
* @returns {number}
|
|
778
|
+
*/
|
|
779
|
+
balloons() {
|
|
780
|
+
const ret = wasm.comp_balloons(this.__wbg_ptr);
|
|
781
|
+
return ret >>> 0;
|
|
782
|
+
}
|
|
776
783
|
}
|
|
777
784
|
|
|
778
785
|
const FhCoreFinalization = new FinalizationRegistry(ptr => wasm.__wbg_fhcore_free(ptr >>> 0));
|
|
@@ -859,6 +866,14 @@ export class FhCore {
|
|
|
859
866
|
}
|
|
860
867
|
/**
|
|
861
868
|
* @param {number} ship_id
|
|
869
|
+
* @returns {ShipState | undefined}
|
|
870
|
+
*/
|
|
871
|
+
create_ship_state_by_id(ship_id) {
|
|
872
|
+
const ret = wasm.fhcore_create_ship_state_by_id(this.__wbg_ptr, ship_id);
|
|
873
|
+
return takeObject(ret);
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* @param {number} ship_id
|
|
862
877
|
* @returns {Ship | undefined}
|
|
863
878
|
*/
|
|
864
879
|
create_ship_by_id(ship_id) {
|
|
@@ -1675,6 +1690,13 @@ export class Gear {
|
|
|
1675
1690
|
const ret = wasm.gear_can_be_deployed_to_land_base(this.__wbg_ptr);
|
|
1676
1691
|
return ret !== 0;
|
|
1677
1692
|
}
|
|
1693
|
+
/**
|
|
1694
|
+
* @returns {boolean}
|
|
1695
|
+
*/
|
|
1696
|
+
is_balloon() {
|
|
1697
|
+
const ret = wasm.gear_is_balloon(this.__wbg_ptr);
|
|
1698
|
+
return ret !== 0;
|
|
1699
|
+
}
|
|
1678
1700
|
}
|
|
1679
1701
|
|
|
1680
1702
|
const OrgFinalization = new FinalizationRegistry(ptr => wasm.__wbg_org_free(ptr >>> 0));
|
|
@@ -2947,7 +2969,7 @@ export function __wbg_ship_new(arg0) {
|
|
|
2947
2969
|
return addHeapObject(ret);
|
|
2948
2970
|
};
|
|
2949
2971
|
|
|
2950
|
-
export function
|
|
2972
|
+
export function __wbg_createEquipmentBonuses_9b9d0a315ee50a1e(arg0, arg1) {
|
|
2951
2973
|
const ret = createEquipmentBonuses(takeObject(arg0), takeObject(arg1));
|
|
2952
2974
|
return addHeapObject(ret);
|
|
2953
2975
|
};
|
|
Binary file
|
|
@@ -128,6 +128,37 @@ export function airsquadron_fighter_power(a: number): number;
|
|
|
128
128
|
export function airsquadron_interception_power(a: number): number;
|
|
129
129
|
export function airsquadron_radius(a: number): number;
|
|
130
130
|
export function parse_ship_conditions(a: number): number;
|
|
131
|
+
export function __wbg_comp_free(a: number): void;
|
|
132
|
+
export function __wbg_get_comp_org_type(a: number): number;
|
|
133
|
+
export function __wbg_get_comp_hq_level(a: number): number;
|
|
134
|
+
export function __wbg_get_comp_main(a: number): number;
|
|
135
|
+
export function __wbg_set_comp_main(a: number, b: number): void;
|
|
136
|
+
export function __wbg_get_comp_escort(a: number): number;
|
|
137
|
+
export function __wbg_set_comp_escort(a: number, b: number): void;
|
|
138
|
+
export function __wbg_get_comp_route_sup(a: number): number;
|
|
139
|
+
export function __wbg_set_comp_route_sup(a: number, b: number): void;
|
|
140
|
+
export function __wbg_get_comp_boss_sup(a: number): number;
|
|
141
|
+
export function __wbg_set_comp_boss_sup(a: number, b: number): void;
|
|
142
|
+
export function comp_side(a: number): number;
|
|
143
|
+
export function comp_is_combined(a: number): number;
|
|
144
|
+
export function comp_is_player(a: number): number;
|
|
145
|
+
export function comp_is_enemy(a: number): number;
|
|
146
|
+
export function comp_has_ship_eid(a: number, b: number, c: number): number;
|
|
147
|
+
export function comp_first_ship_id(a: number, b: number): void;
|
|
148
|
+
export function comp_has_route_sup(a: number): number;
|
|
149
|
+
export function comp_meta(a: number): number;
|
|
150
|
+
export function comp_get_fleet_id(a: number, b: number, c: number): void;
|
|
151
|
+
export function comp_get_ship_with_clone(a: number, b: number, c: number): number;
|
|
152
|
+
export function comp_get_ship_entity_id(a: number, b: number, c: number, d: number): void;
|
|
153
|
+
export function comp_get_ship_by_eid_with_clone(a: number, b: number, c: number): number;
|
|
154
|
+
export function comp_default_formation(a: number): number;
|
|
155
|
+
export function comp_adjusted_anti_air(a: number, b: number): number;
|
|
156
|
+
export function comp_fighter_power(a: number, b: number, c: number, d: number): void;
|
|
157
|
+
export function comp_elos(a: number, b: number, c: number): void;
|
|
158
|
+
export function comp_transport_point(a: number): number;
|
|
159
|
+
export function comp_get_ship_conditions(a: number, b: number, c: number): number;
|
|
160
|
+
export function comp_fleet_los_mod(a: number, b: number, c: number): void;
|
|
161
|
+
export function comp_balloons(a: number): number;
|
|
131
162
|
export function __wbg_gear_free(a: number): void;
|
|
132
163
|
export function __wbg_get_gear_id(a: number, b: number): void;
|
|
133
164
|
export function __wbg_set_gear_id(a: number, b: number, c: number): void;
|
|
@@ -189,37 +220,8 @@ export function gear_is_abyssal_cuttlefish_torpedo(a: number): number;
|
|
|
189
220
|
export function gear_is_abyssal_patrolling_attack_hawk(a: number): number;
|
|
190
221
|
export function gear_expedition_bonus(a: number): number;
|
|
191
222
|
export function gear_can_be_deployed_to_land_base(a: number): number;
|
|
223
|
+
export function gear_is_balloon(a: number): number;
|
|
192
224
|
export function gear_has_proficiency(a: number): number;
|
|
193
|
-
export function __wbg_comp_free(a: number): void;
|
|
194
|
-
export function __wbg_get_comp_org_type(a: number): number;
|
|
195
|
-
export function __wbg_get_comp_hq_level(a: number): number;
|
|
196
|
-
export function __wbg_get_comp_main(a: number): number;
|
|
197
|
-
export function __wbg_set_comp_main(a: number, b: number): void;
|
|
198
|
-
export function __wbg_get_comp_escort(a: number): number;
|
|
199
|
-
export function __wbg_set_comp_escort(a: number, b: number): void;
|
|
200
|
-
export function __wbg_get_comp_route_sup(a: number): number;
|
|
201
|
-
export function __wbg_set_comp_route_sup(a: number, b: number): void;
|
|
202
|
-
export function __wbg_get_comp_boss_sup(a: number): number;
|
|
203
|
-
export function __wbg_set_comp_boss_sup(a: number, b: number): void;
|
|
204
|
-
export function comp_side(a: number): number;
|
|
205
|
-
export function comp_is_combined(a: number): number;
|
|
206
|
-
export function comp_is_player(a: number): number;
|
|
207
|
-
export function comp_is_enemy(a: number): number;
|
|
208
|
-
export function comp_has_ship_eid(a: number, b: number, c: number): number;
|
|
209
|
-
export function comp_first_ship_id(a: number, b: number): void;
|
|
210
|
-
export function comp_has_route_sup(a: number): number;
|
|
211
|
-
export function comp_meta(a: number): number;
|
|
212
|
-
export function comp_get_fleet_id(a: number, b: number, c: number): void;
|
|
213
|
-
export function comp_get_ship_with_clone(a: number, b: number, c: number): number;
|
|
214
|
-
export function comp_get_ship_entity_id(a: number, b: number, c: number, d: number): void;
|
|
215
|
-
export function comp_get_ship_by_eid_with_clone(a: number, b: number, c: number): number;
|
|
216
|
-
export function comp_default_formation(a: number): number;
|
|
217
|
-
export function comp_adjusted_anti_air(a: number, b: number): number;
|
|
218
|
-
export function comp_fighter_power(a: number, b: number, c: number, d: number): void;
|
|
219
|
-
export function comp_elos(a: number, b: number, c: number): void;
|
|
220
|
-
export function comp_transport_point(a: number): number;
|
|
221
|
-
export function comp_get_ship_conditions(a: number, b: number, c: number): number;
|
|
222
|
-
export function comp_fleet_los_mod(a: number, b: number, c: number): void;
|
|
223
225
|
export function set_panic_hook(): void;
|
|
224
226
|
export function ship_state_day_gunfit_accuracy(a: number, b: number): void;
|
|
225
227
|
export function ship_state_night_gunfit_accuracy(a: number, b: number): void;
|
|
@@ -265,6 +267,7 @@ export function fhcore_create_ship(a: number, b: number): number;
|
|
|
265
267
|
export function fhcore_create_air_squadron(a: number, b: number): number;
|
|
266
268
|
export function fhcore_create_fleet(a: number, b: number): number;
|
|
267
269
|
export function fhcore_create_org(a: number, b: number): number;
|
|
270
|
+
export function fhcore_create_ship_state_by_id(a: number, b: number): number;
|
|
268
271
|
export function fhcore_create_ship_by_id(a: number, b: number): number;
|
|
269
272
|
export function fhcore_create_all_ships(a: number): number;
|
|
270
273
|
export function fhcore_create_comp_by_map_enemy(a: number, b: number, c: number, d: number, e: number): number;
|