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