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