fleethub-core 1.12.9 → 1.12.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.
- package/node/fleethub_core.d.ts +587 -583
- package/node/fleethub_core.js +57 -57
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +159 -159
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +587 -583
- package/pkg/fleethub_core_bg.js +57 -57
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +159 -159
package/node/fleethub_core.d.ts
CHANGED
|
@@ -2,12 +2,23 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
4
4
|
export function set_panic_hook(): void;
|
|
5
|
-
export interface
|
|
6
|
-
formation
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
6
|
+
formation?: Formation;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface NodeAttackAnalyzerConfig {
|
|
10
|
+
air_state?: AirState;
|
|
11
|
+
engagement?: Engagement;
|
|
12
|
+
node_state?: NodeState;
|
|
13
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
14
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface NodeAttackAnalysis {
|
|
18
|
+
left: AttackAnalysis;
|
|
19
|
+
right: AttackAnalysis;
|
|
20
|
+
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
21
|
+
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
11
22
|
}
|
|
12
23
|
|
|
13
24
|
export interface FleetCutinReport<T> {
|
|
@@ -23,49 +34,152 @@ export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
|
23
34
|
power_mod: number;
|
|
24
35
|
}
|
|
25
36
|
|
|
26
|
-
export interface
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
37
|
+
export interface AttackAnalysis {
|
|
38
|
+
attacker_is_player: boolean;
|
|
39
|
+
attacker_ship_id: number;
|
|
40
|
+
target_ship_id: number;
|
|
41
|
+
historical_params: HistoricalParams;
|
|
42
|
+
day: ActionReport<DayPhaseAttackStyle>;
|
|
43
|
+
night: ActionReport<NightPhaseAttackStyle>;
|
|
44
|
+
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
45
|
+
opening_asw: ActionReport<AswAttackStyle>;
|
|
46
|
+
support_shelling: ActionReport<SupportShellingStyle>;
|
|
30
47
|
}
|
|
31
48
|
|
|
32
|
-
export type
|
|
49
|
+
export type AswAttackType = "DepthCharge" | "Aerial";
|
|
33
50
|
|
|
34
|
-
export type
|
|
51
|
+
export type ShellingType = "Normal" | "Aerial";
|
|
35
52
|
|
|
36
|
-
export
|
|
37
|
-
ship: CompiledEvaler;
|
|
38
|
-
keys?: string[];
|
|
39
|
-
include?: string;
|
|
40
|
-
exclude?: string;
|
|
41
|
-
}
|
|
53
|
+
export type NightAttackType = "Normal" | "Swordfish" | "Aerial";
|
|
42
54
|
|
|
43
|
-
export
|
|
44
|
-
equip_stype: MstStype[];
|
|
45
|
-
equip_exslot: number[];
|
|
46
|
-
equip_ship: Record<number, MstEquipShip>;
|
|
47
|
-
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
48
|
-
rules: EquippabilityRule[];
|
|
49
|
-
}
|
|
55
|
+
export type SupportShellingType = ShellingType;
|
|
50
56
|
|
|
51
|
-
export
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
export type AttackType =
|
|
58
|
+
| { t: "Asw"; c: AswAttackType }
|
|
59
|
+
| { t: "Shelling"; c: ShellingType }
|
|
60
|
+
| { t: "Night"; c: NightAttackType }
|
|
61
|
+
| { t: "Torpedo" }
|
|
62
|
+
| { t: "SupportShelling"; c: SupportShellingType };
|
|
63
|
+
|
|
64
|
+
export type DayPhaseAttackType =
|
|
65
|
+
| { t: "Shelling"; c: ShellingType }
|
|
66
|
+
| { t: "Asw"; c: AswAttackType };
|
|
67
|
+
|
|
68
|
+
export type NightPhaseAttackType =
|
|
69
|
+
| { t: "Night"; c: NightAttackType }
|
|
70
|
+
| { t: "Asw"; c: AswAttackType };
|
|
71
|
+
|
|
72
|
+
export type TorpedoAttackType = null;
|
|
73
|
+
|
|
74
|
+
export type DayCutin =
|
|
75
|
+
| "Zuiun"
|
|
76
|
+
| "AirSea"
|
|
77
|
+
| "MainMain"
|
|
78
|
+
| "MainAp"
|
|
79
|
+
| "MainRadar"
|
|
80
|
+
| "MainSec"
|
|
81
|
+
| "DoubleAttack"
|
|
82
|
+
| "FBA"
|
|
83
|
+
| "BBA"
|
|
84
|
+
| "BA";
|
|
85
|
+
|
|
86
|
+
export type NightCutin =
|
|
87
|
+
| "MainTorpRadar"
|
|
88
|
+
| "TorpLookoutRadar"
|
|
89
|
+
| "TorpTsloTorp"
|
|
90
|
+
| "TorpTsloDrum"
|
|
91
|
+
| "NightZuiun2Radar"
|
|
92
|
+
| "NightZuiun2"
|
|
93
|
+
| "NightZuiunRadar"
|
|
94
|
+
| "NightZuiun"
|
|
95
|
+
| "DoubleAttack"
|
|
96
|
+
| "TorpTorpMain"
|
|
97
|
+
| "TorpTorpTorp"
|
|
98
|
+
| "MainMainSec"
|
|
99
|
+
| "MainMainMain"
|
|
100
|
+
| "SubTorpTorp"
|
|
101
|
+
| "SubRadarTorp"
|
|
102
|
+
| "Cvci1_25"
|
|
103
|
+
| "Cvci1_20"
|
|
104
|
+
| "Cvci1_18"
|
|
105
|
+
| "Photobomber";
|
|
106
|
+
|
|
107
|
+
export type FleetCutin =
|
|
108
|
+
| "NelsonTouch"
|
|
109
|
+
| "NagatoClassCutin"
|
|
110
|
+
| "ColoradoClassCutin"
|
|
111
|
+
| "KongouClassCutin"
|
|
112
|
+
| "Yamato2ShipCutin"
|
|
113
|
+
| "Yamato3ShipCutin";
|
|
114
|
+
|
|
115
|
+
export type DayCutinLike = DayCutin | FleetCutin;
|
|
116
|
+
|
|
117
|
+
export type NightCutinLike = NightCutin | FleetCutin;
|
|
118
|
+
|
|
119
|
+
export interface ShipConditions extends ShipPosition {
|
|
120
|
+
formation?: Formation;
|
|
121
|
+
amagiri_index?: number | null;
|
|
55
122
|
}
|
|
56
123
|
|
|
57
|
-
export
|
|
124
|
+
export interface BattleConditions {
|
|
125
|
+
org_type: OrgType;
|
|
126
|
+
role: Role;
|
|
127
|
+
ship_index: number;
|
|
128
|
+
fleet_len: number;
|
|
129
|
+
formation: Formation;
|
|
130
|
+
fleet_los_mod: number | null;
|
|
131
|
+
night_conditions: NightFleetConditions;
|
|
132
|
+
}
|
|
58
133
|
|
|
59
|
-
export
|
|
134
|
+
export interface NightConditions {
|
|
135
|
+
player?: NightFleetConditions;
|
|
136
|
+
enemy?: NightFleetConditions;
|
|
137
|
+
}
|
|
60
138
|
|
|
61
|
-
export interface
|
|
62
|
-
|
|
63
|
-
|
|
139
|
+
export interface NightFleetConditions {
|
|
140
|
+
night_contact_rank?: ContactRank | null;
|
|
141
|
+
starshell_index?: number | null;
|
|
142
|
+
searchlight_index?: number | null;
|
|
143
|
+
activates_large_searchlight?: boolean;
|
|
64
144
|
}
|
|
65
145
|
|
|
66
|
-
export type
|
|
146
|
+
export type GearAttr =
|
|
147
|
+
| "Unknown"
|
|
148
|
+
| "HighAngleMount"
|
|
149
|
+
| "NightFighter"
|
|
150
|
+
| "NightAttacker"
|
|
151
|
+
| "HeavyBomber"
|
|
152
|
+
| "NightRecon"
|
|
153
|
+
| "MainGun"
|
|
154
|
+
| "Radar"
|
|
155
|
+
| "SurfaceRadar"
|
|
156
|
+
| "AirRadar"
|
|
157
|
+
| "DepthChargeProjector"
|
|
158
|
+
| "SynergisticDepthCharge"
|
|
159
|
+
| "AntiSubMortar"
|
|
160
|
+
| "AntiSubWeapon"
|
|
161
|
+
| "ApDepthCharge"
|
|
162
|
+
| "AntiSubAircraft"
|
|
163
|
+
| "LateModelBowTorpedo"
|
|
164
|
+
| "Seaplane"
|
|
165
|
+
| "CbAircraft"
|
|
166
|
+
| "LbAircraft"
|
|
167
|
+
| "JetAircraft"
|
|
168
|
+
| "Fighter"
|
|
169
|
+
| "Recon"
|
|
170
|
+
| "ObservationSeaplane"
|
|
171
|
+
| "CbFighterBomber"
|
|
172
|
+
| "AntiInstDiveBomber"
|
|
173
|
+
| "CbSwordfish"
|
|
174
|
+
| "SemiNightPlane"
|
|
175
|
+
| "HighAltitudeInterceptor";
|
|
67
176
|
|
|
68
|
-
export
|
|
177
|
+
export interface ShipPosition {
|
|
178
|
+
org_type?: OrgType;
|
|
179
|
+
fleet_type?: FleetType;
|
|
180
|
+
fleet_len?: number;
|
|
181
|
+
index?: number;
|
|
182
|
+
}
|
|
69
183
|
|
|
70
184
|
export interface AttackReport<T> {
|
|
71
185
|
style: T;
|
|
@@ -96,8 +210,6 @@ export interface AntiAirReport {
|
|
|
96
210
|
anti_air_propellant_barrage_chance: number | null;
|
|
97
211
|
}
|
|
98
212
|
|
|
99
|
-
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
100
|
-
|
|
101
213
|
export interface AttackPowerModifier {
|
|
102
214
|
a?: number;
|
|
103
215
|
b?: number;
|
|
@@ -198,7 +310,17 @@ export interface BattleDefinitions {
|
|
|
198
310
|
historical_bonuses: HistoricalBonusDef[];
|
|
199
311
|
}
|
|
200
312
|
|
|
201
|
-
export
|
|
313
|
+
export interface FleetState {
|
|
314
|
+
id?: string;
|
|
315
|
+
len?: number;
|
|
316
|
+
s1?: ShipState;
|
|
317
|
+
s2?: ShipState;
|
|
318
|
+
s3?: ShipState;
|
|
319
|
+
s4?: ShipState;
|
|
320
|
+
s5?: ShipState;
|
|
321
|
+
s6?: ShipState;
|
|
322
|
+
s7?: ShipState;
|
|
323
|
+
}
|
|
202
324
|
|
|
203
325
|
export interface GearState {
|
|
204
326
|
id?: string;
|
|
@@ -216,40 +338,288 @@ export interface GearVecState {
|
|
|
216
338
|
gx?: GearState;
|
|
217
339
|
}
|
|
218
340
|
|
|
219
|
-
export
|
|
220
|
-
|
|
221
|
-
|
|
341
|
+
export type OrgType =
|
|
342
|
+
| "Single"
|
|
343
|
+
| "CarrierTaskForce"
|
|
344
|
+
| "SurfaceTaskForce"
|
|
345
|
+
| "TransportEscort"
|
|
346
|
+
| "EnemySingle"
|
|
347
|
+
| "EnemyCombined";
|
|
348
|
+
|
|
349
|
+
export type Role = "Main" | "Escort";
|
|
350
|
+
|
|
351
|
+
export interface CompAnalyzerConfig {
|
|
352
|
+
engagement: Engagement;
|
|
353
|
+
formation: Formation;
|
|
354
|
+
anti_air_cutin: number | null;
|
|
355
|
+
ship_anti_air_resist: number;
|
|
356
|
+
fleet_anti_air_resist: number;
|
|
357
|
+
left_night_fleet_conditions: NightFleetConditions;
|
|
358
|
+
right_night_fleet_conditions: NightFleetConditions;
|
|
222
359
|
}
|
|
223
360
|
|
|
224
|
-
export
|
|
361
|
+
export interface CompNightAnalysis {
|
|
362
|
+
night_cutin: CompNightCutinAnalysis;
|
|
363
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
364
|
+
}
|
|
225
365
|
|
|
226
|
-
export interface
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
firepower: number;
|
|
230
|
-
torpedo: number;
|
|
231
|
-
anti_air: number;
|
|
232
|
-
armor: number;
|
|
233
|
-
evasion: number;
|
|
234
|
-
asw: number;
|
|
235
|
-
los: number;
|
|
236
|
-
bombing: number;
|
|
237
|
-
accuracy: number;
|
|
238
|
-
range: number;
|
|
239
|
-
radius: number;
|
|
240
|
-
stars: number;
|
|
241
|
-
ace: number;
|
|
366
|
+
export interface CompDayAnalysis {
|
|
367
|
+
day_cutin: CompDayCutinAnalysis;
|
|
368
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
242
369
|
}
|
|
243
370
|
|
|
244
|
-
export interface
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
371
|
+
export interface CompAnalysis {
|
|
372
|
+
day: CompDayAnalysis;
|
|
373
|
+
night: CompNightAnalysis;
|
|
374
|
+
contact: ContactAnalysis;
|
|
375
|
+
anti_air: CompAntiAirAnalysis;
|
|
249
376
|
}
|
|
250
377
|
|
|
251
|
-
export
|
|
252
|
-
|
|
378
|
+
export type NodeId = string;
|
|
379
|
+
|
|
380
|
+
export interface NodeState {
|
|
381
|
+
map?: number;
|
|
382
|
+
node?: NodeId;
|
|
383
|
+
phase?: number;
|
|
384
|
+
debuff?: boolean;
|
|
385
|
+
disable_historical_mod?: boolean;
|
|
386
|
+
landing_battle?: boolean;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
390
|
+
|
|
391
|
+
export interface SupportShellingSimulatorParams {
|
|
392
|
+
attacker_formation?: Formation;
|
|
393
|
+
target_formation?: Formation;
|
|
394
|
+
engagement: Engagement;
|
|
395
|
+
node_state: NodeState;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
399
|
+
|
|
400
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
401
|
+
|
|
402
|
+
export type SingleFormation =
|
|
403
|
+
| "LineAhead"
|
|
404
|
+
| "DoubleLine"
|
|
405
|
+
| "Diamond"
|
|
406
|
+
| "Echelon"
|
|
407
|
+
| "LineAbreast"
|
|
408
|
+
| "Vanguard";
|
|
409
|
+
|
|
410
|
+
export type CombinedFormation =
|
|
411
|
+
| "Cruising1"
|
|
412
|
+
| "Cruising2"
|
|
413
|
+
| "Cruising3"
|
|
414
|
+
| "Cruising4";
|
|
415
|
+
|
|
416
|
+
export type Formation = SingleFormation | CombinedFormation;
|
|
417
|
+
|
|
418
|
+
export interface MasterData extends MasterBattleDefinitions {
|
|
419
|
+
created_at: number;
|
|
420
|
+
gears: MasterGear[];
|
|
421
|
+
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
422
|
+
ships: MasterShip[];
|
|
423
|
+
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
424
|
+
ibonuses: MasterIBonuses;
|
|
425
|
+
equippability: MasterEquippability;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
export interface NationalityDef {
|
|
429
|
+
id: number;
|
|
430
|
+
ctypes: number[];
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
export interface MasterAttrRule<T> {
|
|
434
|
+
tag: T;
|
|
435
|
+
name: string;
|
|
436
|
+
expr: CompiledEvaler;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
export interface MasterShip {
|
|
440
|
+
ship_id: number;
|
|
441
|
+
name: string;
|
|
442
|
+
yomi: string;
|
|
443
|
+
stype: number;
|
|
444
|
+
ctype: number;
|
|
445
|
+
nationality?: number;
|
|
446
|
+
sort_id?: number;
|
|
447
|
+
max_hp: StatInterval;
|
|
448
|
+
firepower: StatInterval;
|
|
449
|
+
armor: StatInterval;
|
|
450
|
+
torpedo: StatInterval;
|
|
451
|
+
evasion: StatInterval;
|
|
452
|
+
anti_air: StatInterval;
|
|
453
|
+
asw: StatInterval;
|
|
454
|
+
los: StatInterval;
|
|
455
|
+
luck: StatInterval;
|
|
456
|
+
torpedo_accuracy?: number;
|
|
457
|
+
basic_evasion_term?: number;
|
|
458
|
+
speed: number;
|
|
459
|
+
range?: number;
|
|
460
|
+
fuel?: number;
|
|
461
|
+
ammo?: number;
|
|
462
|
+
next_id?: number;
|
|
463
|
+
next_level?: number;
|
|
464
|
+
slotnum: number;
|
|
465
|
+
slots: SlotSizeVec;
|
|
466
|
+
stock: GearState[];
|
|
467
|
+
speed_group?: SpeedGroup;
|
|
468
|
+
useful?: boolean;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
export type StatInterval = [number | null, number | null];
|
|
472
|
+
|
|
473
|
+
export interface MasterIBonuses {
|
|
474
|
+
shelling_power: MasterIBonusRule[];
|
|
475
|
+
shelling_accuracy: MasterIBonusRule[];
|
|
476
|
+
shelling_aerial_power: MasterIBonusRule[];
|
|
477
|
+
torpedo_power: MasterIBonusRule[];
|
|
478
|
+
torpedo_accuracy: MasterIBonusRule[];
|
|
479
|
+
torpedo_evasion: MasterIBonusRule[];
|
|
480
|
+
asw_power: MasterIBonusRule[];
|
|
481
|
+
asw_accuracy: MasterIBonusRule[];
|
|
482
|
+
night_power: MasterIBonusRule[];
|
|
483
|
+
night_aerial_power: MasterIBonusRule[];
|
|
484
|
+
night_accuracy: MasterIBonusRule[];
|
|
485
|
+
defense_power: MasterIBonusRule[];
|
|
486
|
+
contact_selection: MasterIBonusRule[];
|
|
487
|
+
fighter_power: MasterIBonusRule[];
|
|
488
|
+
ship_anti_air: MasterIBonusRule[];
|
|
489
|
+
fleet_anti_air: MasterIBonusRule[];
|
|
490
|
+
elos: MasterIBonusRule[];
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
export interface MasterIBonusRule {
|
|
494
|
+
expr: CompiledEvaler;
|
|
495
|
+
formula: CompiledEvaler;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
export type ShipAttr =
|
|
499
|
+
| "Unknown"
|
|
500
|
+
| "NightCarrier"
|
|
501
|
+
| "Installation"
|
|
502
|
+
| "RoyalNavy"
|
|
503
|
+
| "Kai2"
|
|
504
|
+
| "TurbineSpeedBonus"
|
|
505
|
+
| "NewModelBoilerSpeedBonus"
|
|
506
|
+
| "Pillbox"
|
|
507
|
+
| "IsolatedIsland"
|
|
508
|
+
| "HarbourSummerPrincess"
|
|
509
|
+
| "SupplyDepot"
|
|
510
|
+
| "NewSupplyDepot"
|
|
511
|
+
| "PtImp"
|
|
512
|
+
| "BattleshipSummerPrincess"
|
|
513
|
+
| "HeavyCruiserSummerPrincess"
|
|
514
|
+
| "AnchorageWaterDemonVacationMode"
|
|
515
|
+
| "FrenchBattleshipPrincess"
|
|
516
|
+
| "DockPrincess"
|
|
517
|
+
| "SummerAircraftCarrierDemon"
|
|
518
|
+
| "EuropeanWaterPrincess";
|
|
519
|
+
|
|
520
|
+
export type ShipCategory =
|
|
521
|
+
| "Battleship"
|
|
522
|
+
| "AircraftCarrier"
|
|
523
|
+
| "HeavyCruiser"
|
|
524
|
+
| "LightCruiser"
|
|
525
|
+
| "Destroyer"
|
|
526
|
+
| "CoastalDefenseShip"
|
|
527
|
+
| "Submarine"
|
|
528
|
+
| "AuxiliaryShip";
|
|
529
|
+
|
|
530
|
+
export type ShipType =
|
|
531
|
+
| "Unknown"
|
|
532
|
+
| "DE"
|
|
533
|
+
| "DD"
|
|
534
|
+
| "CL"
|
|
535
|
+
| "CLT"
|
|
536
|
+
| "CA"
|
|
537
|
+
| "CAV"
|
|
538
|
+
| "CVL"
|
|
539
|
+
| "FBB"
|
|
540
|
+
| "BB"
|
|
541
|
+
| "BBV"
|
|
542
|
+
| "CV"
|
|
543
|
+
| "XBB"
|
|
544
|
+
| "SS"
|
|
545
|
+
| "SSV"
|
|
546
|
+
| "AP"
|
|
547
|
+
| "AV"
|
|
548
|
+
| "LHA"
|
|
549
|
+
| "CVB"
|
|
550
|
+
| "AR"
|
|
551
|
+
| "AS"
|
|
552
|
+
| "CT"
|
|
553
|
+
| "AO";
|
|
554
|
+
|
|
555
|
+
export type CompiledEvaler = string;
|
|
556
|
+
|
|
557
|
+
export interface EquippabilityRule {
|
|
558
|
+
ship: CompiledEvaler;
|
|
559
|
+
keys?: string[];
|
|
560
|
+
include?: string;
|
|
561
|
+
exclude?: string;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
export interface MasterEquippability {
|
|
565
|
+
equip_stype: MstStype[];
|
|
566
|
+
equip_exslot: number[];
|
|
567
|
+
equip_ship: Record<number, MstEquipShip>;
|
|
568
|
+
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
569
|
+
rules: EquippabilityRule[];
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
export interface MstEquipExslotShip {
|
|
573
|
+
api_ctypes: Record<number, number> | null;
|
|
574
|
+
api_ship_ids: Record<number, number> | null;
|
|
575
|
+
api_stypes: Record<number, number> | null;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
export interface MstEquipShip {
|
|
579
|
+
api_equip_type: Record<number, MstEquipShipValue>;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
export type MstEquipShipValue = null | number[];
|
|
583
|
+
|
|
584
|
+
export interface MstStype {
|
|
585
|
+
api_id: number;
|
|
586
|
+
api_equip_type: Record<number, number>;
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
export interface MoveShipPayload {
|
|
590
|
+
current: [string, string, ShipKey];
|
|
591
|
+
target: [string | null, string, ShipKey];
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
export type GearVecInput = GearInput[];
|
|
595
|
+
|
|
596
|
+
export interface GearInput {
|
|
597
|
+
gear_id: number;
|
|
598
|
+
types: GearTypeIdArray;
|
|
599
|
+
firepower: number;
|
|
600
|
+
torpedo: number;
|
|
601
|
+
anti_air: number;
|
|
602
|
+
armor: number;
|
|
603
|
+
evasion: number;
|
|
604
|
+
asw: number;
|
|
605
|
+
los: number;
|
|
606
|
+
bombing: number;
|
|
607
|
+
accuracy: number;
|
|
608
|
+
range: number;
|
|
609
|
+
radius: number;
|
|
610
|
+
stars: number;
|
|
611
|
+
ace: number;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
export interface ShipInput {
|
|
615
|
+
ship_id: number;
|
|
616
|
+
ctype: number;
|
|
617
|
+
stype: number;
|
|
618
|
+
yomi: string;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
export interface EBonuses {
|
|
622
|
+
firepower: number;
|
|
253
623
|
torpedo: number;
|
|
254
624
|
anti_air: number;
|
|
255
625
|
armor: number;
|
|
@@ -273,6 +643,32 @@ export interface SimulatorResultItem {
|
|
|
273
643
|
damage_state_map: Record<DamageState, number>;
|
|
274
644
|
}
|
|
275
645
|
|
|
646
|
+
export interface MasterGear {
|
|
647
|
+
gear_id: number;
|
|
648
|
+
name: string;
|
|
649
|
+
types: GearTypeIdArray;
|
|
650
|
+
special_type?: number;
|
|
651
|
+
max_hp?: number;
|
|
652
|
+
firepower?: number;
|
|
653
|
+
armor?: number;
|
|
654
|
+
torpedo?: number;
|
|
655
|
+
anti_air?: number;
|
|
656
|
+
speed?: number;
|
|
657
|
+
bombing?: number;
|
|
658
|
+
asw?: number;
|
|
659
|
+
los?: number;
|
|
660
|
+
luck?: number;
|
|
661
|
+
accuracy?: number;
|
|
662
|
+
evasion?: number;
|
|
663
|
+
range?: number;
|
|
664
|
+
radius?: number;
|
|
665
|
+
cost?: number;
|
|
666
|
+
improvable?: boolean;
|
|
667
|
+
ship_anti_air_resist?: number;
|
|
668
|
+
fleet_anti_air_resist?: number;
|
|
669
|
+
historical_aircraft_group?: number;
|
|
670
|
+
}
|
|
671
|
+
|
|
276
672
|
export interface HitRate {
|
|
277
673
|
normal: number;
|
|
278
674
|
critical: number;
|
|
@@ -295,203 +691,52 @@ export interface AttackAnalyzerShipConfig
|
|
|
295
691
|
fleet_los_mod?: number | null;
|
|
296
692
|
}
|
|
297
693
|
|
|
298
|
-
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
299
|
-
|
|
300
|
-
export interface AirSquadronState extends GearVecState, SlotSizeVecState {
|
|
301
|
-
id?: string;
|
|
302
|
-
mode?: AirSquadronMode;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
export interface ShellingStyle {
|
|
306
|
-
tag: "ShellingStyle";
|
|
307
|
-
attack_type: ShellingType;
|
|
308
|
-
cutin: DayCutinLike | null;
|
|
309
|
-
power_mod: number;
|
|
310
|
-
accuracy_mod: number;
|
|
311
|
-
hits: number;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
export interface NightAttackStyle {
|
|
315
|
-
tag: "NightAttackStyle";
|
|
316
|
-
attack_type: NightAttackType;
|
|
317
|
-
cutin: NightCutinLike | null;
|
|
318
|
-
power_mod: number;
|
|
319
|
-
accuracy_mod: number;
|
|
320
|
-
hits: number;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
export interface AswAttackStyle {
|
|
324
|
-
tag: "AswAttackStyle";
|
|
325
|
-
attack_type: AswAttackType;
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
export interface TorpedoAttackStyle {
|
|
329
|
-
tag: "TorpedoAttackStyle";
|
|
330
|
-
attack_type: TorpedoAttackType;
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
334
|
-
|
|
335
|
-
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
336
|
-
|
|
337
|
-
export interface SupportShellingStyle {
|
|
338
|
-
tag: "SupportShellingStyle";
|
|
339
|
-
attack_type: SupportShellingType;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
343
|
-
|
|
344
|
-
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
345
|
-
|
|
346
|
-
export interface ShipMeta {
|
|
347
|
-
id: string;
|
|
348
|
-
ship_id: number;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
export interface FleetMeta {
|
|
352
|
-
id: string;
|
|
353
|
-
len: number;
|
|
354
|
-
ships: [string, ShipMeta | null][];
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
export interface CompMeta {
|
|
358
|
-
fleets: Record<FleetType, FleetMeta>;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
export interface OrgState {
|
|
362
|
-
id?: string;
|
|
363
|
-
f1?: FleetState;
|
|
364
|
-
f2?: FleetState;
|
|
365
|
-
f3?: FleetState;
|
|
366
|
-
f4?: FleetState;
|
|
367
|
-
a1?: AirSquadronState;
|
|
368
|
-
a2?: AirSquadronState;
|
|
369
|
-
a3?: AirSquadronState;
|
|
370
|
-
hq_level?: number;
|
|
371
|
-
org_type?: OrgType;
|
|
372
|
-
sortie?: FleetKey;
|
|
373
|
-
route_sup?: FleetKey;
|
|
374
|
-
boss_sup?: FleetKey;
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
378
|
-
|
|
379
|
-
export interface SlotSizeVecState {
|
|
380
|
-
ss1?: number;
|
|
381
|
-
ss2?: number;
|
|
382
|
-
ss3?: number;
|
|
383
|
-
ss4?: number;
|
|
384
|
-
ss5?: number;
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
388
|
-
id?: string;
|
|
389
|
-
ship_id: number;
|
|
390
|
-
level?: number;
|
|
391
|
-
current_hp?: number;
|
|
392
|
-
morale?: number;
|
|
393
|
-
ammo?: number;
|
|
394
|
-
fuel?: number;
|
|
395
|
-
max_hp_mod?: number;
|
|
396
|
-
firepower_mod?: number;
|
|
397
|
-
torpedo_mod?: number;
|
|
398
|
-
armor_mod?: number;
|
|
399
|
-
anti_air_mod?: number;
|
|
400
|
-
evasion_mod?: number;
|
|
401
|
-
asw_mod?: number;
|
|
402
|
-
los_mod?: number;
|
|
403
|
-
luck_mod?: number;
|
|
404
|
-
day_gunfit_accuracy?: number;
|
|
405
|
-
night_gunfit_accuracy?: number;
|
|
406
|
-
custom_power_mods?: CustomPowerModifiers;
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
410
|
-
|
|
411
|
-
export type Side = "Player" | "Enemy";
|
|
412
|
-
|
|
413
|
-
export type Align = "Left" | "Right";
|
|
414
|
-
|
|
415
|
-
export interface MasterData extends MasterBattleDefinitions {
|
|
416
|
-
created_at: number;
|
|
417
|
-
gears: MasterGear[];
|
|
418
|
-
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
419
|
-
ships: MasterShip[];
|
|
420
|
-
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
421
|
-
ibonuses: MasterIBonuses;
|
|
422
|
-
equippability: MasterEquippability;
|
|
423
|
-
}
|
|
694
|
+
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
424
695
|
|
|
425
|
-
export interface
|
|
426
|
-
id
|
|
427
|
-
|
|
696
|
+
export interface AirSquadronState extends GearVecState, SlotSizeVecState {
|
|
697
|
+
id?: string;
|
|
698
|
+
mode?: AirSquadronMode;
|
|
428
699
|
}
|
|
429
700
|
|
|
430
|
-
export interface
|
|
431
|
-
tag:
|
|
432
|
-
|
|
433
|
-
|
|
701
|
+
export interface ShellingStyle {
|
|
702
|
+
tag: "ShellingStyle";
|
|
703
|
+
attack_type: ShellingType;
|
|
704
|
+
cutin: DayCutinLike | null;
|
|
705
|
+
power_mod: number;
|
|
706
|
+
accuracy_mod: number;
|
|
707
|
+
hits: number;
|
|
434
708
|
}
|
|
435
709
|
|
|
436
|
-
export interface
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
sort_id?: number;
|
|
444
|
-
max_hp: StatInterval;
|
|
445
|
-
firepower: StatInterval;
|
|
446
|
-
armor: StatInterval;
|
|
447
|
-
torpedo: StatInterval;
|
|
448
|
-
evasion: StatInterval;
|
|
449
|
-
anti_air: StatInterval;
|
|
450
|
-
asw: StatInterval;
|
|
451
|
-
los: StatInterval;
|
|
452
|
-
luck: StatInterval;
|
|
453
|
-
torpedo_accuracy?: number;
|
|
454
|
-
basic_evasion_term?: number;
|
|
455
|
-
speed: number;
|
|
456
|
-
range?: number;
|
|
457
|
-
fuel?: number;
|
|
458
|
-
ammo?: number;
|
|
459
|
-
next_id?: number;
|
|
460
|
-
next_level?: number;
|
|
461
|
-
slotnum: number;
|
|
462
|
-
slots: SlotSizeVec;
|
|
463
|
-
stock: GearState[];
|
|
464
|
-
speed_group?: SpeedGroup;
|
|
465
|
-
useful?: boolean;
|
|
710
|
+
export interface NightAttackStyle {
|
|
711
|
+
tag: "NightAttackStyle";
|
|
712
|
+
attack_type: NightAttackType;
|
|
713
|
+
cutin: NightCutinLike | null;
|
|
714
|
+
power_mod: number;
|
|
715
|
+
accuracy_mod: number;
|
|
716
|
+
hits: number;
|
|
466
717
|
}
|
|
467
718
|
|
|
468
|
-
export
|
|
719
|
+
export interface AswAttackStyle {
|
|
720
|
+
tag: "AswAttackStyle";
|
|
721
|
+
attack_type: AswAttackType;
|
|
722
|
+
}
|
|
469
723
|
|
|
470
|
-
export interface
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
shelling_aerial_power: MasterIBonusRule[];
|
|
474
|
-
torpedo_power: MasterIBonusRule[];
|
|
475
|
-
torpedo_accuracy: MasterIBonusRule[];
|
|
476
|
-
torpedo_evasion: MasterIBonusRule[];
|
|
477
|
-
asw_power: MasterIBonusRule[];
|
|
478
|
-
asw_accuracy: MasterIBonusRule[];
|
|
479
|
-
night_power: MasterIBonusRule[];
|
|
480
|
-
night_aerial_power: MasterIBonusRule[];
|
|
481
|
-
night_accuracy: MasterIBonusRule[];
|
|
482
|
-
defense_power: MasterIBonusRule[];
|
|
483
|
-
contact_selection: MasterIBonusRule[];
|
|
484
|
-
fighter_power: MasterIBonusRule[];
|
|
485
|
-
ship_anti_air: MasterIBonusRule[];
|
|
486
|
-
fleet_anti_air: MasterIBonusRule[];
|
|
487
|
-
elos: MasterIBonusRule[];
|
|
724
|
+
export interface TorpedoAttackStyle {
|
|
725
|
+
tag: "TorpedoAttackStyle";
|
|
726
|
+
attack_type: TorpedoAttackType;
|
|
488
727
|
}
|
|
489
728
|
|
|
490
|
-
export
|
|
491
|
-
|
|
492
|
-
|
|
729
|
+
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
730
|
+
|
|
731
|
+
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
732
|
+
|
|
733
|
+
export interface SupportShellingStyle {
|
|
734
|
+
tag: "SupportShellingStyle";
|
|
735
|
+
attack_type: SupportShellingType;
|
|
493
736
|
}
|
|
494
737
|
|
|
738
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
739
|
+
|
|
495
740
|
export type GearType =
|
|
496
741
|
| "Unknown"
|
|
497
742
|
| "SmallMainGun"
|
|
@@ -570,195 +815,83 @@ export type GearCategory =
|
|
|
570
815
|
| "LandBased"
|
|
571
816
|
| "Misc";
|
|
572
817
|
|
|
573
|
-
export
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
| "Installation"
|
|
577
|
-
| "RoyalNavy"
|
|
578
|
-
| "Kai2"
|
|
579
|
-
| "TurbineSpeedBonus"
|
|
580
|
-
| "NewModelBoilerSpeedBonus"
|
|
581
|
-
| "Pillbox"
|
|
582
|
-
| "IsolatedIsland"
|
|
583
|
-
| "HarbourSummerPrincess"
|
|
584
|
-
| "SupplyDepot"
|
|
585
|
-
| "NewSupplyDepot"
|
|
586
|
-
| "PtImp"
|
|
587
|
-
| "BattleshipSummerPrincess"
|
|
588
|
-
| "HeavyCruiserSummerPrincess"
|
|
589
|
-
| "AnchorageWaterDemonVacationMode"
|
|
590
|
-
| "FrenchBattleshipPrincess"
|
|
591
|
-
| "DockPrincess"
|
|
592
|
-
| "SummerAircraftCarrierDemon";
|
|
593
|
-
|
|
594
|
-
export type ShipCategory =
|
|
595
|
-
| "Battleship"
|
|
596
|
-
| "AircraftCarrier"
|
|
597
|
-
| "HeavyCruiser"
|
|
598
|
-
| "LightCruiser"
|
|
599
|
-
| "Destroyer"
|
|
600
|
-
| "CoastalDefenseShip"
|
|
601
|
-
| "Submarine"
|
|
602
|
-
| "AuxiliaryShip";
|
|
603
|
-
|
|
604
|
-
export type ShipType =
|
|
605
|
-
| "Unknown"
|
|
606
|
-
| "DE"
|
|
607
|
-
| "DD"
|
|
608
|
-
| "CL"
|
|
609
|
-
| "CLT"
|
|
610
|
-
| "CA"
|
|
611
|
-
| "CAV"
|
|
612
|
-
| "CVL"
|
|
613
|
-
| "FBB"
|
|
614
|
-
| "BB"
|
|
615
|
-
| "BBV"
|
|
616
|
-
| "CV"
|
|
617
|
-
| "XBB"
|
|
618
|
-
| "SS"
|
|
619
|
-
| "SSV"
|
|
620
|
-
| "AP"
|
|
621
|
-
| "AV"
|
|
622
|
-
| "LHA"
|
|
623
|
-
| "CVB"
|
|
624
|
-
| "AR"
|
|
625
|
-
| "AS"
|
|
626
|
-
| "CT"
|
|
627
|
-
| "AO";
|
|
628
|
-
|
|
629
|
-
export type GearTypeIdArray = [number, number, number, number, number];
|
|
630
|
-
|
|
631
|
-
export interface SupportShellingSimulatorParams {
|
|
632
|
-
attacker_formation?: Formation;
|
|
633
|
-
target_formation?: Formation;
|
|
634
|
-
engagement: Engagement;
|
|
635
|
-
node_state: NodeState;
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
export interface ShipAnalyzerConfig {
|
|
639
|
-
air_state?: AirState;
|
|
640
|
-
engagement?: Engagement;
|
|
641
|
-
left?: AttackAnalyzerShipConfig;
|
|
642
|
-
right?: AttackAnalyzerShipConfig;
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
646
|
-
|
|
647
|
-
export type SingleFormation =
|
|
648
|
-
| "LineAhead"
|
|
649
|
-
| "DoubleLine"
|
|
650
|
-
| "Diamond"
|
|
651
|
-
| "Echelon"
|
|
652
|
-
| "LineAbreast"
|
|
653
|
-
| "Vanguard";
|
|
654
|
-
|
|
655
|
-
export type CombinedFormation =
|
|
656
|
-
| "Cruising1"
|
|
657
|
-
| "Cruising2"
|
|
658
|
-
| "Cruising3"
|
|
659
|
-
| "Cruising4";
|
|
660
|
-
|
|
661
|
-
export type Formation = SingleFormation | CombinedFormation;
|
|
662
|
-
|
|
663
|
-
export type Role = "Main" | "Escort";
|
|
664
|
-
|
|
665
|
-
export interface CompAnalyzerConfig {
|
|
666
|
-
engagement: Engagement;
|
|
667
|
-
formation: Formation;
|
|
668
|
-
anti_air_cutin: number | null;
|
|
669
|
-
ship_anti_air_resist: number;
|
|
670
|
-
fleet_anti_air_resist: number;
|
|
671
|
-
left_night_fleet_conditions: NightFleetConditions;
|
|
672
|
-
right_night_fleet_conditions: NightFleetConditions;
|
|
673
|
-
}
|
|
674
|
-
|
|
675
|
-
export interface CompNightAnalysis {
|
|
676
|
-
night_cutin: CompNightCutinAnalysis;
|
|
677
|
-
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
export interface CompDayAnalysis {
|
|
681
|
-
day_cutin: CompDayCutinAnalysis;
|
|
682
|
-
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
818
|
+
export interface ShipMeta {
|
|
819
|
+
id: string;
|
|
820
|
+
ship_id: number;
|
|
683
821
|
}
|
|
684
822
|
|
|
685
|
-
export interface
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
anti_air: CompAntiAirAnalysis;
|
|
823
|
+
export interface FleetMeta {
|
|
824
|
+
id: string;
|
|
825
|
+
len: number;
|
|
826
|
+
ships: [string, ShipMeta | null][];
|
|
690
827
|
}
|
|
691
828
|
|
|
692
|
-
export interface
|
|
693
|
-
|
|
694
|
-
name: string;
|
|
695
|
-
types: GearTypeIdArray;
|
|
696
|
-
special_type?: number;
|
|
697
|
-
max_hp?: number;
|
|
698
|
-
firepower?: number;
|
|
699
|
-
armor?: number;
|
|
700
|
-
torpedo?: number;
|
|
701
|
-
anti_air?: number;
|
|
702
|
-
speed?: number;
|
|
703
|
-
bombing?: number;
|
|
704
|
-
asw?: number;
|
|
705
|
-
los?: number;
|
|
706
|
-
luck?: number;
|
|
707
|
-
accuracy?: number;
|
|
708
|
-
evasion?: number;
|
|
709
|
-
range?: number;
|
|
710
|
-
radius?: number;
|
|
711
|
-
cost?: number;
|
|
712
|
-
improvable?: boolean;
|
|
713
|
-
ship_anti_air_resist?: number;
|
|
714
|
-
fleet_anti_air_resist?: number;
|
|
715
|
-
historical_aircraft_group?: number;
|
|
829
|
+
export interface CompMeta {
|
|
830
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
716
831
|
}
|
|
717
832
|
|
|
718
|
-
export
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
833
|
+
export interface OrgState {
|
|
834
|
+
id?: string;
|
|
835
|
+
f1?: FleetState;
|
|
836
|
+
f2?: FleetState;
|
|
837
|
+
f3?: FleetState;
|
|
838
|
+
f4?: FleetState;
|
|
839
|
+
a1?: AirSquadronState;
|
|
840
|
+
a2?: AirSquadronState;
|
|
841
|
+
a3?: AirSquadronState;
|
|
842
|
+
hq_level?: number;
|
|
843
|
+
org_type?: OrgType;
|
|
844
|
+
sortie?: FleetKey;
|
|
845
|
+
route_sup?: FleetKey;
|
|
846
|
+
boss_sup?: FleetKey;
|
|
847
|
+
}
|
|
724
848
|
|
|
725
|
-
export type
|
|
849
|
+
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
726
850
|
|
|
727
|
-
export interface
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
fleet_los_mod: number | null;
|
|
734
|
-
night_conditions: NightFleetConditions;
|
|
851
|
+
export interface SlotSizeVecState {
|
|
852
|
+
ss1?: number;
|
|
853
|
+
ss2?: number;
|
|
854
|
+
ss3?: number;
|
|
855
|
+
ss4?: number;
|
|
856
|
+
ss5?: number;
|
|
735
857
|
}
|
|
736
858
|
|
|
737
|
-
export interface
|
|
738
|
-
|
|
739
|
-
|
|
859
|
+
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
860
|
+
id?: string;
|
|
861
|
+
ship_id: number;
|
|
862
|
+
level?: number;
|
|
863
|
+
current_hp?: number;
|
|
864
|
+
morale?: number;
|
|
865
|
+
ammo?: number;
|
|
866
|
+
fuel?: number;
|
|
867
|
+
max_hp_mod?: number;
|
|
868
|
+
firepower_mod?: number;
|
|
869
|
+
torpedo_mod?: number;
|
|
870
|
+
armor_mod?: number;
|
|
871
|
+
anti_air_mod?: number;
|
|
872
|
+
evasion_mod?: number;
|
|
873
|
+
asw_mod?: number;
|
|
874
|
+
los_mod?: number;
|
|
875
|
+
luck_mod?: number;
|
|
876
|
+
day_gunfit_accuracy?: number;
|
|
877
|
+
night_gunfit_accuracy?: number;
|
|
878
|
+
custom_power_mods?: CustomPowerModifiers;
|
|
740
879
|
}
|
|
741
880
|
|
|
742
|
-
export
|
|
743
|
-
night_contact_rank?: ContactRank | null;
|
|
744
|
-
starshell_index?: number | null;
|
|
745
|
-
searchlight_index?: number | null;
|
|
746
|
-
activates_large_searchlight?: boolean;
|
|
747
|
-
}
|
|
881
|
+
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
748
882
|
|
|
749
|
-
export type
|
|
750
|
-
| "Single"
|
|
751
|
-
| "CarrierTaskForce"
|
|
752
|
-
| "SurfaceTaskForce"
|
|
753
|
-
| "TransportEscort"
|
|
754
|
-
| "EnemySingle"
|
|
755
|
-
| "EnemyCombined";
|
|
883
|
+
export type Side = "Player" | "Enemy";
|
|
756
884
|
|
|
757
|
-
export
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
885
|
+
export type Align = "Left" | "Right";
|
|
886
|
+
|
|
887
|
+
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
888
|
+
|
|
889
|
+
export interface MasterBattleDefinitions {
|
|
890
|
+
formation: NestedFormationDef[];
|
|
891
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
892
|
+
day_cutin: DayCutinDef[];
|
|
893
|
+
night_cutin: NightCutinDef[];
|
|
894
|
+
historical_bonuses?: HistoricalBonusDef[];
|
|
762
895
|
}
|
|
763
896
|
|
|
764
897
|
export interface AttackPower {
|
|
@@ -788,83 +921,21 @@ export interface AttackPowerParams {
|
|
|
788
921
|
custom_mods: CustomPowerModifiers;
|
|
789
922
|
}
|
|
790
923
|
|
|
791
|
-
export interface
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
export interface NodeAttackAnalyzerConfig {
|
|
796
|
-
air_state?: AirState;
|
|
797
|
-
engagement?: Engagement;
|
|
798
|
-
node_state?: NodeState;
|
|
799
|
-
left?: NodeAttackAnalyzerShipConfig;
|
|
800
|
-
right?: NodeAttackAnalyzerShipConfig;
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
export interface NodeAttackAnalysis {
|
|
804
|
-
left: AttackAnalysis;
|
|
805
|
-
right: AttackAnalysis;
|
|
806
|
-
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
807
|
-
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
export interface AttackAnalysis {
|
|
811
|
-
attacker_is_player: boolean;
|
|
812
|
-
attacker_ship_id: number;
|
|
813
|
-
target_ship_id: number;
|
|
814
|
-
historical_params: HistoricalParams;
|
|
815
|
-
day: ActionReport<DayPhaseAttackStyle>;
|
|
816
|
-
night: ActionReport<NightPhaseAttackStyle>;
|
|
817
|
-
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
818
|
-
opening_asw: ActionReport<AswAttackStyle>;
|
|
819
|
-
support_shelling: ActionReport<SupportShellingStyle>;
|
|
924
|
+
export interface ActionReport<T> {
|
|
925
|
+
data: Record<string, AttackReport<T>>;
|
|
926
|
+
damage_state_density: Histogram<DamageState, number> | null;
|
|
927
|
+
is_active: boolean;
|
|
820
928
|
}
|
|
821
929
|
|
|
822
|
-
export
|
|
823
|
-
id?: string;
|
|
824
|
-
len?: number;
|
|
825
|
-
s1?: ShipState;
|
|
826
|
-
s2?: ShipState;
|
|
827
|
-
s3?: ShipState;
|
|
828
|
-
s4?: ShipState;
|
|
829
|
-
s5?: ShipState;
|
|
830
|
-
s6?: ShipState;
|
|
831
|
-
s7?: ShipState;
|
|
832
|
-
}
|
|
930
|
+
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
833
931
|
|
|
834
|
-
export type
|
|
835
|
-
| "Unknown"
|
|
836
|
-
| "HighAngleMount"
|
|
837
|
-
| "NightFighter"
|
|
838
|
-
| "NightAttacker"
|
|
839
|
-
| "HeavyBomber"
|
|
840
|
-
| "NightRecon"
|
|
841
|
-
| "MainGun"
|
|
842
|
-
| "Radar"
|
|
843
|
-
| "SurfaceRadar"
|
|
844
|
-
| "AirRadar"
|
|
845
|
-
| "DepthChargeProjector"
|
|
846
|
-
| "SynergisticDepthCharge"
|
|
847
|
-
| "AntiSubMortar"
|
|
848
|
-
| "AntiSubWeapon"
|
|
849
|
-
| "ApDepthCharge"
|
|
850
|
-
| "AntiSubAircraft"
|
|
851
|
-
| "LateModelBowTorpedo"
|
|
852
|
-
| "Seaplane"
|
|
853
|
-
| "CbAircraft"
|
|
854
|
-
| "LbAircraft"
|
|
855
|
-
| "JetAircraft"
|
|
856
|
-
| "Fighter"
|
|
857
|
-
| "Recon"
|
|
858
|
-
| "ObservationSeaplane"
|
|
859
|
-
| "CbFighterBomber"
|
|
860
|
-
| "AntiInstDiveBomber"
|
|
861
|
-
| "CbSwordfish"
|
|
862
|
-
| "SemiNightPlane"
|
|
863
|
-
| "HighAltitudeInterceptor";
|
|
932
|
+
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
864
933
|
|
|
865
|
-
export interface
|
|
866
|
-
|
|
867
|
-
|
|
934
|
+
export interface ShipAnalyzerConfig {
|
|
935
|
+
air_state?: AirState;
|
|
936
|
+
engagement?: Engagement;
|
|
937
|
+
left?: AttackAnalyzerShipConfig;
|
|
938
|
+
right?: AttackAnalyzerShipConfig;
|
|
868
939
|
}
|
|
869
940
|
|
|
870
941
|
export interface NightContactChance {
|
|
@@ -937,89 +1008,21 @@ export interface DayContactChance {
|
|
|
937
1008
|
total: number;
|
|
938
1009
|
}
|
|
939
1010
|
|
|
940
|
-
export type
|
|
941
|
-
|
|
942
|
-
export type ShellingType = "Normal" | "Aerial";
|
|
943
|
-
|
|
944
|
-
export type NightAttackType = "Normal" | "Swordfish" | "Aerial";
|
|
945
|
-
|
|
946
|
-
export type SupportShellingType = ShellingType;
|
|
947
|
-
|
|
948
|
-
export type AttackType =
|
|
949
|
-
| { t: "Asw"; c: AswAttackType }
|
|
950
|
-
| { t: "Shelling"; c: ShellingType }
|
|
951
|
-
| { t: "Night"; c: NightAttackType }
|
|
952
|
-
| { t: "Torpedo" }
|
|
953
|
-
| { t: "SupportShelling"; c: SupportShellingType };
|
|
954
|
-
|
|
955
|
-
export type DayPhaseAttackType =
|
|
956
|
-
| { t: "Shelling"; c: ShellingType }
|
|
957
|
-
| { t: "Asw"; c: AswAttackType };
|
|
958
|
-
|
|
959
|
-
export type NightPhaseAttackType =
|
|
960
|
-
| { t: "Night"; c: NightAttackType }
|
|
961
|
-
| { t: "Asw"; c: AswAttackType };
|
|
962
|
-
|
|
963
|
-
export type TorpedoAttackType = null;
|
|
964
|
-
|
|
965
|
-
export type DayCutin =
|
|
966
|
-
| "Zuiun"
|
|
967
|
-
| "AirSea"
|
|
968
|
-
| "MainMain"
|
|
969
|
-
| "MainAp"
|
|
970
|
-
| "MainRadar"
|
|
971
|
-
| "MainSec"
|
|
972
|
-
| "DoubleAttack"
|
|
973
|
-
| "FBA"
|
|
974
|
-
| "BBA"
|
|
975
|
-
| "BA";
|
|
976
|
-
|
|
977
|
-
export type NightCutin =
|
|
978
|
-
| "MainTorpRadar"
|
|
979
|
-
| "TorpLookoutRadar"
|
|
980
|
-
| "TorpTsloTorp"
|
|
981
|
-
| "TorpTsloDrum"
|
|
982
|
-
| "NightZuiun2Radar"
|
|
983
|
-
| "NightZuiun2"
|
|
984
|
-
| "NightZuiunRadar"
|
|
985
|
-
| "NightZuiun"
|
|
986
|
-
| "DoubleAttack"
|
|
987
|
-
| "TorpTorpMain"
|
|
988
|
-
| "TorpTorpTorp"
|
|
989
|
-
| "MainMainSec"
|
|
990
|
-
| "MainMainMain"
|
|
991
|
-
| "SubTorpTorp"
|
|
992
|
-
| "SubRadarTorp"
|
|
993
|
-
| "Cvci1_25"
|
|
994
|
-
| "Cvci1_20"
|
|
995
|
-
| "Cvci1_18"
|
|
996
|
-
| "Photobomber";
|
|
1011
|
+
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
997
1012
|
|
|
998
|
-
export type
|
|
999
|
-
| "
|
|
1000
|
-
| "
|
|
1001
|
-
| "
|
|
1002
|
-
| "
|
|
1003
|
-
| "
|
|
1004
|
-
| "Yamato3ShipCutin";
|
|
1013
|
+
export type AirState =
|
|
1014
|
+
| "AirSupremacy"
|
|
1015
|
+
| "AirSuperiority"
|
|
1016
|
+
| "AirParity"
|
|
1017
|
+
| "AirDenial"
|
|
1018
|
+
| "AirIncapability";
|
|
1005
1019
|
|
|
1006
|
-
export type
|
|
1020
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
1007
1021
|
|
|
1008
|
-
export type
|
|
1022
|
+
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
1009
1023
|
|
|
1010
1024
|
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
1011
1025
|
|
|
1012
|
-
export type NodeId = string;
|
|
1013
|
-
|
|
1014
|
-
export interface NodeState {
|
|
1015
|
-
map?: number;
|
|
1016
|
-
node?: NodeId;
|
|
1017
|
-
phase?: number;
|
|
1018
|
-
debuff?: boolean;
|
|
1019
|
-
disable_historical_mod?: boolean;
|
|
1020
|
-
landing_battle?: boolean;
|
|
1021
|
-
}
|
|
1022
|
-
|
|
1023
1026
|
export type SlotSizeVec = (number | null)[];
|
|
1024
1027
|
|
|
1025
1028
|
export type SpecialEnemyType =
|
|
@@ -1036,7 +1039,8 @@ export type SpecialEnemyType =
|
|
|
1036
1039
|
| "FrenchBattleshipPrincess"
|
|
1037
1040
|
| "AnchorageWaterDemonVacationMode"
|
|
1038
1041
|
| "DockPrincess"
|
|
1039
|
-
| "SummerAircraftCarrierDemon"
|
|
1042
|
+
| "SummerAircraftCarrierDemon"
|
|
1043
|
+
| "EuropeanWaterPrincess";
|
|
1040
1044
|
|
|
1041
1045
|
export class AirSquadron {
|
|
1042
1046
|
private constructor();
|
|
@@ -1305,12 +1309,6 @@ export class Ship {
|
|
|
1305
1309
|
private constructor();
|
|
1306
1310
|
free(): void;
|
|
1307
1311
|
[Symbol.dispose](): void;
|
|
1308
|
-
state_day_gunfit_accuracy(): number | undefined;
|
|
1309
|
-
state_night_gunfit_accuracy(): number | undefined;
|
|
1310
|
-
/**
|
|
1311
|
-
* フィット砲補正
|
|
1312
|
-
*/
|
|
1313
|
-
gunfit_accuracy(is_night: boolean): number;
|
|
1314
1312
|
static default(): Ship;
|
|
1315
1313
|
eq_id(id: string): boolean;
|
|
1316
1314
|
state(): ShipState;
|
|
@@ -1369,6 +1367,12 @@ export class Ship {
|
|
|
1369
1367
|
* 確殺攻撃力
|
|
1370
1368
|
*/
|
|
1371
1369
|
ohko_power(): number | undefined;
|
|
1370
|
+
state_day_gunfit_accuracy(): number | undefined;
|
|
1371
|
+
state_night_gunfit_accuracy(): number | undefined;
|
|
1372
|
+
/**
|
|
1373
|
+
* フィット砲補正
|
|
1374
|
+
*/
|
|
1375
|
+
gunfit_accuracy(is_night: boolean): number;
|
|
1372
1376
|
id: string;
|
|
1373
1377
|
readonly hash: bigint;
|
|
1374
1378
|
readonly ship_id: number;
|