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