fleethub-core 1.9.1 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node/fleethub_core.d.ts +338 -313
- package/node/fleethub_core.js +70 -70
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +36 -36
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +338 -313
- package/pkg/fleethub_core_bg.js +70 -70
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +36 -36
package/node/fleethub_core.d.ts
CHANGED
|
@@ -8,6 +8,44 @@ export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
|
8
8
|
/**
|
|
9
9
|
*/
|
|
10
10
|
export function set_panic_hook(): void;
|
|
11
|
+
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
12
|
+
|
|
13
|
+
export interface ShipConditions extends ShipPosition {
|
|
14
|
+
formation?: Formation;
|
|
15
|
+
amagiri_index?: number | null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface ShipPosition {
|
|
19
|
+
org_type?: OrgType;
|
|
20
|
+
fleet_type?: FleetType;
|
|
21
|
+
fleet_len?: number;
|
|
22
|
+
index?: number;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface NodeState {
|
|
26
|
+
map?: number;
|
|
27
|
+
node?: NodeId;
|
|
28
|
+
phase?: number;
|
|
29
|
+
debuff?: boolean;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export type NodeId = string;
|
|
33
|
+
|
|
34
|
+
export interface CompMeta {
|
|
35
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface FleetMeta {
|
|
39
|
+
id: string;
|
|
40
|
+
len: number;
|
|
41
|
+
ships: [string, ShipMeta | null][];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface ShipMeta {
|
|
45
|
+
id: string;
|
|
46
|
+
ship_id: number;
|
|
47
|
+
}
|
|
48
|
+
|
|
11
49
|
export type GearCategory =
|
|
12
50
|
| "Fighter"
|
|
13
51
|
| "Bomber"
|
|
@@ -86,57 +124,30 @@ export type GearType =
|
|
|
86
124
|
|
|
87
125
|
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
88
126
|
|
|
89
|
-
export
|
|
90
|
-
formation: Record<Formation, NestedFormationDef>;
|
|
91
|
-
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
92
|
-
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
93
|
-
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
94
|
-
}
|
|
127
|
+
export type TorpedoAttackType = null;
|
|
95
128
|
|
|
96
|
-
export
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
type_factor: number | null;
|
|
100
|
-
power_mod: number | null;
|
|
101
|
-
accuracy_mod: number | null;
|
|
102
|
-
}
|
|
129
|
+
export type NightPhaseAttackType =
|
|
130
|
+
| { t: "Night"; c: NightAttackType }
|
|
131
|
+
| { t: "Asw"; c: AswAttackType };
|
|
103
132
|
|
|
104
|
-
export
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
type_factor: number | null;
|
|
108
|
-
power_mod: number | null;
|
|
109
|
-
accuracy_mod: number | null;
|
|
110
|
-
}
|
|
133
|
+
export type DayPhaseAttackType =
|
|
134
|
+
| { t: "Shelling"; c: ShellingType }
|
|
135
|
+
| { t: "Asw"; c: AswAttackType };
|
|
111
136
|
|
|
112
|
-
export
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
137
|
+
export type AttackType =
|
|
138
|
+
| { t: "Asw"; c: AswAttackType }
|
|
139
|
+
| { t: "Shelling"; c: ShellingType }
|
|
140
|
+
| { t: "Night"; c: NightAttackType }
|
|
141
|
+
| { t: "Torpedo" }
|
|
142
|
+
| { t: "SupportShelling"; c: SupportShellingType };
|
|
119
143
|
|
|
120
|
-
export type
|
|
121
|
-
| FormationDef
|
|
122
|
-
| { top_half: FormationDef; bottom_half: FormationDef };
|
|
144
|
+
export type SupportShellingType = ShellingType;
|
|
123
145
|
|
|
124
|
-
export
|
|
125
|
-
tag: Formation;
|
|
126
|
-
protection_rate: number | null;
|
|
127
|
-
fleet_anti_air_mod: number;
|
|
128
|
-
shelling: FormationCombatModifiersDef;
|
|
129
|
-
torpedo: FormationCombatModifiersDef;
|
|
130
|
-
asw: FormationCombatModifiersDef;
|
|
131
|
-
night: FormationCombatModifiersDef;
|
|
132
|
-
support_shelling: FormationCombatModifiersDef;
|
|
133
|
-
}
|
|
146
|
+
export type NightAttackType = "Normal" | "Swordfish" | "Carrier";
|
|
134
147
|
|
|
135
|
-
export
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
evasion_mod?: number;
|
|
139
|
-
}
|
|
148
|
+
export type ShellingType = "Normal" | "Carrier";
|
|
149
|
+
|
|
150
|
+
export type AswAttackType = "DepthCharge" | "Aircraft";
|
|
140
151
|
|
|
141
152
|
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
142
153
|
|
|
@@ -154,7 +165,7 @@ export interface MasterData extends MasterBattleDefinitions {
|
|
|
154
165
|
ships: MasterShip[];
|
|
155
166
|
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
156
167
|
ibonuses: MasterIBonuses;
|
|
157
|
-
|
|
168
|
+
equippability: MasterEquippability;
|
|
158
169
|
}
|
|
159
170
|
|
|
160
171
|
export interface NationalityDef {
|
|
@@ -168,6 +179,85 @@ export interface MasterAttrRule<T> {
|
|
|
168
179
|
expr: CompiledEvaler;
|
|
169
180
|
}
|
|
170
181
|
|
|
182
|
+
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
183
|
+
|
|
184
|
+
export interface NightFleetConditions {
|
|
185
|
+
night_contact_rank?: ContactRank | null;
|
|
186
|
+
starshell_index?: number | null;
|
|
187
|
+
searchlight_index?: number | null;
|
|
188
|
+
activates_large_searchlight?: boolean;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export interface NightConditions {
|
|
192
|
+
player?: NightFleetConditions;
|
|
193
|
+
enemy?: NightFleetConditions;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export interface BattleConditions {
|
|
197
|
+
org_type: OrgType;
|
|
198
|
+
role: Role;
|
|
199
|
+
ship_index: number;
|
|
200
|
+
fleet_len: number;
|
|
201
|
+
formation: Formation;
|
|
202
|
+
fleet_los_mod: number | null;
|
|
203
|
+
night_conditions: NightFleetConditions;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export interface MasterGear {
|
|
207
|
+
gear_id: number;
|
|
208
|
+
name: string;
|
|
209
|
+
types: GearTypeIdArray;
|
|
210
|
+
special_type?: number;
|
|
211
|
+
max_hp?: number;
|
|
212
|
+
firepower?: number;
|
|
213
|
+
armor?: number;
|
|
214
|
+
torpedo?: number;
|
|
215
|
+
anti_air?: number;
|
|
216
|
+
speed?: number;
|
|
217
|
+
bombing?: number;
|
|
218
|
+
asw?: number;
|
|
219
|
+
los?: number;
|
|
220
|
+
luck?: number;
|
|
221
|
+
accuracy?: number;
|
|
222
|
+
evasion?: number;
|
|
223
|
+
range?: number;
|
|
224
|
+
radius?: number;
|
|
225
|
+
cost?: number;
|
|
226
|
+
improvable?: boolean;
|
|
227
|
+
ship_anti_air_resist?: number;
|
|
228
|
+
fleet_anti_air_resist?: number;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export interface EquippabilityRule {
|
|
232
|
+
ship: CompiledEvaler;
|
|
233
|
+
keys?: string[];
|
|
234
|
+
include?: string;
|
|
235
|
+
exclude?: string;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export interface MasterEquippability {
|
|
239
|
+
equip_stype: EquipStype[];
|
|
240
|
+
equip_exslot: number[];
|
|
241
|
+
equip_ship: MstEquipShip[];
|
|
242
|
+
equip_exslot_ship: MstEquipExslotShip[];
|
|
243
|
+
rules: EquippabilityRule[];
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
export interface MstEquipExslotShip {
|
|
247
|
+
api_slotitem_id: number;
|
|
248
|
+
api_ship_ids: number[];
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export interface MstEquipShip {
|
|
252
|
+
api_ship_id: number;
|
|
253
|
+
api_equip_type: number[];
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export interface EquipStype {
|
|
257
|
+
id: number;
|
|
258
|
+
equip_type: number[];
|
|
259
|
+
}
|
|
260
|
+
|
|
171
261
|
export interface OrgState {
|
|
172
262
|
id?: string;
|
|
173
263
|
f1?: FleetState;
|
|
@@ -293,6 +383,7 @@ export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
|
293
383
|
export interface NodeAttackAnalyzerConfig {
|
|
294
384
|
air_state?: AirState;
|
|
295
385
|
engagement?: Engagement;
|
|
386
|
+
node_state?: NodeState;
|
|
296
387
|
left?: NodeAttackAnalyzerShipConfig;
|
|
297
388
|
right?: NodeAttackAnalyzerShipConfig;
|
|
298
389
|
}
|
|
@@ -320,6 +411,22 @@ export type Role = "Main" | "Escort";
|
|
|
320
411
|
|
|
321
412
|
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
322
413
|
|
|
414
|
+
export interface AttackReport<T> {
|
|
415
|
+
style: T;
|
|
416
|
+
proc_rate: number | null;
|
|
417
|
+
attack_power: AttackPower | null;
|
|
418
|
+
attack_power_params: AttackPowerParams | null;
|
|
419
|
+
hits: number;
|
|
420
|
+
hit_rate: HitRate | null;
|
|
421
|
+
hit_rate_params: HitRateParams | null;
|
|
422
|
+
damage: DamageReport | null;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
export interface MoveShipPayload {
|
|
426
|
+
current: [string, string, ShipKey];
|
|
427
|
+
target: [string | null, string, ShipKey];
|
|
428
|
+
}
|
|
429
|
+
|
|
323
430
|
export type NightCutinLike = NightCutin | FleetCutin;
|
|
324
431
|
|
|
325
432
|
export type DayCutinLike = DayCutin | FleetCutin;
|
|
@@ -361,21 +468,7 @@ export type DayCutin =
|
|
|
361
468
|
| "BBA"
|
|
362
469
|
| "BA";
|
|
363
470
|
|
|
364
|
-
export
|
|
365
|
-
style: T;
|
|
366
|
-
proc_rate: number | null;
|
|
367
|
-
attack_power: AttackPower | null;
|
|
368
|
-
attack_power_params: AttackPowerParams | null;
|
|
369
|
-
hits: number;
|
|
370
|
-
hit_rate: HitRate | null;
|
|
371
|
-
hit_rate_params: HitRateParams | null;
|
|
372
|
-
damage: DamageReport | null;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
export interface MoveShipPayload {
|
|
376
|
-
current: [string, string, ShipKey];
|
|
377
|
-
target: [string | null, string, ShipKey];
|
|
378
|
-
}
|
|
471
|
+
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
379
472
|
|
|
380
473
|
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
381
474
|
|
|
@@ -416,36 +509,103 @@ export interface MasterIBonusRule {
|
|
|
416
509
|
formula: CompiledEvaler;
|
|
417
510
|
}
|
|
418
511
|
|
|
419
|
-
export
|
|
512
|
+
export interface BattleDefinitions {
|
|
513
|
+
formation: Record<Formation, NestedFormationDef>;
|
|
514
|
+
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
515
|
+
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
516
|
+
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
517
|
+
historical_bonuses: HistoricalBonusDef[];
|
|
518
|
+
}
|
|
420
519
|
|
|
421
|
-
export interface
|
|
422
|
-
|
|
423
|
-
|
|
520
|
+
export interface NightCutinDef {
|
|
521
|
+
tag: NightCutin;
|
|
522
|
+
hits: number;
|
|
523
|
+
type_factor: number | null;
|
|
524
|
+
power_mod: number | null;
|
|
525
|
+
accuracy_mod: number | null;
|
|
424
526
|
}
|
|
425
527
|
|
|
426
|
-
export
|
|
528
|
+
export interface HistoricalBonusDef {
|
|
529
|
+
map?: number;
|
|
530
|
+
node?: NodeId;
|
|
531
|
+
phase?: number;
|
|
532
|
+
debuff?: boolean;
|
|
533
|
+
ship?: CompiledEvaler;
|
|
534
|
+
enemy?: CompiledEvaler;
|
|
535
|
+
power_mod?: number;
|
|
536
|
+
accuracy_mod?: number;
|
|
537
|
+
evasion_mod?: number;
|
|
538
|
+
}
|
|
427
539
|
|
|
428
|
-
export interface
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
asw: number;
|
|
435
|
-
los: number;
|
|
436
|
-
bombing: number;
|
|
437
|
-
accuracy: number;
|
|
438
|
-
range: number;
|
|
540
|
+
export interface DayCutinDef {
|
|
541
|
+
tag: DayCutin;
|
|
542
|
+
hits: number;
|
|
543
|
+
type_factor: number | null;
|
|
544
|
+
power_mod: number | null;
|
|
545
|
+
accuracy_mod: number | null;
|
|
439
546
|
}
|
|
440
547
|
|
|
441
|
-
export interface
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
548
|
+
export interface AntiAirCutinDef {
|
|
549
|
+
id: number;
|
|
550
|
+
type_factor: number | null;
|
|
551
|
+
multiplier: number | null;
|
|
552
|
+
guaranteed: number | null;
|
|
553
|
+
sequential: boolean | null;
|
|
446
554
|
}
|
|
447
555
|
|
|
448
|
-
export
|
|
556
|
+
export type NestedFormationDef =
|
|
557
|
+
| FormationDef
|
|
558
|
+
| { top_half: FormationDef; bottom_half: FormationDef };
|
|
559
|
+
|
|
560
|
+
export interface FormationDef {
|
|
561
|
+
tag: Formation;
|
|
562
|
+
protection_rate: number | null;
|
|
563
|
+
fleet_anti_air_mod: number;
|
|
564
|
+
shelling: FormationCombatModifiersDef;
|
|
565
|
+
torpedo: FormationCombatModifiersDef;
|
|
566
|
+
asw: FormationCombatModifiersDef;
|
|
567
|
+
night: FormationCombatModifiersDef;
|
|
568
|
+
support_shelling: FormationCombatModifiersDef;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
export interface FormationCombatModifiersDef {
|
|
572
|
+
power_mod?: number;
|
|
573
|
+
accuracy_mod?: number;
|
|
574
|
+
evasion_mod?: number;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
578
|
+
|
|
579
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
580
|
+
|
|
581
|
+
export interface ShipAnalyzerConfig {
|
|
582
|
+
air_state?: AirState;
|
|
583
|
+
engagement?: Engagement;
|
|
584
|
+
left?: AttackAnalyzerShipConfig;
|
|
585
|
+
right?: AttackAnalyzerShipConfig;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
export interface EBonuses {
|
|
589
|
+
firepower: number;
|
|
590
|
+
torpedo: number;
|
|
591
|
+
anti_air: number;
|
|
592
|
+
armor: number;
|
|
593
|
+
evasion: number;
|
|
594
|
+
asw: number;
|
|
595
|
+
los: number;
|
|
596
|
+
bombing: number;
|
|
597
|
+
accuracy: number;
|
|
598
|
+
range: number;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
export interface ShipInput {
|
|
602
|
+
ship_id: number;
|
|
603
|
+
ctype: number;
|
|
604
|
+
stype: number;
|
|
605
|
+
yomi: string;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
export interface GearInput {
|
|
449
609
|
gear_id: number;
|
|
450
610
|
types: GearTypeIdArray;
|
|
451
611
|
firepower: number;
|
|
@@ -465,64 +625,6 @@ export interface GearInput {
|
|
|
465
625
|
|
|
466
626
|
export type GearVecInput = GearInput[];
|
|
467
627
|
|
|
468
|
-
export interface ShipPosition {
|
|
469
|
-
org_type?: OrgType;
|
|
470
|
-
fleet_type?: FleetType;
|
|
471
|
-
fleet_len?: number;
|
|
472
|
-
index?: number;
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
export interface CompMeta {
|
|
476
|
-
fleets: Record<FleetType, FleetMeta>;
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
export interface FleetMeta {
|
|
480
|
-
id: string;
|
|
481
|
-
len: number;
|
|
482
|
-
ships: [string, ShipMeta | null][];
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
export interface ShipMeta {
|
|
486
|
-
id: string;
|
|
487
|
-
ship_id: number;
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
491
|
-
|
|
492
|
-
export type TorpedoAttackType = null;
|
|
493
|
-
|
|
494
|
-
export type NightPhaseAttackType =
|
|
495
|
-
| { t: "Night"; c: NightAttackType }
|
|
496
|
-
| { t: "Asw"; c: AswAttackType };
|
|
497
|
-
|
|
498
|
-
export type DayPhaseAttackType =
|
|
499
|
-
| { t: "Shelling"; c: ShellingType }
|
|
500
|
-
| { t: "Asw"; c: AswAttackType };
|
|
501
|
-
|
|
502
|
-
export type AttackType =
|
|
503
|
-
| { t: "Asw"; c: AswAttackType }
|
|
504
|
-
| { t: "Shelling"; c: ShellingType }
|
|
505
|
-
| { t: "Night"; c: NightAttackType }
|
|
506
|
-
| { t: "Torpedo" }
|
|
507
|
-
| { t: "SupportShelling"; c: SupportShellingType };
|
|
508
|
-
|
|
509
|
-
export type SupportShellingType = ShellingType;
|
|
510
|
-
|
|
511
|
-
export type NightAttackType = "Normal" | "Swordfish" | "Carrier";
|
|
512
|
-
|
|
513
|
-
export type ShellingType = "Normal" | "Carrier";
|
|
514
|
-
|
|
515
|
-
export type AswAttackType = "DepthCharge" | "Aircraft";
|
|
516
|
-
|
|
517
|
-
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
518
|
-
|
|
519
|
-
export interface ShipAnalyzerConfig {
|
|
520
|
-
air_state?: AirState;
|
|
521
|
-
engagement?: Engagement;
|
|
522
|
-
left?: AttackAnalyzerShipConfig;
|
|
523
|
-
right?: AttackAnalyzerShipConfig;
|
|
524
|
-
}
|
|
525
|
-
|
|
526
628
|
export type ShipAttr =
|
|
527
629
|
| "Unknown"
|
|
528
630
|
| "Abyssal"
|
|
@@ -588,6 +690,57 @@ export interface SupportShellingSimulatorParams {
|
|
|
588
690
|
engagement: Engagement;
|
|
589
691
|
}
|
|
590
692
|
|
|
693
|
+
export interface MasterBattleDefinitions {
|
|
694
|
+
formation: NestedFormationDef[];
|
|
695
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
696
|
+
day_cutin: DayCutinDef[];
|
|
697
|
+
night_cutin: NightCutinDef[];
|
|
698
|
+
historical_bonuses?: HistoricalBonusDef[];
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
export interface AttackAnalyzerShipConfig
|
|
702
|
+
extends ShipConditions,
|
|
703
|
+
NightFleetConditions {
|
|
704
|
+
fleet_los_mod?: number | null;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
export interface SupportShellingStyle {
|
|
708
|
+
tag: "SupportShellingStyle";
|
|
709
|
+
attack_type: SupportShellingType;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
713
|
+
|
|
714
|
+
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
715
|
+
|
|
716
|
+
export interface TorpedoAttackStyle {
|
|
717
|
+
tag: "TorpedoAttackStyle";
|
|
718
|
+
attack_type: TorpedoAttackType;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
export interface AswAttackStyle {
|
|
722
|
+
tag: "AswAttackStyle";
|
|
723
|
+
attack_type: AswAttackType;
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
export interface NightAttackStyle {
|
|
727
|
+
tag: "NightAttackStyle";
|
|
728
|
+
attack_type: NightAttackType;
|
|
729
|
+
cutin: NightCutinLike | null;
|
|
730
|
+
power_mod: number;
|
|
731
|
+
accuracy_mod: number;
|
|
732
|
+
hits: number;
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
export interface ShellingStyle {
|
|
736
|
+
tag: "ShellingStyle";
|
|
737
|
+
attack_type: ShellingType;
|
|
738
|
+
cutin: DayCutinLike | null;
|
|
739
|
+
power_mod: number;
|
|
740
|
+
accuracy_mod: number;
|
|
741
|
+
hits: number;
|
|
742
|
+
}
|
|
743
|
+
|
|
591
744
|
export interface NightContactChance {
|
|
592
745
|
rank1: number;
|
|
593
746
|
rank2: number;
|
|
@@ -611,6 +764,32 @@ export interface NightCutinActionReport
|
|
|
611
764
|
cutin_term: number | null;
|
|
612
765
|
}
|
|
613
766
|
|
|
767
|
+
export interface FleetCutinReport<T> {
|
|
768
|
+
cutin: FleetCutin;
|
|
769
|
+
rate: number | null;
|
|
770
|
+
formation: Formation;
|
|
771
|
+
attacks: FleetCutinAttackReport<T>[];
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
775
|
+
index: number;
|
|
776
|
+
ship_id: number;
|
|
777
|
+
power_mod: number;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
export interface DamageReport {
|
|
781
|
+
miss_damage_min: number;
|
|
782
|
+
miss_damage_max: number;
|
|
783
|
+
normal_damage_min: number;
|
|
784
|
+
normal_damage_max: number;
|
|
785
|
+
critical_damage_min: number;
|
|
786
|
+
critical_damage_max: number;
|
|
787
|
+
normal_scratch_rate: number;
|
|
788
|
+
critical_scratch_rate: number;
|
|
789
|
+
damage_density: Histogram<number, number>;
|
|
790
|
+
damage_state_density: Histogram<DamageState, number>;
|
|
791
|
+
}
|
|
792
|
+
|
|
614
793
|
export interface CompAntiAirAnalysis {
|
|
615
794
|
fleet_adjusted_anti_air: number;
|
|
616
795
|
ships: AntiAirReport[];
|
|
@@ -629,44 +808,25 @@ export interface AntiAirReport {
|
|
|
629
808
|
anti_air_propellant_barrage_chance: number | null;
|
|
630
809
|
}
|
|
631
810
|
|
|
632
|
-
export type
|
|
633
|
-
|
|
634
|
-
export interface SupportShellingStyle {
|
|
635
|
-
tag: "SupportShellingStyle";
|
|
636
|
-
attack_type: SupportShellingType;
|
|
637
|
-
}
|
|
638
|
-
|
|
639
|
-
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
640
|
-
|
|
641
|
-
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
811
|
+
export type CompiledEvaler = string;
|
|
642
812
|
|
|
643
|
-
export
|
|
644
|
-
tag: "TorpedoAttackStyle";
|
|
645
|
-
attack_type: TorpedoAttackType;
|
|
646
|
-
}
|
|
813
|
+
export type Formation = SingleFormation | CombinedFormation;
|
|
647
814
|
|
|
648
|
-
export
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
815
|
+
export type CombinedFormation =
|
|
816
|
+
| "Cruising1"
|
|
817
|
+
| "Cruising2"
|
|
818
|
+
| "Cruising3"
|
|
819
|
+
| "Cruising4";
|
|
652
820
|
|
|
653
|
-
export
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
}
|
|
821
|
+
export type SingleFormation =
|
|
822
|
+
| "LineAhead"
|
|
823
|
+
| "DoubleLine"
|
|
824
|
+
| "Diamond"
|
|
825
|
+
| "Echelon"
|
|
826
|
+
| "LineAbreast"
|
|
827
|
+
| "Vanguard";
|
|
661
828
|
|
|
662
|
-
export
|
|
663
|
-
tag: "ShellingStyle";
|
|
664
|
-
attack_type: ShellingType;
|
|
665
|
-
cutin: DayCutinLike | null;
|
|
666
|
-
power_mod: number;
|
|
667
|
-
accuracy_mod: number;
|
|
668
|
-
hits: number;
|
|
669
|
-
}
|
|
829
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
670
830
|
|
|
671
831
|
export interface CustomPowerModifiers {
|
|
672
832
|
precap_mod?: AttackPowerModifier;
|
|
@@ -711,6 +871,7 @@ export interface AttackPowerParams {
|
|
|
711
871
|
armor_penetration: number;
|
|
712
872
|
remaining_ammo_mod: number;
|
|
713
873
|
special_enemy_mods: SpecialEnemyModifiers;
|
|
874
|
+
historical_mod: number;
|
|
714
875
|
custom_mods: CustomPowerModifiers;
|
|
715
876
|
}
|
|
716
877
|
|
|
@@ -725,56 +886,6 @@ export interface SpecialEnemyModifiers {
|
|
|
725
886
|
pt_mod: AttackPowerModifier;
|
|
726
887
|
}
|
|
727
888
|
|
|
728
|
-
export interface FleetCutinReport<T> {
|
|
729
|
-
cutin: FleetCutin;
|
|
730
|
-
rate: number | null;
|
|
731
|
-
formation: Formation;
|
|
732
|
-
attacks: FleetCutinAttackReport<T>[];
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
736
|
-
index: number;
|
|
737
|
-
ship_id: number;
|
|
738
|
-
power_mod: number;
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
export interface DamageReport {
|
|
742
|
-
miss_damage_min: number;
|
|
743
|
-
miss_damage_max: number;
|
|
744
|
-
normal_damage_min: number;
|
|
745
|
-
normal_damage_max: number;
|
|
746
|
-
critical_damage_min: number;
|
|
747
|
-
critical_damage_max: number;
|
|
748
|
-
normal_scratch_rate: number;
|
|
749
|
-
critical_scratch_rate: number;
|
|
750
|
-
damage_density: Histogram<number, number>;
|
|
751
|
-
damage_state_density: Histogram<DamageState, number>;
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
export interface AttackAnalyzerShipConfig
|
|
755
|
-
extends ShipConditions,
|
|
756
|
-
NightFleetConditions {
|
|
757
|
-
fleet_los_mod?: number | null;
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
export type Histogram<K, V> = Partial<Record<K, V>>;
|
|
761
|
-
|
|
762
|
-
export type Formation = SingleFormation | CombinedFormation;
|
|
763
|
-
|
|
764
|
-
export type CombinedFormation =
|
|
765
|
-
| "Cruising1"
|
|
766
|
-
| "Cruising2"
|
|
767
|
-
| "Cruising3"
|
|
768
|
-
| "Cruising4";
|
|
769
|
-
|
|
770
|
-
export type SingleFormation =
|
|
771
|
-
| "LineAhead"
|
|
772
|
-
| "DoubleLine"
|
|
773
|
-
| "Diamond"
|
|
774
|
-
| "Echelon"
|
|
775
|
-
| "LineAbreast"
|
|
776
|
-
| "Vanguard";
|
|
777
|
-
|
|
778
889
|
export interface CompDayCutinAnalysis {
|
|
779
890
|
rank3_air_state: AirState;
|
|
780
891
|
rank2_air_state: AirState;
|
|
@@ -806,6 +917,8 @@ export interface AttackAnalysis {
|
|
|
806
917
|
support_shelling: ActionReport<SupportShellingStyle>;
|
|
807
918
|
}
|
|
808
919
|
|
|
920
|
+
export type Histogram<K, V> = Partial<Record<K, V>>;
|
|
921
|
+
|
|
809
922
|
export type SpecialEnemyType =
|
|
810
923
|
| "None"
|
|
811
924
|
| "SoftSkinned"
|
|
@@ -852,43 +965,6 @@ export interface MasterShip {
|
|
|
852
965
|
|
|
853
966
|
export type StatInterval = [number | null, number | null];
|
|
854
967
|
|
|
855
|
-
export interface EquippabilityRule {
|
|
856
|
-
ship: CompiledEvaler;
|
|
857
|
-
keys?: string[];
|
|
858
|
-
include?: string;
|
|
859
|
-
exclude?: string;
|
|
860
|
-
}
|
|
861
|
-
|
|
862
|
-
export interface MasterEquippability {
|
|
863
|
-
equip_stype: EquipStype[];
|
|
864
|
-
equip_exslot: number[];
|
|
865
|
-
equip_ship: MstEquipShip[];
|
|
866
|
-
equip_exslot_ship: MstEquipExslotShip[];
|
|
867
|
-
rules: EquippabilityRule[];
|
|
868
|
-
}
|
|
869
|
-
|
|
870
|
-
export interface MstEquipExslotShip {
|
|
871
|
-
api_slotitem_id: number;
|
|
872
|
-
api_ship_ids: number[];
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
export interface MstEquipShip {
|
|
876
|
-
api_ship_id: number;
|
|
877
|
-
api_equip_type: number[];
|
|
878
|
-
}
|
|
879
|
-
|
|
880
|
-
export interface EquipStype {
|
|
881
|
-
id: number;
|
|
882
|
-
equip_type: number[];
|
|
883
|
-
}
|
|
884
|
-
|
|
885
|
-
export interface MasterBattleDefinitions {
|
|
886
|
-
formation: NestedFormationDef[];
|
|
887
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
888
|
-
day_cutin: DayCutinDef[];
|
|
889
|
-
night_cutin: NightCutinDef[];
|
|
890
|
-
}
|
|
891
|
-
|
|
892
968
|
export interface HitRate {
|
|
893
969
|
normal: number;
|
|
894
970
|
critical: number;
|
|
@@ -945,57 +1021,6 @@ export interface CompAnalysis {
|
|
|
945
1021
|
anti_air: CompAntiAirAnalysis;
|
|
946
1022
|
}
|
|
947
1023
|
|
|
948
|
-
export type CompiledEvaler = string;
|
|
949
|
-
|
|
950
|
-
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
951
|
-
|
|
952
|
-
export interface NightFleetConditions {
|
|
953
|
-
night_contact_rank?: ContactRank | null;
|
|
954
|
-
starshell_index?: number | null;
|
|
955
|
-
searchlight_index?: number | null;
|
|
956
|
-
activates_large_searchlight?: boolean;
|
|
957
|
-
}
|
|
958
|
-
|
|
959
|
-
export interface NightConditions {
|
|
960
|
-
player?: NightFleetConditions;
|
|
961
|
-
enemy?: NightFleetConditions;
|
|
962
|
-
}
|
|
963
|
-
|
|
964
|
-
export interface BattleConditions {
|
|
965
|
-
org_type: OrgType;
|
|
966
|
-
role: Role;
|
|
967
|
-
ship_index: number;
|
|
968
|
-
fleet_len: number;
|
|
969
|
-
formation: Formation;
|
|
970
|
-
fleet_los_mod: number | null;
|
|
971
|
-
night_conditions: NightFleetConditions;
|
|
972
|
-
}
|
|
973
|
-
|
|
974
|
-
export interface MasterGear {
|
|
975
|
-
gear_id: number;
|
|
976
|
-
name: string;
|
|
977
|
-
types: GearTypeIdArray;
|
|
978
|
-
special_type?: number;
|
|
979
|
-
max_hp?: number;
|
|
980
|
-
firepower?: number;
|
|
981
|
-
armor?: number;
|
|
982
|
-
torpedo?: number;
|
|
983
|
-
anti_air?: number;
|
|
984
|
-
speed?: number;
|
|
985
|
-
bombing?: number;
|
|
986
|
-
asw?: number;
|
|
987
|
-
los?: number;
|
|
988
|
-
luck?: number;
|
|
989
|
-
accuracy?: number;
|
|
990
|
-
evasion?: number;
|
|
991
|
-
range?: number;
|
|
992
|
-
radius?: number;
|
|
993
|
-
cost?: number;
|
|
994
|
-
improvable?: boolean;
|
|
995
|
-
ship_anti_air_resist?: number;
|
|
996
|
-
fleet_anti_air_resist?: number;
|
|
997
|
-
}
|
|
998
|
-
|
|
999
1024
|
/**
|
|
1000
1025
|
*/
|
|
1001
1026
|
export class AirSquadron {
|