fleethub-core 1.10.21 → 1.11.1
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 +705 -703
- package/node/fleethub_core.js +58 -58
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +42 -42
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +705 -703
- package/pkg/fleethub_core_bg.js +58 -58
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +42 -42
package/pkg/fleethub_core.d.ts
CHANGED
|
@@ -8,118 +8,70 @@ export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
|
8
8
|
/**
|
|
9
9
|
*/
|
|
10
10
|
export function set_panic_hook(): void;
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
export interface GearInput {
|
|
14
|
-
gear_id: number;
|
|
15
|
-
types: GearTypeIdArray;
|
|
16
|
-
firepower: number;
|
|
17
|
-
torpedo: number;
|
|
18
|
-
anti_air: number;
|
|
19
|
-
armor: number;
|
|
20
|
-
evasion: number;
|
|
21
|
-
asw: number;
|
|
22
|
-
los: number;
|
|
23
|
-
bombing: number;
|
|
24
|
-
accuracy: number;
|
|
25
|
-
range: number;
|
|
26
|
-
radius: number;
|
|
27
|
-
stars: number;
|
|
28
|
-
ace: number;
|
|
11
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
12
|
+
formation?: Formation;
|
|
29
13
|
}
|
|
30
14
|
|
|
31
|
-
export interface
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
15
|
+
export interface NodeAttackAnalyzerConfig {
|
|
16
|
+
air_state?: AirState;
|
|
17
|
+
engagement?: Engagement;
|
|
18
|
+
node_state?: NodeState;
|
|
19
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
20
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
36
21
|
}
|
|
37
22
|
|
|
38
|
-
export interface
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
evasion: number;
|
|
44
|
-
asw: number;
|
|
45
|
-
los: number;
|
|
46
|
-
bombing: number;
|
|
47
|
-
accuracy: number;
|
|
48
|
-
range: number;
|
|
23
|
+
export interface NodeAttackAnalysis {
|
|
24
|
+
left: AttackAnalysis;
|
|
25
|
+
right: AttackAnalysis;
|
|
26
|
+
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
27
|
+
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
49
28
|
}
|
|
50
29
|
|
|
51
|
-
export interface
|
|
52
|
-
|
|
53
|
-
|
|
30
|
+
export interface AttackAnalyzerShipConfig
|
|
31
|
+
extends ShipConditions,
|
|
32
|
+
NightFleetConditions {
|
|
33
|
+
fleet_los_mod?: number | null;
|
|
54
34
|
}
|
|
55
35
|
|
|
56
|
-
export interface
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
36
|
+
export interface ShellingStyle {
|
|
37
|
+
tag: "ShellingStyle";
|
|
38
|
+
attack_type: ShellingType;
|
|
39
|
+
cutin: DayCutinLike | null;
|
|
40
|
+
power_mod: number;
|
|
41
|
+
accuracy_mod: number;
|
|
42
|
+
hits: number;
|
|
63
43
|
}
|
|
64
44
|
|
|
65
|
-
export interface
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
a2?: AirSquadronState;
|
|
73
|
-
a3?: AirSquadronState;
|
|
74
|
-
hq_level?: number;
|
|
75
|
-
org_type?: OrgType;
|
|
76
|
-
sortie?: FleetKey;
|
|
77
|
-
route_sup?: FleetKey;
|
|
78
|
-
boss_sup?: FleetKey;
|
|
45
|
+
export interface NightAttackStyle {
|
|
46
|
+
tag: "NightAttackStyle";
|
|
47
|
+
attack_type: NightAttackType;
|
|
48
|
+
cutin: NightCutinLike | null;
|
|
49
|
+
power_mod: number;
|
|
50
|
+
accuracy_mod: number;
|
|
51
|
+
hits: number;
|
|
79
52
|
}
|
|
80
53
|
|
|
81
|
-
export
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
normal: number;
|
|
85
|
-
critical: number;
|
|
86
|
-
total: number;
|
|
54
|
+
export interface AswAttackStyle {
|
|
55
|
+
tag: "AswAttackStyle";
|
|
56
|
+
attack_type: AswAttackType;
|
|
87
57
|
}
|
|
88
58
|
|
|
89
|
-
export interface
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
target_morale_mod: number;
|
|
93
|
-
critical_rate_constant: number;
|
|
94
|
-
critical_percentage_bonus: number;
|
|
95
|
-
hit_percentage_bonus: number;
|
|
59
|
+
export interface TorpedoAttackStyle {
|
|
60
|
+
tag: "TorpedoAttackStyle";
|
|
61
|
+
attack_type: TorpedoAttackType;
|
|
96
62
|
}
|
|
97
63
|
|
|
98
|
-
export
|
|
99
|
-
miss_damage_min: number;
|
|
100
|
-
miss_damage_max: number;
|
|
101
|
-
normal_damage_min: number;
|
|
102
|
-
normal_damage_max: number;
|
|
103
|
-
critical_damage_min: number;
|
|
104
|
-
critical_damage_max: number;
|
|
105
|
-
normal_scratch_rate: number;
|
|
106
|
-
critical_scratch_rate: number;
|
|
107
|
-
damage_density: Histogram<number, number>;
|
|
108
|
-
damage_state_density: Histogram<DamageState, number>;
|
|
109
|
-
}
|
|
64
|
+
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
110
65
|
|
|
111
|
-
export
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
day: ActionReport<DayPhaseAttackStyle>;
|
|
117
|
-
night: ActionReport<NightPhaseAttackStyle>;
|
|
118
|
-
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
119
|
-
opening_asw: ActionReport<AswAttackStyle>;
|
|
120
|
-
support_shelling: ActionReport<SupportShellingStyle>;
|
|
66
|
+
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
67
|
+
|
|
68
|
+
export interface SupportShellingStyle {
|
|
69
|
+
tag: "SupportShellingStyle";
|
|
70
|
+
attack_type: SupportShellingType;
|
|
121
71
|
}
|
|
122
72
|
|
|
73
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
74
|
+
|
|
123
75
|
export type GearAttr =
|
|
124
76
|
| "Unknown"
|
|
125
77
|
| "HighAngleMount"
|
|
@@ -151,242 +103,174 @@ export type GearAttr =
|
|
|
151
103
|
| "SemiNightPlane"
|
|
152
104
|
| "HighAltitudeInterceptor";
|
|
153
105
|
|
|
154
|
-
export
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
| "CL"
|
|
169
|
-
| "CLT"
|
|
170
|
-
| "CA"
|
|
171
|
-
| "CAV"
|
|
172
|
-
| "CVL"
|
|
173
|
-
| "FBB"
|
|
174
|
-
| "BB"
|
|
175
|
-
| "BBV"
|
|
176
|
-
| "CV"
|
|
177
|
-
| "XBB"
|
|
178
|
-
| "SS"
|
|
179
|
-
| "SSV"
|
|
180
|
-
| "AP"
|
|
181
|
-
| "AV"
|
|
182
|
-
| "LHA"
|
|
183
|
-
| "CVB"
|
|
184
|
-
| "AR"
|
|
185
|
-
| "AS"
|
|
186
|
-
| "CT"
|
|
187
|
-
| "AO";
|
|
188
|
-
|
|
189
|
-
export type SlotSizeVec = (number | null)[];
|
|
190
|
-
|
|
191
|
-
export type SingleFormation =
|
|
192
|
-
| "LineAhead"
|
|
193
|
-
| "DoubleLine"
|
|
194
|
-
| "Diamond"
|
|
195
|
-
| "Echelon"
|
|
196
|
-
| "LineAbreast"
|
|
197
|
-
| "Vanguard";
|
|
198
|
-
|
|
199
|
-
export type CombinedFormation =
|
|
200
|
-
| "Cruising1"
|
|
201
|
-
| "Cruising2"
|
|
202
|
-
| "Cruising3"
|
|
203
|
-
| "Cruising4";
|
|
204
|
-
|
|
205
|
-
export type Formation = SingleFormation | CombinedFormation;
|
|
206
|
-
|
|
207
|
-
export type NodeId = string;
|
|
208
|
-
|
|
209
|
-
export interface NodeState {
|
|
210
|
-
map?: number;
|
|
211
|
-
node?: NodeId;
|
|
212
|
-
phase?: number;
|
|
213
|
-
debuff?: boolean;
|
|
214
|
-
disable_historical_mod?: boolean;
|
|
106
|
+
export interface OrgState {
|
|
107
|
+
id?: string;
|
|
108
|
+
f1?: FleetState;
|
|
109
|
+
f2?: FleetState;
|
|
110
|
+
f3?: FleetState;
|
|
111
|
+
f4?: FleetState;
|
|
112
|
+
a1?: AirSquadronState;
|
|
113
|
+
a2?: AirSquadronState;
|
|
114
|
+
a3?: AirSquadronState;
|
|
115
|
+
hq_level?: number;
|
|
116
|
+
org_type?: OrgType;
|
|
117
|
+
sortie?: FleetKey;
|
|
118
|
+
route_sup?: FleetKey;
|
|
119
|
+
boss_sup?: FleetKey;
|
|
215
120
|
}
|
|
216
121
|
|
|
217
|
-
export
|
|
218
|
-
ship: CompiledEvaler;
|
|
219
|
-
keys?: string[];
|
|
220
|
-
include?: string;
|
|
221
|
-
exclude?: string;
|
|
222
|
-
}
|
|
122
|
+
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
223
123
|
|
|
224
|
-
export interface
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
rules: EquippabilityRule[];
|
|
124
|
+
export interface ShipPosition {
|
|
125
|
+
org_type?: OrgType;
|
|
126
|
+
fleet_type?: FleetType;
|
|
127
|
+
fleet_len?: number;
|
|
128
|
+
index?: number;
|
|
230
129
|
}
|
|
231
130
|
|
|
232
|
-
export interface
|
|
233
|
-
|
|
234
|
-
|
|
131
|
+
export interface CompDayCutinAnalysis {
|
|
132
|
+
rank3_air_state: AirState;
|
|
133
|
+
rank2_air_state: AirState;
|
|
134
|
+
main_fleet_los_mod: number | null;
|
|
135
|
+
escort_fleet_los_mod: number | null;
|
|
136
|
+
ships: ShipDayCutinAnalysis[];
|
|
235
137
|
}
|
|
236
138
|
|
|
237
|
-
export interface
|
|
238
|
-
|
|
239
|
-
|
|
139
|
+
export interface ShipDayCutinAnalysis {
|
|
140
|
+
ship_id: number;
|
|
141
|
+
role: Role;
|
|
142
|
+
index: number;
|
|
143
|
+
rank3: DayCutinReport;
|
|
144
|
+
rank2: DayCutinReport;
|
|
240
145
|
}
|
|
241
146
|
|
|
242
|
-
export interface
|
|
243
|
-
|
|
244
|
-
equip_type: number[];
|
|
147
|
+
export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
148
|
+
observation_term: number | null;
|
|
245
149
|
}
|
|
246
150
|
|
|
247
|
-
export
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
151
|
+
export type GearType =
|
|
152
|
+
| "Unknown"
|
|
153
|
+
| "SmallMainGun"
|
|
154
|
+
| "MediumMainGun"
|
|
155
|
+
| "LargeMainGun"
|
|
156
|
+
| "SecondaryGun"
|
|
157
|
+
| "Torpedo"
|
|
158
|
+
| "CbFighter"
|
|
159
|
+
| "CbDiveBomber"
|
|
160
|
+
| "CbTorpedoBomber"
|
|
161
|
+
| "CbRecon"
|
|
162
|
+
| "ReconSeaplane"
|
|
163
|
+
| "SeaplaneBomber"
|
|
164
|
+
| "SmallRadar"
|
|
165
|
+
| "LargeRadar"
|
|
166
|
+
| "Sonar"
|
|
167
|
+
| "DepthCharge"
|
|
168
|
+
| "ExtraArmor"
|
|
169
|
+
| "Engine"
|
|
170
|
+
| "AntiAirShell"
|
|
171
|
+
| "ApShell"
|
|
172
|
+
| "VtFuze"
|
|
173
|
+
| "AntiAirGun"
|
|
174
|
+
| "MidgetSubmarine"
|
|
175
|
+
| "EmergencyRepair"
|
|
176
|
+
| "LandingCraft"
|
|
177
|
+
| "Rotorcraft"
|
|
178
|
+
| "AntiSubPatrolAircraft"
|
|
179
|
+
| "MediumArmor"
|
|
180
|
+
| "LargeArmor"
|
|
181
|
+
| "Searchlight"
|
|
182
|
+
| "SupplyContainer"
|
|
183
|
+
| "ShipRepairFacility"
|
|
184
|
+
| "SubmarineTorpedo"
|
|
185
|
+
| "Starshell"
|
|
186
|
+
| "CommandFacility"
|
|
187
|
+
| "AviationPersonnel"
|
|
188
|
+
| "AntiAirFireDirector"
|
|
189
|
+
| "AntiGroundEquipment"
|
|
190
|
+
| "LargeMainGun2"
|
|
191
|
+
| "ShipPersonnel"
|
|
192
|
+
| "LargeSonar"
|
|
193
|
+
| "LargeFlyingBoat"
|
|
194
|
+
| "LargeSearchlight"
|
|
195
|
+
| "CombatRation"
|
|
196
|
+
| "Supplies"
|
|
197
|
+
| "SeaplaneFighter"
|
|
198
|
+
| "AmphibiousTank"
|
|
199
|
+
| "LbAttacker"
|
|
200
|
+
| "LbFighter"
|
|
201
|
+
| "LbRecon"
|
|
202
|
+
| "TransportationMaterial"
|
|
203
|
+
| "SubmarineEquipment"
|
|
204
|
+
| "LargeLbAircraft"
|
|
205
|
+
| "JetFighter"
|
|
206
|
+
| "JetFighterBomber"
|
|
207
|
+
| "JetTorpedoBomber"
|
|
208
|
+
| "JetRecon"
|
|
209
|
+
| "LargeRadar2"
|
|
210
|
+
| "CbRecon2"
|
|
211
|
+
| "SecondaryGun2";
|
|
275
212
|
|
|
276
|
-
export
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
213
|
+
export type GearCategory =
|
|
214
|
+
| "Fighter"
|
|
215
|
+
| "Bomber"
|
|
216
|
+
| "Recon"
|
|
217
|
+
| "MainGun"
|
|
218
|
+
| "Secondary"
|
|
219
|
+
| "Torpedo"
|
|
220
|
+
| "AntiSub"
|
|
221
|
+
| "Radar"
|
|
222
|
+
| "Landing"
|
|
223
|
+
| "Ration"
|
|
224
|
+
| "LandBased"
|
|
225
|
+
| "Misc";
|
|
284
226
|
|
|
285
|
-
export interface
|
|
286
|
-
|
|
287
|
-
|
|
227
|
+
export interface ShipMeta {
|
|
228
|
+
id: string;
|
|
229
|
+
ship_id: number;
|
|
288
230
|
}
|
|
289
231
|
|
|
290
|
-
export
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
|
294
|
-
| "MainAp"
|
|
295
|
-
| "MainRadar"
|
|
296
|
-
| "MainSec"
|
|
297
|
-
| "DoubleAttack"
|
|
298
|
-
| "FBA"
|
|
299
|
-
| "BBA"
|
|
300
|
-
| "BA";
|
|
301
|
-
|
|
302
|
-
export type NightCutin =
|
|
303
|
-
| "MainTorpRadar"
|
|
304
|
-
| "TorpLookoutRadar"
|
|
305
|
-
| "TorpTsloTorp"
|
|
306
|
-
| "TorpTsloDrum"
|
|
307
|
-
| "NightZuiun2Radar"
|
|
308
|
-
| "NightZuiun2"
|
|
309
|
-
| "NightZuiunRadar"
|
|
310
|
-
| "NightZuiun"
|
|
311
|
-
| "DoubleAttack"
|
|
312
|
-
| "TorpTorpMain"
|
|
313
|
-
| "TorpTorpTorp"
|
|
314
|
-
| "MainMainSec"
|
|
315
|
-
| "MainMainMain"
|
|
316
|
-
| "SubTorpTorp"
|
|
317
|
-
| "SubRadarTorp"
|
|
318
|
-
| "Cvci1_25"
|
|
319
|
-
| "Cvci1_20"
|
|
320
|
-
| "Cvci1_18"
|
|
321
|
-
| "Photobomber";
|
|
322
|
-
|
|
323
|
-
export type FleetCutin =
|
|
324
|
-
| "NelsonTouch"
|
|
325
|
-
| "NagatoClassCutin"
|
|
326
|
-
| "ColoradoClassCutin"
|
|
327
|
-
| "KongouClassCutin"
|
|
328
|
-
| "Yamato2ShipCutin"
|
|
329
|
-
| "Yamato3ShipCutin";
|
|
330
|
-
|
|
331
|
-
export type DayCutinLike = DayCutin | FleetCutin;
|
|
332
|
-
|
|
333
|
-
export type NightCutinLike = NightCutin | FleetCutin;
|
|
334
|
-
|
|
335
|
-
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
336
|
-
|
|
337
|
-
export interface SlotSizeVecState {
|
|
338
|
-
ss1?: number;
|
|
339
|
-
ss2?: number;
|
|
340
|
-
ss3?: number;
|
|
341
|
-
ss4?: number;
|
|
342
|
-
ss5?: number;
|
|
232
|
+
export interface FleetMeta {
|
|
233
|
+
id: string;
|
|
234
|
+
len: number;
|
|
235
|
+
ships: [string, ShipMeta | null][];
|
|
343
236
|
}
|
|
344
237
|
|
|
345
|
-
export interface
|
|
346
|
-
|
|
347
|
-
ship_id: number;
|
|
348
|
-
level?: number;
|
|
349
|
-
current_hp?: number;
|
|
350
|
-
morale?: number;
|
|
351
|
-
ammo?: number;
|
|
352
|
-
fuel?: number;
|
|
353
|
-
max_hp_mod?: number;
|
|
354
|
-
firepower_mod?: number;
|
|
355
|
-
torpedo_mod?: number;
|
|
356
|
-
armor_mod?: number;
|
|
357
|
-
anti_air_mod?: number;
|
|
358
|
-
evasion_mod?: number;
|
|
359
|
-
asw_mod?: number;
|
|
360
|
-
los_mod?: number;
|
|
361
|
-
luck_mod?: number;
|
|
362
|
-
day_gunfit_accuracy?: number;
|
|
363
|
-
night_gunfit_accuracy?: number;
|
|
364
|
-
custom_power_mods?: CustomPowerModifiers;
|
|
238
|
+
export interface CompMeta {
|
|
239
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
365
240
|
}
|
|
366
241
|
|
|
367
|
-
export type
|
|
368
|
-
|
|
369
|
-
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
370
|
-
|
|
371
|
-
export type CompiledEvaler = string;
|
|
242
|
+
export type NodeId = string;
|
|
372
243
|
|
|
373
|
-
export interface
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
244
|
+
export interface NodeState {
|
|
245
|
+
map?: number;
|
|
246
|
+
node?: NodeId;
|
|
247
|
+
phase?: number;
|
|
248
|
+
debuff?: boolean;
|
|
249
|
+
disable_historical_mod?: boolean;
|
|
377
250
|
}
|
|
378
251
|
|
|
379
|
-
export
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
252
|
+
export type OrgType =
|
|
253
|
+
| "Single"
|
|
254
|
+
| "CarrierTaskForce"
|
|
255
|
+
| "SurfaceTaskForce"
|
|
256
|
+
| "TransportEscort"
|
|
257
|
+
| "EnemySingle"
|
|
258
|
+
| "EnemyCombined";
|
|
383
259
|
|
|
384
|
-
export
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
260
|
+
export type SpecialEnemyType =
|
|
261
|
+
| "None"
|
|
262
|
+
| "SoftSkinned"
|
|
263
|
+
| "Pillbox"
|
|
264
|
+
| "IsolatedIsland"
|
|
265
|
+
| "SupplyDepot"
|
|
266
|
+
| "NewSupplyDepot"
|
|
267
|
+
| "HarbourSummerPrincess"
|
|
268
|
+
| "PtImp"
|
|
269
|
+
| "BattleshipSummerPrincess"
|
|
270
|
+
| "HeavyCruiserSummerPrincess"
|
|
271
|
+
| "FrenchBattleshipPrincess"
|
|
272
|
+
| "AnchorageWaterDemonVacationMode"
|
|
273
|
+
| "DockPrincess";
|
|
390
274
|
|
|
391
275
|
export interface MasterShip {
|
|
392
276
|
ship_id: number;
|
|
@@ -422,38 +306,220 @@ export interface MasterShip {
|
|
|
422
306
|
|
|
423
307
|
export type StatInterval = [number | null, number | null];
|
|
424
308
|
|
|
425
|
-
export interface
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
309
|
+
export interface FleetCutinReport<T> {
|
|
310
|
+
cutin: FleetCutin;
|
|
311
|
+
rate: number | null;
|
|
312
|
+
formation: Formation;
|
|
313
|
+
attacks: FleetCutinAttackReport<T>[];
|
|
429
314
|
}
|
|
430
315
|
|
|
431
|
-
export
|
|
316
|
+
export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
317
|
+
index: number;
|
|
318
|
+
ship_id: number;
|
|
319
|
+
power_mod: number;
|
|
320
|
+
}
|
|
432
321
|
|
|
433
|
-
export type
|
|
322
|
+
export type SingleFormation =
|
|
323
|
+
| "LineAhead"
|
|
324
|
+
| "DoubleLine"
|
|
325
|
+
| "Diamond"
|
|
326
|
+
| "Echelon"
|
|
327
|
+
| "LineAbreast"
|
|
328
|
+
| "Vanguard";
|
|
434
329
|
|
|
435
|
-
export type
|
|
330
|
+
export type CombinedFormation =
|
|
331
|
+
| "Cruising1"
|
|
332
|
+
| "Cruising2"
|
|
333
|
+
| "Cruising3"
|
|
334
|
+
| "Cruising4";
|
|
436
335
|
|
|
437
|
-
export type
|
|
336
|
+
export type Formation = SingleFormation | CombinedFormation;
|
|
438
337
|
|
|
439
|
-
export type
|
|
338
|
+
export type SlotSizeVec = (number | null)[];
|
|
440
339
|
|
|
441
|
-
export type
|
|
442
|
-
| { t: "Asw"; c: AswAttackType }
|
|
443
|
-
| { t: "Shelling"; c: ShellingType }
|
|
444
|
-
| { t: "Night"; c: NightAttackType }
|
|
445
|
-
| { t: "Torpedo" }
|
|
446
|
-
| { t: "SupportShelling"; c: SupportShellingType };
|
|
340
|
+
export type GearVecInput = GearInput[];
|
|
447
341
|
|
|
448
|
-
export
|
|
449
|
-
|
|
450
|
-
|
|
342
|
+
export interface GearInput {
|
|
343
|
+
gear_id: number;
|
|
344
|
+
types: GearTypeIdArray;
|
|
345
|
+
firepower: number;
|
|
346
|
+
torpedo: number;
|
|
347
|
+
anti_air: number;
|
|
348
|
+
armor: number;
|
|
349
|
+
evasion: number;
|
|
350
|
+
asw: number;
|
|
351
|
+
los: number;
|
|
352
|
+
bombing: number;
|
|
353
|
+
accuracy: number;
|
|
354
|
+
range: number;
|
|
355
|
+
radius: number;
|
|
356
|
+
stars: number;
|
|
357
|
+
ace: number;
|
|
358
|
+
}
|
|
451
359
|
|
|
452
|
-
export
|
|
453
|
-
|
|
454
|
-
|
|
360
|
+
export interface ShipInput {
|
|
361
|
+
ship_id: number;
|
|
362
|
+
ctype: number;
|
|
363
|
+
stype: number;
|
|
364
|
+
yomi: string;
|
|
365
|
+
}
|
|
455
366
|
|
|
456
|
-
export
|
|
367
|
+
export interface EBonuses {
|
|
368
|
+
firepower: number;
|
|
369
|
+
torpedo: number;
|
|
370
|
+
anti_air: number;
|
|
371
|
+
armor: number;
|
|
372
|
+
evasion: number;
|
|
373
|
+
asw: number;
|
|
374
|
+
los: number;
|
|
375
|
+
bombing: number;
|
|
376
|
+
accuracy: number;
|
|
377
|
+
range: number;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
export interface MasterGear {
|
|
381
|
+
gear_id: number;
|
|
382
|
+
name: string;
|
|
383
|
+
types: GearTypeIdArray;
|
|
384
|
+
special_type?: number;
|
|
385
|
+
max_hp?: number;
|
|
386
|
+
firepower?: number;
|
|
387
|
+
armor?: number;
|
|
388
|
+
torpedo?: number;
|
|
389
|
+
anti_air?: number;
|
|
390
|
+
speed?: number;
|
|
391
|
+
bombing?: number;
|
|
392
|
+
asw?: number;
|
|
393
|
+
los?: number;
|
|
394
|
+
luck?: number;
|
|
395
|
+
accuracy?: number;
|
|
396
|
+
evasion?: number;
|
|
397
|
+
range?: number;
|
|
398
|
+
radius?: number;
|
|
399
|
+
cost?: number;
|
|
400
|
+
improvable?: boolean;
|
|
401
|
+
ship_anti_air_resist?: number;
|
|
402
|
+
fleet_anti_air_resist?: number;
|
|
403
|
+
historical_aircraft_group?: number;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
export interface EquippabilityRule {
|
|
407
|
+
ship: CompiledEvaler;
|
|
408
|
+
keys?: string[];
|
|
409
|
+
include?: string;
|
|
410
|
+
exclude?: string;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export interface MasterEquippability {
|
|
414
|
+
equip_stype: EquipStype[];
|
|
415
|
+
equip_exslot: number[];
|
|
416
|
+
equip_ship: MstEquipShip[];
|
|
417
|
+
equip_exslot_ship: MstEquipExslotShip[];
|
|
418
|
+
rules: EquippabilityRule[];
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
export interface MstEquipExslotShip {
|
|
422
|
+
api_slotitem_id: number;
|
|
423
|
+
api_ship_ids: number[];
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
export interface MstEquipShip {
|
|
427
|
+
api_ship_id: number;
|
|
428
|
+
api_equip_type: number[];
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
export interface EquipStype {
|
|
432
|
+
id: number;
|
|
433
|
+
equip_type: number[];
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
export interface BattleConditions {
|
|
437
|
+
org_type: OrgType;
|
|
438
|
+
role: Role;
|
|
439
|
+
ship_index: number;
|
|
440
|
+
fleet_len: number;
|
|
441
|
+
formation: Formation;
|
|
442
|
+
fleet_los_mod: number | null;
|
|
443
|
+
night_conditions: NightFleetConditions;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
export interface NightConditions {
|
|
447
|
+
player?: NightFleetConditions;
|
|
448
|
+
enemy?: NightFleetConditions;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
export interface NightFleetConditions {
|
|
452
|
+
night_contact_rank?: ContactRank | null;
|
|
453
|
+
starshell_index?: number | null;
|
|
454
|
+
searchlight_index?: number | null;
|
|
455
|
+
activates_large_searchlight?: boolean;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
export type DayCutin =
|
|
459
|
+
| "Zuiun"
|
|
460
|
+
| "AirSea"
|
|
461
|
+
| "MainMain"
|
|
462
|
+
| "MainAp"
|
|
463
|
+
| "MainRadar"
|
|
464
|
+
| "MainSec"
|
|
465
|
+
| "DoubleAttack"
|
|
466
|
+
| "FBA"
|
|
467
|
+
| "BBA"
|
|
468
|
+
| "BA";
|
|
469
|
+
|
|
470
|
+
export type NightCutin =
|
|
471
|
+
| "MainTorpRadar"
|
|
472
|
+
| "TorpLookoutRadar"
|
|
473
|
+
| "TorpTsloTorp"
|
|
474
|
+
| "TorpTsloDrum"
|
|
475
|
+
| "NightZuiun2Radar"
|
|
476
|
+
| "NightZuiun2"
|
|
477
|
+
| "NightZuiunRadar"
|
|
478
|
+
| "NightZuiun"
|
|
479
|
+
| "DoubleAttack"
|
|
480
|
+
| "TorpTorpMain"
|
|
481
|
+
| "TorpTorpTorp"
|
|
482
|
+
| "MainMainSec"
|
|
483
|
+
| "MainMainMain"
|
|
484
|
+
| "SubTorpTorp"
|
|
485
|
+
| "SubRadarTorp"
|
|
486
|
+
| "Cvci1_25"
|
|
487
|
+
| "Cvci1_20"
|
|
488
|
+
| "Cvci1_18"
|
|
489
|
+
| "Photobomber";
|
|
490
|
+
|
|
491
|
+
export type FleetCutin =
|
|
492
|
+
| "NelsonTouch"
|
|
493
|
+
| "NagatoClassCutin"
|
|
494
|
+
| "ColoradoClassCutin"
|
|
495
|
+
| "KongouClassCutin"
|
|
496
|
+
| "Yamato2ShipCutin"
|
|
497
|
+
| "Yamato3ShipCutin";
|
|
498
|
+
|
|
499
|
+
export type DayCutinLike = DayCutin | FleetCutin;
|
|
500
|
+
|
|
501
|
+
export type NightCutinLike = NightCutin | FleetCutin;
|
|
502
|
+
|
|
503
|
+
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
504
|
+
|
|
505
|
+
export interface MoveShipPayload {
|
|
506
|
+
current: [string, string, ShipKey];
|
|
507
|
+
target: [string | null, string, ShipKey];
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
export interface ContactAnalysis {
|
|
511
|
+
single: DayContactChance[] | null;
|
|
512
|
+
combined: DayContactChance[] | null;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
export interface DayContactChance {
|
|
516
|
+
air_state: AirState;
|
|
517
|
+
trigger_rate: number;
|
|
518
|
+
rank3: number;
|
|
519
|
+
rank2: number;
|
|
520
|
+
rank1: number;
|
|
521
|
+
total: number;
|
|
522
|
+
}
|
|
457
523
|
|
|
458
524
|
export interface FormationCombatModifiersDef {
|
|
459
525
|
power_mod?: number;
|
|
@@ -499,13 +565,15 @@ export interface HistoricalBonusDef {
|
|
|
499
565
|
debuff?: boolean;
|
|
500
566
|
ship?: CompiledEvaler;
|
|
501
567
|
enemy?: CompiledEvaler;
|
|
502
|
-
power_mod?:
|
|
568
|
+
power_mod?: AttackPowerModifier;
|
|
569
|
+
armor_penetration?: number;
|
|
503
570
|
accuracy_mod?: number;
|
|
504
571
|
evasion_mod?: number;
|
|
505
572
|
}
|
|
506
573
|
|
|
507
574
|
export interface HistoricalParams {
|
|
508
|
-
power_mod:
|
|
575
|
+
power_mod: AttackPowerModifier;
|
|
576
|
+
armor_penetration: number;
|
|
509
577
|
accuracy_mod: number;
|
|
510
578
|
target_evasion_mod: number;
|
|
511
579
|
}
|
|
@@ -538,333 +606,280 @@ export interface FleetState {
|
|
|
538
606
|
s7?: ShipState;
|
|
539
607
|
}
|
|
540
608
|
|
|
541
|
-
export
|
|
609
|
+
export interface SlotSizeVecState {
|
|
610
|
+
ss1?: number;
|
|
611
|
+
ss2?: number;
|
|
612
|
+
ss3?: number;
|
|
613
|
+
ss4?: number;
|
|
614
|
+
ss5?: number;
|
|
615
|
+
}
|
|
542
616
|
|
|
543
|
-
export
|
|
617
|
+
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
618
|
+
id?: string;
|
|
619
|
+
ship_id: number;
|
|
620
|
+
level?: number;
|
|
621
|
+
current_hp?: number;
|
|
622
|
+
morale?: number;
|
|
623
|
+
ammo?: number;
|
|
624
|
+
fuel?: number;
|
|
625
|
+
max_hp_mod?: number;
|
|
626
|
+
firepower_mod?: number;
|
|
627
|
+
torpedo_mod?: number;
|
|
628
|
+
armor_mod?: number;
|
|
629
|
+
anti_air_mod?: number;
|
|
630
|
+
evasion_mod?: number;
|
|
631
|
+
asw_mod?: number;
|
|
632
|
+
los_mod?: number;
|
|
633
|
+
luck_mod?: number;
|
|
634
|
+
day_gunfit_accuracy?: number;
|
|
635
|
+
night_gunfit_accuracy?: number;
|
|
636
|
+
custom_power_mods?: CustomPowerModifiers;
|
|
637
|
+
}
|
|
544
638
|
|
|
545
|
-
export type
|
|
639
|
+
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
546
640
|
|
|
547
|
-
export
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
capped: number;
|
|
641
|
+
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
642
|
+
|
|
643
|
+
export interface HitRate {
|
|
551
644
|
normal: number;
|
|
552
645
|
critical: number;
|
|
553
|
-
|
|
554
|
-
remaining_ammo_mod: number;
|
|
646
|
+
total: number;
|
|
555
647
|
}
|
|
556
648
|
|
|
557
|
-
export interface
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
proficiency_critical_mod: number;
|
|
565
|
-
armor_penetration: number;
|
|
566
|
-
remaining_ammo_mod: number;
|
|
567
|
-
special_enemy_mods: SpecialEnemyModifiers;
|
|
568
|
-
historical_mod: number;
|
|
569
|
-
custom_mods: CustomPowerModifiers;
|
|
649
|
+
export interface HitRateParams {
|
|
650
|
+
accuracy_term: number;
|
|
651
|
+
evasion_term: number;
|
|
652
|
+
target_morale_mod: number;
|
|
653
|
+
critical_rate_constant: number;
|
|
654
|
+
critical_percentage_bonus: number;
|
|
655
|
+
hit_percentage_bonus: number;
|
|
570
656
|
}
|
|
571
657
|
|
|
572
|
-
export interface
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
658
|
+
export interface DamageReport {
|
|
659
|
+
miss_damage_min: number;
|
|
660
|
+
miss_damage_max: number;
|
|
661
|
+
normal_damage_min: number;
|
|
662
|
+
normal_damage_max: number;
|
|
663
|
+
critical_damage_min: number;
|
|
664
|
+
critical_damage_max: number;
|
|
665
|
+
normal_scratch_rate: number;
|
|
666
|
+
critical_scratch_rate: number;
|
|
667
|
+
damage_density: Histogram<number, number>;
|
|
668
|
+
damage_state_density: Histogram<DamageState, number>;
|
|
576
669
|
}
|
|
577
670
|
|
|
578
|
-
export interface
|
|
579
|
-
|
|
580
|
-
|
|
671
|
+
export interface AttackReport<T> {
|
|
672
|
+
style: T;
|
|
673
|
+
proc_rate: number | null;
|
|
674
|
+
attack_power: AttackPower | null;
|
|
675
|
+
attack_power_params: AttackPowerParams | null;
|
|
676
|
+
hits: number;
|
|
677
|
+
hit_rate: HitRate | null;
|
|
678
|
+
hit_rate_params: HitRateParams | null;
|
|
679
|
+
damage: DamageReport | null;
|
|
581
680
|
}
|
|
582
681
|
|
|
583
|
-
export interface
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
682
|
+
export interface AttackAnalysis {
|
|
683
|
+
attacker_is_player: boolean;
|
|
684
|
+
attacker_ship_id: number;
|
|
685
|
+
target_ship_id: number;
|
|
686
|
+
historical_params: HistoricalParams;
|
|
687
|
+
day: ActionReport<DayPhaseAttackStyle>;
|
|
688
|
+
night: ActionReport<NightPhaseAttackStyle>;
|
|
689
|
+
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
690
|
+
opening_asw: ActionReport<AswAttackStyle>;
|
|
691
|
+
support_shelling: ActionReport<SupportShellingStyle>;
|
|
588
692
|
}
|
|
589
693
|
|
|
590
|
-
export interface
|
|
591
|
-
|
|
592
|
-
|
|
694
|
+
export interface CompAntiAirAnalysis {
|
|
695
|
+
fleet_adjusted_anti_air: number;
|
|
696
|
+
ships: AntiAirReport[];
|
|
697
|
+
anti_air_cutin_chance: [number, number][];
|
|
593
698
|
}
|
|
594
699
|
|
|
595
|
-
export
|
|
700
|
+
export interface AntiAirReport {
|
|
701
|
+
ship_id: number;
|
|
702
|
+
role: Role;
|
|
703
|
+
index: number;
|
|
704
|
+
adjusted_anti_air: number | null;
|
|
705
|
+
proportional_shotdown_rate: number | null;
|
|
706
|
+
fixed_shotdown_number: number | null;
|
|
707
|
+
guaranteed: number | null;
|
|
708
|
+
anti_air_cutin_chance: [number, number][];
|
|
709
|
+
anti_air_propellant_barrage_chance: number | null;
|
|
710
|
+
}
|
|
596
711
|
|
|
597
|
-
export interface
|
|
712
|
+
export interface GearState {
|
|
598
713
|
id?: string;
|
|
599
|
-
|
|
714
|
+
gear_id: number;
|
|
715
|
+
exp?: number;
|
|
716
|
+
stars?: number;
|
|
600
717
|
}
|
|
601
718
|
|
|
602
|
-
export
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
719
|
+
export interface GearVecState {
|
|
720
|
+
g1?: GearState;
|
|
721
|
+
g2?: GearState;
|
|
722
|
+
g3?: GearState;
|
|
723
|
+
g4?: GearState;
|
|
724
|
+
g5?: GearState;
|
|
725
|
+
gx?: GearState;
|
|
726
|
+
}
|
|
608
727
|
|
|
609
|
-
export type
|
|
728
|
+
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
610
729
|
|
|
611
|
-
export
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
730
|
+
export type ShipCategory =
|
|
731
|
+
| "Battleship"
|
|
732
|
+
| "AircraftCarrier"
|
|
733
|
+
| "HeavyCruiser"
|
|
734
|
+
| "LightCruiser"
|
|
735
|
+
| "Destroyer"
|
|
736
|
+
| "CoastalDefenseShip"
|
|
737
|
+
| "Submarine"
|
|
738
|
+
| "AuxiliaryShip";
|
|
615
739
|
|
|
616
|
-
export
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
740
|
+
export type ShipType =
|
|
741
|
+
| "Unknown"
|
|
742
|
+
| "DE"
|
|
743
|
+
| "DD"
|
|
744
|
+
| "CL"
|
|
745
|
+
| "CLT"
|
|
746
|
+
| "CA"
|
|
747
|
+
| "CAV"
|
|
748
|
+
| "CVL"
|
|
749
|
+
| "FBB"
|
|
750
|
+
| "BB"
|
|
751
|
+
| "BBV"
|
|
752
|
+
| "CV"
|
|
753
|
+
| "XBB"
|
|
754
|
+
| "SS"
|
|
755
|
+
| "SSV"
|
|
756
|
+
| "AP"
|
|
757
|
+
| "AV"
|
|
758
|
+
| "LHA"
|
|
759
|
+
| "CVB"
|
|
760
|
+
| "AR"
|
|
761
|
+
| "AS"
|
|
762
|
+
| "CT"
|
|
763
|
+
| "AO";
|
|
626
764
|
|
|
627
|
-
export
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
765
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
766
|
+
|
|
767
|
+
export interface ActionReport<T> {
|
|
768
|
+
data: Record<string, AttackReport<T>>;
|
|
769
|
+
damage_state_density: Histogram<DamageState, number> | null;
|
|
770
|
+
is_active: boolean;
|
|
632
771
|
}
|
|
633
772
|
|
|
634
|
-
export type
|
|
773
|
+
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
635
774
|
|
|
636
|
-
export type
|
|
775
|
+
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
637
776
|
|
|
638
|
-
export
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
| "LargeMainGun"
|
|
643
|
-
| "SecondaryGun"
|
|
644
|
-
| "Torpedo"
|
|
645
|
-
| "CbFighter"
|
|
646
|
-
| "CbDiveBomber"
|
|
647
|
-
| "CbTorpedoBomber"
|
|
648
|
-
| "CbRecon"
|
|
649
|
-
| "ReconSeaplane"
|
|
650
|
-
| "SeaplaneBomber"
|
|
651
|
-
| "SmallRadar"
|
|
652
|
-
| "LargeRadar"
|
|
653
|
-
| "Sonar"
|
|
654
|
-
| "DepthCharge"
|
|
655
|
-
| "ExtraArmor"
|
|
656
|
-
| "Engine"
|
|
657
|
-
| "AntiAirShell"
|
|
658
|
-
| "ApShell"
|
|
659
|
-
| "VtFuze"
|
|
660
|
-
| "AntiAirGun"
|
|
661
|
-
| "MidgetSubmarine"
|
|
662
|
-
| "EmergencyRepair"
|
|
663
|
-
| "LandingCraft"
|
|
664
|
-
| "Rotorcraft"
|
|
665
|
-
| "AntiSubPatrolAircraft"
|
|
666
|
-
| "MediumArmor"
|
|
667
|
-
| "LargeArmor"
|
|
668
|
-
| "Searchlight"
|
|
669
|
-
| "SupplyContainer"
|
|
670
|
-
| "ShipRepairFacility"
|
|
671
|
-
| "SubmarineTorpedo"
|
|
672
|
-
| "Starshell"
|
|
673
|
-
| "CommandFacility"
|
|
674
|
-
| "AviationPersonnel"
|
|
675
|
-
| "AntiAirFireDirector"
|
|
676
|
-
| "AntiGroundEquipment"
|
|
677
|
-
| "LargeMainGun2"
|
|
678
|
-
| "ShipPersonnel"
|
|
679
|
-
| "LargeSonar"
|
|
680
|
-
| "LargeFlyingBoat"
|
|
681
|
-
| "LargeSearchlight"
|
|
682
|
-
| "CombatRation"
|
|
683
|
-
| "Supplies"
|
|
684
|
-
| "SeaplaneFighter"
|
|
685
|
-
| "AmphibiousTank"
|
|
686
|
-
| "LbAttacker"
|
|
687
|
-
| "LbFighter"
|
|
688
|
-
| "LbRecon"
|
|
689
|
-
| "TransportationMaterial"
|
|
690
|
-
| "SubmarineEquipment"
|
|
691
|
-
| "LargeLbAircraft"
|
|
692
|
-
| "JetFighter"
|
|
693
|
-
| "JetFighterBomber"
|
|
694
|
-
| "JetTorpedoBomber"
|
|
695
|
-
| "JetRecon"
|
|
696
|
-
| "LargeRadar2"
|
|
697
|
-
| "CbRecon2"
|
|
698
|
-
| "SecondaryGun2";
|
|
777
|
+
export interface AirSquadronState extends GearVecState, SlotSizeVecState {
|
|
778
|
+
id?: string;
|
|
779
|
+
mode?: AirSquadronMode;
|
|
780
|
+
}
|
|
699
781
|
|
|
700
|
-
export type
|
|
701
|
-
| "Fighter"
|
|
702
|
-
| "Bomber"
|
|
703
|
-
| "Recon"
|
|
704
|
-
| "MainGun"
|
|
705
|
-
| "Secondary"
|
|
706
|
-
| "Torpedo"
|
|
707
|
-
| "AntiSub"
|
|
708
|
-
| "Radar"
|
|
709
|
-
| "Landing"
|
|
710
|
-
| "Ration"
|
|
711
|
-
| "LandBased"
|
|
712
|
-
| "Misc";
|
|
782
|
+
export type AswAttackType = "DepthCharge" | "Aerial";
|
|
713
783
|
|
|
714
|
-
export
|
|
715
|
-
formation?: Formation;
|
|
716
|
-
amagiri_index?: number | null;
|
|
717
|
-
}
|
|
784
|
+
export type ShellingType = "Normal" | "Aerial";
|
|
718
785
|
|
|
719
|
-
export type
|
|
786
|
+
export type NightAttackType = "Normal" | "Swordfish" | "Aerial";
|
|
720
787
|
|
|
721
|
-
export
|
|
722
|
-
created_at: number;
|
|
723
|
-
gears: MasterGear[];
|
|
724
|
-
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
725
|
-
ships: MasterShip[];
|
|
726
|
-
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
727
|
-
ibonuses: MasterIBonuses;
|
|
728
|
-
equippability: MasterEquippability;
|
|
729
|
-
}
|
|
788
|
+
export type SupportShellingType = ShellingType;
|
|
730
789
|
|
|
731
|
-
export
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
}
|
|
790
|
+
export type AttackType =
|
|
791
|
+
| { t: "Asw"; c: AswAttackType }
|
|
792
|
+
| { t: "Shelling"; c: ShellingType }
|
|
793
|
+
| { t: "Night"; c: NightAttackType }
|
|
794
|
+
| { t: "Torpedo" }
|
|
795
|
+
| { t: "SupportShelling"; c: SupportShellingType };
|
|
735
796
|
|
|
736
|
-
export
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
expr: CompiledEvaler;
|
|
740
|
-
}
|
|
797
|
+
export type DayPhaseAttackType =
|
|
798
|
+
| { t: "Shelling"; c: ShellingType }
|
|
799
|
+
| { t: "Asw"; c: AswAttackType };
|
|
741
800
|
|
|
742
|
-
export
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
shelling_aerial_power: MasterIBonusRule[];
|
|
746
|
-
torpedo_power: MasterIBonusRule[];
|
|
747
|
-
torpedo_accuracy: MasterIBonusRule[];
|
|
748
|
-
torpedo_evasion: MasterIBonusRule[];
|
|
749
|
-
asw_power: MasterIBonusRule[];
|
|
750
|
-
asw_accuracy: MasterIBonusRule[];
|
|
751
|
-
night_power: MasterIBonusRule[];
|
|
752
|
-
night_aerial_power: MasterIBonusRule[];
|
|
753
|
-
night_accuracy: MasterIBonusRule[];
|
|
754
|
-
defense_power: MasterIBonusRule[];
|
|
755
|
-
contact_selection: MasterIBonusRule[];
|
|
756
|
-
fighter_power: MasterIBonusRule[];
|
|
757
|
-
ship_anti_air: MasterIBonusRule[];
|
|
758
|
-
fleet_anti_air: MasterIBonusRule[];
|
|
759
|
-
elos: MasterIBonusRule[];
|
|
760
|
-
}
|
|
801
|
+
export type NightPhaseAttackType =
|
|
802
|
+
| { t: "Night"; c: NightAttackType }
|
|
803
|
+
| { t: "Asw"; c: AswAttackType };
|
|
761
804
|
|
|
762
|
-
export
|
|
763
|
-
expr: CompiledEvaler;
|
|
764
|
-
formula: CompiledEvaler;
|
|
765
|
-
}
|
|
805
|
+
export type TorpedoAttackType = null;
|
|
766
806
|
|
|
767
|
-
export
|
|
768
|
-
gear_id: number;
|
|
769
|
-
name: string;
|
|
770
|
-
types: GearTypeIdArray;
|
|
771
|
-
special_type?: number;
|
|
772
|
-
max_hp?: number;
|
|
773
|
-
firepower?: number;
|
|
774
|
-
armor?: number;
|
|
775
|
-
torpedo?: number;
|
|
776
|
-
anti_air?: number;
|
|
777
|
-
speed?: number;
|
|
778
|
-
bombing?: number;
|
|
779
|
-
asw?: number;
|
|
780
|
-
los?: number;
|
|
781
|
-
luck?: number;
|
|
782
|
-
accuracy?: number;
|
|
783
|
-
evasion?: number;
|
|
784
|
-
range?: number;
|
|
785
|
-
radius?: number;
|
|
786
|
-
cost?: number;
|
|
787
|
-
improvable?: boolean;
|
|
788
|
-
ship_anti_air_resist?: number;
|
|
789
|
-
fleet_anti_air_resist?: number;
|
|
790
|
-
historical_aircraft_group?: number;
|
|
791
|
-
}
|
|
807
|
+
export type Side = "Player" | "Enemy";
|
|
792
808
|
|
|
793
|
-
export
|
|
794
|
-
air_state?: AirState;
|
|
795
|
-
engagement?: Engagement;
|
|
796
|
-
left?: AttackAnalyzerShipConfig;
|
|
797
|
-
right?: AttackAnalyzerShipConfig;
|
|
798
|
-
}
|
|
809
|
+
export type Align = "Left" | "Right";
|
|
799
810
|
|
|
800
|
-
export interface
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
attack_power_params: AttackPowerParams | null;
|
|
805
|
-
hits: number;
|
|
806
|
-
hit_rate: HitRate | null;
|
|
807
|
-
hit_rate_params: HitRateParams | null;
|
|
808
|
-
damage: DamageReport | null;
|
|
811
|
+
export interface SupportShellingSimulatorParams {
|
|
812
|
+
attacker_formation?: Formation;
|
|
813
|
+
target_formation?: Formation;
|
|
814
|
+
engagement: Engagement;
|
|
809
815
|
}
|
|
810
816
|
|
|
811
|
-
export interface
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
fleet_los_mod?: number | null;
|
|
817
|
+
export interface SimulatorResult {
|
|
818
|
+
items: SimulatorResultItem[];
|
|
819
|
+
sunk_vec: [number, number, number][];
|
|
815
820
|
}
|
|
816
821
|
|
|
817
|
-
export interface
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
accuracy_mod: number;
|
|
823
|
-
hits: number;
|
|
822
|
+
export interface SimulatorResultItem {
|
|
823
|
+
id: string;
|
|
824
|
+
fleet_type: FleetType;
|
|
825
|
+
index: number;
|
|
826
|
+
damage_state_map: Record<DamageState, number>;
|
|
824
827
|
}
|
|
825
828
|
|
|
826
|
-
export interface
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
829
|
+
export interface MasterData extends MasterBattleDefinitions {
|
|
830
|
+
created_at: number;
|
|
831
|
+
gears: MasterGear[];
|
|
832
|
+
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
833
|
+
ships: MasterShip[];
|
|
834
|
+
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
835
|
+
ibonuses: MasterIBonuses;
|
|
836
|
+
equippability: MasterEquippability;
|
|
833
837
|
}
|
|
834
838
|
|
|
835
|
-
export interface
|
|
836
|
-
|
|
837
|
-
|
|
839
|
+
export interface NationalityDef {
|
|
840
|
+
id: number;
|
|
841
|
+
ctypes: number[];
|
|
838
842
|
}
|
|
839
843
|
|
|
840
|
-
export interface
|
|
841
|
-
tag:
|
|
842
|
-
|
|
844
|
+
export interface MasterAttrRule<T> {
|
|
845
|
+
tag: T;
|
|
846
|
+
name: string;
|
|
847
|
+
expr: CompiledEvaler;
|
|
843
848
|
}
|
|
844
849
|
|
|
845
|
-
export
|
|
850
|
+
export interface ShipAnalyzerConfig {
|
|
851
|
+
air_state?: AirState;
|
|
852
|
+
engagement?: Engagement;
|
|
853
|
+
left?: AttackAnalyzerShipConfig;
|
|
854
|
+
right?: AttackAnalyzerShipConfig;
|
|
855
|
+
}
|
|
846
856
|
|
|
847
|
-
export
|
|
857
|
+
export interface NightContactChance {
|
|
858
|
+
rank1: number;
|
|
859
|
+
rank2: number;
|
|
860
|
+
rank3: number;
|
|
861
|
+
}
|
|
848
862
|
|
|
849
|
-
export interface
|
|
850
|
-
|
|
851
|
-
|
|
863
|
+
export interface CompNightCutinAnalysis {
|
|
864
|
+
night_contact_chance: NightContactChance;
|
|
865
|
+
ships: ShipNightCutinAnalysis[];
|
|
852
866
|
}
|
|
853
867
|
|
|
854
|
-
export interface
|
|
855
|
-
id: string;
|
|
868
|
+
export interface ShipNightCutinAnalysis {
|
|
856
869
|
ship_id: number;
|
|
870
|
+
index: number;
|
|
871
|
+
normal: NightCutinActionReport;
|
|
872
|
+
chuuha: NightCutinActionReport;
|
|
857
873
|
}
|
|
858
874
|
|
|
859
|
-
export interface
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
ships: [string, ShipMeta | null][];
|
|
875
|
+
export interface NightCutinActionReport
|
|
876
|
+
extends ActionReport<NightPhaseAttackStyle> {
|
|
877
|
+
cutin_term: number | null;
|
|
863
878
|
}
|
|
864
879
|
|
|
865
|
-
export
|
|
866
|
-
|
|
867
|
-
|
|
880
|
+
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
881
|
+
|
|
882
|
+
export type Role = "Main" | "Escort";
|
|
868
883
|
|
|
869
884
|
export type ShipAttr =
|
|
870
885
|
| "Unknown"
|
|
@@ -886,20 +901,39 @@ export type ShipAttr =
|
|
|
886
901
|
| "FrenchBattleshipPrincess"
|
|
887
902
|
| "DockPrincess";
|
|
888
903
|
|
|
889
|
-
export
|
|
890
|
-
|
|
891
|
-
|
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
904
|
+
export interface ShipConditions extends ShipPosition {
|
|
905
|
+
formation?: Formation;
|
|
906
|
+
amagiri_index?: number | null;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
export type CompiledEvaler = string;
|
|
910
|
+
|
|
911
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
912
|
+
|
|
913
|
+
export interface MasterIBonuses {
|
|
914
|
+
shelling_power: MasterIBonusRule[];
|
|
915
|
+
shelling_accuracy: MasterIBonusRule[];
|
|
916
|
+
shelling_aerial_power: MasterIBonusRule[];
|
|
917
|
+
torpedo_power: MasterIBonusRule[];
|
|
918
|
+
torpedo_accuracy: MasterIBonusRule[];
|
|
919
|
+
torpedo_evasion: MasterIBonusRule[];
|
|
920
|
+
asw_power: MasterIBonusRule[];
|
|
921
|
+
asw_accuracy: MasterIBonusRule[];
|
|
922
|
+
night_power: MasterIBonusRule[];
|
|
923
|
+
night_aerial_power: MasterIBonusRule[];
|
|
924
|
+
night_accuracy: MasterIBonusRule[];
|
|
925
|
+
defense_power: MasterIBonusRule[];
|
|
926
|
+
contact_selection: MasterIBonusRule[];
|
|
927
|
+
fighter_power: MasterIBonusRule[];
|
|
928
|
+
ship_anti_air: MasterIBonusRule[];
|
|
929
|
+
fleet_anti_air: MasterIBonusRule[];
|
|
930
|
+
elos: MasterIBonusRule[];
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
export interface MasterIBonusRule {
|
|
934
|
+
expr: CompiledEvaler;
|
|
935
|
+
formula: CompiledEvaler;
|
|
936
|
+
}
|
|
903
937
|
|
|
904
938
|
export interface MasterBattleDefinitions {
|
|
905
939
|
formation: NestedFormationDef[];
|
|
@@ -909,37 +943,29 @@ export interface MasterBattleDefinitions {
|
|
|
909
943
|
historical_bonuses?: HistoricalBonusDef[];
|
|
910
944
|
}
|
|
911
945
|
|
|
912
|
-
export interface
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
index: number;
|
|
921
|
-
ship_id: number;
|
|
922
|
-
power_mod: number;
|
|
923
|
-
}
|
|
924
|
-
|
|
925
|
-
export interface CompDayCutinAnalysis {
|
|
926
|
-
rank3_air_state: AirState;
|
|
927
|
-
rank2_air_state: AirState;
|
|
928
|
-
main_fleet_los_mod: number | null;
|
|
929
|
-
escort_fleet_los_mod: number | null;
|
|
930
|
-
ships: ShipDayCutinAnalysis[];
|
|
931
|
-
}
|
|
932
|
-
|
|
933
|
-
export interface ShipDayCutinAnalysis {
|
|
934
|
-
ship_id: number;
|
|
935
|
-
role: Role;
|
|
936
|
-
index: number;
|
|
937
|
-
rank3: DayCutinReport;
|
|
938
|
-
rank2: DayCutinReport;
|
|
946
|
+
export interface AttackPower {
|
|
947
|
+
precap: number;
|
|
948
|
+
is_capped: boolean;
|
|
949
|
+
capped: number;
|
|
950
|
+
normal: number;
|
|
951
|
+
critical: number;
|
|
952
|
+
armor_penetration: number;
|
|
953
|
+
remaining_ammo_mod: number;
|
|
939
954
|
}
|
|
940
955
|
|
|
941
|
-
export interface
|
|
942
|
-
|
|
956
|
+
export interface AttackPowerParams {
|
|
957
|
+
basic: number;
|
|
958
|
+
cap: number;
|
|
959
|
+
precap_mod: AttackPowerModifier;
|
|
960
|
+
postcap_mod: AttackPowerModifier;
|
|
961
|
+
ap_shell_mod: number | null;
|
|
962
|
+
aerial_power: number | null;
|
|
963
|
+
proficiency_critical_mod: number;
|
|
964
|
+
armor_penetration: number;
|
|
965
|
+
remaining_ammo_mod: number;
|
|
966
|
+
special_enemy_mods: SpecialEnemyModifiers;
|
|
967
|
+
historical_mod: AttackPowerModifier;
|
|
968
|
+
custom_mods: CustomPowerModifiers;
|
|
943
969
|
}
|
|
944
970
|
|
|
945
971
|
export interface CompAnalyzerConfig {
|
|
@@ -969,65 +995,41 @@ export interface CompAnalysis {
|
|
|
969
995
|
anti_air: CompAntiAirAnalysis;
|
|
970
996
|
}
|
|
971
997
|
|
|
972
|
-
export type
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
fleet_type?: FleetType;
|
|
979
|
-
fleet_len?: number;
|
|
980
|
-
index?: number;
|
|
981
|
-
}
|
|
982
|
-
|
|
983
|
-
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
984
|
-
|
|
985
|
-
export type GearTypeIdArray = [number, number, number, number, number];
|
|
998
|
+
export type AirState =
|
|
999
|
+
| "AirSupremacy"
|
|
1000
|
+
| "AirSuperiority"
|
|
1001
|
+
| "AirParity"
|
|
1002
|
+
| "AirDenial"
|
|
1003
|
+
| "AirIncapability";
|
|
986
1004
|
|
|
987
|
-
export
|
|
988
|
-
formation?: Formation;
|
|
989
|
-
}
|
|
1005
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
990
1006
|
|
|
991
|
-
export interface
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
node_state?: NodeState;
|
|
995
|
-
left?: NodeAttackAnalyzerShipConfig;
|
|
996
|
-
right?: NodeAttackAnalyzerShipConfig;
|
|
1007
|
+
export interface AttackPowerModifier {
|
|
1008
|
+
a?: number;
|
|
1009
|
+
b?: number;
|
|
997
1010
|
}
|
|
998
1011
|
|
|
999
|
-
export interface
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1012
|
+
export interface SpecialEnemyModifiers {
|
|
1013
|
+
precap_general_mod: AttackPowerModifier;
|
|
1014
|
+
stype_mod: AttackPowerModifier;
|
|
1015
|
+
landing_craft_synergy_mod: AttackPowerModifier;
|
|
1016
|
+
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
1017
|
+
m4a1dd_mod: AttackPowerModifier;
|
|
1018
|
+
honi_mod: AttackPowerModifier;
|
|
1019
|
+
postcap_general_mod: AttackPowerModifier;
|
|
1020
|
+
pt_mod: AttackPowerModifier | null;
|
|
1004
1021
|
}
|
|
1005
1022
|
|
|
1006
|
-
export interface
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1023
|
+
export interface CustomPowerModifiers {
|
|
1024
|
+
precap_mod?: AttackPowerModifier;
|
|
1025
|
+
postcap_mod?: AttackPowerModifier;
|
|
1026
|
+
basic_power_mod?: AttackPowerModifier;
|
|
1027
|
+
historical_mod?: AttackPowerModifier;
|
|
1010
1028
|
}
|
|
1011
1029
|
|
|
1012
|
-
export
|
|
1013
|
-
ship_id: number;
|
|
1014
|
-
role: Role;
|
|
1015
|
-
index: number;
|
|
1016
|
-
adjusted_anti_air: number | null;
|
|
1017
|
-
proportional_shotdown_rate: number | null;
|
|
1018
|
-
fixed_shotdown_number: number | null;
|
|
1019
|
-
guaranteed: number | null;
|
|
1020
|
-
anti_air_cutin_chance: [number, number][];
|
|
1021
|
-
anti_air_propellant_barrage_chance: number | null;
|
|
1022
|
-
}
|
|
1030
|
+
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
1023
1031
|
|
|
1024
|
-
export type
|
|
1025
|
-
| "Single"
|
|
1026
|
-
| "CarrierTaskForce"
|
|
1027
|
-
| "SurfaceTaskForce"
|
|
1028
|
-
| "TransportEscort"
|
|
1029
|
-
| "EnemySingle"
|
|
1030
|
-
| "EnemyCombined";
|
|
1032
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
1031
1033
|
|
|
1032
1034
|
/**
|
|
1033
1035
|
*/
|
|
@@ -1764,20 +1766,6 @@ export class Org {
|
|
|
1764
1766
|
*/
|
|
1765
1767
|
export class Ship {
|
|
1766
1768
|
free(): void;
|
|
1767
|
-
/**
|
|
1768
|
-
* @returns {number | undefined}
|
|
1769
|
-
*/
|
|
1770
|
-
state_day_gunfit_accuracy(): number | undefined;
|
|
1771
|
-
/**
|
|
1772
|
-
* @returns {number | undefined}
|
|
1773
|
-
*/
|
|
1774
|
-
state_night_gunfit_accuracy(): number | undefined;
|
|
1775
|
-
/**
|
|
1776
|
-
* フィット砲補正
|
|
1777
|
-
* @param {boolean} is_night
|
|
1778
|
-
* @returns {number}
|
|
1779
|
-
*/
|
|
1780
|
-
gunfit_accuracy(is_night: boolean): number;
|
|
1781
1769
|
/**
|
|
1782
1770
|
* @returns {Ship}
|
|
1783
1771
|
*/
|
|
@@ -1995,6 +1983,20 @@ export class Ship {
|
|
|
1995
1983
|
* @returns {number | undefined}
|
|
1996
1984
|
*/
|
|
1997
1985
|
ohko_power(): number | undefined;
|
|
1986
|
+
/**
|
|
1987
|
+
* @returns {number | undefined}
|
|
1988
|
+
*/
|
|
1989
|
+
state_day_gunfit_accuracy(): number | undefined;
|
|
1990
|
+
/**
|
|
1991
|
+
* @returns {number | undefined}
|
|
1992
|
+
*/
|
|
1993
|
+
state_night_gunfit_accuracy(): number | undefined;
|
|
1994
|
+
/**
|
|
1995
|
+
* フィット砲補正
|
|
1996
|
+
* @param {boolean} is_night
|
|
1997
|
+
* @returns {number}
|
|
1998
|
+
*/
|
|
1999
|
+
gunfit_accuracy(is_night: boolean): number;
|
|
1998
2000
|
/**
|
|
1999
2001
|
*/
|
|
2000
2002
|
readonly accuracy: number;
|