fleethub-core 1.12.5 → 1.12.6
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 +692 -1439
- package/node/fleethub_core.js +1075 -1431
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +286 -282
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +891 -619
- package/pkg/fleethub_core_bg.js +10 -11
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +50 -50
package/node/fleethub_core.d.ts
CHANGED
|
@@ -1,153 +1,59 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
|
-
/**
|
|
4
|
-
*/
|
|
5
|
-
export function set_panic_hook(): void;
|
|
6
|
-
/**
|
|
7
|
-
* @param {ShipConditions} value
|
|
8
|
-
* @returns {ShipConditions}
|
|
9
|
-
*/
|
|
10
3
|
export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
11
|
-
export
|
|
12
|
-
ship_id: number;
|
|
13
|
-
name: string;
|
|
14
|
-
yomi: string;
|
|
15
|
-
stype: number;
|
|
16
|
-
ctype: number;
|
|
17
|
-
nationality?: number;
|
|
18
|
-
sort_id?: number;
|
|
19
|
-
max_hp: StatInterval;
|
|
20
|
-
firepower: StatInterval;
|
|
21
|
-
armor: StatInterval;
|
|
22
|
-
torpedo: StatInterval;
|
|
23
|
-
evasion: StatInterval;
|
|
24
|
-
anti_air: StatInterval;
|
|
25
|
-
asw: StatInterval;
|
|
26
|
-
los: StatInterval;
|
|
27
|
-
luck: StatInterval;
|
|
28
|
-
torpedo_accuracy?: number;
|
|
29
|
-
basic_evasion_term?: number;
|
|
30
|
-
speed: number;
|
|
31
|
-
range?: number;
|
|
32
|
-
fuel?: number;
|
|
33
|
-
ammo?: number;
|
|
34
|
-
next_id?: number;
|
|
35
|
-
next_level?: number;
|
|
36
|
-
slotnum: number;
|
|
37
|
-
slots: SlotSizeVec;
|
|
38
|
-
stock: GearState[];
|
|
39
|
-
speed_group?: SpeedGroup;
|
|
40
|
-
useful?: boolean;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export type StatInterval = [number | null, number | null];
|
|
44
|
-
|
|
45
|
-
export interface AttackPower {
|
|
46
|
-
precap: number;
|
|
47
|
-
is_capped: boolean;
|
|
48
|
-
capped: number;
|
|
49
|
-
normal: number;
|
|
50
|
-
critical: number;
|
|
51
|
-
armor_penetration: number;
|
|
52
|
-
remaining_ammo_mod: number;
|
|
53
|
-
}
|
|
4
|
+
export function set_panic_hook(): void;
|
|
54
5
|
|
|
55
|
-
export
|
|
56
|
-
is_cutin: boolean;
|
|
57
|
-
basic: number;
|
|
58
|
-
cap: number;
|
|
59
|
-
precap_mod: AttackPowerModifier;
|
|
60
|
-
postcap_mod: AttackPowerModifier;
|
|
61
|
-
ap_shell_mod: number | null;
|
|
62
|
-
aerial_power: number | null;
|
|
63
|
-
proficiency_critical_mod: number;
|
|
64
|
-
armor_penetration: number;
|
|
65
|
-
remaining_ammo_mod: number;
|
|
66
|
-
balloon_mod: number;
|
|
67
|
-
special_enemy_mods: SpecialEnemyModifiers;
|
|
68
|
-
historical_mod: AttackPowerModifier;
|
|
69
|
-
custom_mods: CustomPowerModifiers;
|
|
70
|
-
}
|
|
6
|
+
export type CompiledEvaler = string;
|
|
71
7
|
|
|
72
|
-
export
|
|
73
|
-
style: T;
|
|
74
|
-
proc_rate: number | null;
|
|
75
|
-
attack_power: AttackPower | null;
|
|
76
|
-
attack_power_params: AttackPowerParams | null;
|
|
77
|
-
hits: number;
|
|
78
|
-
hit_rate: HitRate | null;
|
|
79
|
-
hit_rate_params: HitRateParams | null;
|
|
80
|
-
damage: DamageReport | null;
|
|
81
|
-
}
|
|
8
|
+
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
82
9
|
|
|
83
|
-
export interface
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
target_ship_id: number;
|
|
87
|
-
historical_params: HistoricalParams;
|
|
88
|
-
day: ActionReport<DayPhaseAttackStyle>;
|
|
89
|
-
night: ActionReport<NightPhaseAttackStyle>;
|
|
90
|
-
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
91
|
-
opening_asw: ActionReport<AswAttackStyle>;
|
|
92
|
-
support_shelling: ActionReport<SupportShellingStyle>;
|
|
10
|
+
export interface AirSquadronState extends GearVecState, SlotSizeVecState {
|
|
11
|
+
id?: string;
|
|
12
|
+
mode?: AirSquadronMode;
|
|
93
13
|
}
|
|
94
14
|
|
|
95
|
-
export type
|
|
96
|
-
|
|
97
|
-
|
|
15
|
+
export type SingleFormation =
|
|
16
|
+
| "LineAhead"
|
|
17
|
+
| "DoubleLine"
|
|
18
|
+
| "Diamond"
|
|
19
|
+
| "Echelon"
|
|
20
|
+
| "LineAbreast"
|
|
21
|
+
| "Vanguard";
|
|
98
22
|
|
|
99
|
-
export type
|
|
23
|
+
export type CombinedFormation =
|
|
24
|
+
| "Cruising1"
|
|
25
|
+
| "Cruising2"
|
|
26
|
+
| "Cruising3"
|
|
27
|
+
| "Cruising4";
|
|
100
28
|
|
|
101
|
-
export type
|
|
102
|
-
| "Single"
|
|
103
|
-
| "CarrierTaskForce"
|
|
104
|
-
| "SurfaceTaskForce"
|
|
105
|
-
| "TransportEscort"
|
|
106
|
-
| "EnemySingle"
|
|
107
|
-
| "EnemyCombined";
|
|
29
|
+
export type Formation = SingleFormation | CombinedFormation;
|
|
108
30
|
|
|
109
|
-
export interface
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
31
|
+
export interface MasterGear {
|
|
32
|
+
gear_id: number;
|
|
33
|
+
name: string;
|
|
34
|
+
types: GearTypeIdArray;
|
|
35
|
+
special_type?: number;
|
|
36
|
+
max_hp?: number;
|
|
37
|
+
firepower?: number;
|
|
38
|
+
armor?: number;
|
|
39
|
+
torpedo?: number;
|
|
40
|
+
anti_air?: number;
|
|
41
|
+
speed?: number;
|
|
42
|
+
bombing?: number;
|
|
43
|
+
asw?: number;
|
|
44
|
+
los?: number;
|
|
45
|
+
luck?: number;
|
|
46
|
+
accuracy?: number;
|
|
47
|
+
evasion?: number;
|
|
48
|
+
range?: number;
|
|
49
|
+
radius?: number;
|
|
50
|
+
cost?: number;
|
|
51
|
+
improvable?: boolean;
|
|
52
|
+
ship_anti_air_resist?: number;
|
|
53
|
+
fleet_anti_air_resist?: number;
|
|
54
|
+
historical_aircraft_group?: number;
|
|
114
55
|
}
|
|
115
56
|
|
|
116
|
-
export type ShipCategory =
|
|
117
|
-
| "Battleship"
|
|
118
|
-
| "AircraftCarrier"
|
|
119
|
-
| "HeavyCruiser"
|
|
120
|
-
| "LightCruiser"
|
|
121
|
-
| "Destroyer"
|
|
122
|
-
| "CoastalDefenseShip"
|
|
123
|
-
| "Submarine"
|
|
124
|
-
| "AuxiliaryShip";
|
|
125
|
-
|
|
126
|
-
export type ShipType =
|
|
127
|
-
| "Unknown"
|
|
128
|
-
| "DE"
|
|
129
|
-
| "DD"
|
|
130
|
-
| "CL"
|
|
131
|
-
| "CLT"
|
|
132
|
-
| "CA"
|
|
133
|
-
| "CAV"
|
|
134
|
-
| "CVL"
|
|
135
|
-
| "FBB"
|
|
136
|
-
| "BB"
|
|
137
|
-
| "BBV"
|
|
138
|
-
| "CV"
|
|
139
|
-
| "XBB"
|
|
140
|
-
| "SS"
|
|
141
|
-
| "SSV"
|
|
142
|
-
| "AP"
|
|
143
|
-
| "AV"
|
|
144
|
-
| "LHA"
|
|
145
|
-
| "CVB"
|
|
146
|
-
| "AR"
|
|
147
|
-
| "AS"
|
|
148
|
-
| "CT"
|
|
149
|
-
| "AO";
|
|
150
|
-
|
|
151
57
|
export interface FleetCutinReport<T> {
|
|
152
58
|
cutin: FleetCutin;
|
|
153
59
|
rate: number | null;
|
|
@@ -161,19 +67,6 @@ export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
|
161
67
|
power_mod: number;
|
|
162
68
|
}
|
|
163
69
|
|
|
164
|
-
export interface DamageReport {
|
|
165
|
-
miss_damage_min: number;
|
|
166
|
-
miss_damage_max: number;
|
|
167
|
-
normal_damage_min: number;
|
|
168
|
-
normal_damage_max: number;
|
|
169
|
-
critical_damage_min: number;
|
|
170
|
-
critical_damage_max: number;
|
|
171
|
-
normal_scratch_rate: number;
|
|
172
|
-
critical_scratch_rate: number;
|
|
173
|
-
damage_density: Histogram<number, number>;
|
|
174
|
-
damage_state_density: Histogram<DamageState, number>;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
70
|
export type AswAttackType = "DepthCharge" | "Aerial";
|
|
178
71
|
|
|
179
72
|
export type ShellingType = "Normal" | "Aerial";
|
|
@@ -199,6 +92,51 @@ export type NightPhaseAttackType =
|
|
|
199
92
|
|
|
200
93
|
export type TorpedoAttackType = null;
|
|
201
94
|
|
|
95
|
+
export type DayCutin =
|
|
96
|
+
| "Zuiun"
|
|
97
|
+
| "AirSea"
|
|
98
|
+
| "MainMain"
|
|
99
|
+
| "MainAp"
|
|
100
|
+
| "MainRadar"
|
|
101
|
+
| "MainSec"
|
|
102
|
+
| "DoubleAttack"
|
|
103
|
+
| "FBA"
|
|
104
|
+
| "BBA"
|
|
105
|
+
| "BA";
|
|
106
|
+
|
|
107
|
+
export type NightCutin =
|
|
108
|
+
| "MainTorpRadar"
|
|
109
|
+
| "TorpLookoutRadar"
|
|
110
|
+
| "TorpTsloTorp"
|
|
111
|
+
| "TorpTsloDrum"
|
|
112
|
+
| "NightZuiun2Radar"
|
|
113
|
+
| "NightZuiun2"
|
|
114
|
+
| "NightZuiunRadar"
|
|
115
|
+
| "NightZuiun"
|
|
116
|
+
| "DoubleAttack"
|
|
117
|
+
| "TorpTorpMain"
|
|
118
|
+
| "TorpTorpTorp"
|
|
119
|
+
| "MainMainSec"
|
|
120
|
+
| "MainMainMain"
|
|
121
|
+
| "SubTorpTorp"
|
|
122
|
+
| "SubRadarTorp"
|
|
123
|
+
| "Cvci1_25"
|
|
124
|
+
| "Cvci1_20"
|
|
125
|
+
| "Cvci1_18"
|
|
126
|
+
| "Photobomber";
|
|
127
|
+
|
|
128
|
+
export type FleetCutin =
|
|
129
|
+
| "NelsonTouch"
|
|
130
|
+
| "NagatoClassCutin"
|
|
131
|
+
| "ColoradoClassCutin"
|
|
132
|
+
| "KongouClassCutin"
|
|
133
|
+
| "Yamato2ShipCutin"
|
|
134
|
+
| "Yamato3ShipCutin";
|
|
135
|
+
|
|
136
|
+
export type DayCutinLike = DayCutin | FleetCutin;
|
|
137
|
+
|
|
138
|
+
export type NightCutinLike = NightCutin | FleetCutin;
|
|
139
|
+
|
|
202
140
|
export type GearType =
|
|
203
141
|
| "Unknown"
|
|
204
142
|
| "SmallMainGun"
|
|
@@ -277,93 +215,106 @@ export type GearCategory =
|
|
|
277
215
|
| "LandBased"
|
|
278
216
|
| "Misc";
|
|
279
217
|
|
|
280
|
-
export
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
| "MainMain"
|
|
286
|
-
| "MainAp"
|
|
287
|
-
| "MainRadar"
|
|
288
|
-
| "MainSec"
|
|
289
|
-
| "DoubleAttack"
|
|
290
|
-
| "FBA"
|
|
291
|
-
| "BBA"
|
|
292
|
-
| "BA";
|
|
218
|
+
export interface HitRate {
|
|
219
|
+
normal: number;
|
|
220
|
+
critical: number;
|
|
221
|
+
total: number;
|
|
222
|
+
}
|
|
293
223
|
|
|
294
|
-
export
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
| "NightZuiun"
|
|
303
|
-
| "DoubleAttack"
|
|
304
|
-
| "TorpTorpMain"
|
|
305
|
-
| "TorpTorpTorp"
|
|
306
|
-
| "MainMainSec"
|
|
307
|
-
| "MainMainMain"
|
|
308
|
-
| "SubTorpTorp"
|
|
309
|
-
| "SubRadarTorp"
|
|
310
|
-
| "Cvci1_25"
|
|
311
|
-
| "Cvci1_20"
|
|
312
|
-
| "Cvci1_18"
|
|
313
|
-
| "Photobomber";
|
|
224
|
+
export interface HitRateParams {
|
|
225
|
+
accuracy_term: number;
|
|
226
|
+
evasion_term: number;
|
|
227
|
+
target_morale_mod: number;
|
|
228
|
+
critical_rate_constant: number;
|
|
229
|
+
critical_percentage_bonus: number;
|
|
230
|
+
hit_percentage_bonus: number;
|
|
231
|
+
}
|
|
314
232
|
|
|
315
|
-
export
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
233
|
+
export interface AttackPower {
|
|
234
|
+
precap: number;
|
|
235
|
+
is_capped: boolean;
|
|
236
|
+
capped: number;
|
|
237
|
+
normal: number;
|
|
238
|
+
critical: number;
|
|
239
|
+
armor_penetration: number;
|
|
240
|
+
remaining_ammo_mod: number;
|
|
241
|
+
}
|
|
322
242
|
|
|
323
|
-
export
|
|
243
|
+
export interface AttackPowerParams {
|
|
244
|
+
is_cutin: boolean;
|
|
245
|
+
basic: number;
|
|
246
|
+
cap: number;
|
|
247
|
+
precap_mod: AttackPowerModifier;
|
|
248
|
+
postcap_mod: AttackPowerModifier;
|
|
249
|
+
ap_shell_mod: number | null;
|
|
250
|
+
aerial_power: number | null;
|
|
251
|
+
proficiency_critical_mod: number;
|
|
252
|
+
armor_penetration: number;
|
|
253
|
+
remaining_ammo_mod: number;
|
|
254
|
+
balloon_mod: number;
|
|
255
|
+
special_enemy_mods: SpecialEnemyModifiers;
|
|
256
|
+
historical_mod: AttackPowerModifier;
|
|
257
|
+
custom_mods: CustomPowerModifiers;
|
|
258
|
+
}
|
|
324
259
|
|
|
325
|
-
export
|
|
260
|
+
export interface ActionReport<T> {
|
|
261
|
+
data: Record<string, AttackReport<T>>;
|
|
262
|
+
damage_state_density: Histogram<DamageState, number> | null;
|
|
263
|
+
is_active: boolean;
|
|
264
|
+
}
|
|
326
265
|
|
|
327
|
-
export type
|
|
266
|
+
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
328
267
|
|
|
329
|
-
export type
|
|
268
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
330
269
|
|
|
331
|
-
export
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
270
|
+
export type SlotSizeVec = (number | null)[];
|
|
271
|
+
|
|
272
|
+
export interface AttackReport<T> {
|
|
273
|
+
style: T;
|
|
274
|
+
proc_rate: number | null;
|
|
275
|
+
attack_power: AttackPower | null;
|
|
276
|
+
attack_power_params: AttackPowerParams | null;
|
|
277
|
+
hits: number;
|
|
278
|
+
hit_rate: HitRate | null;
|
|
279
|
+
hit_rate_params: HitRateParams | null;
|
|
280
|
+
damage: DamageReport | null;
|
|
338
281
|
}
|
|
339
282
|
|
|
340
|
-
export type
|
|
283
|
+
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
341
284
|
|
|
342
|
-
export type
|
|
343
|
-
| "
|
|
344
|
-
| "
|
|
345
|
-
| "
|
|
346
|
-
| "
|
|
347
|
-
| "
|
|
348
|
-
| "NewSupplyDepot"
|
|
349
|
-
| "HarbourSummerPrincess"
|
|
350
|
-
| "PtImp"
|
|
351
|
-
| "BattleshipSummerPrincess"
|
|
352
|
-
| "HeavyCruiserSummerPrincess"
|
|
353
|
-
| "FrenchBattleshipPrincess"
|
|
354
|
-
| "AnchorageWaterDemonVacationMode"
|
|
355
|
-
| "DockPrincess"
|
|
356
|
-
| "SummerAircraftCarrierDemon";
|
|
285
|
+
export type AirState =
|
|
286
|
+
| "AirSupremacy"
|
|
287
|
+
| "AirSuperiority"
|
|
288
|
+
| "AirParity"
|
|
289
|
+
| "AirDenial"
|
|
290
|
+
| "AirIncapability";
|
|
357
291
|
|
|
358
|
-
export type
|
|
292
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
359
293
|
|
|
360
|
-
export interface
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
294
|
+
export interface BattleConditions {
|
|
295
|
+
org_type: OrgType;
|
|
296
|
+
role: Role;
|
|
297
|
+
ship_index: number;
|
|
298
|
+
fleet_len: number;
|
|
299
|
+
formation: Formation;
|
|
300
|
+
fleet_los_mod: number | null;
|
|
301
|
+
night_conditions: NightFleetConditions;
|
|
365
302
|
}
|
|
366
303
|
|
|
304
|
+
export interface NightConditions {
|
|
305
|
+
player?: NightFleetConditions;
|
|
306
|
+
enemy?: NightFleetConditions;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
export interface NightFleetConditions {
|
|
310
|
+
night_contact_rank?: ContactRank | null;
|
|
311
|
+
starshell_index?: number | null;
|
|
312
|
+
searchlight_index?: number | null;
|
|
313
|
+
activates_large_searchlight?: boolean;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
317
|
+
|
|
367
318
|
export interface FleetState {
|
|
368
319
|
id?: string;
|
|
369
320
|
len?: number;
|
|
@@ -376,96 +327,172 @@ export interface FleetState {
|
|
|
376
327
|
s7?: ShipState;
|
|
377
328
|
}
|
|
378
329
|
|
|
379
|
-
export interface
|
|
380
|
-
|
|
381
|
-
|
|
330
|
+
export interface GearState {
|
|
331
|
+
id?: string;
|
|
332
|
+
gear_id: number;
|
|
333
|
+
exp?: number;
|
|
334
|
+
stars?: number;
|
|
382
335
|
}
|
|
383
336
|
|
|
384
|
-
export interface
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
337
|
+
export interface GearVecState {
|
|
338
|
+
g1?: GearState;
|
|
339
|
+
g2?: GearState;
|
|
340
|
+
g3?: GearState;
|
|
341
|
+
g4?: GearState;
|
|
342
|
+
g5?: GearState;
|
|
343
|
+
gx?: GearState;
|
|
389
344
|
}
|
|
390
345
|
|
|
391
|
-
export
|
|
392
|
-
normal: number;
|
|
393
|
-
critical: number;
|
|
394
|
-
total: number;
|
|
395
|
-
}
|
|
346
|
+
export type NodeId = string;
|
|
396
347
|
|
|
397
|
-
export interface
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
348
|
+
export interface NodeState {
|
|
349
|
+
map?: number;
|
|
350
|
+
node?: NodeId;
|
|
351
|
+
phase?: number;
|
|
352
|
+
debuff?: boolean;
|
|
353
|
+
disable_historical_mod?: boolean;
|
|
354
|
+
landing_battle?: boolean;
|
|
404
355
|
}
|
|
405
356
|
|
|
406
|
-
export
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
357
|
+
export type OrgType =
|
|
358
|
+
| "Single"
|
|
359
|
+
| "CarrierTaskForce"
|
|
360
|
+
| "SurfaceTaskForce"
|
|
361
|
+
| "TransportEscort"
|
|
362
|
+
| "EnemySingle"
|
|
363
|
+
| "EnemyCombined";
|
|
364
|
+
|
|
365
|
+
export interface ShipPosition {
|
|
366
|
+
org_type?: OrgType;
|
|
367
|
+
fleet_type?: FleetType;
|
|
368
|
+
fleet_len?: number;
|
|
369
|
+
index?: number;
|
|
410
370
|
}
|
|
411
371
|
|
|
412
|
-
export interface
|
|
413
|
-
|
|
414
|
-
|
|
372
|
+
export interface SlotSizeVecState {
|
|
373
|
+
ss1?: number;
|
|
374
|
+
ss2?: number;
|
|
375
|
+
ss3?: number;
|
|
376
|
+
ss4?: number;
|
|
377
|
+
ss5?: number;
|
|
415
378
|
}
|
|
416
379
|
|
|
417
|
-
export interface
|
|
380
|
+
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
381
|
+
id?: string;
|
|
418
382
|
ship_id: number;
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
383
|
+
level?: number;
|
|
384
|
+
current_hp?: number;
|
|
385
|
+
morale?: number;
|
|
386
|
+
ammo?: number;
|
|
387
|
+
fuel?: number;
|
|
388
|
+
max_hp_mod?: number;
|
|
389
|
+
firepower_mod?: number;
|
|
390
|
+
torpedo_mod?: number;
|
|
391
|
+
armor_mod?: number;
|
|
392
|
+
anti_air_mod?: number;
|
|
393
|
+
evasion_mod?: number;
|
|
394
|
+
asw_mod?: number;
|
|
395
|
+
los_mod?: number;
|
|
396
|
+
luck_mod?: number;
|
|
397
|
+
day_gunfit_accuracy?: number;
|
|
398
|
+
night_gunfit_accuracy?: number;
|
|
399
|
+
custom_power_mods?: CustomPowerModifiers;
|
|
422
400
|
}
|
|
423
401
|
|
|
424
|
-
export
|
|
425
|
-
extends ActionReport<NightPhaseAttackStyle> {
|
|
426
|
-
cutin_term: number | null;
|
|
427
|
-
}
|
|
402
|
+
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
428
403
|
|
|
429
|
-
export interface
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
404
|
+
export interface MasterData extends MasterBattleDefinitions {
|
|
405
|
+
created_at: number;
|
|
406
|
+
gears: MasterGear[];
|
|
407
|
+
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
408
|
+
ships: MasterShip[];
|
|
409
|
+
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
410
|
+
ibonuses: MasterIBonuses;
|
|
411
|
+
equippability: MasterEquippability;
|
|
435
412
|
}
|
|
436
413
|
|
|
437
|
-
export interface
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
index: number;
|
|
441
|
-
rank3: DayCutinReport;
|
|
442
|
-
rank2: DayCutinReport;
|
|
414
|
+
export interface NationalityDef {
|
|
415
|
+
id: number;
|
|
416
|
+
ctypes: number[];
|
|
443
417
|
}
|
|
444
418
|
|
|
445
|
-
export interface
|
|
446
|
-
|
|
419
|
+
export interface MasterAttrRule<T> {
|
|
420
|
+
tag: T;
|
|
421
|
+
name: string;
|
|
422
|
+
expr: CompiledEvaler;
|
|
447
423
|
}
|
|
448
424
|
|
|
449
|
-
export interface
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
425
|
+
export interface MasterShip {
|
|
426
|
+
ship_id: number;
|
|
427
|
+
name: string;
|
|
428
|
+
yomi: string;
|
|
429
|
+
stype: number;
|
|
430
|
+
ctype: number;
|
|
431
|
+
nationality?: number;
|
|
432
|
+
sort_id?: number;
|
|
433
|
+
max_hp: StatInterval;
|
|
434
|
+
firepower: StatInterval;
|
|
435
|
+
armor: StatInterval;
|
|
436
|
+
torpedo: StatInterval;
|
|
437
|
+
evasion: StatInterval;
|
|
438
|
+
anti_air: StatInterval;
|
|
439
|
+
asw: StatInterval;
|
|
440
|
+
los: StatInterval;
|
|
441
|
+
luck: StatInterval;
|
|
442
|
+
torpedo_accuracy?: number;
|
|
443
|
+
basic_evasion_term?: number;
|
|
444
|
+
speed: number;
|
|
445
|
+
range?: number;
|
|
446
|
+
fuel?: number;
|
|
447
|
+
ammo?: number;
|
|
448
|
+
next_id?: number;
|
|
449
|
+
next_level?: number;
|
|
450
|
+
slotnum: number;
|
|
451
|
+
slots: SlotSizeVec;
|
|
452
|
+
stock: GearState[];
|
|
453
|
+
speed_group?: SpeedGroup;
|
|
454
|
+
useful?: boolean;
|
|
453
455
|
}
|
|
454
456
|
|
|
455
|
-
export
|
|
456
|
-
id: string;
|
|
457
|
-
ship_id: number;
|
|
458
|
-
}
|
|
457
|
+
export type StatInterval = [number | null, number | null];
|
|
459
458
|
|
|
460
|
-
export interface
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
459
|
+
export interface AttackAnalyzerShipConfig
|
|
460
|
+
extends ShipConditions,
|
|
461
|
+
NightFleetConditions {
|
|
462
|
+
balloons?: number;
|
|
463
|
+
fleet_los_mod?: number | null;
|
|
464
464
|
}
|
|
465
465
|
|
|
466
|
-
export
|
|
467
|
-
|
|
468
|
-
|
|
466
|
+
export type GearAttr =
|
|
467
|
+
| "Unknown"
|
|
468
|
+
| "HighAngleMount"
|
|
469
|
+
| "NightFighter"
|
|
470
|
+
| "NightAttacker"
|
|
471
|
+
| "HeavyBomber"
|
|
472
|
+
| "NightRecon"
|
|
473
|
+
| "MainGun"
|
|
474
|
+
| "Radar"
|
|
475
|
+
| "SurfaceRadar"
|
|
476
|
+
| "AirRadar"
|
|
477
|
+
| "DepthChargeProjector"
|
|
478
|
+
| "SynergisticDepthCharge"
|
|
479
|
+
| "AntiSubMortar"
|
|
480
|
+
| "AntiSubWeapon"
|
|
481
|
+
| "ApDepthCharge"
|
|
482
|
+
| "AntiSubAircraft"
|
|
483
|
+
| "LateModelBowTorpedo"
|
|
484
|
+
| "Seaplane"
|
|
485
|
+
| "CbAircraft"
|
|
486
|
+
| "LbAircraft"
|
|
487
|
+
| "JetAircraft"
|
|
488
|
+
| "Fighter"
|
|
489
|
+
| "Recon"
|
|
490
|
+
| "ObservationSeaplane"
|
|
491
|
+
| "CbFighterBomber"
|
|
492
|
+
| "AntiInstDiveBomber"
|
|
493
|
+
| "CbSwordfish"
|
|
494
|
+
| "SemiNightPlane"
|
|
495
|
+
| "HighAltitudeInterceptor";
|
|
469
496
|
|
|
470
497
|
export interface MoveShipPayload {
|
|
471
498
|
current: [string, string, ShipKey];
|
|
@@ -512,57 +539,6 @@ export interface EBonuses {
|
|
|
512
539
|
range: number;
|
|
513
540
|
}
|
|
514
541
|
|
|
515
|
-
export interface MasterIBonuses {
|
|
516
|
-
shelling_power: MasterIBonusRule[];
|
|
517
|
-
shelling_accuracy: MasterIBonusRule[];
|
|
518
|
-
shelling_aerial_power: MasterIBonusRule[];
|
|
519
|
-
torpedo_power: MasterIBonusRule[];
|
|
520
|
-
torpedo_accuracy: MasterIBonusRule[];
|
|
521
|
-
torpedo_evasion: MasterIBonusRule[];
|
|
522
|
-
asw_power: MasterIBonusRule[];
|
|
523
|
-
asw_accuracy: MasterIBonusRule[];
|
|
524
|
-
night_power: MasterIBonusRule[];
|
|
525
|
-
night_aerial_power: MasterIBonusRule[];
|
|
526
|
-
night_accuracy: MasterIBonusRule[];
|
|
527
|
-
defense_power: MasterIBonusRule[];
|
|
528
|
-
contact_selection: MasterIBonusRule[];
|
|
529
|
-
fighter_power: MasterIBonusRule[];
|
|
530
|
-
ship_anti_air: MasterIBonusRule[];
|
|
531
|
-
fleet_anti_air: MasterIBonusRule[];
|
|
532
|
-
elos: MasterIBonusRule[];
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
export interface MasterIBonusRule {
|
|
536
|
-
expr: CompiledEvaler;
|
|
537
|
-
formula: CompiledEvaler;
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
export interface MasterGear {
|
|
541
|
-
gear_id: number;
|
|
542
|
-
name: string;
|
|
543
|
-
types: GearTypeIdArray;
|
|
544
|
-
special_type?: number;
|
|
545
|
-
max_hp?: number;
|
|
546
|
-
firepower?: number;
|
|
547
|
-
armor?: number;
|
|
548
|
-
torpedo?: number;
|
|
549
|
-
anti_air?: number;
|
|
550
|
-
speed?: number;
|
|
551
|
-
bombing?: number;
|
|
552
|
-
asw?: number;
|
|
553
|
-
los?: number;
|
|
554
|
-
luck?: number;
|
|
555
|
-
accuracy?: number;
|
|
556
|
-
evasion?: number;
|
|
557
|
-
range?: number;
|
|
558
|
-
radius?: number;
|
|
559
|
-
cost?: number;
|
|
560
|
-
improvable?: boolean;
|
|
561
|
-
ship_anti_air_resist?: number;
|
|
562
|
-
fleet_anti_air_resist?: number;
|
|
563
|
-
historical_aircraft_group?: number;
|
|
564
|
-
}
|
|
565
|
-
|
|
566
542
|
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
567
543
|
formation?: Formation;
|
|
568
544
|
}
|
|
@@ -582,168 +558,64 @@ export interface NodeAttackAnalysis {
|
|
|
582
558
|
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
583
559
|
}
|
|
584
560
|
|
|
585
|
-
export interface
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
ship_anti_air_resist: number;
|
|
590
|
-
fleet_anti_air_resist: number;
|
|
591
|
-
left_night_fleet_conditions: NightFleetConditions;
|
|
592
|
-
right_night_fleet_conditions: NightFleetConditions;
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
export interface CompNightAnalysis {
|
|
596
|
-
night_cutin: CompNightCutinAnalysis;
|
|
597
|
-
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
561
|
+
export interface NightContactChance {
|
|
562
|
+
rank1: number;
|
|
563
|
+
rank2: number;
|
|
564
|
+
rank3: number;
|
|
598
565
|
}
|
|
599
566
|
|
|
600
|
-
export interface
|
|
601
|
-
|
|
602
|
-
|
|
567
|
+
export interface CompNightCutinAnalysis {
|
|
568
|
+
night_contact_chance: NightContactChance;
|
|
569
|
+
ships: ShipNightCutinAnalysis[];
|
|
603
570
|
}
|
|
604
571
|
|
|
605
|
-
export interface
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
572
|
+
export interface ShipNightCutinAnalysis {
|
|
573
|
+
ship_id: number;
|
|
574
|
+
index: number;
|
|
575
|
+
normal: NightCutinActionReport;
|
|
576
|
+
chuuha: NightCutinActionReport;
|
|
610
577
|
}
|
|
611
578
|
|
|
612
|
-
export interface
|
|
613
|
-
extends
|
|
614
|
-
|
|
615
|
-
balloons?: number;
|
|
616
|
-
fleet_los_mod?: number | null;
|
|
579
|
+
export interface NightCutinActionReport
|
|
580
|
+
extends ActionReport<NightPhaseAttackStyle> {
|
|
581
|
+
cutin_term: number | null;
|
|
617
582
|
}
|
|
618
583
|
|
|
619
|
-
export interface
|
|
620
|
-
|
|
621
|
-
|
|
584
|
+
export interface AttackAnalysis {
|
|
585
|
+
attacker_is_player: boolean;
|
|
586
|
+
attacker_ship_id: number;
|
|
587
|
+
target_ship_id: number;
|
|
588
|
+
historical_params: HistoricalParams;
|
|
589
|
+
day: ActionReport<DayPhaseAttackStyle>;
|
|
590
|
+
night: ActionReport<NightPhaseAttackStyle>;
|
|
591
|
+
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
592
|
+
opening_asw: ActionReport<AswAttackStyle>;
|
|
593
|
+
support_shelling: ActionReport<SupportShellingStyle>;
|
|
622
594
|
}
|
|
623
595
|
|
|
624
|
-
export
|
|
625
|
-
precap_general_mod: AttackPowerModifier;
|
|
626
|
-
stype_mod: AttackPowerModifier;
|
|
627
|
-
landing_craft_synergy_mod: AttackPowerModifier;
|
|
628
|
-
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
629
|
-
m4a1dd_mod: AttackPowerModifier;
|
|
630
|
-
honi_mod: AttackPowerModifier;
|
|
631
|
-
toku_daihatsu_chiha_mod: AttackPowerModifier;
|
|
632
|
-
toku_daihatsu_chiha_kai_mod: AttackPowerModifier;
|
|
633
|
-
t4_tank_group_mod: AttackPowerModifier;
|
|
634
|
-
t4_tank_kai_mod: AttackPowerModifier;
|
|
635
|
-
postcap_general_mod: AttackPowerModifier;
|
|
636
|
-
pt_mod: AttackPowerModifier | null;
|
|
637
|
-
}
|
|
596
|
+
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
638
597
|
|
|
639
|
-
export
|
|
640
|
-
precap_mod?: AttackPowerModifier;
|
|
641
|
-
postcap_mod?: AttackPowerModifier;
|
|
642
|
-
basic_power_mod?: AttackPowerModifier;
|
|
643
|
-
historical_mod?: AttackPowerModifier;
|
|
644
|
-
}
|
|
598
|
+
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
645
599
|
|
|
646
|
-
export interface
|
|
600
|
+
export interface OrgState {
|
|
647
601
|
id?: string;
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
}
|
|
661
|
-
|
|
662
|
-
export interface ShipConditions extends ShipPosition {
|
|
663
|
-
formation?: Formation;
|
|
664
|
-
amagiri_index?: number | null;
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
export interface MasterData extends MasterBattleDefinitions {
|
|
668
|
-
created_at: number;
|
|
669
|
-
gears: MasterGear[];
|
|
670
|
-
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
671
|
-
ships: MasterShip[];
|
|
672
|
-
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
673
|
-
ibonuses: MasterIBonuses;
|
|
674
|
-
equippability: MasterEquippability;
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
export interface NationalityDef {
|
|
678
|
-
id: number;
|
|
679
|
-
ctypes: number[];
|
|
680
|
-
}
|
|
681
|
-
|
|
682
|
-
export interface MasterAttrRule<T> {
|
|
683
|
-
tag: T;
|
|
684
|
-
name: string;
|
|
685
|
-
expr: CompiledEvaler;
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
export interface ShipAnalyzerConfig {
|
|
689
|
-
air_state?: AirState;
|
|
690
|
-
engagement?: Engagement;
|
|
691
|
-
left?: AttackAnalyzerShipConfig;
|
|
692
|
-
right?: AttackAnalyzerShipConfig;
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
export interface BattleConditions {
|
|
696
|
-
org_type: OrgType;
|
|
697
|
-
role: Role;
|
|
698
|
-
ship_index: number;
|
|
699
|
-
fleet_len: number;
|
|
700
|
-
formation: Formation;
|
|
701
|
-
fleet_los_mod: number | null;
|
|
702
|
-
night_conditions: NightFleetConditions;
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
export interface NightConditions {
|
|
706
|
-
player?: NightFleetConditions;
|
|
707
|
-
enemy?: NightFleetConditions;
|
|
602
|
+
f1?: FleetState;
|
|
603
|
+
f2?: FleetState;
|
|
604
|
+
f3?: FleetState;
|
|
605
|
+
f4?: FleetState;
|
|
606
|
+
a1?: AirSquadronState;
|
|
607
|
+
a2?: AirSquadronState;
|
|
608
|
+
a3?: AirSquadronState;
|
|
609
|
+
hq_level?: number;
|
|
610
|
+
org_type?: OrgType;
|
|
611
|
+
sortie?: FleetKey;
|
|
612
|
+
route_sup?: FleetKey;
|
|
613
|
+
boss_sup?: FleetKey;
|
|
708
614
|
}
|
|
709
615
|
|
|
710
|
-
export
|
|
711
|
-
night_contact_rank?: ContactRank | null;
|
|
712
|
-
starshell_index?: number | null;
|
|
713
|
-
searchlight_index?: number | null;
|
|
714
|
-
activates_large_searchlight?: boolean;
|
|
715
|
-
}
|
|
616
|
+
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
716
617
|
|
|
717
|
-
export type
|
|
718
|
-
| "Unknown"
|
|
719
|
-
| "HighAngleMount"
|
|
720
|
-
| "NightFighter"
|
|
721
|
-
| "NightAttacker"
|
|
722
|
-
| "HeavyBomber"
|
|
723
|
-
| "NightRecon"
|
|
724
|
-
| "MainGun"
|
|
725
|
-
| "Radar"
|
|
726
|
-
| "SurfaceRadar"
|
|
727
|
-
| "AirRadar"
|
|
728
|
-
| "DepthChargeProjector"
|
|
729
|
-
| "SynergisticDepthCharge"
|
|
730
|
-
| "AntiSubMortar"
|
|
731
|
-
| "AntiSubWeapon"
|
|
732
|
-
| "ApDepthCharge"
|
|
733
|
-
| "AntiSubAircraft"
|
|
734
|
-
| "LateModelBowTorpedo"
|
|
735
|
-
| "Seaplane"
|
|
736
|
-
| "CbAircraft"
|
|
737
|
-
| "LbAircraft"
|
|
738
|
-
| "JetAircraft"
|
|
739
|
-
| "Fighter"
|
|
740
|
-
| "Recon"
|
|
741
|
-
| "ObservationSeaplane"
|
|
742
|
-
| "CbFighterBomber"
|
|
743
|
-
| "AntiInstDiveBomber"
|
|
744
|
-
| "CbSwordfish"
|
|
745
|
-
| "SemiNightPlane"
|
|
746
|
-
| "HighAltitudeInterceptor";
|
|
618
|
+
export type Role = "Main" | "Escort";
|
|
747
619
|
|
|
748
620
|
export type ShipAttr =
|
|
749
621
|
| "Unknown"
|
|
@@ -766,7 +638,100 @@ export type ShipAttr =
|
|
|
766
638
|
| "DockPrincess"
|
|
767
639
|
| "SummerAircraftCarrierDemon";
|
|
768
640
|
|
|
769
|
-
export
|
|
641
|
+
export interface ShipConditions extends ShipPosition {
|
|
642
|
+
formation?: Formation;
|
|
643
|
+
amagiri_index?: number | null;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
export type ShipCategory =
|
|
647
|
+
| "Battleship"
|
|
648
|
+
| "AircraftCarrier"
|
|
649
|
+
| "HeavyCruiser"
|
|
650
|
+
| "LightCruiser"
|
|
651
|
+
| "Destroyer"
|
|
652
|
+
| "CoastalDefenseShip"
|
|
653
|
+
| "Submarine"
|
|
654
|
+
| "AuxiliaryShip";
|
|
655
|
+
|
|
656
|
+
export type ShipType =
|
|
657
|
+
| "Unknown"
|
|
658
|
+
| "DE"
|
|
659
|
+
| "DD"
|
|
660
|
+
| "CL"
|
|
661
|
+
| "CLT"
|
|
662
|
+
| "CA"
|
|
663
|
+
| "CAV"
|
|
664
|
+
| "CVL"
|
|
665
|
+
| "FBB"
|
|
666
|
+
| "BB"
|
|
667
|
+
| "BBV"
|
|
668
|
+
| "CV"
|
|
669
|
+
| "XBB"
|
|
670
|
+
| "SS"
|
|
671
|
+
| "SSV"
|
|
672
|
+
| "AP"
|
|
673
|
+
| "AV"
|
|
674
|
+
| "LHA"
|
|
675
|
+
| "CVB"
|
|
676
|
+
| "AR"
|
|
677
|
+
| "AS"
|
|
678
|
+
| "CT"
|
|
679
|
+
| "AO";
|
|
680
|
+
|
|
681
|
+
export type Side = "Player" | "Enemy";
|
|
682
|
+
|
|
683
|
+
export type Align = "Left" | "Right";
|
|
684
|
+
|
|
685
|
+
export type SpecialEnemyType =
|
|
686
|
+
| "None"
|
|
687
|
+
| "SoftSkinned"
|
|
688
|
+
| "Pillbox"
|
|
689
|
+
| "IsolatedIsland"
|
|
690
|
+
| "SupplyDepot"
|
|
691
|
+
| "NewSupplyDepot"
|
|
692
|
+
| "HarbourSummerPrincess"
|
|
693
|
+
| "PtImp"
|
|
694
|
+
| "BattleshipSummerPrincess"
|
|
695
|
+
| "HeavyCruiserSummerPrincess"
|
|
696
|
+
| "FrenchBattleshipPrincess"
|
|
697
|
+
| "AnchorageWaterDemonVacationMode"
|
|
698
|
+
| "DockPrincess"
|
|
699
|
+
| "SummerAircraftCarrierDemon";
|
|
700
|
+
|
|
701
|
+
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
702
|
+
|
|
703
|
+
export interface SimulatorResult {
|
|
704
|
+
items: SimulatorResultItem[];
|
|
705
|
+
sunk_vec: [number, number, number][];
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
export interface SimulatorResultItem {
|
|
709
|
+
id: string;
|
|
710
|
+
fleet_type: FleetType;
|
|
711
|
+
index: number;
|
|
712
|
+
damage_state_map: Record<DamageState, number>;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
export interface MasterBattleDefinitions {
|
|
716
|
+
formation: NestedFormationDef[];
|
|
717
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
718
|
+
day_cutin: DayCutinDef[];
|
|
719
|
+
night_cutin: NightCutinDef[];
|
|
720
|
+
historical_bonuses?: HistoricalBonusDef[];
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
export interface DamageReport {
|
|
724
|
+
miss_damage_min: number;
|
|
725
|
+
miss_damage_max: number;
|
|
726
|
+
normal_damage_min: number;
|
|
727
|
+
normal_damage_max: number;
|
|
728
|
+
critical_damage_min: number;
|
|
729
|
+
critical_damage_max: number;
|
|
730
|
+
normal_scratch_rate: number;
|
|
731
|
+
critical_scratch_rate: number;
|
|
732
|
+
damage_density: Histogram<number, number>;
|
|
733
|
+
damage_state_density: Histogram<DamageState, number>;
|
|
734
|
+
}
|
|
770
735
|
|
|
771
736
|
export interface ContactAnalysis {
|
|
772
737
|
single: DayContactChance[] | null;
|
|
@@ -782,95 +747,72 @@ export interface DayContactChance {
|
|
|
782
747
|
total: number;
|
|
783
748
|
}
|
|
784
749
|
|
|
785
|
-
export
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
id?: string;
|
|
789
|
-
mode?: AirSquadronMode;
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
export interface ShellingStyle {
|
|
793
|
-
tag: "ShellingStyle";
|
|
794
|
-
attack_type: ShellingType;
|
|
795
|
-
cutin: DayCutinLike | null;
|
|
796
|
-
power_mod: number;
|
|
797
|
-
accuracy_mod: number;
|
|
798
|
-
hits: number;
|
|
799
|
-
}
|
|
800
|
-
|
|
801
|
-
export interface NightAttackStyle {
|
|
802
|
-
tag: "NightAttackStyle";
|
|
803
|
-
attack_type: NightAttackType;
|
|
804
|
-
cutin: NightCutinLike | null;
|
|
805
|
-
power_mod: number;
|
|
806
|
-
accuracy_mod: number;
|
|
807
|
-
hits: number;
|
|
750
|
+
export interface AttackPowerModifier {
|
|
751
|
+
a?: number;
|
|
752
|
+
b?: number;
|
|
808
753
|
}
|
|
809
754
|
|
|
810
|
-
export interface
|
|
811
|
-
|
|
812
|
-
|
|
755
|
+
export interface SpecialEnemyModifiers {
|
|
756
|
+
precap_general_mod: AttackPowerModifier;
|
|
757
|
+
stype_mod: AttackPowerModifier;
|
|
758
|
+
landing_craft_synergy_mod: AttackPowerModifier;
|
|
759
|
+
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
760
|
+
m4a1dd_mod: AttackPowerModifier;
|
|
761
|
+
honi_mod: AttackPowerModifier;
|
|
762
|
+
toku_daihatsu_chiha_mod: AttackPowerModifier;
|
|
763
|
+
toku_daihatsu_chiha_kai_mod: AttackPowerModifier;
|
|
764
|
+
t4_tank_group_mod: AttackPowerModifier;
|
|
765
|
+
t4_tank_kai_mod: AttackPowerModifier;
|
|
766
|
+
postcap_general_mod: AttackPowerModifier;
|
|
767
|
+
pt_mod: AttackPowerModifier | null;
|
|
813
768
|
}
|
|
814
769
|
|
|
815
|
-
export interface
|
|
816
|
-
|
|
817
|
-
|
|
770
|
+
export interface CustomPowerModifiers {
|
|
771
|
+
precap_mod?: AttackPowerModifier;
|
|
772
|
+
postcap_mod?: AttackPowerModifier;
|
|
773
|
+
basic_power_mod?: AttackPowerModifier;
|
|
774
|
+
historical_mod?: AttackPowerModifier;
|
|
818
775
|
}
|
|
819
776
|
|
|
820
|
-
export
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
export interface SupportShellingStyle {
|
|
825
|
-
tag: "SupportShellingStyle";
|
|
826
|
-
attack_type: SupportShellingType;
|
|
777
|
+
export interface ShipMeta {
|
|
778
|
+
id: string;
|
|
779
|
+
ship_id: number;
|
|
827
780
|
}
|
|
828
781
|
|
|
829
|
-
export interface
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
ss4?: number;
|
|
834
|
-
ss5?: number;
|
|
782
|
+
export interface FleetMeta {
|
|
783
|
+
id: string;
|
|
784
|
+
len: number;
|
|
785
|
+
ships: [string, ShipMeta | null][];
|
|
835
786
|
}
|
|
836
787
|
|
|
837
|
-
export interface
|
|
838
|
-
|
|
839
|
-
ship_id: number;
|
|
840
|
-
level?: number;
|
|
841
|
-
current_hp?: number;
|
|
842
|
-
morale?: number;
|
|
843
|
-
ammo?: number;
|
|
844
|
-
fuel?: number;
|
|
845
|
-
max_hp_mod?: number;
|
|
846
|
-
firepower_mod?: number;
|
|
847
|
-
torpedo_mod?: number;
|
|
848
|
-
armor_mod?: number;
|
|
849
|
-
anti_air_mod?: number;
|
|
850
|
-
evasion_mod?: number;
|
|
851
|
-
asw_mod?: number;
|
|
852
|
-
los_mod?: number;
|
|
853
|
-
luck_mod?: number;
|
|
854
|
-
day_gunfit_accuracy?: number;
|
|
855
|
-
night_gunfit_accuracy?: number;
|
|
856
|
-
custom_power_mods?: CustomPowerModifiers;
|
|
788
|
+
export interface CompMeta {
|
|
789
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
857
790
|
}
|
|
858
791
|
|
|
859
|
-
export
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
792
|
+
export interface MasterIBonuses {
|
|
793
|
+
shelling_power: MasterIBonusRule[];
|
|
794
|
+
shelling_accuracy: MasterIBonusRule[];
|
|
795
|
+
shelling_aerial_power: MasterIBonusRule[];
|
|
796
|
+
torpedo_power: MasterIBonusRule[];
|
|
797
|
+
torpedo_accuracy: MasterIBonusRule[];
|
|
798
|
+
torpedo_evasion: MasterIBonusRule[];
|
|
799
|
+
asw_power: MasterIBonusRule[];
|
|
800
|
+
asw_accuracy: MasterIBonusRule[];
|
|
801
|
+
night_power: MasterIBonusRule[];
|
|
802
|
+
night_aerial_power: MasterIBonusRule[];
|
|
803
|
+
night_accuracy: MasterIBonusRule[];
|
|
804
|
+
defense_power: MasterIBonusRule[];
|
|
805
|
+
contact_selection: MasterIBonusRule[];
|
|
806
|
+
fighter_power: MasterIBonusRule[];
|
|
807
|
+
ship_anti_air: MasterIBonusRule[];
|
|
808
|
+
fleet_anti_air: MasterIBonusRule[];
|
|
809
|
+
elos: MasterIBonusRule[];
|
|
871
810
|
}
|
|
872
811
|
|
|
873
|
-
export
|
|
812
|
+
export interface MasterIBonusRule {
|
|
813
|
+
expr: CompiledEvaler;
|
|
814
|
+
formula: CompiledEvaler;
|
|
815
|
+
}
|
|
874
816
|
|
|
875
817
|
export interface EquippabilityRule {
|
|
876
818
|
ship: CompiledEvaler;
|
|
@@ -903,6 +845,53 @@ export interface EquipStype {
|
|
|
903
845
|
equip_type: number[];
|
|
904
846
|
}
|
|
905
847
|
|
|
848
|
+
export interface CompDayCutinAnalysis {
|
|
849
|
+
rank3_air_state: AirState;
|
|
850
|
+
rank2_air_state: AirState;
|
|
851
|
+
main_fleet_los_mod: number | null;
|
|
852
|
+
escort_fleet_los_mod: number | null;
|
|
853
|
+
ships: ShipDayCutinAnalysis[];
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
export interface ShipDayCutinAnalysis {
|
|
857
|
+
ship_id: number;
|
|
858
|
+
role: Role;
|
|
859
|
+
index: number;
|
|
860
|
+
rank3: DayCutinReport;
|
|
861
|
+
rank2: DayCutinReport;
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
865
|
+
observation_term: number | null;
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
export interface CompAnalyzerConfig {
|
|
869
|
+
engagement: Engagement;
|
|
870
|
+
formation: Formation;
|
|
871
|
+
anti_air_cutin: number | null;
|
|
872
|
+
ship_anti_air_resist: number;
|
|
873
|
+
fleet_anti_air_resist: number;
|
|
874
|
+
left_night_fleet_conditions: NightFleetConditions;
|
|
875
|
+
right_night_fleet_conditions: NightFleetConditions;
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
export interface CompNightAnalysis {
|
|
879
|
+
night_cutin: CompNightCutinAnalysis;
|
|
880
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
export interface CompDayAnalysis {
|
|
884
|
+
day_cutin: CompDayCutinAnalysis;
|
|
885
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
export interface CompAnalysis {
|
|
889
|
+
day: CompDayAnalysis;
|
|
890
|
+
night: CompNightAnalysis;
|
|
891
|
+
contact: ContactAnalysis;
|
|
892
|
+
anti_air: CompAntiAirAnalysis;
|
|
893
|
+
}
|
|
894
|
+
|
|
906
895
|
export interface CompAntiAirAnalysis {
|
|
907
896
|
fleet_adjusted_anti_air: number;
|
|
908
897
|
ships: AntiAirReport[];
|
|
@@ -921,14 +910,42 @@ export interface AntiAirReport {
|
|
|
921
910
|
anti_air_propellant_barrage_chance: number | null;
|
|
922
911
|
}
|
|
923
912
|
|
|
924
|
-
export
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
|
928
|
-
|
|
929
|
-
|
|
913
|
+
export interface ShellingStyle {
|
|
914
|
+
tag: "ShellingStyle";
|
|
915
|
+
attack_type: ShellingType;
|
|
916
|
+
cutin: DayCutinLike | null;
|
|
917
|
+
power_mod: number;
|
|
918
|
+
accuracy_mod: number;
|
|
919
|
+
hits: number;
|
|
920
|
+
}
|
|
930
921
|
|
|
931
|
-
export
|
|
922
|
+
export interface NightAttackStyle {
|
|
923
|
+
tag: "NightAttackStyle";
|
|
924
|
+
attack_type: NightAttackType;
|
|
925
|
+
cutin: NightCutinLike | null;
|
|
926
|
+
power_mod: number;
|
|
927
|
+
accuracy_mod: number;
|
|
928
|
+
hits: number;
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
export interface AswAttackStyle {
|
|
932
|
+
tag: "AswAttackStyle";
|
|
933
|
+
attack_type: AswAttackType;
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
export interface TorpedoAttackStyle {
|
|
937
|
+
tag: "TorpedoAttackStyle";
|
|
938
|
+
attack_type: TorpedoAttackType;
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
942
|
+
|
|
943
|
+
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
944
|
+
|
|
945
|
+
export interface SupportShellingStyle {
|
|
946
|
+
tag: "SupportShellingStyle";
|
|
947
|
+
attack_type: SupportShellingType;
|
|
948
|
+
}
|
|
932
949
|
|
|
933
950
|
export interface FormationCombatModifiersDef {
|
|
934
951
|
power_mod?: number;
|
|
@@ -1003,115 +1020,51 @@ export interface BattleDefinitions {
|
|
|
1003
1020
|
historical_bonuses: HistoricalBonusDef[];
|
|
1004
1021
|
}
|
|
1005
1022
|
|
|
1006
|
-
export type
|
|
1007
|
-
|
|
1008
|
-
export type SingleFormation =
|
|
1009
|
-
| "LineAhead"
|
|
1010
|
-
| "DoubleLine"
|
|
1011
|
-
| "Diamond"
|
|
1012
|
-
| "Echelon"
|
|
1013
|
-
| "LineAbreast"
|
|
1014
|
-
| "Vanguard";
|
|
1015
|
-
|
|
1016
|
-
export type CombinedFormation =
|
|
1017
|
-
| "Cruising1"
|
|
1018
|
-
| "Cruising2"
|
|
1019
|
-
| "Cruising3"
|
|
1020
|
-
| "Cruising4";
|
|
1023
|
+
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
1021
1024
|
|
|
1022
|
-
export type
|
|
1025
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
1023
1026
|
|
|
1024
|
-
export interface
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
f4?: FleetState;
|
|
1030
|
-
a1?: AirSquadronState;
|
|
1031
|
-
a2?: AirSquadronState;
|
|
1032
|
-
a3?: AirSquadronState;
|
|
1033
|
-
hq_level?: number;
|
|
1034
|
-
org_type?: OrgType;
|
|
1035
|
-
sortie?: FleetKey;
|
|
1036
|
-
route_sup?: FleetKey;
|
|
1037
|
-
boss_sup?: FleetKey;
|
|
1027
|
+
export interface SupportShellingSimulatorParams {
|
|
1028
|
+
attacker_formation?: Formation;
|
|
1029
|
+
target_formation?: Formation;
|
|
1030
|
+
engagement: Engagement;
|
|
1031
|
+
node_state: NodeState;
|
|
1038
1032
|
}
|
|
1039
1033
|
|
|
1040
|
-
export type
|
|
1041
|
-
|
|
1042
|
-
export type Side = "Player" | "Enemy";
|
|
1043
|
-
|
|
1044
|
-
export type Align = "Left" | "Right";
|
|
1034
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
1045
1035
|
|
|
1046
|
-
export
|
|
1036
|
+
export interface ShipAnalyzerConfig {
|
|
1037
|
+
air_state?: AirState;
|
|
1038
|
+
engagement?: Engagement;
|
|
1039
|
+
left?: AttackAnalyzerShipConfig;
|
|
1040
|
+
right?: AttackAnalyzerShipConfig;
|
|
1041
|
+
}
|
|
1047
1042
|
|
|
1048
|
-
/**
|
|
1049
|
-
*/
|
|
1050
1043
|
export class AirSquadron {
|
|
1044
|
+
private constructor();
|
|
1051
1045
|
free(): void;
|
|
1052
|
-
/**
|
|
1053
|
-
* @param {string} key
|
|
1054
|
-
* @returns {Gear | undefined}
|
|
1055
|
-
*/
|
|
1056
1046
|
get_gear(key: string): Gear | undefined;
|
|
1057
|
-
/**
|
|
1058
|
-
* @param {number} index
|
|
1059
|
-
* @returns {number}
|
|
1060
|
-
*/
|
|
1061
1047
|
get_slot_size(index: number): number;
|
|
1062
|
-
/**
|
|
1063
|
-
* @param {number} index
|
|
1064
|
-
* @returns {number}
|
|
1065
|
-
*/
|
|
1066
1048
|
get_max_slot_size(index: number): number;
|
|
1067
|
-
/**
|
|
1068
|
-
* @returns {number}
|
|
1069
|
-
*/
|
|
1070
1049
|
fighter_power(): number;
|
|
1071
|
-
/**
|
|
1072
|
-
* @returns {number}
|
|
1073
|
-
*/
|
|
1074
1050
|
interception_power(): number;
|
|
1075
1051
|
/**
|
|
1076
1052
|
* 行動半径
|
|
1077
|
-
* @returns {number}
|
|
1078
1053
|
*/
|
|
1079
1054
|
radius(): number;
|
|
1080
|
-
/**
|
|
1081
|
-
*/
|
|
1082
|
-
hash: bigint;
|
|
1083
|
-
/**
|
|
1084
|
-
*/
|
|
1085
1055
|
id: string;
|
|
1086
|
-
|
|
1087
|
-
*/
|
|
1056
|
+
hash: bigint;
|
|
1088
1057
|
mode: AirSquadronMode;
|
|
1089
1058
|
}
|
|
1090
|
-
/**
|
|
1091
|
-
*/
|
|
1092
1059
|
export class Analyzer {
|
|
1060
|
+
private constructor();
|
|
1093
1061
|
free(): void;
|
|
1094
|
-
/**
|
|
1095
|
-
* @param {ShipAnalyzerConfig} config
|
|
1096
|
-
* @param {Ship} left
|
|
1097
|
-
* @param {Ship} right
|
|
1098
|
-
* @param {boolean} attacker_is_left
|
|
1099
|
-
* @returns {AttackAnalysis}
|
|
1100
|
-
*/
|
|
1101
1062
|
analyze_ship_attack(
|
|
1102
1063
|
config: ShipAnalyzerConfig,
|
|
1103
1064
|
left: Ship,
|
|
1104
1065
|
right: Ship,
|
|
1105
1066
|
attacker_is_left: boolean,
|
|
1106
1067
|
): AttackAnalysis;
|
|
1107
|
-
/**
|
|
1108
|
-
* @param {NodeAttackAnalyzerConfig} config
|
|
1109
|
-
* @param {Comp} left_comp
|
|
1110
|
-
* @param {Ship} left_ship
|
|
1111
|
-
* @param {Comp} right_comp
|
|
1112
|
-
* @param {Ship} right_ship
|
|
1113
|
-
* @returns {NodeAttackAnalysis}
|
|
1114
|
-
*/
|
|
1115
1068
|
analyze_node_attack(
|
|
1116
1069
|
config: NodeAttackAnalyzerConfig,
|
|
1117
1070
|
left_comp: Comp,
|
|
@@ -1119,19 +1072,7 @@ export class Analyzer {
|
|
|
1119
1072
|
right_comp: Comp,
|
|
1120
1073
|
right_ship: Ship,
|
|
1121
1074
|
): NodeAttackAnalysis;
|
|
1122
|
-
/**
|
|
1123
|
-
* @param {Comp} comp
|
|
1124
|
-
* @param {CompAnalyzerConfig} config
|
|
1125
|
-
* @returns {CompAnalysis}
|
|
1126
|
-
*/
|
|
1127
1075
|
analyze_comp(comp: Comp, config: CompAnalyzerConfig): CompAnalysis;
|
|
1128
|
-
/**
|
|
1129
|
-
* @param {Comp} player_comp
|
|
1130
|
-
* @param {Comp} enemy_comp
|
|
1131
|
-
* @param {NodeAttackAnalyzerConfig} config
|
|
1132
|
-
* @param {number} times
|
|
1133
|
-
* @returns {SimulatorResult}
|
|
1134
|
-
*/
|
|
1135
1076
|
simulate_support_shelling(
|
|
1136
1077
|
player_comp: Comp,
|
|
1137
1078
|
enemy_comp: Comp,
|
|
@@ -1139,80 +1080,28 @@ export class Analyzer {
|
|
|
1139
1080
|
times: number,
|
|
1140
1081
|
): SimulatorResult;
|
|
1141
1082
|
}
|
|
1142
|
-
/**
|
|
1143
|
-
*/
|
|
1144
1083
|
export class Comp {
|
|
1084
|
+
private constructor();
|
|
1145
1085
|
free(): void;
|
|
1146
|
-
/**
|
|
1147
|
-
* @returns {Side}
|
|
1148
|
-
*/
|
|
1149
1086
|
side(): Side;
|
|
1150
|
-
/**
|
|
1151
|
-
* @returns {boolean}
|
|
1152
|
-
*/
|
|
1153
1087
|
is_combined(): boolean;
|
|
1154
|
-
/**
|
|
1155
|
-
* @returns {boolean}
|
|
1156
|
-
*/
|
|
1157
1088
|
is_player(): boolean;
|
|
1158
|
-
/**
|
|
1159
|
-
* @returns {boolean}
|
|
1160
|
-
*/
|
|
1161
1089
|
is_enemy(): boolean;
|
|
1162
|
-
/**
|
|
1163
|
-
* @param {string} id
|
|
1164
|
-
* @returns {boolean}
|
|
1165
|
-
*/
|
|
1166
1090
|
has_ship_eid(id: string): boolean;
|
|
1167
|
-
/**
|
|
1168
|
-
* @returns {string | undefined}
|
|
1169
|
-
*/
|
|
1170
1091
|
first_ship_id(): string | undefined;
|
|
1171
|
-
/**
|
|
1172
|
-
* @returns {boolean}
|
|
1173
|
-
*/
|
|
1174
1092
|
has_route_sup(): boolean;
|
|
1175
|
-
/**
|
|
1176
|
-
* @returns {CompMeta}
|
|
1177
|
-
*/
|
|
1178
1093
|
meta(): CompMeta;
|
|
1179
|
-
/**
|
|
1180
|
-
* @param {FleetType} ft
|
|
1181
|
-
* @returns {string | undefined}
|
|
1182
|
-
*/
|
|
1183
1094
|
get_fleet_id(ft: FleetType): string | undefined;
|
|
1184
|
-
/**
|
|
1185
|
-
* @param {FleetType} ft
|
|
1186
|
-
* @param {ShipKey} key
|
|
1187
|
-
* @returns {Ship | undefined}
|
|
1188
|
-
*/
|
|
1189
1095
|
get_ship_with_clone(ft: FleetType, key: ShipKey): Ship | undefined;
|
|
1190
|
-
/**
|
|
1191
|
-
* @param {FleetType} ft
|
|
1192
|
-
* @param {ShipKey} key
|
|
1193
|
-
* @returns {string | undefined}
|
|
1194
|
-
*/
|
|
1195
1096
|
get_ship_entity_id(ft: FleetType, key: ShipKey): string | undefined;
|
|
1196
|
-
/**
|
|
1197
|
-
* @param {string} id
|
|
1198
|
-
* @returns {Ship | undefined}
|
|
1199
|
-
*/
|
|
1200
1097
|
get_ship_by_eid_with_clone(id: string): Ship | undefined;
|
|
1201
|
-
/**
|
|
1202
|
-
* @returns {Formation}
|
|
1203
|
-
*/
|
|
1204
1098
|
default_formation(): Formation;
|
|
1205
1099
|
/**
|
|
1206
1100
|
* 艦隊防空値
|
|
1207
|
-
* @param {number} formation_mod
|
|
1208
|
-
* @returns {number}
|
|
1209
1101
|
*/
|
|
1210
1102
|
adjusted_anti_air(formation_mod: number): number;
|
|
1211
1103
|
/**
|
|
1212
1104
|
* 制空値
|
|
1213
|
-
* @param {boolean} escort_participates
|
|
1214
|
-
* @param {AirWaveType} air_type
|
|
1215
|
-
* @returns {number | undefined}
|
|
1216
1105
|
*/
|
|
1217
1106
|
fighter_power(
|
|
1218
1107
|
escort_participates: boolean,
|
|
@@ -1220,937 +1109,301 @@ export class Comp {
|
|
|
1220
1109
|
): number | undefined;
|
|
1221
1110
|
/**
|
|
1222
1111
|
* マップ索敵
|
|
1223
|
-
* @param {number} node_divaricated_factor
|
|
1224
|
-
* @returns {number | undefined}
|
|
1225
1112
|
*/
|
|
1226
1113
|
elos(node_divaricated_factor: number): number | undefined;
|
|
1227
1114
|
/**
|
|
1228
1115
|
* 輸送物資量(TP)
|
|
1229
|
-
* @returns {number}
|
|
1230
1116
|
*/
|
|
1231
1117
|
transport_point(): number;
|
|
1232
|
-
|
|
1233
|
-
* @param {Ship} ship
|
|
1234
|
-
* @param {Formation | undefined} [formation]
|
|
1235
|
-
* @returns {ShipConditions}
|
|
1236
|
-
*/
|
|
1237
|
-
get_ship_conditions(ship: Ship, formation?: Formation): ShipConditions;
|
|
1238
|
-
/**
|
|
1239
|
-
* @param {FleetType} fleet_type
|
|
1240
|
-
* @returns {number | undefined}
|
|
1241
|
-
*/
|
|
1118
|
+
get_ship_conditions(ship: Ship, formation?: Formation | null): ShipConditions;
|
|
1242
1119
|
fleet_los_mod(fleet_type: FleetType): number | undefined;
|
|
1243
|
-
/**
|
|
1244
|
-
* @returns {number}
|
|
1245
|
-
*/
|
|
1246
1120
|
balloons(): number;
|
|
1247
|
-
|
|
1248
|
-
*/
|
|
1249
|
-
boss_sup?: Fleet;
|
|
1250
|
-
/**
|
|
1251
|
-
*/
|
|
1252
|
-
escort?: Fleet;
|
|
1253
|
-
/**
|
|
1254
|
-
*/
|
|
1121
|
+
readonly org_type: OrgType;
|
|
1255
1122
|
readonly hq_level: number;
|
|
1256
|
-
/**
|
|
1257
|
-
*/
|
|
1258
1123
|
main: Fleet;
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1124
|
+
get escort(): Fleet | undefined;
|
|
1125
|
+
set escort(value: Fleet | null | undefined);
|
|
1126
|
+
get route_sup(): Fleet | undefined;
|
|
1127
|
+
set route_sup(value: Fleet | null | undefined);
|
|
1128
|
+
get boss_sup(): Fleet | undefined;
|
|
1129
|
+
set boss_sup(value: Fleet | null | undefined);
|
|
1265
1130
|
}
|
|
1266
|
-
/**
|
|
1267
|
-
*/
|
|
1268
1131
|
export class FhCore {
|
|
1269
1132
|
free(): void;
|
|
1270
|
-
/**
|
|
1271
|
-
* @param {MasterData} js_master
|
|
1272
|
-
*/
|
|
1273
1133
|
constructor(js_master: MasterData);
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
/**
|
|
1280
|
-
* @param {ShipState | undefined} [input]
|
|
1281
|
-
* @returns {Ship | undefined}
|
|
1282
|
-
*/
|
|
1283
|
-
create_ship(input?: ShipState): Ship | undefined;
|
|
1284
|
-
/**
|
|
1285
|
-
* @param {AirSquadronState | undefined} [input]
|
|
1286
|
-
* @returns {AirSquadron}
|
|
1287
|
-
*/
|
|
1288
|
-
create_air_squadron(input?: AirSquadronState): AirSquadron;
|
|
1289
|
-
/**
|
|
1290
|
-
* @param {FleetState | undefined} [input]
|
|
1291
|
-
* @returns {Fleet}
|
|
1292
|
-
*/
|
|
1293
|
-
create_fleet(input?: FleetState): Fleet;
|
|
1294
|
-
/**
|
|
1295
|
-
* @param {OrgState | undefined} [input]
|
|
1296
|
-
* @returns {Org | undefined}
|
|
1297
|
-
*/
|
|
1298
|
-
create_org(input?: OrgState): Org | undefined;
|
|
1299
|
-
/**
|
|
1300
|
-
* @param {number} ship_id
|
|
1301
|
-
* @returns {ShipState | undefined}
|
|
1302
|
-
*/
|
|
1134
|
+
create_gear(input?: GearState | null): Gear | undefined;
|
|
1135
|
+
create_ship(input?: ShipState | null): Ship | undefined;
|
|
1136
|
+
create_air_squadron(input?: AirSquadronState | null): AirSquadron;
|
|
1137
|
+
create_fleet(input?: FleetState | null): Fleet;
|
|
1138
|
+
create_org(input?: OrgState | null): Org | undefined;
|
|
1303
1139
|
create_ship_state_by_id(ship_id: number): ShipState | undefined;
|
|
1304
|
-
/**
|
|
1305
|
-
* @param {number} ship_id
|
|
1306
|
-
* @returns {Ship | undefined}
|
|
1307
|
-
*/
|
|
1308
1140
|
create_ship_by_id(ship_id: number): Ship | undefined;
|
|
1309
|
-
/**
|
|
1310
|
-
* @returns {Ship[]}
|
|
1311
|
-
*/
|
|
1312
1141
|
create_all_ships(): Ship[];
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
*/
|
|
1318
|
-
create_comp_by_map_enemy(main: Uint16Array, escort?: Uint16Array): Comp;
|
|
1319
|
-
/**
|
|
1320
|
-
* @returns {Ship}
|
|
1321
|
-
*/
|
|
1142
|
+
create_comp_by_map_enemy(
|
|
1143
|
+
main: Uint16Array,
|
|
1144
|
+
escort?: Uint16Array | null,
|
|
1145
|
+
): Comp;
|
|
1322
1146
|
create_default_ship(): Ship;
|
|
1323
|
-
/**
|
|
1324
|
-
* @returns {Analyzer}
|
|
1325
|
-
*/
|
|
1326
1147
|
create_analyzer(): Analyzer;
|
|
1327
1148
|
}
|
|
1328
|
-
/**
|
|
1329
|
-
*/
|
|
1330
1149
|
export class Fleet {
|
|
1150
|
+
private constructor();
|
|
1331
1151
|
free(): void;
|
|
1332
|
-
/**
|
|
1333
|
-
* @returns {FleetMeta}
|
|
1334
|
-
*/
|
|
1335
1152
|
meta(): FleetMeta;
|
|
1336
|
-
/**
|
|
1337
|
-
* @returns {(string)[]}
|
|
1338
|
-
*/
|
|
1339
1153
|
ship_keys(): string[];
|
|
1340
|
-
/**
|
|
1341
|
-
* @returns {(string)[]}
|
|
1342
|
-
*/
|
|
1343
1154
|
ship_ids(): string[];
|
|
1344
|
-
/**
|
|
1345
|
-
* @returns {(string)[]}
|
|
1346
|
-
*/
|
|
1347
1155
|
get_gear_ids_by_improvable(): string[];
|
|
1348
|
-
/**
|
|
1349
|
-
* @returns {(string)[]}
|
|
1350
|
-
*/
|
|
1351
1156
|
get_gear_ids_by_proficiency(): string[];
|
|
1352
|
-
/**
|
|
1353
|
-
* @param {string} id
|
|
1354
|
-
* @param {DamageState} state
|
|
1355
|
-
* @returns {number | undefined}
|
|
1356
|
-
*/
|
|
1357
1157
|
get_damage_bound(id: string, state: DamageState): number | undefined;
|
|
1358
|
-
/**
|
|
1359
|
-
* @param {string} id
|
|
1360
|
-
* @param {number} rate
|
|
1361
|
-
* @param {boolean} ceil
|
|
1362
|
-
* @returns {number | undefined}
|
|
1363
|
-
*/
|
|
1364
1158
|
get_remaining_fuel(
|
|
1365
1159
|
id: string,
|
|
1366
1160
|
rate: number,
|
|
1367
1161
|
ceil: boolean,
|
|
1368
1162
|
): number | undefined;
|
|
1369
|
-
/**
|
|
1370
|
-
* @param {string} id
|
|
1371
|
-
* @param {number} rate
|
|
1372
|
-
* @param {boolean} ceil
|
|
1373
|
-
* @returns {number | undefined}
|
|
1374
|
-
*/
|
|
1375
1163
|
get_remaining_ammo(
|
|
1376
1164
|
id: string,
|
|
1377
1165
|
rate: number,
|
|
1378
1166
|
ceil: boolean,
|
|
1379
1167
|
): number | undefined;
|
|
1380
|
-
/**
|
|
1381
|
-
* @returns {number}
|
|
1382
|
-
*/
|
|
1383
1168
|
count_ships(): number;
|
|
1384
|
-
/**
|
|
1385
|
-
* @param {ShipKey} key
|
|
1386
|
-
* @returns {Ship | undefined}
|
|
1387
|
-
*/
|
|
1388
1169
|
get_ship(key: ShipKey): Ship | undefined;
|
|
1389
|
-
/**
|
|
1390
|
-
* @param {AirWaveType} air_type
|
|
1391
|
-
* @returns {number | undefined}
|
|
1392
|
-
*/
|
|
1393
1170
|
fighter_power(air_type: AirWaveType): number | undefined;
|
|
1394
1171
|
/**
|
|
1395
1172
|
* マップ索敵
|
|
1396
|
-
* @param {number} hq_level
|
|
1397
|
-
* @param {number} node_divaricated_factor
|
|
1398
|
-
* @returns {number | undefined}
|
|
1399
1173
|
*/
|
|
1400
1174
|
elos(hq_level: number, node_divaricated_factor: number): number | undefined;
|
|
1401
1175
|
/**
|
|
1402
1176
|
* 航空索敵スコア
|
|
1403
|
-
* @returns {number | undefined}
|
|
1404
1177
|
*/
|
|
1405
1178
|
aviation_detection_score(): number | undefined;
|
|
1406
1179
|
/**
|
|
1407
1180
|
* 遠征ボーナス
|
|
1408
|
-
* @returns {number}
|
|
1409
1181
|
*/
|
|
1410
1182
|
expedition_bonus(): number;
|
|
1411
|
-
/**
|
|
1412
|
-
* @param {string} key
|
|
1413
|
-
* @returns {number | undefined}
|
|
1414
|
-
*/
|
|
1415
1183
|
sum_ship_stat_by(key: string): number | undefined;
|
|
1416
|
-
/**
|
|
1417
|
-
*/
|
|
1418
1184
|
reset_battle_state(): void;
|
|
1419
|
-
/**
|
|
1420
|
-
*/
|
|
1421
|
-
readonly fleet_los_mod: number | undefined;
|
|
1422
|
-
/**
|
|
1423
|
-
*/
|
|
1424
|
-
readonly hash: bigint;
|
|
1425
|
-
/**
|
|
1426
|
-
*/
|
|
1427
1185
|
id: string;
|
|
1428
|
-
|
|
1429
|
-
*/
|
|
1186
|
+
readonly hash: bigint;
|
|
1430
1187
|
readonly len: number;
|
|
1188
|
+
readonly fleet_los_mod: number | undefined;
|
|
1431
1189
|
}
|
|
1432
|
-
/**
|
|
1433
|
-
*/
|
|
1434
1190
|
export class Gear {
|
|
1191
|
+
private constructor();
|
|
1435
1192
|
free(): void;
|
|
1436
|
-
/**
|
|
1437
|
-
* @returns {Gear}
|
|
1438
|
-
*/
|
|
1439
1193
|
static default(): Gear;
|
|
1440
|
-
/**
|
|
1441
|
-
* @param {GearAttr} attr
|
|
1442
|
-
* @returns {boolean}
|
|
1443
|
-
*/
|
|
1444
1194
|
has_attr(attr: GearAttr): boolean;
|
|
1445
|
-
/**
|
|
1446
|
-
* @returns {GearCategory}
|
|
1447
|
-
*/
|
|
1448
1195
|
category(): GearCategory;
|
|
1449
|
-
/**
|
|
1450
|
-
* @returns {boolean}
|
|
1451
|
-
*/
|
|
1452
1196
|
is_high_angle_mount(): boolean;
|
|
1453
|
-
/**
|
|
1454
|
-
* @returns {boolean}
|
|
1455
|
-
*/
|
|
1456
1197
|
is_carrier_shelling_plane(): boolean;
|
|
1457
|
-
/**
|
|
1458
|
-
* @returns {boolean}
|
|
1459
|
-
*/
|
|
1460
1198
|
is_hayabusa_20th_squadron(): boolean;
|
|
1461
|
-
/**
|
|
1462
|
-
* @returns {boolean}
|
|
1463
|
-
*/
|
|
1464
1199
|
has_proficiency(): boolean;
|
|
1465
|
-
/**
|
|
1466
|
-
* @returns {boolean}
|
|
1467
|
-
*/
|
|
1468
1200
|
max_exp_eq_120(): boolean;
|
|
1469
|
-
/**
|
|
1470
|
-
* @param {number} slot_size
|
|
1471
|
-
* @returns {number}
|
|
1472
|
-
*/
|
|
1473
1201
|
calc_fighter_power(slot_size: number): number;
|
|
1474
|
-
/**
|
|
1475
|
-
* @param {number} slot_size
|
|
1476
|
-
* @returns {number}
|
|
1477
|
-
*/
|
|
1478
1202
|
calc_interception_power(slot_size: number): number;
|
|
1479
|
-
/**
|
|
1480
|
-
* @returns {number}
|
|
1481
|
-
*/
|
|
1482
1203
|
fleet_anti_air_mod(): number;
|
|
1483
|
-
/**
|
|
1484
|
-
* @returns {number}
|
|
1485
|
-
*/
|
|
1486
1204
|
ship_anti_air_mod(): number;
|
|
1487
|
-
/**
|
|
1488
|
-
* @param {number} slot_size
|
|
1489
|
-
* @returns {number}
|
|
1490
|
-
*/
|
|
1491
1205
|
calc_contact_trigger_factor(slot_size: number): number;
|
|
1492
|
-
/**
|
|
1493
|
-
* @param {AirStateRank} rank
|
|
1494
|
-
* @returns {number}
|
|
1495
|
-
*/
|
|
1496
1206
|
contact_selection_rate(rank: AirStateRank): number;
|
|
1497
|
-
/**
|
|
1498
|
-
* @param {number} level
|
|
1499
|
-
* @returns {number}
|
|
1500
|
-
*/
|
|
1501
1207
|
night_contact_rate(level: number): number;
|
|
1502
|
-
/**
|
|
1503
|
-
* @returns {boolean}
|
|
1504
|
-
*/
|
|
1505
1208
|
is_night_attacker(): boolean;
|
|
1506
|
-
/**
|
|
1507
|
-
* @returns {boolean}
|
|
1508
|
-
*/
|
|
1509
1209
|
is_night_fighter(): boolean;
|
|
1510
|
-
/**
|
|
1511
|
-
* @returns {boolean}
|
|
1512
|
-
*/
|
|
1513
1210
|
is_night_plane(): boolean;
|
|
1514
|
-
/**
|
|
1515
|
-
* @param {number} slot_size
|
|
1516
|
-
* @param {boolean} anti_inst
|
|
1517
|
-
* @returns {number}
|
|
1518
|
-
*/
|
|
1519
1211
|
night_plane_power(slot_size: number, anti_inst: boolean): number;
|
|
1520
|
-
/**
|
|
1521
|
-
* @returns {number}
|
|
1522
|
-
*/
|
|
1523
1212
|
elos(): number;
|
|
1524
|
-
/**
|
|
1525
|
-
* @returns {boolean}
|
|
1526
|
-
*/
|
|
1527
1213
|
is_abyssal(): boolean;
|
|
1528
|
-
/**
|
|
1529
|
-
* @returns {boolean}
|
|
1530
|
-
*/
|
|
1531
1214
|
is_abyssal_cuttlefish_torpedo(): boolean;
|
|
1532
|
-
/**
|
|
1533
|
-
* @returns {boolean}
|
|
1534
|
-
*/
|
|
1535
1215
|
is_abyssal_patrolling_attack_hawk(): boolean;
|
|
1536
|
-
/**
|
|
1537
|
-
* @returns {number}
|
|
1538
|
-
*/
|
|
1539
1216
|
expedition_bonus(): number;
|
|
1540
|
-
/**
|
|
1541
|
-
* @returns {boolean}
|
|
1542
|
-
*/
|
|
1543
1217
|
can_be_deployed_to_land_base(): boolean;
|
|
1544
|
-
/**
|
|
1545
|
-
* @returns {boolean}
|
|
1546
|
-
*/
|
|
1547
1218
|
is_balloon(): boolean;
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
readonly accuracy: number;
|
|
1551
|
-
/**
|
|
1552
|
-
*/
|
|
1553
|
-
readonly ace: number;
|
|
1554
|
-
/**
|
|
1555
|
-
*/
|
|
1556
|
-
readonly anti_air: number;
|
|
1557
|
-
/**
|
|
1558
|
-
*/
|
|
1559
|
-
readonly anti_bomber: number;
|
|
1560
|
-
/**
|
|
1561
|
-
*/
|
|
1562
|
-
readonly armor: number;
|
|
1563
|
-
/**
|
|
1564
|
-
*/
|
|
1565
|
-
readonly asw: number;
|
|
1566
|
-
/**
|
|
1567
|
-
*/
|
|
1568
|
-
readonly bombing: number;
|
|
1569
|
-
/**
|
|
1570
|
-
*/
|
|
1571
|
-
readonly cost: number;
|
|
1572
|
-
/**
|
|
1573
|
-
*/
|
|
1574
|
-
readonly default_exp: number;
|
|
1575
|
-
/**
|
|
1576
|
-
*/
|
|
1577
|
-
readonly evasion: number;
|
|
1578
|
-
/**
|
|
1579
|
-
*/
|
|
1580
|
-
readonly exp: number;
|
|
1581
|
-
/**
|
|
1582
|
-
*/
|
|
1583
|
-
readonly firepower: number;
|
|
1584
|
-
/**
|
|
1585
|
-
*/
|
|
1586
|
-
readonly fleet_anti_air_resist: number;
|
|
1587
|
-
/**
|
|
1588
|
-
*/
|
|
1219
|
+
id: string;
|
|
1220
|
+
readonly hash: bigint;
|
|
1589
1221
|
readonly gear_id: number;
|
|
1590
|
-
|
|
1591
|
-
|
|
1222
|
+
readonly stars: number;
|
|
1223
|
+
readonly exp: number;
|
|
1224
|
+
readonly default_exp: number;
|
|
1225
|
+
name: string;
|
|
1226
|
+
types: Uint8Array;
|
|
1592
1227
|
readonly gear_type: GearType;
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
readonly
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
readonly
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
readonly icon_id: number;
|
|
1602
|
-
/**
|
|
1603
|
-
*/
|
|
1604
|
-
id: string;
|
|
1605
|
-
/**
|
|
1606
|
-
*/
|
|
1607
|
-
readonly improvable: boolean;
|
|
1608
|
-
/**
|
|
1609
|
-
*/
|
|
1610
|
-
readonly interception: number;
|
|
1611
|
-
/**
|
|
1612
|
-
*/
|
|
1228
|
+
readonly max_hp: number;
|
|
1229
|
+
readonly firepower: number;
|
|
1230
|
+
readonly armor: number;
|
|
1231
|
+
readonly torpedo: number;
|
|
1232
|
+
readonly anti_air: number;
|
|
1233
|
+
readonly speed: number;
|
|
1234
|
+
readonly bombing: number;
|
|
1235
|
+
readonly asw: number;
|
|
1613
1236
|
readonly los: number;
|
|
1614
|
-
/**
|
|
1615
|
-
*/
|
|
1616
1237
|
readonly luck: number;
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
readonly max_hp: number;
|
|
1620
|
-
/**
|
|
1621
|
-
*/
|
|
1622
|
-
name: string;
|
|
1623
|
-
/**
|
|
1624
|
-
*/
|
|
1625
|
-
readonly radius: number;
|
|
1626
|
-
/**
|
|
1627
|
-
*/
|
|
1238
|
+
readonly accuracy: number;
|
|
1239
|
+
readonly evasion: number;
|
|
1628
1240
|
readonly range: number;
|
|
1629
|
-
|
|
1630
|
-
|
|
1241
|
+
readonly radius: number;
|
|
1242
|
+
readonly cost: number;
|
|
1243
|
+
readonly improvable: boolean;
|
|
1631
1244
|
readonly ship_anti_air_resist: number;
|
|
1632
|
-
|
|
1633
|
-
|
|
1245
|
+
readonly fleet_anti_air_resist: number;
|
|
1246
|
+
readonly gear_type_id: number;
|
|
1634
1247
|
readonly special_type: number;
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
readonly
|
|
1638
|
-
|
|
1639
|
-
*/
|
|
1640
|
-
readonly stars: number;
|
|
1641
|
-
/**
|
|
1642
|
-
*/
|
|
1643
|
-
readonly torpedo: number;
|
|
1644
|
-
/**
|
|
1645
|
-
*/
|
|
1646
|
-
types: Uint8Array;
|
|
1248
|
+
readonly icon_id: number;
|
|
1249
|
+
readonly ace: number;
|
|
1250
|
+
readonly anti_bomber: number;
|
|
1251
|
+
readonly interception: number;
|
|
1647
1252
|
}
|
|
1648
|
-
/**
|
|
1649
|
-
*/
|
|
1650
1253
|
export class Org {
|
|
1254
|
+
private constructor();
|
|
1651
1255
|
free(): void;
|
|
1652
|
-
/**
|
|
1653
|
-
* @returns {string | undefined}
|
|
1654
|
-
*/
|
|
1655
1256
|
first_ship_id(): string | undefined;
|
|
1656
|
-
/**
|
|
1657
|
-
* @param {FleetKey} fleet_key
|
|
1658
|
-
* @param {ShipKey} ship_key
|
|
1659
|
-
* @returns {number | undefined}
|
|
1660
|
-
*/
|
|
1661
1257
|
get_ship_mid(fleet_key: FleetKey, ship_key: ShipKey): number | undefined;
|
|
1662
|
-
/**
|
|
1663
|
-
* @param {FleetKey} fleet_key
|
|
1664
|
-
* @param {ShipKey} ship_key
|
|
1665
|
-
* @returns {string | undefined}
|
|
1666
|
-
*/
|
|
1667
1258
|
get_ship_eid(fleet_key: FleetKey, ship_key: ShipKey): string | undefined;
|
|
1668
|
-
/**
|
|
1669
|
-
* @param {FleetKey} key
|
|
1670
|
-
* @returns {string}
|
|
1671
|
-
*/
|
|
1672
1259
|
get_fleet_id(key: FleetKey): string;
|
|
1673
|
-
/**
|
|
1674
|
-
* @returns {(string)[]}
|
|
1675
|
-
*/
|
|
1676
1260
|
air_squadron_ids(): string[];
|
|
1677
|
-
/**
|
|
1678
|
-
* @returns {Uint16Array}
|
|
1679
|
-
*/
|
|
1680
1261
|
main_ship_ids(): Uint16Array;
|
|
1681
|
-
/**
|
|
1682
|
-
* @returns {Uint16Array}
|
|
1683
|
-
*/
|
|
1684
1262
|
escort_ship_ids(): Uint16Array;
|
|
1685
|
-
/**
|
|
1686
|
-
* @param {FleetKey} key
|
|
1687
|
-
* @returns {Fleet}
|
|
1688
|
-
*/
|
|
1689
1263
|
clone_fleet(key: FleetKey): Fleet;
|
|
1690
|
-
/**
|
|
1691
|
-
* @param {FleetKey} fleet_key
|
|
1692
|
-
* @param {ShipKey} ship_key
|
|
1693
|
-
* @returns {Ship | undefined}
|
|
1694
|
-
*/
|
|
1695
1264
|
clone_ship(fleet_key: FleetKey, ship_key: ShipKey): Ship | undefined;
|
|
1696
|
-
/**
|
|
1697
|
-
* @param {string} id
|
|
1698
|
-
* @returns {Ship | undefined}
|
|
1699
|
-
*/
|
|
1700
1265
|
get_ship_by_id(id: string): Ship | undefined;
|
|
1701
|
-
/**
|
|
1702
|
-
* @param {FleetKey} key
|
|
1703
|
-
* @returns {(string)[]}
|
|
1704
|
-
*/
|
|
1705
1266
|
ship_keys(key: FleetKey): string[];
|
|
1706
|
-
/**
|
|
1707
|
-
* @returns {Comp}
|
|
1708
|
-
*/
|
|
1709
1267
|
create_comp(): Comp;
|
|
1710
|
-
/**
|
|
1711
|
-
* @param {FleetKey} key
|
|
1712
|
-
* @returns {Comp}
|
|
1713
|
-
*/
|
|
1714
1268
|
create_comp_by_key(key: FleetKey): Comp;
|
|
1715
|
-
/**
|
|
1716
|
-
* @param {string} key
|
|
1717
|
-
* @returns {AirSquadron}
|
|
1718
|
-
*/
|
|
1719
1269
|
get_air_squadron(key: string): AirSquadron;
|
|
1720
|
-
/**
|
|
1721
|
-
* @returns {(string)[]}
|
|
1722
|
-
*/
|
|
1723
1270
|
get_air_squadron_gear_ids_by_improvable(): string[];
|
|
1724
|
-
/**
|
|
1725
|
-
* @returns {(string)[]}
|
|
1726
|
-
*/
|
|
1727
1271
|
get_air_squadron_gear_ids_by_proficiency(): string[];
|
|
1728
|
-
/**
|
|
1729
|
-
* @returns {Side}
|
|
1730
|
-
*/
|
|
1731
1272
|
side(): Side;
|
|
1732
|
-
/**
|
|
1733
|
-
* @returns {boolean}
|
|
1734
|
-
*/
|
|
1735
1273
|
is_player(): boolean;
|
|
1736
|
-
/**
|
|
1737
|
-
* @returns {boolean}
|
|
1738
|
-
*/
|
|
1739
1274
|
is_enemy(): boolean;
|
|
1740
|
-
/**
|
|
1741
|
-
* @returns {boolean}
|
|
1742
|
-
*/
|
|
1743
1275
|
is_single(): boolean;
|
|
1744
|
-
/**
|
|
1745
|
-
* @returns {boolean}
|
|
1746
|
-
*/
|
|
1747
1276
|
is_combined(): boolean;
|
|
1748
1277
|
/**
|
|
1749
1278
|
* 防空時の基地制空値
|
|
1750
|
-
* @returns {number}
|
|
1751
1279
|
*/
|
|
1752
1280
|
interception_power(): number;
|
|
1753
1281
|
/**
|
|
1754
1282
|
* 高高度迎撃時の基地制空値
|
|
1755
|
-
* @returns {number}
|
|
1756
1283
|
*/
|
|
1757
1284
|
high_altitude_interception_power(): number;
|
|
1758
|
-
/**
|
|
1759
|
-
* @param {string} id
|
|
1760
|
-
* @param {number} x
|
|
1761
|
-
* @param {number} y
|
|
1762
|
-
* @returns {MoveShipPayload | undefined}
|
|
1763
|
-
*/
|
|
1764
1285
|
create_move_ship_payload(
|
|
1765
1286
|
id: string,
|
|
1766
1287
|
x: number,
|
|
1767
1288
|
y: number,
|
|
1768
1289
|
): MoveShipPayload | undefined;
|
|
1769
|
-
/**
|
|
1770
|
-
* @param {FleetKey} key
|
|
1771
|
-
* @returns {FleetType | undefined}
|
|
1772
|
-
*/
|
|
1773
1290
|
get_fleet_type(key: FleetKey): FleetType | undefined;
|
|
1774
|
-
/**
|
|
1775
|
-
*/
|
|
1776
|
-
readonly boss_sup: FleetKey | undefined;
|
|
1777
|
-
/**
|
|
1778
|
-
*/
|
|
1779
|
-
readonly hash: bigint;
|
|
1780
|
-
/**
|
|
1781
|
-
*/
|
|
1782
|
-
readonly hq_level: number;
|
|
1783
|
-
/**
|
|
1784
|
-
*/
|
|
1785
1291
|
id: string;
|
|
1786
|
-
|
|
1787
|
-
|
|
1292
|
+
readonly hash: bigint;
|
|
1293
|
+
readonly hq_level: number;
|
|
1788
1294
|
readonly org_type: OrgType;
|
|
1789
|
-
/**
|
|
1790
|
-
*/
|
|
1791
|
-
readonly route_sup: FleetKey | undefined;
|
|
1792
|
-
/**
|
|
1793
|
-
*/
|
|
1794
1295
|
readonly sortie: FleetKey;
|
|
1296
|
+
readonly route_sup: FleetKey | undefined;
|
|
1297
|
+
readonly boss_sup: FleetKey | undefined;
|
|
1795
1298
|
}
|
|
1796
|
-
/**
|
|
1797
|
-
*/
|
|
1798
1299
|
export class Ship {
|
|
1300
|
+
private constructor();
|
|
1799
1301
|
free(): void;
|
|
1302
|
+
state_day_gunfit_accuracy(): number | undefined;
|
|
1303
|
+
state_night_gunfit_accuracy(): number | undefined;
|
|
1800
1304
|
/**
|
|
1801
|
-
*
|
|
1305
|
+
* フィット砲補正
|
|
1802
1306
|
*/
|
|
1307
|
+
gunfit_accuracy(is_night: boolean): number;
|
|
1803
1308
|
static default(): Ship;
|
|
1804
|
-
/**
|
|
1805
|
-
* @param {string} id
|
|
1806
|
-
* @returns {boolean}
|
|
1807
|
-
*/
|
|
1808
1309
|
eq_id(id: string): boolean;
|
|
1809
|
-
/**
|
|
1810
|
-
* @returns {ShipState}
|
|
1811
|
-
*/
|
|
1812
1310
|
state(): ShipState;
|
|
1813
|
-
/**
|
|
1814
|
-
* @returns {CustomPowerModifiers}
|
|
1815
|
-
*/
|
|
1816
1311
|
custom_power_mods(): CustomPowerModifiers;
|
|
1817
|
-
/**
|
|
1818
|
-
* @returns {ShipMeta}
|
|
1819
|
-
*/
|
|
1820
1312
|
meta(): ShipMeta;
|
|
1821
|
-
/**
|
|
1822
|
-
* @returns {DamageState}
|
|
1823
|
-
*/
|
|
1824
1313
|
damage_state(): DamageState;
|
|
1825
|
-
/**
|
|
1826
|
-
* @returns {MoraleState}
|
|
1827
|
-
*/
|
|
1828
1314
|
morale_state(): MoraleState;
|
|
1829
|
-
/**
|
|
1830
|
-
* @returns {ShipCategory}
|
|
1831
|
-
*/
|
|
1832
1315
|
category(): ShipCategory;
|
|
1833
|
-
/**
|
|
1834
|
-
* @param {ShipAttr} attr
|
|
1835
|
-
* @returns {boolean}
|
|
1836
|
-
*/
|
|
1837
1316
|
has_attr(attr: ShipAttr): boolean;
|
|
1838
|
-
/**
|
|
1839
|
-
* @returns {(string)[]}
|
|
1840
|
-
*/
|
|
1841
1317
|
gear_keys(): string[];
|
|
1842
|
-
/**
|
|
1843
|
-
* @param {string} key
|
|
1844
|
-
* @returns {Gear | undefined}
|
|
1845
|
-
*/
|
|
1846
1318
|
get_gear(key: string): Gear | undefined;
|
|
1847
|
-
/**
|
|
1848
|
-
* @param {DamageState} state
|
|
1849
|
-
* @returns {number | undefined}
|
|
1850
|
-
*/
|
|
1851
1319
|
get_damage_bound(state: DamageState): number | undefined;
|
|
1852
|
-
/**
|
|
1853
|
-
* @param {number} rate
|
|
1854
|
-
* @param {boolean} ceil
|
|
1855
|
-
* @returns {number}
|
|
1856
|
-
*/
|
|
1857
1320
|
get_remaining_fuel(rate: number, ceil: boolean): number;
|
|
1858
|
-
/**
|
|
1859
|
-
* @param {number} rate
|
|
1860
|
-
* @param {boolean} ceil
|
|
1861
|
-
* @returns {number}
|
|
1862
|
-
*/
|
|
1863
1321
|
get_remaining_ammo(rate: number, ceil: boolean): number;
|
|
1864
|
-
/**
|
|
1865
|
-
* @param {string} key
|
|
1866
|
-
* @returns {boolean}
|
|
1867
|
-
*/
|
|
1868
1322
|
has_unknown_stat(key: string): boolean;
|
|
1869
|
-
/**
|
|
1870
|
-
* @param {string} key
|
|
1871
|
-
* @returns {number | undefined}
|
|
1872
|
-
*/
|
|
1873
1323
|
get_naked_stat(key: string): number | undefined;
|
|
1874
|
-
/**
|
|
1875
|
-
* @param {string} key
|
|
1876
|
-
* @returns {number | undefined}
|
|
1877
|
-
*/
|
|
1878
1324
|
get_stat_interval_left(key: string): number | undefined;
|
|
1879
|
-
/**
|
|
1880
|
-
* @param {string} key
|
|
1881
|
-
* @returns {number | undefined}
|
|
1882
|
-
*/
|
|
1883
1325
|
get_stat_interval_right(key: string): number | undefined;
|
|
1884
|
-
/**
|
|
1885
|
-
* @param {string} key
|
|
1886
|
-
* @returns {number}
|
|
1887
|
-
*/
|
|
1888
1326
|
get_gear_stat(key: string): number;
|
|
1889
|
-
/**
|
|
1890
|
-
* @param {string} key
|
|
1891
|
-
* @returns {number}
|
|
1892
|
-
*/
|
|
1893
1327
|
get_ebonus(key: string): number;
|
|
1894
|
-
/**
|
|
1895
|
-
* @param {string} key
|
|
1896
|
-
* @returns {number | undefined}
|
|
1897
|
-
*/
|
|
1898
1328
|
get_stat_mod(key: string): number | undefined;
|
|
1899
|
-
/**
|
|
1900
|
-
* @returns {boolean}
|
|
1901
|
-
*/
|
|
1902
1329
|
is_abyssal(): boolean;
|
|
1903
|
-
/**
|
|
1904
|
-
* @returns {boolean}
|
|
1905
|
-
*/
|
|
1906
1330
|
is_submarine(): boolean;
|
|
1907
|
-
/**
|
|
1908
|
-
* @returns {boolean}
|
|
1909
|
-
*/
|
|
1910
1331
|
is_amagiri(): boolean;
|
|
1911
|
-
/**
|
|
1912
|
-
* @param {Gear} gear
|
|
1913
|
-
* @param {string} key
|
|
1914
|
-
* @returns {boolean}
|
|
1915
|
-
*/
|
|
1916
1332
|
can_equip(gear: Gear, key: string): boolean;
|
|
1917
|
-
/**
|
|
1918
|
-
* @returns {boolean}
|
|
1919
|
-
*/
|
|
1920
1333
|
is_installation(): boolean;
|
|
1921
|
-
/**
|
|
1922
|
-
* @returns {boolean}
|
|
1923
|
-
*/
|
|
1924
1334
|
is_pt_imp(): boolean;
|
|
1925
|
-
/**
|
|
1926
|
-
* @returns {SpecialEnemyType}
|
|
1927
|
-
*/
|
|
1928
1335
|
special_enemy_type(): SpecialEnemyType;
|
|
1929
|
-
/**
|
|
1930
|
-
* @returns {boolean}
|
|
1931
|
-
*/
|
|
1932
1336
|
is_attackable_by_torpedo(): boolean;
|
|
1933
|
-
/**
|
|
1934
|
-
* @param {number} index
|
|
1935
|
-
* @returns {number | undefined}
|
|
1936
|
-
*/
|
|
1937
1337
|
get_slot_size(index: number): number | undefined;
|
|
1938
|
-
/**
|
|
1939
|
-
* @param {number} index
|
|
1940
|
-
* @returns {number | undefined}
|
|
1941
|
-
*/
|
|
1942
1338
|
get_max_slot_size(index: number): number | undefined;
|
|
1943
|
-
/**
|
|
1944
|
-
* @returns {number}
|
|
1945
|
-
*/
|
|
1946
1339
|
remaining_ammo_mod(): number;
|
|
1947
|
-
/**
|
|
1948
|
-
* @returns {number}
|
|
1949
|
-
*/
|
|
1950
1340
|
remaining_fuel_mod(): number;
|
|
1951
|
-
/**
|
|
1952
|
-
* @param {AirWaveType} air_type
|
|
1953
|
-
* @returns {number | undefined}
|
|
1954
|
-
*/
|
|
1955
1341
|
fighter_power(air_type: AirWaveType): number | undefined;
|
|
1956
|
-
/**
|
|
1957
|
-
* @returns {number | undefined}
|
|
1958
|
-
*/
|
|
1959
1342
|
fleet_los_factor(): number | undefined;
|
|
1960
1343
|
/**
|
|
1961
1344
|
* 加重対空
|
|
1962
|
-
* @param {Side} side
|
|
1963
|
-
* @returns {number | undefined}
|
|
1964
1345
|
*/
|
|
1965
1346
|
ship_adjusted_anti_air(side: Side): number | undefined;
|
|
1966
1347
|
/**
|
|
1967
1348
|
* 艦隊対空補正
|
|
1968
|
-
* @returns {number}
|
|
1969
1349
|
*/
|
|
1970
1350
|
fleet_anti_air_mod(): number;
|
|
1971
|
-
/**
|
|
1972
|
-
* @returns {number}
|
|
1973
|
-
*/
|
|
1974
1351
|
cruiser_fit_bonus(): number;
|
|
1975
|
-
/**
|
|
1976
|
-
* @returns {number | undefined}
|
|
1977
|
-
*/
|
|
1978
1352
|
basic_accuracy_term(): number | undefined;
|
|
1979
|
-
/**
|
|
1980
|
-
* @returns {number | undefined}
|
|
1981
|
-
*/
|
|
1982
1353
|
basic_evasion_term(): number | undefined;
|
|
1983
|
-
/**
|
|
1984
|
-
* @param {number} formation_mod
|
|
1985
|
-
* @param {number} postcap_additive
|
|
1986
|
-
* @param {number} postcap_multiplicative
|
|
1987
|
-
* @returns {number | undefined}
|
|
1988
|
-
*/
|
|
1989
1354
|
evasion_term(
|
|
1990
1355
|
formation_mod: number,
|
|
1991
1356
|
postcap_additive: number,
|
|
1992
1357
|
postcap_multiplicative: number,
|
|
1993
1358
|
): number | undefined;
|
|
1994
|
-
/**
|
|
1995
|
-
* @param {number} armor_penetration
|
|
1996
|
-
* @returns {number | undefined}
|
|
1997
|
-
*/
|
|
1998
1359
|
basic_defense_power(armor_penetration: number): number | undefined;
|
|
1999
|
-
/**
|
|
2000
|
-
* @returns {number}
|
|
2001
|
-
*/
|
|
2002
1360
|
transport_point(): number;
|
|
2003
|
-
/**
|
|
2004
|
-
* @param {number} node_divaricated_factor
|
|
2005
|
-
* @returns {number | undefined}
|
|
2006
|
-
*/
|
|
2007
1361
|
elos(node_divaricated_factor: number): number | undefined;
|
|
2008
1362
|
/**
|
|
2009
1363
|
* 確殺攻撃力
|
|
2010
|
-
* @returns {number | undefined}
|
|
2011
1364
|
*/
|
|
2012
1365
|
ohko_power(): number | undefined;
|
|
2013
|
-
/**
|
|
2014
|
-
* @returns {number | undefined}
|
|
2015
|
-
*/
|
|
2016
|
-
state_day_gunfit_accuracy(): number | undefined;
|
|
2017
|
-
/**
|
|
2018
|
-
* @returns {number | undefined}
|
|
2019
|
-
*/
|
|
2020
|
-
state_night_gunfit_accuracy(): number | undefined;
|
|
2021
|
-
/**
|
|
2022
|
-
* フィット砲補正
|
|
2023
|
-
* @param {boolean} is_night
|
|
2024
|
-
* @returns {number}
|
|
2025
|
-
*/
|
|
2026
|
-
gunfit_accuracy(is_night: boolean): number;
|
|
2027
|
-
/**
|
|
2028
|
-
*/
|
|
2029
|
-
readonly accuracy: number;
|
|
2030
|
-
/**
|
|
2031
|
-
*/
|
|
2032
|
-
readonly ammo: number;
|
|
2033
|
-
/**
|
|
2034
|
-
*/
|
|
2035
|
-
readonly anti_air: number | undefined;
|
|
2036
|
-
/**
|
|
2037
|
-
*/
|
|
2038
|
-
readonly armor: number | undefined;
|
|
2039
|
-
/**
|
|
2040
|
-
*/
|
|
2041
|
-
readonly asw: number | undefined;
|
|
2042
|
-
/**
|
|
2043
|
-
*/
|
|
2044
|
-
readonly ctype: number;
|
|
2045
|
-
/**
|
|
2046
|
-
*/
|
|
2047
|
-
readonly current_hp: number;
|
|
2048
|
-
/**
|
|
2049
|
-
*/
|
|
2050
|
-
readonly evasion: number | undefined;
|
|
2051
|
-
/**
|
|
2052
|
-
*/
|
|
2053
|
-
readonly firepower: number | undefined;
|
|
2054
|
-
/**
|
|
2055
|
-
*/
|
|
2056
|
-
readonly fuel: number;
|
|
2057
|
-
/**
|
|
2058
|
-
*/
|
|
2059
|
-
readonly hash: bigint;
|
|
2060
|
-
/**
|
|
2061
|
-
*/
|
|
2062
1366
|
id: string;
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
readonly innate_torpedo_accuracy: number;
|
|
2066
|
-
/**
|
|
2067
|
-
*/
|
|
1367
|
+
readonly hash: bigint;
|
|
1368
|
+
readonly ship_id: number;
|
|
2068
1369
|
readonly level: number;
|
|
2069
|
-
|
|
2070
|
-
*/
|
|
2071
|
-
readonly los: number | undefined;
|
|
2072
|
-
/**
|
|
2073
|
-
*/
|
|
2074
|
-
readonly luck: number | undefined;
|
|
2075
|
-
/**
|
|
2076
|
-
*/
|
|
2077
|
-
readonly max_ammo: number;
|
|
2078
|
-
/**
|
|
2079
|
-
*/
|
|
2080
|
-
readonly max_fuel: number;
|
|
2081
|
-
/**
|
|
2082
|
-
*/
|
|
2083
|
-
readonly max_hp: number | undefined;
|
|
2084
|
-
/**
|
|
2085
|
-
*/
|
|
1370
|
+
readonly current_hp: number;
|
|
2086
1371
|
readonly morale: number;
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
readonly
|
|
2090
|
-
|
|
2091
|
-
|
|
1372
|
+
readonly ammo: number;
|
|
1373
|
+
readonly fuel: number;
|
|
1374
|
+
readonly ship_type: ShipType;
|
|
1375
|
+
readonly ctype: number;
|
|
1376
|
+
slots: SlotSizeVec;
|
|
1377
|
+
readonly naked_firepower: number | undefined;
|
|
1378
|
+
readonly naked_torpedo: number | undefined;
|
|
2092
1379
|
readonly naked_armor: number | undefined;
|
|
2093
|
-
|
|
2094
|
-
*/
|
|
2095
|
-
readonly naked_asw: number | undefined;
|
|
2096
|
-
/**
|
|
2097
|
-
*/
|
|
1380
|
+
readonly naked_anti_air: number | undefined;
|
|
2098
1381
|
readonly naked_evasion: number | undefined;
|
|
2099
|
-
|
|
2100
|
-
*/
|
|
2101
|
-
readonly naked_firepower: number | undefined;
|
|
2102
|
-
/**
|
|
2103
|
-
*/
|
|
1382
|
+
readonly naked_asw: number | undefined;
|
|
2104
1383
|
readonly naked_los: number | undefined;
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
readonly
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
readonly
|
|
2111
|
-
|
|
2112
|
-
*/
|
|
2113
|
-
readonly naked_torpedo: number | undefined;
|
|
2114
|
-
/**
|
|
2115
|
-
*/
|
|
1384
|
+
readonly firepower: number | undefined;
|
|
1385
|
+
readonly torpedo: number | undefined;
|
|
1386
|
+
readonly armor: number | undefined;
|
|
1387
|
+
readonly anti_air: number | undefined;
|
|
1388
|
+
readonly evasion: number | undefined;
|
|
1389
|
+
readonly asw: number | undefined;
|
|
1390
|
+
readonly los: number | undefined;
|
|
2116
1391
|
readonly name: string;
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
readonly
|
|
2120
|
-
/**
|
|
2121
|
-
*/
|
|
2122
|
-
readonly range: number | undefined;
|
|
2123
|
-
/**
|
|
2124
|
-
*/
|
|
1392
|
+
readonly yomi: string;
|
|
1393
|
+
readonly stype: number;
|
|
1394
|
+
readonly sort_id: number;
|
|
2125
1395
|
readonly remodel_rank: number;
|
|
2126
|
-
/**
|
|
2127
|
-
*/
|
|
2128
|
-
readonly ship_id: number;
|
|
2129
|
-
/**
|
|
2130
|
-
*/
|
|
2131
|
-
readonly ship_type: ShipType;
|
|
2132
|
-
/**
|
|
2133
|
-
*/
|
|
2134
1396
|
readonly slotnum: number;
|
|
2135
|
-
|
|
2136
|
-
*/
|
|
2137
|
-
slots: SlotSizeVec;
|
|
2138
|
-
/**
|
|
2139
|
-
*/
|
|
2140
|
-
readonly sort_id: number;
|
|
2141
|
-
/**
|
|
2142
|
-
*/
|
|
2143
|
-
readonly speed: number;
|
|
2144
|
-
/**
|
|
2145
|
-
*/
|
|
2146
|
-
readonly stype: number;
|
|
2147
|
-
/**
|
|
2148
|
-
*/
|
|
2149
|
-
readonly torpedo: number | undefined;
|
|
2150
|
-
/**
|
|
2151
|
-
*/
|
|
1397
|
+
readonly next_id: number;
|
|
2152
1398
|
readonly useful: boolean;
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
readonly
|
|
1399
|
+
readonly max_hp: number | undefined;
|
|
1400
|
+
readonly max_ammo: number;
|
|
1401
|
+
readonly max_fuel: number;
|
|
1402
|
+
readonly naked_range: number | undefined;
|
|
1403
|
+
readonly naked_speed: number;
|
|
1404
|
+
readonly luck: number | undefined;
|
|
1405
|
+
readonly range: number | undefined;
|
|
1406
|
+
readonly speed: number;
|
|
1407
|
+
readonly accuracy: number;
|
|
1408
|
+
readonly innate_torpedo_accuracy: number;
|
|
2156
1409
|
}
|