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