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