fleethub-core 1.10.5 → 1.10.7
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 +561 -553
- package/node/fleethub_core.js +30 -30
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +71 -71
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +561 -553
- package/pkg/fleethub_core_bg.js +29 -29
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +71 -71
package/node/fleethub_core.d.ts
CHANGED
|
@@ -1,17 +1,96 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
*/
|
|
5
|
+
export function set_panic_hook(): void;
|
|
3
6
|
/**
|
|
4
7
|
* @param {ShipConditions} value
|
|
5
8
|
* @returns {ShipConditions}
|
|
6
9
|
*/
|
|
7
10
|
export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
8
|
-
/**
|
|
9
|
-
*/
|
|
10
|
-
export function set_panic_hook(): void;
|
|
11
11
|
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
12
12
|
|
|
13
|
+
export type ShipType =
|
|
14
|
+
| "Unknown"
|
|
15
|
+
| "DE"
|
|
16
|
+
| "DD"
|
|
17
|
+
| "CL"
|
|
18
|
+
| "CLT"
|
|
19
|
+
| "CA"
|
|
20
|
+
| "CAV"
|
|
21
|
+
| "CVL"
|
|
22
|
+
| "FBB"
|
|
23
|
+
| "BB"
|
|
24
|
+
| "BBV"
|
|
25
|
+
| "CV"
|
|
26
|
+
| "XBB"
|
|
27
|
+
| "SS"
|
|
28
|
+
| "SSV"
|
|
29
|
+
| "AP"
|
|
30
|
+
| "AV"
|
|
31
|
+
| "LHA"
|
|
32
|
+
| "CVB"
|
|
33
|
+
| "AR"
|
|
34
|
+
| "AS"
|
|
35
|
+
| "CT"
|
|
36
|
+
| "AO";
|
|
37
|
+
|
|
38
|
+
export type ShipCategory =
|
|
39
|
+
| "Battleship"
|
|
40
|
+
| "AircraftCarrier"
|
|
41
|
+
| "HeavyCruiser"
|
|
42
|
+
| "LightCruiser"
|
|
43
|
+
| "Destroyer"
|
|
44
|
+
| "CoastalDefenseShip"
|
|
45
|
+
| "Submarine"
|
|
46
|
+
| "AuxiliaryShip";
|
|
47
|
+
|
|
48
|
+
export interface HitRate {
|
|
49
|
+
normal: number;
|
|
50
|
+
critical: number;
|
|
51
|
+
total: number;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface HitRateParams {
|
|
55
|
+
accuracy_term: number;
|
|
56
|
+
evasion_term: number;
|
|
57
|
+
target_morale_mod: number;
|
|
58
|
+
critical_rate_constant: number;
|
|
59
|
+
critical_percentage_bonus: number;
|
|
60
|
+
hit_percentage_bonus: number;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
64
|
+
formation?: Formation;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface NodeAttackAnalyzerConfig {
|
|
68
|
+
air_state?: AirState;
|
|
69
|
+
engagement?: Engagement;
|
|
70
|
+
node_state?: NodeState;
|
|
71
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
72
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface NodeAttackAnalysis {
|
|
76
|
+
left: AttackAnalysis;
|
|
77
|
+
right: AttackAnalysis;
|
|
78
|
+
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
79
|
+
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
83
|
+
|
|
13
84
|
export type SlotSizeVec = (number | null)[];
|
|
14
85
|
|
|
86
|
+
export type Align = "Left" | "Right";
|
|
87
|
+
|
|
88
|
+
export type Side = "Player" | "Enemy";
|
|
89
|
+
|
|
90
|
+
export type Role = "Main" | "Escort";
|
|
91
|
+
|
|
92
|
+
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
93
|
+
|
|
15
94
|
export interface NightFleetConditions {
|
|
16
95
|
night_contact_rank?: ContactRank | null;
|
|
17
96
|
starshell_index?: number | null;
|
|
@@ -34,78 +113,119 @@ export interface BattleConditions {
|
|
|
34
113
|
night_conditions: NightFleetConditions;
|
|
35
114
|
}
|
|
36
115
|
|
|
37
|
-
export
|
|
38
|
-
gear_id: number;
|
|
39
|
-
name: string;
|
|
40
|
-
types: GearTypeIdArray;
|
|
41
|
-
special_type?: number;
|
|
42
|
-
max_hp?: number;
|
|
43
|
-
firepower?: number;
|
|
44
|
-
armor?: number;
|
|
45
|
-
torpedo?: number;
|
|
46
|
-
anti_air?: number;
|
|
47
|
-
speed?: number;
|
|
48
|
-
bombing?: number;
|
|
49
|
-
asw?: number;
|
|
50
|
-
los?: number;
|
|
51
|
-
luck?: number;
|
|
52
|
-
accuracy?: number;
|
|
53
|
-
evasion?: number;
|
|
54
|
-
range?: number;
|
|
55
|
-
radius?: number;
|
|
56
|
-
cost?: number;
|
|
57
|
-
improvable?: boolean;
|
|
58
|
-
ship_anti_air_resist?: number;
|
|
59
|
-
fleet_anti_air_resist?: number;
|
|
60
|
-
historical_aircraft_group?: number;
|
|
61
|
-
}
|
|
116
|
+
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
62
117
|
|
|
63
|
-
export interface
|
|
64
|
-
|
|
118
|
+
export interface EquippabilityRule {
|
|
119
|
+
ship: CompiledEvaler;
|
|
120
|
+
keys?: string[];
|
|
121
|
+
include?: string;
|
|
122
|
+
exclude?: string;
|
|
65
123
|
}
|
|
66
124
|
|
|
67
|
-
export interface
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
125
|
+
export interface MasterEquippability {
|
|
126
|
+
equip_stype: EquipStype[];
|
|
127
|
+
equip_exslot: number[];
|
|
128
|
+
equip_ship: MstEquipShip[];
|
|
129
|
+
equip_exslot_ship: MstEquipExslotShip[];
|
|
130
|
+
rules: EquippabilityRule[];
|
|
73
131
|
}
|
|
74
132
|
|
|
75
|
-
export interface
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
79
|
-
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
133
|
+
export interface MstEquipExslotShip {
|
|
134
|
+
api_slotitem_id: number;
|
|
135
|
+
api_ship_ids: number[];
|
|
80
136
|
}
|
|
81
137
|
|
|
82
|
-
export interface
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
anti_air_cutin: number | null;
|
|
86
|
-
ship_anti_air_resist: number;
|
|
87
|
-
fleet_anti_air_resist: number;
|
|
88
|
-
left_night_fleet_conditions: NightFleetConditions;
|
|
89
|
-
right_night_fleet_conditions: NightFleetConditions;
|
|
138
|
+
export interface MstEquipShip {
|
|
139
|
+
api_ship_id: number;
|
|
140
|
+
api_equip_type: number[];
|
|
90
141
|
}
|
|
91
142
|
|
|
92
|
-
export interface
|
|
93
|
-
|
|
94
|
-
|
|
143
|
+
export interface EquipStype {
|
|
144
|
+
id: number;
|
|
145
|
+
equip_type: number[];
|
|
95
146
|
}
|
|
96
147
|
|
|
97
|
-
export interface
|
|
98
|
-
|
|
99
|
-
|
|
148
|
+
export interface ActionReport<T> {
|
|
149
|
+
data: Record<string, AttackReport<T>>;
|
|
150
|
+
damage_state_density: Histogram<DamageState, number> | null;
|
|
151
|
+
is_active: boolean;
|
|
100
152
|
}
|
|
101
153
|
|
|
102
|
-
export
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
154
|
+
export type NightCutinLike = NightCutin | FleetCutin;
|
|
155
|
+
|
|
156
|
+
export type DayCutinLike = DayCutin | FleetCutin;
|
|
157
|
+
|
|
158
|
+
export type FleetCutin =
|
|
159
|
+
| "NelsonTouch"
|
|
160
|
+
| "NagatoClassCutin"
|
|
161
|
+
| "ColoradoClassCutin"
|
|
162
|
+
| "KongouClassCutin"
|
|
163
|
+
| "Yamato2ShipCutin"
|
|
164
|
+
| "Yamato3ShipCutin";
|
|
165
|
+
|
|
166
|
+
export type NightCutin =
|
|
167
|
+
| "MainTorpRadar"
|
|
168
|
+
| "TorpLookoutRadar"
|
|
169
|
+
| "TorpTsloTorp"
|
|
170
|
+
| "TorpTsloDrum"
|
|
171
|
+
| "DoubleAttack"
|
|
172
|
+
| "TorpTorpMain"
|
|
173
|
+
| "TorpTorpTorp"
|
|
174
|
+
| "MainMainSec"
|
|
175
|
+
| "MainMainMain"
|
|
176
|
+
| "SubTorpTorp"
|
|
177
|
+
| "SubRadarTorp"
|
|
178
|
+
| "Cvci1_25"
|
|
179
|
+
| "Cvci1_20"
|
|
180
|
+
| "Cvci1_18"
|
|
181
|
+
| "Photobomber";
|
|
182
|
+
|
|
183
|
+
export type DayCutin =
|
|
184
|
+
| "Zuiun"
|
|
185
|
+
| "AirSea"
|
|
186
|
+
| "MainMain"
|
|
187
|
+
| "MainAp"
|
|
188
|
+
| "MainRadar"
|
|
189
|
+
| "MainSec"
|
|
190
|
+
| "DoubleAttack"
|
|
191
|
+
| "FBA"
|
|
192
|
+
| "BBA"
|
|
193
|
+
| "BA";
|
|
194
|
+
|
|
195
|
+
export interface MasterShip {
|
|
196
|
+
ship_id: number;
|
|
197
|
+
name: string;
|
|
198
|
+
yomi: string;
|
|
199
|
+
stype: number;
|
|
200
|
+
ctype: number;
|
|
201
|
+
nationality?: number;
|
|
202
|
+
sort_id?: number;
|
|
203
|
+
max_hp: StatInterval;
|
|
204
|
+
firepower: StatInterval;
|
|
205
|
+
armor: StatInterval;
|
|
206
|
+
torpedo: StatInterval;
|
|
207
|
+
evasion: StatInterval;
|
|
208
|
+
anti_air: StatInterval;
|
|
209
|
+
asw: StatInterval;
|
|
210
|
+
los: StatInterval;
|
|
211
|
+
luck: StatInterval;
|
|
212
|
+
torpedo_accuracy?: number;
|
|
213
|
+
basic_evasion_term?: number;
|
|
214
|
+
speed: number;
|
|
215
|
+
range?: number;
|
|
216
|
+
fuel?: number;
|
|
217
|
+
ammo?: number;
|
|
218
|
+
next_id?: number;
|
|
219
|
+
next_level?: number;
|
|
220
|
+
slotnum: number;
|
|
221
|
+
slots: SlotSizeVec;
|
|
222
|
+
stock: GearState[];
|
|
223
|
+
speed_group?: SpeedGroup;
|
|
224
|
+
useful?: boolean;
|
|
107
225
|
}
|
|
108
226
|
|
|
227
|
+
export type StatInterval = [number | null, number | null];
|
|
228
|
+
|
|
109
229
|
export interface OrgState {
|
|
110
230
|
id?: string;
|
|
111
231
|
f1?: FleetState;
|
|
@@ -187,149 +307,12 @@ export interface GearState {
|
|
|
187
307
|
stars?: number;
|
|
188
308
|
}
|
|
189
309
|
|
|
190
|
-
export
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
export type GearTypeIdArray = [number, number, number, number, number];
|
|
199
|
-
|
|
200
|
-
export type Align = "Left" | "Right";
|
|
201
|
-
|
|
202
|
-
export type Side = "Player" | "Enemy";
|
|
203
|
-
|
|
204
|
-
export type ShipType =
|
|
205
|
-
| "Unknown"
|
|
206
|
-
| "DE"
|
|
207
|
-
| "DD"
|
|
208
|
-
| "CL"
|
|
209
|
-
| "CLT"
|
|
210
|
-
| "CA"
|
|
211
|
-
| "CAV"
|
|
212
|
-
| "CVL"
|
|
213
|
-
| "FBB"
|
|
214
|
-
| "BB"
|
|
215
|
-
| "BBV"
|
|
216
|
-
| "CV"
|
|
217
|
-
| "XBB"
|
|
218
|
-
| "SS"
|
|
219
|
-
| "SSV"
|
|
220
|
-
| "AP"
|
|
221
|
-
| "AV"
|
|
222
|
-
| "LHA"
|
|
223
|
-
| "CVB"
|
|
224
|
-
| "AR"
|
|
225
|
-
| "AS"
|
|
226
|
-
| "CT"
|
|
227
|
-
| "AO";
|
|
228
|
-
|
|
229
|
-
export type ShipCategory =
|
|
230
|
-
| "Battleship"
|
|
231
|
-
| "AircraftCarrier"
|
|
232
|
-
| "HeavyCruiser"
|
|
233
|
-
| "LightCruiser"
|
|
234
|
-
| "Destroyer"
|
|
235
|
-
| "CoastalDefenseShip"
|
|
236
|
-
| "Submarine"
|
|
237
|
-
| "AuxiliaryShip";
|
|
238
|
-
|
|
239
|
-
export interface MasterIBonuses {
|
|
240
|
-
shelling_power: MasterIBonusRule[];
|
|
241
|
-
shelling_accuracy: MasterIBonusRule[];
|
|
242
|
-
shelling_aerial_power: MasterIBonusRule[];
|
|
243
|
-
torpedo_power: MasterIBonusRule[];
|
|
244
|
-
torpedo_accuracy: MasterIBonusRule[];
|
|
245
|
-
torpedo_evasion: MasterIBonusRule[];
|
|
246
|
-
asw_power: MasterIBonusRule[];
|
|
247
|
-
asw_accuracy: MasterIBonusRule[];
|
|
248
|
-
night_power: MasterIBonusRule[];
|
|
249
|
-
night_aerial_power: MasterIBonusRule[];
|
|
250
|
-
night_accuracy: MasterIBonusRule[];
|
|
251
|
-
defense_power: MasterIBonusRule[];
|
|
252
|
-
contact_selection: MasterIBonusRule[];
|
|
253
|
-
fighter_power: MasterIBonusRule[];
|
|
254
|
-
ship_anti_air: MasterIBonusRule[];
|
|
255
|
-
fleet_anti_air: MasterIBonusRule[];
|
|
256
|
-
elos: MasterIBonusRule[];
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
export interface MasterIBonusRule {
|
|
260
|
-
expr: CompiledEvaler;
|
|
261
|
-
formula: CompiledEvaler;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
export interface AttackReport<T> {
|
|
265
|
-
style: T;
|
|
266
|
-
proc_rate: number | null;
|
|
267
|
-
attack_power: AttackPower | null;
|
|
268
|
-
attack_power_params: AttackPowerParams | null;
|
|
269
|
-
hits: number;
|
|
270
|
-
hit_rate: HitRate | null;
|
|
271
|
-
hit_rate_params: HitRateParams | null;
|
|
272
|
-
damage: DamageReport | null;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
export interface MoveShipPayload {
|
|
276
|
-
current: [string, string, ShipKey];
|
|
277
|
-
target: [string | null, string, ShipKey];
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
281
|
-
|
|
282
|
-
export type NightCutinLike = NightCutin | FleetCutin;
|
|
283
|
-
|
|
284
|
-
export type DayCutinLike = DayCutin | FleetCutin;
|
|
285
|
-
|
|
286
|
-
export type FleetCutin =
|
|
287
|
-
| "NelsonTouch"
|
|
288
|
-
| "NagatoClassCutin"
|
|
289
|
-
| "ColoradoClassCutin"
|
|
290
|
-
| "KongouClassCutin"
|
|
291
|
-
| "Yamato2ShipCutin"
|
|
292
|
-
| "Yamato3ShipCutin";
|
|
293
|
-
|
|
294
|
-
export type NightCutin =
|
|
295
|
-
| "MainTorpRadar"
|
|
296
|
-
| "TorpLookoutRadar"
|
|
297
|
-
| "TorpTsloTorp"
|
|
298
|
-
| "TorpTsloDrum"
|
|
299
|
-
| "DoubleAttack"
|
|
300
|
-
| "TorpTorpMain"
|
|
301
|
-
| "TorpTorpTorp"
|
|
302
|
-
| "MainMainSec"
|
|
303
|
-
| "MainMainMain"
|
|
304
|
-
| "SubTorpTorp"
|
|
305
|
-
| "SubRadarTorp"
|
|
306
|
-
| "Cvci1_25"
|
|
307
|
-
| "Cvci1_20"
|
|
308
|
-
| "Cvci1_18"
|
|
309
|
-
| "Photobomber";
|
|
310
|
-
|
|
311
|
-
export type DayCutin =
|
|
312
|
-
| "Zuiun"
|
|
313
|
-
| "AirSea"
|
|
314
|
-
| "MainMain"
|
|
315
|
-
| "MainAp"
|
|
316
|
-
| "MainRadar"
|
|
317
|
-
| "MainSec"
|
|
318
|
-
| "DoubleAttack"
|
|
319
|
-
| "FBA"
|
|
320
|
-
| "BBA"
|
|
321
|
-
| "BA";
|
|
322
|
-
|
|
323
|
-
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
324
|
-
|
|
325
|
-
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
326
|
-
|
|
327
|
-
export interface BattleDefinitions {
|
|
328
|
-
formation: Record<Formation, NestedFormationDef>;
|
|
329
|
-
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
330
|
-
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
331
|
-
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
332
|
-
historical_bonuses: HistoricalBonusDef[];
|
|
310
|
+
export interface BattleDefinitions {
|
|
311
|
+
formation: Record<Formation, NestedFormationDef>;
|
|
312
|
+
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
313
|
+
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
314
|
+
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
315
|
+
historical_bonuses: HistoricalBonusDef[];
|
|
333
316
|
}
|
|
334
317
|
|
|
335
318
|
export interface NightCutinDef {
|
|
@@ -340,6 +323,12 @@ export interface NightCutinDef {
|
|
|
340
323
|
accuracy_mod: number | null;
|
|
341
324
|
}
|
|
342
325
|
|
|
326
|
+
export interface HistoricalParams {
|
|
327
|
+
power_mod: number;
|
|
328
|
+
accuracy_mod: number;
|
|
329
|
+
target_evasion_mod: number;
|
|
330
|
+
}
|
|
331
|
+
|
|
343
332
|
export interface HistoricalBonusDef {
|
|
344
333
|
map?: number;
|
|
345
334
|
node?: CompiledEvaler;
|
|
@@ -389,44 +378,27 @@ export interface FormationCombatModifiersDef {
|
|
|
389
378
|
evasion_mod?: number;
|
|
390
379
|
}
|
|
391
380
|
|
|
392
|
-
export interface
|
|
393
|
-
|
|
394
|
-
|
|
381
|
+
export interface MoveShipPayload {
|
|
382
|
+
current: [string, string, ShipKey];
|
|
383
|
+
target: [string | null, string, ShipKey];
|
|
395
384
|
}
|
|
396
385
|
|
|
397
|
-
export
|
|
398
|
-
id: string;
|
|
399
|
-
fleet_type: FleetType;
|
|
400
|
-
index: number;
|
|
401
|
-
damage_state_map: Record<DamageState, number>;
|
|
402
|
-
}
|
|
386
|
+
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
403
387
|
|
|
404
|
-
export
|
|
405
|
-
precap: number;
|
|
406
|
-
is_capped: boolean;
|
|
407
|
-
capped: number;
|
|
408
|
-
normal: number;
|
|
409
|
-
critical: number;
|
|
410
|
-
armor_penetration: number;
|
|
411
|
-
remaining_ammo_mod: number;
|
|
412
|
-
}
|
|
388
|
+
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
413
389
|
|
|
414
|
-
export
|
|
415
|
-
basic: number;
|
|
416
|
-
cap: number;
|
|
417
|
-
precap_mod: AttackPowerModifier;
|
|
418
|
-
postcap_mod: AttackPowerModifier;
|
|
419
|
-
ap_shell_mod: number | null;
|
|
420
|
-
aerial_power: number | null;
|
|
421
|
-
proficiency_critical_mod: number;
|
|
422
|
-
armor_penetration: number;
|
|
423
|
-
remaining_ammo_mod: number;
|
|
424
|
-
special_enemy_mods: SpecialEnemyModifiers;
|
|
425
|
-
historical_mod: number;
|
|
426
|
-
custom_mods: CustomPowerModifiers;
|
|
427
|
-
}
|
|
390
|
+
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
428
391
|
|
|
429
|
-
export
|
|
392
|
+
export interface AttackReport<T> {
|
|
393
|
+
style: T;
|
|
394
|
+
proc_rate: number | null;
|
|
395
|
+
attack_power: AttackPower | null;
|
|
396
|
+
attack_power_params: AttackPowerParams | null;
|
|
397
|
+
hits: number;
|
|
398
|
+
hit_rate: HitRate | null;
|
|
399
|
+
hit_rate_params: HitRateParams | null;
|
|
400
|
+
damage: DamageReport | null;
|
|
401
|
+
}
|
|
430
402
|
|
|
431
403
|
export interface ShipConditions extends ShipPosition {
|
|
432
404
|
formation?: Formation;
|
|
@@ -509,54 +481,31 @@ export type GearType =
|
|
|
509
481
|
| "CbRecon2"
|
|
510
482
|
| "SecondaryGun2";
|
|
511
483
|
|
|
512
|
-
export type
|
|
484
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
513
485
|
|
|
514
|
-
export interface
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
520
|
-
ibonuses: MasterIBonuses;
|
|
521
|
-
equippability: MasterEquippability;
|
|
486
|
+
export interface CustomPowerModifiers {
|
|
487
|
+
precap_mod?: AttackPowerModifier;
|
|
488
|
+
postcap_mod?: AttackPowerModifier;
|
|
489
|
+
basic_power_mod?: AttackPowerModifier;
|
|
490
|
+
historical_mod?: AttackPowerModifier;
|
|
522
491
|
}
|
|
523
492
|
|
|
524
|
-
export interface
|
|
525
|
-
|
|
526
|
-
|
|
493
|
+
export interface SpecialEnemyModifiers {
|
|
494
|
+
precap_general_mod: AttackPowerModifier;
|
|
495
|
+
stype_mod: AttackPowerModifier;
|
|
496
|
+
landing_craft_synergy_mod: AttackPowerModifier;
|
|
497
|
+
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
498
|
+
m4a1dd_mod: AttackPowerModifier;
|
|
499
|
+
honi_mod: AttackPowerModifier;
|
|
500
|
+
postcap_general_mod: AttackPowerModifier;
|
|
501
|
+
pt_mod: AttackPowerModifier;
|
|
527
502
|
}
|
|
528
503
|
|
|
529
|
-
export interface
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
expr: CompiledEvaler;
|
|
504
|
+
export interface AttackPowerModifier {
|
|
505
|
+
a?: number;
|
|
506
|
+
b?: number;
|
|
533
507
|
}
|
|
534
508
|
|
|
535
|
-
export type TorpedoAttackType = null;
|
|
536
|
-
|
|
537
|
-
export type NightPhaseAttackType =
|
|
538
|
-
| { t: "Night"; c: NightAttackType }
|
|
539
|
-
| { t: "Asw"; c: AswAttackType };
|
|
540
|
-
|
|
541
|
-
export type DayPhaseAttackType =
|
|
542
|
-
| { t: "Shelling"; c: ShellingType }
|
|
543
|
-
| { t: "Asw"; c: AswAttackType };
|
|
544
|
-
|
|
545
|
-
export type AttackType =
|
|
546
|
-
| { t: "Asw"; c: AswAttackType }
|
|
547
|
-
| { t: "Shelling"; c: ShellingType }
|
|
548
|
-
| { t: "Night"; c: NightAttackType }
|
|
549
|
-
| { t: "Torpedo" }
|
|
550
|
-
| { t: "SupportShelling"; c: SupportShellingType };
|
|
551
|
-
|
|
552
|
-
export type SupportShellingType = ShellingType;
|
|
553
|
-
|
|
554
|
-
export type NightAttackType = "Normal" | "Swordfish" | "Carrier";
|
|
555
|
-
|
|
556
|
-
export type ShellingType = "Normal" | "Carrier";
|
|
557
|
-
|
|
558
|
-
export type AswAttackType = "DepthCharge" | "Aircraft";
|
|
559
|
-
|
|
560
509
|
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
561
510
|
|
|
562
511
|
export type AirState =
|
|
@@ -566,13 +515,76 @@ export type AirState =
|
|
|
566
515
|
| "AirDenial"
|
|
567
516
|
| "AirIncapability";
|
|
568
517
|
|
|
569
|
-
export
|
|
518
|
+
export interface SimulatorResult {
|
|
519
|
+
items: SimulatorResultItem[];
|
|
520
|
+
sunk_vec: [number, number, number][];
|
|
521
|
+
}
|
|
570
522
|
|
|
571
|
-
export interface
|
|
572
|
-
|
|
573
|
-
fleet_type
|
|
574
|
-
|
|
575
|
-
|
|
523
|
+
export interface SimulatorResultItem {
|
|
524
|
+
id: string;
|
|
525
|
+
fleet_type: FleetType;
|
|
526
|
+
index: number;
|
|
527
|
+
damage_state_map: Record<DamageState, number>;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
531
|
+
|
|
532
|
+
export interface MasterGear {
|
|
533
|
+
gear_id: number;
|
|
534
|
+
name: string;
|
|
535
|
+
types: GearTypeIdArray;
|
|
536
|
+
special_type?: number;
|
|
537
|
+
max_hp?: number;
|
|
538
|
+
firepower?: number;
|
|
539
|
+
armor?: number;
|
|
540
|
+
torpedo?: number;
|
|
541
|
+
anti_air?: number;
|
|
542
|
+
speed?: number;
|
|
543
|
+
bombing?: number;
|
|
544
|
+
asw?: number;
|
|
545
|
+
los?: number;
|
|
546
|
+
luck?: number;
|
|
547
|
+
accuracy?: number;
|
|
548
|
+
evasion?: number;
|
|
549
|
+
range?: number;
|
|
550
|
+
radius?: number;
|
|
551
|
+
cost?: number;
|
|
552
|
+
improvable?: boolean;
|
|
553
|
+
ship_anti_air_resist?: number;
|
|
554
|
+
fleet_anti_air_resist?: number;
|
|
555
|
+
historical_aircraft_group?: number;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
export interface AttackPower {
|
|
559
|
+
precap: number;
|
|
560
|
+
is_capped: boolean;
|
|
561
|
+
capped: number;
|
|
562
|
+
normal: number;
|
|
563
|
+
critical: number;
|
|
564
|
+
armor_penetration: number;
|
|
565
|
+
remaining_ammo_mod: number;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
export interface AttackPowerParams {
|
|
569
|
+
basic: number;
|
|
570
|
+
cap: number;
|
|
571
|
+
precap_mod: AttackPowerModifier;
|
|
572
|
+
postcap_mod: AttackPowerModifier;
|
|
573
|
+
ap_shell_mod: number | null;
|
|
574
|
+
aerial_power: number | null;
|
|
575
|
+
proficiency_critical_mod: number;
|
|
576
|
+
armor_penetration: number;
|
|
577
|
+
remaining_ammo_mod: number;
|
|
578
|
+
special_enemy_mods: SpecialEnemyModifiers;
|
|
579
|
+
historical_mod: number;
|
|
580
|
+
custom_mods: CustomPowerModifiers;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
export interface ShipPosition {
|
|
584
|
+
org_type?: OrgType;
|
|
585
|
+
fleet_type?: FleetType;
|
|
586
|
+
fleet_len?: number;
|
|
587
|
+
index?: number;
|
|
576
588
|
}
|
|
577
589
|
|
|
578
590
|
export interface CompMeta {
|
|
@@ -590,72 +602,33 @@ export interface ShipMeta {
|
|
|
590
602
|
ship_id: number;
|
|
591
603
|
}
|
|
592
604
|
|
|
593
|
-
export
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
605
|
+
export interface MasterIBonuses {
|
|
606
|
+
shelling_power: MasterIBonusRule[];
|
|
607
|
+
shelling_accuracy: MasterIBonusRule[];
|
|
608
|
+
shelling_aerial_power: MasterIBonusRule[];
|
|
609
|
+
torpedo_power: MasterIBonusRule[];
|
|
610
|
+
torpedo_accuracy: MasterIBonusRule[];
|
|
611
|
+
torpedo_evasion: MasterIBonusRule[];
|
|
612
|
+
asw_power: MasterIBonusRule[];
|
|
613
|
+
asw_accuracy: MasterIBonusRule[];
|
|
614
|
+
night_power: MasterIBonusRule[];
|
|
615
|
+
night_aerial_power: MasterIBonusRule[];
|
|
616
|
+
night_accuracy: MasterIBonusRule[];
|
|
617
|
+
defense_power: MasterIBonusRule[];
|
|
618
|
+
contact_selection: MasterIBonusRule[];
|
|
619
|
+
fighter_power: MasterIBonusRule[];
|
|
620
|
+
ship_anti_air: MasterIBonusRule[];
|
|
621
|
+
fleet_anti_air: MasterIBonusRule[];
|
|
622
|
+
elos: MasterIBonusRule[];
|
|
610
623
|
}
|
|
611
624
|
|
|
612
|
-
export interface
|
|
613
|
-
|
|
614
|
-
|
|
625
|
+
export interface MasterIBonusRule {
|
|
626
|
+
expr: CompiledEvaler;
|
|
627
|
+
formula: CompiledEvaler;
|
|
615
628
|
}
|
|
616
629
|
|
|
617
630
|
export type CompiledEvaler = string;
|
|
618
631
|
|
|
619
|
-
export interface EBonuses {
|
|
620
|
-
firepower: number;
|
|
621
|
-
torpedo: number;
|
|
622
|
-
anti_air: number;
|
|
623
|
-
armor: number;
|
|
624
|
-
evasion: number;
|
|
625
|
-
asw: number;
|
|
626
|
-
los: number;
|
|
627
|
-
bombing: number;
|
|
628
|
-
accuracy: number;
|
|
629
|
-
range: number;
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
export interface ShipInput {
|
|
633
|
-
ship_id: number;
|
|
634
|
-
ctype: number;
|
|
635
|
-
stype: number;
|
|
636
|
-
yomi: string;
|
|
637
|
-
}
|
|
638
|
-
|
|
639
|
-
export interface GearInput {
|
|
640
|
-
gear_id: number;
|
|
641
|
-
types: GearTypeIdArray;
|
|
642
|
-
firepower: number;
|
|
643
|
-
torpedo: number;
|
|
644
|
-
anti_air: number;
|
|
645
|
-
armor: number;
|
|
646
|
-
evasion: number;
|
|
647
|
-
asw: number;
|
|
648
|
-
los: number;
|
|
649
|
-
bombing: number;
|
|
650
|
-
accuracy: number;
|
|
651
|
-
range: number;
|
|
652
|
-
radius: number;
|
|
653
|
-
stars: number;
|
|
654
|
-
ace: number;
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
export type GearVecInput = GearInput[];
|
|
658
|
-
|
|
659
632
|
export type ShipAttr =
|
|
660
633
|
| "Unknown"
|
|
661
634
|
| "Abyssal"
|
|
@@ -681,86 +654,6 @@ export type OrgType =
|
|
|
681
654
|
| "EnemySingle"
|
|
682
655
|
| "EnemyCombined";
|
|
683
656
|
|
|
684
|
-
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
685
|
-
|
|
686
|
-
export interface SupportShellingSimulatorParams {
|
|
687
|
-
attacker_formation?: Formation;
|
|
688
|
-
target_formation?: Formation;
|
|
689
|
-
engagement: Engagement;
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
export interface MasterBattleDefinitions {
|
|
693
|
-
formation: NestedFormationDef[];
|
|
694
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
695
|
-
day_cutin: DayCutinDef[];
|
|
696
|
-
night_cutin: NightCutinDef[];
|
|
697
|
-
historical_bonuses?: HistoricalBonusDef[];
|
|
698
|
-
}
|
|
699
|
-
|
|
700
|
-
export interface ShipAnalyzerConfig {
|
|
701
|
-
air_state?: AirState;
|
|
702
|
-
engagement?: Engagement;
|
|
703
|
-
left?: AttackAnalyzerShipConfig;
|
|
704
|
-
right?: AttackAnalyzerShipConfig;
|
|
705
|
-
}
|
|
706
|
-
|
|
707
|
-
export interface NightContactChance {
|
|
708
|
-
rank1: number;
|
|
709
|
-
rank2: number;
|
|
710
|
-
rank3: number;
|
|
711
|
-
}
|
|
712
|
-
|
|
713
|
-
export interface CompNightCutinAnalysis {
|
|
714
|
-
night_contact_chance: NightContactChance;
|
|
715
|
-
ships: ShipNightCutinAnalysis[];
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
export interface ShipNightCutinAnalysis {
|
|
719
|
-
ship_id: number;
|
|
720
|
-
index: number;
|
|
721
|
-
normal: NightCutinActionReport;
|
|
722
|
-
chuuha: NightCutinActionReport;
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
export interface NightCutinActionReport
|
|
726
|
-
extends ActionReport<NightPhaseAttackStyle> {
|
|
727
|
-
cutin_term: number | null;
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
export interface AttackAnalyzerShipConfig
|
|
731
|
-
extends ShipConditions,
|
|
732
|
-
NightFleetConditions {
|
|
733
|
-
fleet_los_mod?: number | null;
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
export interface CompAntiAirAnalysis {
|
|
737
|
-
fleet_adjusted_anti_air: number;
|
|
738
|
-
ships: AntiAirReport[];
|
|
739
|
-
anti_air_cutin_chance: [number, number][];
|
|
740
|
-
}
|
|
741
|
-
|
|
742
|
-
export interface AntiAirReport {
|
|
743
|
-
ship_id: number;
|
|
744
|
-
role: Role;
|
|
745
|
-
index: number;
|
|
746
|
-
adjusted_anti_air: number | null;
|
|
747
|
-
proportional_shotdown_rate: number | null;
|
|
748
|
-
fixed_shotdown_number: number | null;
|
|
749
|
-
guaranteed: number | null;
|
|
750
|
-
anti_air_cutin_chance: [number, number][];
|
|
751
|
-
anti_air_propellant_barrage_chance: number | null;
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
export interface NodeState {
|
|
755
|
-
map?: number;
|
|
756
|
-
node?: NodeId;
|
|
757
|
-
phase?: number;
|
|
758
|
-
debuff?: boolean;
|
|
759
|
-
disable_historical_mod?: boolean;
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
export type NodeId = string;
|
|
763
|
-
|
|
764
657
|
export type GearAttr =
|
|
765
658
|
| "Unknown"
|
|
766
659
|
| "Abyssal"
|
|
@@ -793,41 +686,75 @@ export type GearAttr =
|
|
|
793
686
|
| "SemiNightPlane"
|
|
794
687
|
| "HighAltitudeInterceptor";
|
|
795
688
|
|
|
796
|
-
export
|
|
797
|
-
tag: "SupportShellingStyle";
|
|
798
|
-
attack_type: SupportShellingType;
|
|
799
|
-
}
|
|
689
|
+
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
800
690
|
|
|
801
|
-
export type
|
|
691
|
+
export type TorpedoAttackType = null;
|
|
802
692
|
|
|
803
|
-
export type
|
|
693
|
+
export type NightPhaseAttackType =
|
|
694
|
+
| { t: "Night"; c: NightAttackType }
|
|
695
|
+
| { t: "Asw"; c: AswAttackType };
|
|
804
696
|
|
|
805
|
-
export
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
}
|
|
697
|
+
export type DayPhaseAttackType =
|
|
698
|
+
| { t: "Shelling"; c: ShellingType }
|
|
699
|
+
| { t: "Asw"; c: AswAttackType };
|
|
809
700
|
|
|
810
|
-
export
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
}
|
|
701
|
+
export type AttackType =
|
|
702
|
+
| { t: "Asw"; c: AswAttackType }
|
|
703
|
+
| { t: "Shelling"; c: ShellingType }
|
|
704
|
+
| { t: "Night"; c: NightAttackType }
|
|
705
|
+
| { t: "Torpedo" }
|
|
706
|
+
| { t: "SupportShelling"; c: SupportShellingType };
|
|
814
707
|
|
|
815
|
-
export
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
708
|
+
export type SupportShellingType = ShellingType;
|
|
709
|
+
|
|
710
|
+
export type NightAttackType = "Normal" | "Swordfish" | "Aerial";
|
|
711
|
+
|
|
712
|
+
export type ShellingType = "Normal" | "Aerial";
|
|
713
|
+
|
|
714
|
+
export type AswAttackType = "DepthCharge" | "Aerial";
|
|
715
|
+
|
|
716
|
+
export interface MasterData extends MasterBattleDefinitions {
|
|
717
|
+
created_at: number;
|
|
718
|
+
gears: MasterGear[];
|
|
719
|
+
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
720
|
+
ships: MasterShip[];
|
|
721
|
+
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
722
|
+
ibonuses: MasterIBonuses;
|
|
723
|
+
equippability: MasterEquippability;
|
|
822
724
|
}
|
|
823
725
|
|
|
824
|
-
export interface
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
726
|
+
export interface NationalityDef {
|
|
727
|
+
id: number;
|
|
728
|
+
ctypes: number[];
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
export interface MasterAttrRule<T> {
|
|
732
|
+
tag: T;
|
|
733
|
+
name: string;
|
|
734
|
+
expr: CompiledEvaler;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
export interface NightContactChance {
|
|
738
|
+
rank1: number;
|
|
739
|
+
rank2: number;
|
|
740
|
+
rank3: number;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
export interface CompNightCutinAnalysis {
|
|
744
|
+
night_contact_chance: NightContactChance;
|
|
745
|
+
ships: ShipNightCutinAnalysis[];
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
export interface ShipNightCutinAnalysis {
|
|
749
|
+
ship_id: number;
|
|
750
|
+
index: number;
|
|
751
|
+
normal: NightCutinActionReport;
|
|
752
|
+
chuuha: NightCutinActionReport;
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
export interface NightCutinActionReport
|
|
756
|
+
extends ActionReport<NightPhaseAttackStyle> {
|
|
757
|
+
cutin_term: number | null;
|
|
831
758
|
}
|
|
832
759
|
|
|
833
760
|
export interface FleetCutinReport<T> {
|
|
@@ -843,43 +770,34 @@ export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
|
843
770
|
power_mod: number;
|
|
844
771
|
}
|
|
845
772
|
|
|
846
|
-
export
|
|
847
|
-
miss_damage_min: number;
|
|
848
|
-
miss_damage_max: number;
|
|
849
|
-
normal_damage_min: number;
|
|
850
|
-
normal_damage_max: number;
|
|
851
|
-
critical_damage_min: number;
|
|
852
|
-
critical_damage_max: number;
|
|
853
|
-
normal_scratch_rate: number;
|
|
854
|
-
critical_scratch_rate: number;
|
|
855
|
-
damage_density: Histogram<number, number>;
|
|
856
|
-
damage_state_density: Histogram<DamageState, number>;
|
|
857
|
-
}
|
|
858
|
-
|
|
859
|
-
export type Histogram<K, V> = Partial<Record<K, V>>;
|
|
860
|
-
|
|
861
|
-
export type Formation = SingleFormation | CombinedFormation;
|
|
773
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
862
774
|
|
|
863
|
-
export
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
775
|
+
export interface SupportShellingSimulatorParams {
|
|
776
|
+
attacker_formation?: Formation;
|
|
777
|
+
target_formation?: Formation;
|
|
778
|
+
engagement: Engagement;
|
|
779
|
+
}
|
|
868
780
|
|
|
869
|
-
export
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
781
|
+
export interface MasterBattleDefinitions {
|
|
782
|
+
formation: NestedFormationDef[];
|
|
783
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
784
|
+
day_cutin: DayCutinDef[];
|
|
785
|
+
night_cutin: NightCutinDef[];
|
|
786
|
+
historical_bonuses?: HistoricalBonusDef[];
|
|
787
|
+
}
|
|
876
788
|
|
|
877
|
-
export
|
|
789
|
+
export interface ShipAnalyzerConfig {
|
|
790
|
+
air_state?: AirState;
|
|
791
|
+
engagement?: Engagement;
|
|
792
|
+
left?: AttackAnalyzerShipConfig;
|
|
793
|
+
right?: AttackAnalyzerShipConfig;
|
|
794
|
+
}
|
|
878
795
|
|
|
879
796
|
export interface AttackAnalysis {
|
|
880
797
|
attacker_is_player: boolean;
|
|
881
798
|
attacker_ship_id: number;
|
|
882
799
|
target_ship_id: number;
|
|
800
|
+
historical_params: HistoricalParams;
|
|
883
801
|
day: ActionReport<DayPhaseAttackStyle>;
|
|
884
802
|
night: ActionReport<NightPhaseAttackStyle>;
|
|
885
803
|
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
@@ -887,95 +805,99 @@ export interface AttackAnalysis {
|
|
|
887
805
|
support_shelling: ActionReport<SupportShellingStyle>;
|
|
888
806
|
}
|
|
889
807
|
|
|
890
|
-
export
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
808
|
+
export interface EBonuses {
|
|
809
|
+
firepower: number;
|
|
810
|
+
torpedo: number;
|
|
811
|
+
anti_air: number;
|
|
812
|
+
armor: number;
|
|
813
|
+
evasion: number;
|
|
814
|
+
asw: number;
|
|
815
|
+
los: number;
|
|
816
|
+
bombing: number;
|
|
817
|
+
accuracy: number;
|
|
818
|
+
range: number;
|
|
819
|
+
}
|
|
901
820
|
|
|
902
|
-
export interface
|
|
821
|
+
export interface ShipInput {
|
|
903
822
|
ship_id: number;
|
|
904
|
-
name: string;
|
|
905
|
-
yomi: string;
|
|
906
|
-
stype: number;
|
|
907
823
|
ctype: number;
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
max_hp: StatInterval;
|
|
911
|
-
firepower: StatInterval;
|
|
912
|
-
armor: StatInterval;
|
|
913
|
-
torpedo: StatInterval;
|
|
914
|
-
evasion: StatInterval;
|
|
915
|
-
anti_air: StatInterval;
|
|
916
|
-
asw: StatInterval;
|
|
917
|
-
los: StatInterval;
|
|
918
|
-
luck: StatInterval;
|
|
919
|
-
torpedo_accuracy?: number;
|
|
920
|
-
basic_evasion_term?: number;
|
|
921
|
-
speed: number;
|
|
922
|
-
range?: number;
|
|
923
|
-
fuel?: number;
|
|
924
|
-
ammo?: number;
|
|
925
|
-
next_id?: number;
|
|
926
|
-
next_level?: number;
|
|
927
|
-
slotnum: number;
|
|
928
|
-
slots: SlotSizeVec;
|
|
929
|
-
stock: GearState[];
|
|
930
|
-
speed_group?: SpeedGroup;
|
|
931
|
-
useful?: boolean;
|
|
824
|
+
stype: number;
|
|
825
|
+
yomi: string;
|
|
932
826
|
}
|
|
933
827
|
|
|
934
|
-
export
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
828
|
+
export interface GearInput {
|
|
829
|
+
gear_id: number;
|
|
830
|
+
types: GearTypeIdArray;
|
|
831
|
+
firepower: number;
|
|
832
|
+
torpedo: number;
|
|
833
|
+
anti_air: number;
|
|
834
|
+
armor: number;
|
|
835
|
+
evasion: number;
|
|
836
|
+
asw: number;
|
|
837
|
+
los: number;
|
|
838
|
+
bombing: number;
|
|
839
|
+
accuracy: number;
|
|
840
|
+
range: number;
|
|
841
|
+
radius: number;
|
|
842
|
+
stars: number;
|
|
843
|
+
ace: number;
|
|
941
844
|
}
|
|
942
845
|
|
|
943
|
-
export
|
|
944
|
-
equip_stype: EquipStype[];
|
|
945
|
-
equip_exslot: number[];
|
|
946
|
-
equip_ship: MstEquipShip[];
|
|
947
|
-
equip_exslot_ship: MstEquipExslotShip[];
|
|
948
|
-
rules: EquippabilityRule[];
|
|
949
|
-
}
|
|
846
|
+
export type GearVecInput = GearInput[];
|
|
950
847
|
|
|
951
|
-
export
|
|
952
|
-
|
|
953
|
-
|
|
848
|
+
export type Histogram<K, V> = Partial<Record<K, V>>;
|
|
849
|
+
|
|
850
|
+
export type Formation = SingleFormation | CombinedFormation;
|
|
851
|
+
|
|
852
|
+
export type CombinedFormation =
|
|
853
|
+
| "Cruising1"
|
|
854
|
+
| "Cruising2"
|
|
855
|
+
| "Cruising3"
|
|
856
|
+
| "Cruising4";
|
|
857
|
+
|
|
858
|
+
export type SingleFormation =
|
|
859
|
+
| "LineAhead"
|
|
860
|
+
| "DoubleLine"
|
|
861
|
+
| "Diamond"
|
|
862
|
+
| "Echelon"
|
|
863
|
+
| "LineAbreast"
|
|
864
|
+
| "Vanguard";
|
|
865
|
+
|
|
866
|
+
export interface SupportShellingStyle {
|
|
867
|
+
tag: "SupportShellingStyle";
|
|
868
|
+
attack_type: SupportShellingType;
|
|
954
869
|
}
|
|
955
870
|
|
|
956
|
-
export
|
|
957
|
-
|
|
958
|
-
|
|
871
|
+
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
872
|
+
|
|
873
|
+
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
874
|
+
|
|
875
|
+
export interface TorpedoAttackStyle {
|
|
876
|
+
tag: "TorpedoAttackStyle";
|
|
877
|
+
attack_type: TorpedoAttackType;
|
|
959
878
|
}
|
|
960
879
|
|
|
961
|
-
export interface
|
|
962
|
-
|
|
963
|
-
|
|
880
|
+
export interface AswAttackStyle {
|
|
881
|
+
tag: "AswAttackStyle";
|
|
882
|
+
attack_type: AswAttackType;
|
|
964
883
|
}
|
|
965
884
|
|
|
966
|
-
export interface
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
885
|
+
export interface NightAttackStyle {
|
|
886
|
+
tag: "NightAttackStyle";
|
|
887
|
+
attack_type: NightAttackType;
|
|
888
|
+
cutin: NightCutinLike | null;
|
|
889
|
+
power_mod: number;
|
|
890
|
+
accuracy_mod: number;
|
|
891
|
+
hits: number;
|
|
970
892
|
}
|
|
971
893
|
|
|
972
|
-
export interface
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
894
|
+
export interface ShellingStyle {
|
|
895
|
+
tag: "ShellingStyle";
|
|
896
|
+
attack_type: ShellingType;
|
|
897
|
+
cutin: DayCutinLike | null;
|
|
898
|
+
power_mod: number;
|
|
899
|
+
accuracy_mod: number;
|
|
900
|
+
hits: number;
|
|
979
901
|
}
|
|
980
902
|
|
|
981
903
|
export interface CompDayCutinAnalysis {
|
|
@@ -998,6 +920,59 @@ export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
|
998
920
|
observation_term: number | null;
|
|
999
921
|
}
|
|
1000
922
|
|
|
923
|
+
export interface CompAntiAirAnalysis {
|
|
924
|
+
fleet_adjusted_anti_air: number;
|
|
925
|
+
ships: AntiAirReport[];
|
|
926
|
+
anti_air_cutin_chance: [number, number][];
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
export interface AntiAirReport {
|
|
930
|
+
ship_id: number;
|
|
931
|
+
role: Role;
|
|
932
|
+
index: number;
|
|
933
|
+
adjusted_anti_air: number | null;
|
|
934
|
+
proportional_shotdown_rate: number | null;
|
|
935
|
+
fixed_shotdown_number: number | null;
|
|
936
|
+
guaranteed: number | null;
|
|
937
|
+
anti_air_cutin_chance: [number, number][];
|
|
938
|
+
anti_air_propellant_barrage_chance: number | null;
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
export type SpecialEnemyType =
|
|
942
|
+
| "None"
|
|
943
|
+
| "SoftSkinned"
|
|
944
|
+
| "Pillbox"
|
|
945
|
+
| "IsolatedIsland"
|
|
946
|
+
| "SupplyDepot"
|
|
947
|
+
| "NewSupplyDepot"
|
|
948
|
+
| "HarbourSummerPrincess"
|
|
949
|
+
| "PtImp"
|
|
950
|
+
| "BattleshipSummerPrincess"
|
|
951
|
+
| "HeavyCruiserSummerPrincess";
|
|
952
|
+
|
|
953
|
+
export interface NodeState {
|
|
954
|
+
map?: number;
|
|
955
|
+
node?: NodeId;
|
|
956
|
+
phase?: number;
|
|
957
|
+
debuff?: boolean;
|
|
958
|
+
disable_historical_mod?: boolean;
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
export type NodeId = string;
|
|
962
|
+
|
|
963
|
+
export interface DamageReport {
|
|
964
|
+
miss_damage_min: number;
|
|
965
|
+
miss_damage_max: number;
|
|
966
|
+
normal_damage_min: number;
|
|
967
|
+
normal_damage_max: number;
|
|
968
|
+
critical_damage_min: number;
|
|
969
|
+
critical_damage_max: number;
|
|
970
|
+
normal_scratch_rate: number;
|
|
971
|
+
critical_scratch_rate: number;
|
|
972
|
+
damage_density: Histogram<number, number>;
|
|
973
|
+
damage_state_density: Histogram<DamageState, number>;
|
|
974
|
+
}
|
|
975
|
+
|
|
1001
976
|
export interface ContactAnalysis {
|
|
1002
977
|
single: DayContactChance[] | null;
|
|
1003
978
|
combined: DayContactChance[] | null;
|
|
@@ -1012,6 +987,39 @@ export interface DayContactChance {
|
|
|
1012
987
|
total: number;
|
|
1013
988
|
}
|
|
1014
989
|
|
|
990
|
+
export interface CompAnalyzerConfig {
|
|
991
|
+
engagement: Engagement;
|
|
992
|
+
formation: Formation;
|
|
993
|
+
anti_air_cutin: number | null;
|
|
994
|
+
ship_anti_air_resist: number;
|
|
995
|
+
fleet_anti_air_resist: number;
|
|
996
|
+
left_night_fleet_conditions: NightFleetConditions;
|
|
997
|
+
right_night_fleet_conditions: NightFleetConditions;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
export interface CompNightAnalysis {
|
|
1001
|
+
night_cutin: CompNightCutinAnalysis;
|
|
1002
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
export interface CompDayAnalysis {
|
|
1006
|
+
day_cutin: CompDayCutinAnalysis;
|
|
1007
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
export interface CompAnalysis {
|
|
1011
|
+
day: CompDayAnalysis;
|
|
1012
|
+
night: CompNightAnalysis;
|
|
1013
|
+
contact: ContactAnalysis;
|
|
1014
|
+
anti_air: CompAntiAirAnalysis;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
export interface AttackAnalyzerShipConfig
|
|
1018
|
+
extends ShipConditions,
|
|
1019
|
+
NightFleetConditions {
|
|
1020
|
+
fleet_los_mod?: number | null;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1015
1023
|
/**
|
|
1016
1024
|
*/
|
|
1017
1025
|
export class AirSquadron {
|