fleethub-core 1.6.0 → 1.7.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 +342 -343
- package/node/fleethub_core.js +46 -46
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +8 -8
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +342 -343
- package/pkg/fleethub_core_bg.js +46 -46
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +8 -8
package/pkg/fleethub_core.d.ts
CHANGED
|
@@ -3,46 +3,6 @@
|
|
|
3
3
|
/**
|
|
4
4
|
*/
|
|
5
5
|
export function set_panic_hook(): void;
|
|
6
|
-
export interface EBonuses {
|
|
7
|
-
firepower: number;
|
|
8
|
-
torpedo: number;
|
|
9
|
-
anti_air: number;
|
|
10
|
-
armor: number;
|
|
11
|
-
evasion: number;
|
|
12
|
-
asw: number;
|
|
13
|
-
los: number;
|
|
14
|
-
bombing: number;
|
|
15
|
-
accuracy: number;
|
|
16
|
-
range: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface ShipInput {
|
|
20
|
-
ship_id: number;
|
|
21
|
-
ctype: number;
|
|
22
|
-
stype: number;
|
|
23
|
-
yomi: string;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export interface GearInput {
|
|
27
|
-
gear_id: number;
|
|
28
|
-
types: GearTypeIdArray;
|
|
29
|
-
firepower: number;
|
|
30
|
-
torpedo: number;
|
|
31
|
-
anti_air: number;
|
|
32
|
-
armor: number;
|
|
33
|
-
evasion: number;
|
|
34
|
-
asw: number;
|
|
35
|
-
los: number;
|
|
36
|
-
bombing: number;
|
|
37
|
-
accuracy: number;
|
|
38
|
-
range: number;
|
|
39
|
-
radius: number;
|
|
40
|
-
stars: number;
|
|
41
|
-
ace: number;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export type GearVecInput = GearInput[];
|
|
45
|
-
|
|
46
6
|
export type ShipType =
|
|
47
7
|
| "Unknown"
|
|
48
8
|
| "DE"
|
|
@@ -78,46 +38,40 @@ export type ShipCategory =
|
|
|
78
38
|
| "Submarine"
|
|
79
39
|
| "AuxiliaryShip";
|
|
80
40
|
|
|
81
|
-
export type
|
|
41
|
+
export type ShellingSpecialAttack =
|
|
42
|
+
| { DayCutin: DayCutin }
|
|
43
|
+
| { FleetCutin: FleetCutin };
|
|
82
44
|
|
|
83
|
-
export type
|
|
84
|
-
| "
|
|
85
|
-
| "
|
|
86
|
-
| "
|
|
87
|
-
| "
|
|
88
|
-
| "
|
|
45
|
+
export type DayCutin =
|
|
46
|
+
| "MainMain"
|
|
47
|
+
| "MainAp"
|
|
48
|
+
| "MainRadar"
|
|
49
|
+
| "MainSec"
|
|
50
|
+
| "DoubleAttack"
|
|
51
|
+
| "FBA"
|
|
52
|
+
| "BBA"
|
|
53
|
+
| "BA"
|
|
54
|
+
| "Zuiun"
|
|
55
|
+
| "AirSea";
|
|
89
56
|
|
|
90
|
-
export interface
|
|
91
|
-
|
|
92
|
-
|
|
57
|
+
export interface ShellingSupportSimulatorParams {
|
|
58
|
+
attacker_formation: Formation;
|
|
59
|
+
target_formation: Formation;
|
|
60
|
+
engagement: Engagement;
|
|
61
|
+
custom_mods: CustomModifiers;
|
|
93
62
|
}
|
|
94
63
|
|
|
95
|
-
export
|
|
96
|
-
cutin: FleetCutin;
|
|
97
|
-
rate: number | null;
|
|
98
|
-
formation: Formation;
|
|
99
|
-
items: FleetCutinInfoItem[];
|
|
100
|
-
}
|
|
64
|
+
export type ShellingAttackType = "Normal" | "Carrier";
|
|
101
65
|
|
|
102
|
-
export
|
|
103
|
-
ship_id: number;
|
|
104
|
-
cutin: FleetCutin;
|
|
105
|
-
fleet_cutin_mod: number;
|
|
106
|
-
stats: AttackStats;
|
|
107
|
-
}
|
|
66
|
+
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
108
67
|
|
|
109
|
-
export
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
normal_scratch_rate: number;
|
|
117
|
-
critical_scratch_rate: number;
|
|
118
|
-
damage_map: NumMap<number, number>;
|
|
119
|
-
damage_state_map: NumMap<DamageState, number>;
|
|
120
|
-
}
|
|
68
|
+
export type OrgType =
|
|
69
|
+
| "Single"
|
|
70
|
+
| "CarrierTaskForce"
|
|
71
|
+
| "SurfaceTaskForce"
|
|
72
|
+
| "TransportEscort"
|
|
73
|
+
| "EnemySingle"
|
|
74
|
+
| "EnemyCombined";
|
|
121
75
|
|
|
122
76
|
export interface WarfareContext {
|
|
123
77
|
attacker_env: WarfareShipEnvironment;
|
|
@@ -136,14 +90,6 @@ export interface WarfareShipEnvironment {
|
|
|
136
90
|
fleet_los_mod: number | null;
|
|
137
91
|
}
|
|
138
92
|
|
|
139
|
-
export type OrgType =
|
|
140
|
-
| "Single"
|
|
141
|
-
| "CarrierTaskForce"
|
|
142
|
-
| "SurfaceTaskForce"
|
|
143
|
-
| "TransportEscort"
|
|
144
|
-
| "EnemySingle"
|
|
145
|
-
| "EnemyCombined";
|
|
146
|
-
|
|
147
93
|
export interface CompMeta {
|
|
148
94
|
fleets: Record<FleetType, FleetMeta>;
|
|
149
95
|
}
|
|
@@ -159,32 +105,6 @@ export interface ShipMeta {
|
|
|
159
105
|
ship_id: number;
|
|
160
106
|
}
|
|
161
107
|
|
|
162
|
-
export interface MasterData {
|
|
163
|
-
gears: MasterGear[];
|
|
164
|
-
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
165
|
-
ships: MasterShip[];
|
|
166
|
-
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
167
|
-
ibonuses: MasterIBonuses;
|
|
168
|
-
equippable: MasterEquippable;
|
|
169
|
-
formation: NestedFormationDef[];
|
|
170
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
171
|
-
day_cutin: DayCutinDef[];
|
|
172
|
-
night_cutin: NightCutinDef[];
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
export interface MasterConfig {
|
|
176
|
-
formation: NestedFormationDef[];
|
|
177
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
178
|
-
day_cutin: DayCutinDef[];
|
|
179
|
-
night_cutin: NightCutinDef[];
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
export interface MasterAttrRule<T> {
|
|
183
|
-
tag: T;
|
|
184
|
-
name: string;
|
|
185
|
-
expr: string;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
108
|
export interface AttackPower {
|
|
189
109
|
precap: number;
|
|
190
110
|
is_capped: boolean;
|
|
@@ -210,8 +130,9 @@ export interface AttackPowerParams {
|
|
|
210
130
|
}
|
|
211
131
|
|
|
212
132
|
export interface CustomModifiers {
|
|
213
|
-
precap_mod
|
|
214
|
-
postcap_mod
|
|
133
|
+
precap_mod?: AttackPowerModifier;
|
|
134
|
+
postcap_mod?: AttackPowerModifier;
|
|
135
|
+
basic_power_mod?: AttackPowerModifier;
|
|
215
136
|
}
|
|
216
137
|
|
|
217
138
|
export interface SpecialEnemyModifiers {
|
|
@@ -232,23 +153,33 @@ export interface AttackPowerModifier {
|
|
|
232
153
|
|
|
233
154
|
export type NumMap<K, V> = Partial<Record<K, V>>;
|
|
234
155
|
|
|
235
|
-
export type
|
|
236
|
-
| { DayCutin: DayCutin }
|
|
237
|
-
| { FleetCutin: FleetCutin };
|
|
156
|
+
export type Role = "Main" | "Escort";
|
|
238
157
|
|
|
239
|
-
export
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
158
|
+
export interface MasterData {
|
|
159
|
+
gears: MasterGear[];
|
|
160
|
+
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
161
|
+
ships: MasterShip[];
|
|
162
|
+
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
163
|
+
ibonuses: MasterIBonuses;
|
|
164
|
+
equippable: MasterEquippable;
|
|
165
|
+
formation: NestedFormationDef[];
|
|
166
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
167
|
+
day_cutin: DayCutinDef[];
|
|
168
|
+
night_cutin: NightCutinDef[];
|
|
169
|
+
}
|
|
250
170
|
|
|
251
|
-
export
|
|
171
|
+
export interface MasterConfig {
|
|
172
|
+
formation: NestedFormationDef[];
|
|
173
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
174
|
+
day_cutin: DayCutinDef[];
|
|
175
|
+
night_cutin: NightCutinDef[];
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export interface MasterAttrRule<T> {
|
|
179
|
+
tag: T;
|
|
180
|
+
name: string;
|
|
181
|
+
expr: string;
|
|
182
|
+
}
|
|
252
183
|
|
|
253
184
|
export type GearCategory =
|
|
254
185
|
| "Fighter"
|
|
@@ -327,13 +258,6 @@ export type GearType =
|
|
|
327
258
|
|
|
328
259
|
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
329
260
|
|
|
330
|
-
export interface ShellingSupportSimulatorParams {
|
|
331
|
-
attacker_formation: Formation;
|
|
332
|
-
target_formation: Formation;
|
|
333
|
-
engagement: Engagement;
|
|
334
|
-
custom_mods: CustomModifiers;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
261
|
export interface CompDayCutinRateInfo {
|
|
338
262
|
main: FleetDayCutinRateInfo;
|
|
339
263
|
escort: FleetDayCutinRateInfo | null;
|
|
@@ -356,6 +280,46 @@ export interface DayCutinRateInfo {
|
|
|
356
280
|
total_cutin_rate: number | null;
|
|
357
281
|
}
|
|
358
282
|
|
|
283
|
+
export interface EBonuses {
|
|
284
|
+
firepower: number;
|
|
285
|
+
torpedo: number;
|
|
286
|
+
anti_air: number;
|
|
287
|
+
armor: number;
|
|
288
|
+
evasion: number;
|
|
289
|
+
asw: number;
|
|
290
|
+
los: number;
|
|
291
|
+
bombing: number;
|
|
292
|
+
accuracy: number;
|
|
293
|
+
range: number;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export interface ShipInput {
|
|
297
|
+
ship_id: number;
|
|
298
|
+
ctype: number;
|
|
299
|
+
stype: number;
|
|
300
|
+
yomi: string;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export interface GearInput {
|
|
304
|
+
gear_id: number;
|
|
305
|
+
types: GearTypeIdArray;
|
|
306
|
+
firepower: number;
|
|
307
|
+
torpedo: number;
|
|
308
|
+
anti_air: number;
|
|
309
|
+
armor: number;
|
|
310
|
+
evasion: number;
|
|
311
|
+
asw: number;
|
|
312
|
+
los: number;
|
|
313
|
+
bombing: number;
|
|
314
|
+
accuracy: number;
|
|
315
|
+
range: number;
|
|
316
|
+
radius: number;
|
|
317
|
+
stars: number;
|
|
318
|
+
ace: number;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export type GearVecInput = GearInput[];
|
|
322
|
+
|
|
359
323
|
export type ShipAttr =
|
|
360
324
|
| "Unknown"
|
|
361
325
|
| "Abyssal"
|
|
@@ -372,6 +336,15 @@ export type ShipAttr =
|
|
|
372
336
|
| "BattleshipSummerPrincess"
|
|
373
337
|
| "HeavyCruiserSummerPrincess";
|
|
374
338
|
|
|
339
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
340
|
+
|
|
341
|
+
export type AirState =
|
|
342
|
+
| "AirSupremacy"
|
|
343
|
+
| "AirSuperiority"
|
|
344
|
+
| "AirParity"
|
|
345
|
+
| "AirDenial"
|
|
346
|
+
| "AirIncapability";
|
|
347
|
+
|
|
375
348
|
export interface MasterIBonuses {
|
|
376
349
|
shelling_power: MasterIBonusRule[];
|
|
377
350
|
carrier_shelling_power: MasterIBonusRule[];
|
|
@@ -396,30 +369,46 @@ export interface MasterIBonusRule {
|
|
|
396
369
|
formula: CompiledEvaler;
|
|
397
370
|
}
|
|
398
371
|
|
|
399
|
-
export type ShellingAttackType = "Normal" | "Carrier";
|
|
400
|
-
|
|
401
372
|
export interface NightSituation {
|
|
402
373
|
night_contact_rank: ContactRank | null;
|
|
403
374
|
starshell: boolean;
|
|
404
375
|
searchlight: boolean;
|
|
405
376
|
}
|
|
406
377
|
|
|
407
|
-
export interface
|
|
408
|
-
|
|
409
|
-
|
|
378
|
+
export interface FleetCutinAnalysis {
|
|
379
|
+
shelling: FleetCutinInfo[];
|
|
380
|
+
night: FleetCutinInfo[];
|
|
410
381
|
}
|
|
411
382
|
|
|
412
|
-
export interface
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
rank1: number;
|
|
418
|
-
total: number;
|
|
383
|
+
export interface FleetCutinInfo {
|
|
384
|
+
cutin: FleetCutin;
|
|
385
|
+
rate: number | null;
|
|
386
|
+
formation: Formation;
|
|
387
|
+
items: FleetCutinInfoItem[];
|
|
419
388
|
}
|
|
420
389
|
|
|
421
|
-
export
|
|
422
|
-
|
|
390
|
+
export interface FleetCutinInfoItem {
|
|
391
|
+
ship_id: number;
|
|
392
|
+
cutin: FleetCutin;
|
|
393
|
+
fleet_cutin_mod: number;
|
|
394
|
+
stats: AttackStats;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
export interface DamageInfo {
|
|
398
|
+
miss_damage_min: number;
|
|
399
|
+
miss_damage_max: number;
|
|
400
|
+
normal_damage_min: number;
|
|
401
|
+
normal_damage_max: number;
|
|
402
|
+
critical_damage_min: number;
|
|
403
|
+
critical_damage_max: number;
|
|
404
|
+
normal_scratch_rate: number;
|
|
405
|
+
critical_scratch_rate: number;
|
|
406
|
+
damage_map: NumMap<number, number>;
|
|
407
|
+
damage_state_map: NumMap<DamageState, number>;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
export type GearAttr =
|
|
411
|
+
| "Unknown"
|
|
423
412
|
| "Abyssal"
|
|
424
413
|
| "HighAngleMount"
|
|
425
414
|
| "NightFighter"
|
|
@@ -467,6 +456,131 @@ export type SingleFormation =
|
|
|
467
456
|
|
|
468
457
|
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
469
458
|
|
|
459
|
+
export interface CompAntiAirInfo {
|
|
460
|
+
fleet_adjusted_anti_air: number;
|
|
461
|
+
ships: ShipAntiAirInfo[];
|
|
462
|
+
anti_air_cutin_chance: [number, number][];
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
export interface ShipAntiAirInfo {
|
|
466
|
+
ship_id: number;
|
|
467
|
+
adjusted_anti_air: number | null;
|
|
468
|
+
proportional_shotdown_rate: number | null;
|
|
469
|
+
fixed_shotdown_number: number | null;
|
|
470
|
+
guaranteed: number | null;
|
|
471
|
+
anti_air_cutin_chance: [number, number][];
|
|
472
|
+
anti_air_propellant_barrage_chance: number | null;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
export interface CompContactChanceInfo {
|
|
476
|
+
single: AirstrikeContactChance[] | null;
|
|
477
|
+
combined: AirstrikeContactChance[] | null;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
export interface AirstrikeContactChance {
|
|
481
|
+
air_state: AirState;
|
|
482
|
+
trigger_rate: number;
|
|
483
|
+
rank3: number;
|
|
484
|
+
rank2: number;
|
|
485
|
+
rank1: number;
|
|
486
|
+
total: number;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
export type SlotSizeVec = (number | null)[];
|
|
490
|
+
|
|
491
|
+
export type NightAttackType = "Normal" | "ArkRoyal" | "Carrier";
|
|
492
|
+
|
|
493
|
+
export type NightSpecialAttack =
|
|
494
|
+
| { NightCutin: NightCutin }
|
|
495
|
+
| { FleetCutin: FleetCutin };
|
|
496
|
+
|
|
497
|
+
export type NightCutin =
|
|
498
|
+
| "MainTorpRadar"
|
|
499
|
+
| "TorpLookoutRadar"
|
|
500
|
+
| "TorpTsloTorp"
|
|
501
|
+
| "TorpTsloDrum"
|
|
502
|
+
| "DoubleAttack"
|
|
503
|
+
| "TorpTorpMain"
|
|
504
|
+
| "TorpTorpTorp"
|
|
505
|
+
| "MainMainSec"
|
|
506
|
+
| "MainMainMain"
|
|
507
|
+
| "SubTorpTorp"
|
|
508
|
+
| "SubRadarTorp"
|
|
509
|
+
| "Cvci1_25"
|
|
510
|
+
| "Cvci1_20"
|
|
511
|
+
| "Cvci1_18"
|
|
512
|
+
| "Photobomber";
|
|
513
|
+
|
|
514
|
+
export interface MasterGear {
|
|
515
|
+
gear_id: number;
|
|
516
|
+
name: string;
|
|
517
|
+
types: GearTypeIdArray;
|
|
518
|
+
special_type?: number;
|
|
519
|
+
max_hp?: number;
|
|
520
|
+
firepower?: number;
|
|
521
|
+
armor?: number;
|
|
522
|
+
torpedo?: number;
|
|
523
|
+
anti_air?: number;
|
|
524
|
+
speed?: number;
|
|
525
|
+
bombing?: number;
|
|
526
|
+
asw?: number;
|
|
527
|
+
los?: number;
|
|
528
|
+
luck?: number;
|
|
529
|
+
accuracy?: number;
|
|
530
|
+
evasion?: number;
|
|
531
|
+
range?: number;
|
|
532
|
+
radius?: number;
|
|
533
|
+
cost?: number;
|
|
534
|
+
improvable?: boolean;
|
|
535
|
+
ship_anti_air_resistance?: number;
|
|
536
|
+
fleet_anti_air_resistance?: number;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
export interface MasterEquippable {
|
|
540
|
+
equip_stype: EquipStype[];
|
|
541
|
+
equip_exslot: number[];
|
|
542
|
+
equip_ship: MstEquipShip[];
|
|
543
|
+
equip_exslot_ship: MstEquipExslotShip[];
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
export interface MstEquipExslotShip {
|
|
547
|
+
api_slotitem_id: number;
|
|
548
|
+
api_ship_ids: number[];
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
export interface MstEquipShip {
|
|
552
|
+
api_ship_id: number;
|
|
553
|
+
api_equip_type: number[];
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
export interface EquipStype {
|
|
557
|
+
id: number;
|
|
558
|
+
equip_type: number[];
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
export interface HitRate {
|
|
562
|
+
total: number;
|
|
563
|
+
normal: number;
|
|
564
|
+
critical: number;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
export interface HitRateParams {
|
|
568
|
+
accuracy_term: number;
|
|
569
|
+
evasion_term: number;
|
|
570
|
+
target_morale_mod: number;
|
|
571
|
+
critical_rate_constant: number;
|
|
572
|
+
critical_percentage_bonus: number;
|
|
573
|
+
hit_percentage_bonus: number;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
export type NightBattleAttackType =
|
|
577
|
+
| { t: "NightAttack"; c: NightAttackType }
|
|
578
|
+
| { t: "Asw"; c: AswAttackType };
|
|
579
|
+
|
|
580
|
+
export type DayBattleAttackType =
|
|
581
|
+
| { t: "Shelling"; c: ShellingAttackType }
|
|
582
|
+
| { t: "Asw"; c: AswAttackType };
|
|
583
|
+
|
|
470
584
|
export interface AttackInfo<AttackType, Cutin> {
|
|
471
585
|
attack_type: AttackType;
|
|
472
586
|
items: AttackInfoItem<Cutin>[];
|
|
@@ -488,22 +602,6 @@ export interface AttackStats {
|
|
|
488
602
|
damage: DamageInfo | null;
|
|
489
603
|
}
|
|
490
604
|
|
|
491
|
-
export interface CompAntiAirInfo {
|
|
492
|
-
fleet_adjusted_anti_air: number;
|
|
493
|
-
ships: ShipAntiAirInfo[];
|
|
494
|
-
anti_air_cutin_chance: [number, number][];
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
export interface ShipAntiAirInfo {
|
|
498
|
-
ship_id: number;
|
|
499
|
-
adjusted_anti_air: number | null;
|
|
500
|
-
proportional_shotdown_rate: number | null;
|
|
501
|
-
fixed_shotdown_number: number | null;
|
|
502
|
-
guaranteed: number | null;
|
|
503
|
-
anti_air_cutin_chance: [number, number][];
|
|
504
|
-
anti_air_propellant_barrage_chance: number | null;
|
|
505
|
-
}
|
|
506
|
-
|
|
507
605
|
export type ShipStateMap = Record<ShipKey, ShipState>;
|
|
508
606
|
|
|
509
607
|
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
@@ -554,7 +652,7 @@ export interface FleetState {
|
|
|
554
652
|
s7?: ShipState;
|
|
555
653
|
}
|
|
556
654
|
|
|
557
|
-
export interface ShipState {
|
|
655
|
+
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
558
656
|
id?: string;
|
|
559
657
|
ship_id: number;
|
|
560
658
|
level?: number;
|
|
@@ -571,26 +669,23 @@ export interface ShipState {
|
|
|
571
669
|
asw_mod?: number;
|
|
572
670
|
los_mod?: number;
|
|
573
671
|
luck_mod?: number;
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
g4?: GearState;
|
|
578
|
-
g5?: GearState;
|
|
579
|
-
gx?: GearState;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
export interface SlotSizeVecState {
|
|
580
675
|
ss1?: number;
|
|
581
676
|
ss2?: number;
|
|
582
677
|
ss3?: number;
|
|
583
678
|
ss4?: number;
|
|
584
679
|
ss5?: number;
|
|
585
|
-
overrides?: ShipOverrides;
|
|
586
680
|
}
|
|
587
681
|
|
|
588
|
-
export interface
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
682
|
+
export interface GearVecState {
|
|
683
|
+
g1?: GearState;
|
|
684
|
+
g2?: GearState;
|
|
685
|
+
g3?: GearState;
|
|
686
|
+
g4?: GearState;
|
|
687
|
+
g5?: GearState;
|
|
688
|
+
gx?: GearState;
|
|
594
689
|
}
|
|
595
690
|
|
|
596
691
|
export interface GearState {
|
|
@@ -600,155 +695,6 @@ export interface GearState {
|
|
|
600
695
|
stars?: number;
|
|
601
696
|
}
|
|
602
697
|
|
|
603
|
-
export interface MasterEquippable {
|
|
604
|
-
equip_stype: EquipStype[];
|
|
605
|
-
equip_exslot: number[];
|
|
606
|
-
equip_ship: MstEquipShip[];
|
|
607
|
-
equip_exslot_ship: MstEquipExslotShip[];
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
export interface MstEquipExslotShip {
|
|
611
|
-
api_slotitem_id: number;
|
|
612
|
-
api_ship_ids: number[];
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
export interface MstEquipShip {
|
|
616
|
-
api_ship_id: number;
|
|
617
|
-
api_equip_type: number[];
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
export interface EquipStype {
|
|
621
|
-
id: number;
|
|
622
|
-
equip_type: number[];
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
export type NightBattleAttackType =
|
|
626
|
-
| { t: "NightAttack"; c: NightAttackType }
|
|
627
|
-
| { t: "Asw"; c: AswAttackType };
|
|
628
|
-
|
|
629
|
-
export type DayBattleAttackType =
|
|
630
|
-
| { t: "Shelling"; c: ShellingAttackType }
|
|
631
|
-
| { t: "Asw"; c: AswAttackType };
|
|
632
|
-
|
|
633
|
-
export type SlotSizeVec = (number | null)[];
|
|
634
|
-
|
|
635
|
-
export type Side = "Player" | "Enemy";
|
|
636
|
-
|
|
637
|
-
export type NightAttackType = "Normal" | "ArkRoyal" | "Carrier";
|
|
638
|
-
|
|
639
|
-
export type NightSpecialAttack =
|
|
640
|
-
| { NightCutin: NightCutin }
|
|
641
|
-
| { FleetCutin: FleetCutin };
|
|
642
|
-
|
|
643
|
-
export type NightCutin =
|
|
644
|
-
| "MainTorpRadar"
|
|
645
|
-
| "TorpLookoutRadar"
|
|
646
|
-
| "TorpTsloTorp"
|
|
647
|
-
| "TorpTsloDrum"
|
|
648
|
-
| "DoubleAttack"
|
|
649
|
-
| "TorpTorpMain"
|
|
650
|
-
| "TorpTorpTorp"
|
|
651
|
-
| "MainMainSec"
|
|
652
|
-
| "MainMainMain"
|
|
653
|
-
| "SubTorpTorp"
|
|
654
|
-
| "SubRadarTorp"
|
|
655
|
-
| "Cvci1_25"
|
|
656
|
-
| "Cvci1_20"
|
|
657
|
-
| "Cvci1_18"
|
|
658
|
-
| "Photobomber";
|
|
659
|
-
|
|
660
|
-
export interface BattleConfig {
|
|
661
|
-
formation: Record<Formation, NestedFormationDef>;
|
|
662
|
-
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
663
|
-
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
664
|
-
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
export interface NightCutinDef {
|
|
668
|
-
tag: NightCutin;
|
|
669
|
-
hits: number;
|
|
670
|
-
type_factor: number | null;
|
|
671
|
-
power_mod: number | null;
|
|
672
|
-
accuracy_mod: number | null;
|
|
673
|
-
}
|
|
674
|
-
|
|
675
|
-
export interface DayCutinDef {
|
|
676
|
-
tag: DayCutin;
|
|
677
|
-
hits: number;
|
|
678
|
-
type_factor: number | null;
|
|
679
|
-
power_mod: number | null;
|
|
680
|
-
accuracy_mod: number | null;
|
|
681
|
-
}
|
|
682
|
-
|
|
683
|
-
export interface AntiAirCutinDef {
|
|
684
|
-
id: number;
|
|
685
|
-
type_factor: number | null;
|
|
686
|
-
multiplier: number | null;
|
|
687
|
-
guaranteed: number | null;
|
|
688
|
-
sequential: boolean | null;
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
export type NestedFormationDef =
|
|
692
|
-
| FormationDef
|
|
693
|
-
| { top_half: FormationDef; bottom_half: FormationDef };
|
|
694
|
-
|
|
695
|
-
export interface FormationDef {
|
|
696
|
-
tag: Formation;
|
|
697
|
-
protection_rate: number | null;
|
|
698
|
-
fleet_anti_air_mod: number;
|
|
699
|
-
shelling: FormationWarfareDef;
|
|
700
|
-
torpedo: FormationWarfareDef;
|
|
701
|
-
asw: FormationWarfareDef;
|
|
702
|
-
night: FormationWarfareDef;
|
|
703
|
-
shelling_support: FormationWarfareDef;
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
export interface FormationWarfareDef {
|
|
707
|
-
power_mod: number | null;
|
|
708
|
-
accuracy_mod: number | null;
|
|
709
|
-
evasion_mod: number | null;
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
export interface MasterGear {
|
|
713
|
-
gear_id: number;
|
|
714
|
-
name: string;
|
|
715
|
-
types: GearTypeIdArray;
|
|
716
|
-
special_type?: number;
|
|
717
|
-
max_hp?: number;
|
|
718
|
-
firepower?: number;
|
|
719
|
-
armor?: number;
|
|
720
|
-
torpedo?: number;
|
|
721
|
-
anti_air?: number;
|
|
722
|
-
speed?: number;
|
|
723
|
-
bombing?: number;
|
|
724
|
-
asw?: number;
|
|
725
|
-
los?: number;
|
|
726
|
-
luck?: number;
|
|
727
|
-
accuracy?: number;
|
|
728
|
-
evasion?: number;
|
|
729
|
-
range?: number;
|
|
730
|
-
radius?: number;
|
|
731
|
-
cost?: number;
|
|
732
|
-
improvable?: boolean;
|
|
733
|
-
ship_anti_air_resistance?: number;
|
|
734
|
-
fleet_anti_air_resistance?: number;
|
|
735
|
-
}
|
|
736
|
-
|
|
737
|
-
export interface HitRate {
|
|
738
|
-
total: number;
|
|
739
|
-
normal: number;
|
|
740
|
-
critical: number;
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
export interface HitRateParams {
|
|
744
|
-
accuracy_term: number;
|
|
745
|
-
evasion_term: number;
|
|
746
|
-
target_morale_mod: number;
|
|
747
|
-
critical_rate_constant: number;
|
|
748
|
-
critical_percentage_bonus: number;
|
|
749
|
-
hit_percentage_bonus: number;
|
|
750
|
-
}
|
|
751
|
-
|
|
752
698
|
export interface MasterShip {
|
|
753
699
|
ship_id: number;
|
|
754
700
|
name: string;
|
|
@@ -766,6 +712,7 @@ export interface MasterShip {
|
|
|
766
712
|
los: StatInterval;
|
|
767
713
|
luck: StatInterval;
|
|
768
714
|
torpedo_accuracy?: number;
|
|
715
|
+
basic_evasion_term?: number;
|
|
769
716
|
speed: number;
|
|
770
717
|
range?: number;
|
|
771
718
|
fuel?: number;
|
|
@@ -807,30 +754,61 @@ export interface WarfareAnalyzerShipEnvironment {
|
|
|
807
754
|
custom_mods: CustomModifiers;
|
|
808
755
|
}
|
|
809
756
|
|
|
810
|
-
export
|
|
811
|
-
|
|
812
|
-
|
|
757
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
758
|
+
|
|
759
|
+
export type Side = "Player" | "Enemy";
|
|
760
|
+
|
|
761
|
+
export interface BattleConfig {
|
|
762
|
+
formation: Record<Formation, NestedFormationDef>;
|
|
763
|
+
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
764
|
+
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
765
|
+
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
813
766
|
}
|
|
814
767
|
|
|
815
|
-
export interface
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
768
|
+
export interface NightCutinDef {
|
|
769
|
+
tag: NightCutin;
|
|
770
|
+
hits: number;
|
|
771
|
+
type_factor: number | null;
|
|
772
|
+
power_mod: number | null;
|
|
773
|
+
accuracy_mod: number | null;
|
|
819
774
|
}
|
|
820
775
|
|
|
821
|
-
export interface
|
|
822
|
-
|
|
823
|
-
|
|
776
|
+
export interface DayCutinDef {
|
|
777
|
+
tag: DayCutin;
|
|
778
|
+
hits: number;
|
|
779
|
+
type_factor: number | null;
|
|
780
|
+
power_mod: number | null;
|
|
781
|
+
accuracy_mod: number | null;
|
|
824
782
|
}
|
|
825
783
|
|
|
826
|
-
export interface
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
784
|
+
export interface AntiAirCutinDef {
|
|
785
|
+
id: number;
|
|
786
|
+
type_factor: number | null;
|
|
787
|
+
multiplier: number | null;
|
|
788
|
+
guaranteed: number | null;
|
|
789
|
+
sequential: boolean | null;
|
|
831
790
|
}
|
|
832
791
|
|
|
833
|
-
export type
|
|
792
|
+
export type NestedFormationDef =
|
|
793
|
+
| FormationDef
|
|
794
|
+
| { top_half: FormationDef; bottom_half: FormationDef };
|
|
795
|
+
|
|
796
|
+
export interface FormationDef {
|
|
797
|
+
tag: Formation;
|
|
798
|
+
protection_rate: number | null;
|
|
799
|
+
fleet_anti_air_mod: number;
|
|
800
|
+
shelling: FormationWarfareDef;
|
|
801
|
+
torpedo: FormationWarfareDef;
|
|
802
|
+
asw: FormationWarfareDef;
|
|
803
|
+
night: FormationWarfareDef;
|
|
804
|
+
shelling_support: FormationWarfareDef;
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
export interface FormationWarfareDef {
|
|
808
|
+
power_mod: number | null;
|
|
809
|
+
accuracy_mod: number | null;
|
|
810
|
+
evasion_mod: number | null;
|
|
811
|
+
}
|
|
834
812
|
|
|
835
813
|
export type SpecialEnemyType =
|
|
836
814
|
| "None"
|
|
@@ -857,8 +835,6 @@ export type FleetCutin =
|
|
|
857
835
|
|
|
858
836
|
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
859
837
|
|
|
860
|
-
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
861
|
-
|
|
862
838
|
export interface SimulatorResult {
|
|
863
839
|
items: SimulatorResultItem[];
|
|
864
840
|
sunk_vec: [number, number, number][];
|
|
@@ -873,6 +849,29 @@ export interface SimulatorResultItem {
|
|
|
873
849
|
|
|
874
850
|
export type AswAttackType = "DepthCharge" | "Aircraft";
|
|
875
851
|
|
|
852
|
+
export interface FleetNightCutinRateInfo {
|
|
853
|
+
night_contact_chance: NightContactChance;
|
|
854
|
+
ships: ShipNightCutinRateInfo[];
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
export interface ShipNightCutinRateInfo {
|
|
858
|
+
ship_id: number;
|
|
859
|
+
normal: NightCutinRateInfo;
|
|
860
|
+
chuuha: NightCutinRateInfo;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
export interface NightCutinRateInfo {
|
|
864
|
+
cutin_term: number | null;
|
|
865
|
+
rates: [NightCutin | null, number | null][];
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
export interface NightContactChance {
|
|
869
|
+
rank1: number;
|
|
870
|
+
rank2: number;
|
|
871
|
+
rank3: number;
|
|
872
|
+
total: number;
|
|
873
|
+
}
|
|
874
|
+
|
|
876
875
|
/**
|
|
877
876
|
*/
|
|
878
877
|
export class AirSquadron {
|