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