fleethub-core 1.12.18 → 1.12.20
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 +984 -952
- package/node/fleethub_core.js +1606 -1517
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +112 -112
- package/package.json +10 -4
- package/pkg/fleethub_core.d.ts +984 -952
- package/pkg/fleethub_core.js +5 -1
- package/pkg/fleethub_core_bg.js +1593 -1503
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +112 -112
package/pkg/fleethub_core.d.ts
CHANGED
|
@@ -1,208 +1,477 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
|
-
export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
4
|
-
export function set_panic_hook(): void;
|
|
5
|
-
export type GearAttr =
|
|
6
|
-
| "Unknown"
|
|
7
|
-
| "HighAngleMount"
|
|
8
|
-
| "NightFighter"
|
|
9
|
-
| "NightAttacker"
|
|
10
|
-
| "HeavyBomber"
|
|
11
|
-
| "NightRecon"
|
|
12
|
-
| "NightBomber"
|
|
13
|
-
| "MainGun"
|
|
14
|
-
| "Radar"
|
|
15
|
-
| "SurfaceRadar"
|
|
16
|
-
| "AirRadar"
|
|
17
|
-
| "DepthChargeProjector"
|
|
18
|
-
| "SynergisticDepthCharge"
|
|
19
|
-
| "AntiSubMortar"
|
|
20
|
-
| "AntiSubWeapon"
|
|
21
|
-
| "ApDepthCharge"
|
|
22
|
-
| "AntiSubAircraft"
|
|
23
|
-
| "LateModelBowTorpedo"
|
|
24
|
-
| "Seaplane"
|
|
25
|
-
| "CbAircraft"
|
|
26
|
-
| "LbAircraft"
|
|
27
|
-
| "JetAircraft"
|
|
28
|
-
| "Fighter"
|
|
29
|
-
| "Recon"
|
|
30
|
-
| "ObservationSeaplane"
|
|
31
|
-
| "CbFighterBomber"
|
|
32
|
-
| "AntiInstDiveBomber"
|
|
33
|
-
| "CbSwordfish"
|
|
34
|
-
| "SemiNightPlane"
|
|
35
|
-
| "HighAltitudeInterceptor";
|
|
36
3
|
|
|
37
|
-
export type
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
4
|
+
export type CompiledEvaler = string;
|
|
5
|
+
|
|
6
|
+
export type Histogram<K extends keyof any, V> = Partial<Record<K, V>>;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* `DamageReport` にどこまでの分布を持たせるか。
|
|
10
|
+
*/
|
|
11
|
+
export type DensityDetail = "Total" | "WithNoPenetration";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 特殊敵種別
|
|
15
|
+
*/
|
|
16
|
+
export type SpecialEnemyType =
|
|
17
|
+
| "None"
|
|
18
|
+
| "SoftSkinned"
|
|
45
19
|
| "Pillbox"
|
|
46
20
|
| "IsolatedIsland"
|
|
47
|
-
| "HarbourSummerPrincess"
|
|
48
21
|
| "SupplyDepot"
|
|
49
22
|
| "NewSupplyDepot"
|
|
23
|
+
| "HarbourSummerPrincess"
|
|
50
24
|
| "PtImp"
|
|
51
25
|
| "BattleshipSummerPrincess"
|
|
52
26
|
| "HeavyCruiserSummerPrincess"
|
|
53
|
-
| "AnchorageWaterDemonVacationMode"
|
|
54
27
|
| "FrenchBattleshipPrincess"
|
|
28
|
+
| "AnchorageWaterDemonVacationMode"
|
|
55
29
|
| "DockPrincess"
|
|
56
30
|
| "SummerAircraftCarrierDemon"
|
|
57
31
|
| "EuropeanWaterPrincess";
|
|
58
32
|
|
|
59
|
-
export
|
|
33
|
+
export interface ActionReport<T> {
|
|
34
|
+
data: Record<string, AttackReport<T>>;
|
|
35
|
+
damage_state_density: Histogram<DamageState, number> | null;
|
|
36
|
+
is_active: boolean;
|
|
37
|
+
}
|
|
60
38
|
|
|
61
|
-
export
|
|
39
|
+
export interface AirSquadronState extends GearVecState, SlotSizeVecState {
|
|
40
|
+
id?: string;
|
|
41
|
+
mode?: AirSquadronMode;
|
|
42
|
+
}
|
|
62
43
|
|
|
63
|
-
export
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
44
|
+
export interface AntiAirCutinDef {
|
|
45
|
+
id: number;
|
|
46
|
+
type_factor: number | null;
|
|
47
|
+
multiplier: number | null;
|
|
48
|
+
guaranteed: number | null;
|
|
49
|
+
sequential: boolean | null;
|
|
50
|
+
}
|
|
69
51
|
|
|
70
|
-
export
|
|
71
|
-
|
|
72
|
-
|
|
52
|
+
export interface AntiAirReport {
|
|
53
|
+
ship_id: number;
|
|
54
|
+
role: Role;
|
|
55
|
+
index: number;
|
|
56
|
+
adjusted_anti_air: number | null;
|
|
57
|
+
proportional_shotdown_rate: number | null;
|
|
58
|
+
fixed_shotdown_number: number | null;
|
|
59
|
+
guaranteed: number | null;
|
|
60
|
+
anti_air_cutin_chance: [number, number][];
|
|
61
|
+
anti_air_propellant_barrage_chance: number | null;
|
|
62
|
+
}
|
|
73
63
|
|
|
74
|
-
export
|
|
64
|
+
export interface AswAttackStyle {
|
|
65
|
+
tag: "AswAttackStyle";
|
|
66
|
+
attack_type: AswAttackType;
|
|
67
|
+
}
|
|
75
68
|
|
|
76
|
-
export
|
|
69
|
+
export interface AttackAnalysis {
|
|
70
|
+
attacker_is_player: boolean;
|
|
71
|
+
attacker_ship_id: number;
|
|
72
|
+
target_ship_id: number;
|
|
73
|
+
historical_params: HistoricalParams;
|
|
74
|
+
day: ActionReport<DayPhaseAttackStyle>;
|
|
75
|
+
night: ActionReport<NightPhaseAttackStyle>;
|
|
76
|
+
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
77
|
+
opening_asw: ActionReport<AswAttackStyle>;
|
|
78
|
+
support_shelling: ActionReport<SupportShellingStyle>;
|
|
79
|
+
}
|
|
77
80
|
|
|
78
|
-
export
|
|
81
|
+
export interface AttackAnalyzerShipConfig
|
|
82
|
+
extends ShipConditions,
|
|
83
|
+
NightFleetConditions {
|
|
84
|
+
balloons?: number;
|
|
85
|
+
fleet_los_mod?: number | null;
|
|
86
|
+
}
|
|
79
87
|
|
|
80
|
-
export
|
|
81
|
-
|
|
82
|
-
|
|
88
|
+
export interface AttackPower {
|
|
89
|
+
precap: number;
|
|
90
|
+
is_capped: boolean;
|
|
91
|
+
capped: number;
|
|
92
|
+
normal: number;
|
|
93
|
+
critical: number;
|
|
94
|
+
armor_penetration: number;
|
|
95
|
+
remaining_ammo_mod: number;
|
|
96
|
+
}
|
|
83
97
|
|
|
84
|
-
export
|
|
98
|
+
export interface AttackPowerModifier {
|
|
99
|
+
a?: number;
|
|
100
|
+
b?: number;
|
|
101
|
+
}
|
|
85
102
|
|
|
86
|
-
export
|
|
103
|
+
export interface AttackPowerParams {
|
|
104
|
+
is_cutin: boolean;
|
|
105
|
+
basic: number;
|
|
106
|
+
cap: number;
|
|
107
|
+
precap_mod: AttackPowerModifier;
|
|
108
|
+
postcap_mod: AttackPowerModifier;
|
|
109
|
+
ap_shell_mod: number | null;
|
|
110
|
+
aerial_power: number | null;
|
|
111
|
+
proficiency_critical_mod: number;
|
|
112
|
+
armor_penetration: number;
|
|
113
|
+
remaining_ammo_mod: number;
|
|
114
|
+
balloon_mod: number;
|
|
115
|
+
special_enemy_mods: SpecialEnemyModifiers;
|
|
116
|
+
historical_mod: AttackPowerModifier;
|
|
117
|
+
custom_mods: CustomPowerModifiers;
|
|
118
|
+
}
|
|
87
119
|
|
|
88
|
-
export
|
|
120
|
+
export interface AttackReport<T> {
|
|
121
|
+
style: T;
|
|
122
|
+
proc_rate: number | null;
|
|
123
|
+
attack_power: AttackPower | null;
|
|
124
|
+
attack_power_params: AttackPowerParams | null;
|
|
125
|
+
hits: number;
|
|
126
|
+
hit_rate: HitRate | null;
|
|
127
|
+
hit_rate_params: HitRateParams | null;
|
|
128
|
+
damage: DamageReport | null;
|
|
129
|
+
}
|
|
89
130
|
|
|
90
|
-
export
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
| "JFJB"
|
|
100
|
-
| "JFBA"
|
|
101
|
-
| "FBA"
|
|
102
|
-
| "BBA"
|
|
103
|
-
| "BA";
|
|
131
|
+
export interface BattleConditions {
|
|
132
|
+
org_type: OrgType;
|
|
133
|
+
role: Role;
|
|
134
|
+
ship_index: number;
|
|
135
|
+
fleet_len: number;
|
|
136
|
+
formation: Formation;
|
|
137
|
+
fleet_los_mod: number | null;
|
|
138
|
+
night_conditions: NightFleetConditions;
|
|
139
|
+
}
|
|
104
140
|
|
|
105
|
-
export
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
|
124
|
-
|
|
141
|
+
export interface BattleDefinitions {
|
|
142
|
+
formation: Record<Formation, NestedFormationDef>;
|
|
143
|
+
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
144
|
+
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
145
|
+
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
146
|
+
historical_bonuses: HistoricalBonusDef[];
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export interface CompAnalysis {
|
|
150
|
+
day: CompDayAnalysis;
|
|
151
|
+
night: CompNightAnalysis;
|
|
152
|
+
contact: ContactAnalysis;
|
|
153
|
+
anti_air: CompAntiAirAnalysis;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface CompAnalyzerConfig {
|
|
157
|
+
engagement: Engagement;
|
|
158
|
+
formation: Formation;
|
|
159
|
+
anti_air_cutin: number | null;
|
|
160
|
+
ship_anti_air_resist: number;
|
|
161
|
+
fleet_anti_air_resist: number;
|
|
162
|
+
left_night_fleet_conditions: NightFleetConditions;
|
|
163
|
+
right_night_fleet_conditions: NightFleetConditions;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export interface CompAntiAirAnalysis {
|
|
167
|
+
fleet_adjusted_anti_air: number;
|
|
168
|
+
ships: AntiAirReport[];
|
|
169
|
+
anti_air_cutin_chance: [number, number][];
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export interface CompDayAnalysis {
|
|
173
|
+
day_cutin: CompDayCutinAnalysis;
|
|
174
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export interface CompDayCutinAnalysis {
|
|
178
|
+
rank3_air_state: AirState;
|
|
179
|
+
rank2_air_state: AirState;
|
|
180
|
+
main_fleet_los_mod: number | null;
|
|
181
|
+
escort_fleet_los_mod: number | null;
|
|
182
|
+
ships: ShipDayCutinAnalysis[];
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export interface CompMeta {
|
|
186
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export interface CompNightAnalysis {
|
|
190
|
+
night_cutin: CompNightCutinAnalysis;
|
|
191
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export interface CompNightCutinAnalysis {
|
|
195
|
+
night_contact_chance: NightContactChance;
|
|
196
|
+
ships: ShipNightCutinAnalysis[];
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export interface ContactAnalysis {
|
|
200
|
+
single: DayContactChance[] | null;
|
|
201
|
+
combined: DayContactChance[] | null;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export interface CustomPowerModifiers {
|
|
205
|
+
precap_mod?: AttackPowerModifier;
|
|
206
|
+
postcap_mod?: AttackPowerModifier;
|
|
207
|
+
basic_power_mod?: AttackPowerModifier;
|
|
208
|
+
historical_mod?: AttackPowerModifier;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export interface DamageReport {
|
|
212
|
+
miss_damage_min: number;
|
|
213
|
+
miss_damage_max: number;
|
|
214
|
+
normal_damage_min: number;
|
|
215
|
+
normal_damage_max: number;
|
|
216
|
+
critical_damage_min: number;
|
|
217
|
+
critical_damage_max: number;
|
|
218
|
+
normal_scratch_rate: number;
|
|
219
|
+
critical_scratch_rate: number;
|
|
220
|
+
damage_density: Histogram<number, number>;
|
|
221
|
+
/**
|
|
222
|
+
* 1発も装甲を貫通しなかった場合の分布。`damage_density` との差が
|
|
223
|
+
* 「少なくとも1発貫通した場合」になる。
|
|
224
|
+
*
|
|
225
|
+
* 割合ダメージを 0 ダメージ扱いにした分布との差では代わりにならない。多段では
|
|
226
|
+
* 「割合+貫通」の結果が貫通ぶんだけ大きなダメージ値へ動くので、その位置まで
|
|
227
|
+
* 割合として数えてしまう。
|
|
228
|
+
*
|
|
229
|
+
* 両者は加算順が違うため、差は丸め誤差の幅で負になり得る。
|
|
230
|
+
*/
|
|
231
|
+
damage_density_no_penetration: Histogram<number, number> | null;
|
|
232
|
+
damage_state_density: Histogram<DamageState, number>;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export interface DayContactChance {
|
|
236
|
+
air_state: AirState;
|
|
237
|
+
trigger_rate: number;
|
|
238
|
+
rank3: number;
|
|
239
|
+
rank2: number;
|
|
240
|
+
rank1: number;
|
|
241
|
+
total: number;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
export interface DayCutinDef {
|
|
245
|
+
tag: DayCutin;
|
|
246
|
+
hits: number;
|
|
247
|
+
type_factor: number | null;
|
|
248
|
+
power_mod: number | null;
|
|
249
|
+
accuracy_mod: number | null;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
253
|
+
observation_term: number | null;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export interface EBonuses {
|
|
257
|
+
firepower: number;
|
|
258
|
+
torpedo: number;
|
|
259
|
+
anti_air: number;
|
|
260
|
+
armor: number;
|
|
261
|
+
evasion: number;
|
|
262
|
+
asw: number;
|
|
263
|
+
los: number;
|
|
264
|
+
bombing: number;
|
|
265
|
+
accuracy: number;
|
|
266
|
+
range: number;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export interface EquippabilityRule {
|
|
270
|
+
ship: CompiledEvaler;
|
|
271
|
+
keys?: string[];
|
|
272
|
+
include?: string;
|
|
273
|
+
exclude?: string;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
277
|
+
index: number;
|
|
278
|
+
ship_id: number;
|
|
279
|
+
power_mod: number;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
export interface FleetCutinReport<T> {
|
|
283
|
+
cutin: FleetCutin;
|
|
284
|
+
rate: number | null;
|
|
285
|
+
formation: Formation;
|
|
286
|
+
attacks: FleetCutinAttackReport<T>[];
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
export interface FleetMeta {
|
|
290
|
+
id: string;
|
|
291
|
+
len: number;
|
|
292
|
+
ships: [string, ShipMeta | null][];
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
export interface FleetState {
|
|
296
|
+
id?: string;
|
|
297
|
+
len?: number;
|
|
298
|
+
s1?: ShipState;
|
|
299
|
+
s2?: ShipState;
|
|
300
|
+
s3?: ShipState;
|
|
301
|
+
s4?: ShipState;
|
|
302
|
+
s5?: ShipState;
|
|
303
|
+
s6?: ShipState;
|
|
304
|
+
s7?: ShipState;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export interface FormationCombatModifiersDef {
|
|
308
|
+
power_mod?: number;
|
|
309
|
+
accuracy_mod?: number;
|
|
310
|
+
evasion_mod?: number;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
export interface FormationDef {
|
|
314
|
+
tag: Formation;
|
|
315
|
+
protection_rate: number | null;
|
|
316
|
+
fleet_anti_air_mod: number;
|
|
317
|
+
shelling: FormationCombatModifiersDef;
|
|
318
|
+
torpedo: FormationCombatModifiersDef;
|
|
319
|
+
asw: FormationCombatModifiersDef;
|
|
320
|
+
night: FormationCombatModifiersDef;
|
|
321
|
+
support_shelling: FormationCombatModifiersDef;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
export interface GearInput {
|
|
325
|
+
gear_id: number;
|
|
326
|
+
types: GearTypeIdArray;
|
|
327
|
+
firepower: number;
|
|
328
|
+
torpedo: number;
|
|
329
|
+
anti_air: number;
|
|
330
|
+
armor: number;
|
|
331
|
+
evasion: number;
|
|
332
|
+
asw: number;
|
|
333
|
+
los: number;
|
|
334
|
+
bombing: number;
|
|
335
|
+
accuracy: number;
|
|
336
|
+
range: number;
|
|
337
|
+
radius: number;
|
|
338
|
+
stars: number;
|
|
339
|
+
ace: number;
|
|
340
|
+
}
|
|
125
341
|
|
|
126
|
-
export
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
| "Yamato3ShipCutin"
|
|
133
|
-
| "QueenElizabethClassCutin"
|
|
134
|
-
| "RichelieuClassCutin";
|
|
342
|
+
export interface GearState {
|
|
343
|
+
id?: string;
|
|
344
|
+
gear_id: number;
|
|
345
|
+
exp?: number;
|
|
346
|
+
stars?: number;
|
|
347
|
+
}
|
|
135
348
|
|
|
136
|
-
export
|
|
349
|
+
export interface GearVecState {
|
|
350
|
+
g1?: GearState;
|
|
351
|
+
g2?: GearState;
|
|
352
|
+
g3?: GearState;
|
|
353
|
+
g4?: GearState;
|
|
354
|
+
g5?: GearState;
|
|
355
|
+
gx?: GearState;
|
|
356
|
+
}
|
|
137
357
|
|
|
138
|
-
export interface
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
358
|
+
export interface HistoricalBonusDef {
|
|
359
|
+
map?: number;
|
|
360
|
+
node?: CompiledEvaler;
|
|
361
|
+
phase?: number;
|
|
362
|
+
debuff?: boolean;
|
|
363
|
+
ship?: CompiledEvaler;
|
|
364
|
+
enemy?: CompiledEvaler;
|
|
365
|
+
power_mod?: AttackPowerModifier;
|
|
366
|
+
armor_penetration?: number;
|
|
367
|
+
accuracy_mod?: number;
|
|
368
|
+
evasion_mod?: number;
|
|
147
369
|
}
|
|
148
370
|
|
|
149
|
-
export interface
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
critical_damage_min: number;
|
|
155
|
-
critical_damage_max: number;
|
|
156
|
-
normal_scratch_rate: number;
|
|
157
|
-
critical_scratch_rate: number;
|
|
158
|
-
damage_density: Histogram<number, number>;
|
|
159
|
-
damage_state_density: Histogram<DamageState, number>;
|
|
371
|
+
export interface HistoricalParams {
|
|
372
|
+
power_mod: AttackPowerModifier;
|
|
373
|
+
armor_penetration: number;
|
|
374
|
+
accuracy_mod: number;
|
|
375
|
+
target_evasion_mod: number;
|
|
160
376
|
}
|
|
161
377
|
|
|
162
|
-
export interface
|
|
163
|
-
|
|
378
|
+
export interface HitRate {
|
|
379
|
+
normal: number;
|
|
380
|
+
critical: number;
|
|
381
|
+
total: number;
|
|
164
382
|
}
|
|
165
383
|
|
|
166
|
-
export interface
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
384
|
+
export interface HitRateParams {
|
|
385
|
+
accuracy_term: number;
|
|
386
|
+
evasion_term: number;
|
|
387
|
+
target_morale_mod: number;
|
|
388
|
+
critical_rate_constant: number;
|
|
389
|
+
critical_percentage_bonus: number;
|
|
390
|
+
hit_percentage_bonus: number;
|
|
172
391
|
}
|
|
173
392
|
|
|
174
|
-
export interface
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
escort_fleet_los_mod: number | null;
|
|
179
|
-
ships: ShipDayCutinAnalysis[];
|
|
393
|
+
export interface MasterAttrRule<T> {
|
|
394
|
+
tag: T;
|
|
395
|
+
name: string;
|
|
396
|
+
expr: CompiledEvaler;
|
|
180
397
|
}
|
|
181
398
|
|
|
182
|
-
export interface
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
399
|
+
export interface MasterBattleDefinitions {
|
|
400
|
+
formation: NestedFormationDef[];
|
|
401
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
402
|
+
day_cutin: DayCutinDef[];
|
|
403
|
+
night_cutin: NightCutinDef[];
|
|
404
|
+
historical_bonuses?: HistoricalBonusDef[];
|
|
187
405
|
}
|
|
188
406
|
|
|
189
|
-
export interface
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
407
|
+
export interface MasterData extends MasterBattleDefinitions {
|
|
408
|
+
created_at: number;
|
|
409
|
+
gears: MasterGear[];
|
|
410
|
+
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
411
|
+
ships: MasterShip[];
|
|
412
|
+
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
413
|
+
ibonuses: MasterIBonuses;
|
|
414
|
+
equippability: MasterEquippability;
|
|
193
415
|
}
|
|
194
416
|
|
|
195
|
-
export interface
|
|
196
|
-
|
|
197
|
-
|
|
417
|
+
export interface MasterEquippability {
|
|
418
|
+
equip_stype: MstStype[];
|
|
419
|
+
equip_exslot: number[];
|
|
420
|
+
equip_ship: Record<number, MstEquipShip>;
|
|
421
|
+
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
422
|
+
rules: EquippabilityRule[];
|
|
198
423
|
}
|
|
199
424
|
|
|
200
|
-
export interface
|
|
201
|
-
|
|
202
|
-
|
|
425
|
+
export interface MasterGear {
|
|
426
|
+
gear_id: number;
|
|
427
|
+
name: string;
|
|
428
|
+
types: GearTypeIdArray;
|
|
429
|
+
special_type?: number;
|
|
430
|
+
max_hp?: number;
|
|
431
|
+
firepower?: number;
|
|
432
|
+
armor?: number;
|
|
433
|
+
torpedo?: number;
|
|
434
|
+
anti_air?: number;
|
|
435
|
+
speed?: number;
|
|
436
|
+
bombing?: number;
|
|
437
|
+
asw?: number;
|
|
438
|
+
los?: number;
|
|
439
|
+
luck?: number;
|
|
440
|
+
accuracy?: number;
|
|
441
|
+
evasion?: number;
|
|
442
|
+
range?: number;
|
|
443
|
+
radius?: number;
|
|
444
|
+
cost?: number;
|
|
445
|
+
improvable?: boolean;
|
|
446
|
+
ship_anti_air_resist?: number;
|
|
447
|
+
fleet_anti_air_resist?: number;
|
|
448
|
+
historical_aircraft_group?: number;
|
|
203
449
|
}
|
|
204
450
|
|
|
205
|
-
export
|
|
451
|
+
export interface MasterIBonusRule {
|
|
452
|
+
expr: CompiledEvaler;
|
|
453
|
+
formula: CompiledEvaler;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
export interface MasterIBonuses {
|
|
457
|
+
shelling_power: MasterIBonusRule[];
|
|
458
|
+
shelling_accuracy: MasterIBonusRule[];
|
|
459
|
+
shelling_aerial_power: MasterIBonusRule[];
|
|
460
|
+
torpedo_power: MasterIBonusRule[];
|
|
461
|
+
torpedo_accuracy: MasterIBonusRule[];
|
|
462
|
+
torpedo_evasion: MasterIBonusRule[];
|
|
463
|
+
asw_power: MasterIBonusRule[];
|
|
464
|
+
asw_accuracy: MasterIBonusRule[];
|
|
465
|
+
night_power: MasterIBonusRule[];
|
|
466
|
+
night_aerial_power: MasterIBonusRule[];
|
|
467
|
+
night_accuracy: MasterIBonusRule[];
|
|
468
|
+
defense_power: MasterIBonusRule[];
|
|
469
|
+
contact_selection: MasterIBonusRule[];
|
|
470
|
+
fighter_power: MasterIBonusRule[];
|
|
471
|
+
ship_anti_air: MasterIBonusRule[];
|
|
472
|
+
fleet_anti_air: MasterIBonusRule[];
|
|
473
|
+
elos: MasterIBonusRule[];
|
|
474
|
+
}
|
|
206
475
|
|
|
207
476
|
export interface MasterShip {
|
|
208
477
|
ship_id: number;
|
|
@@ -236,80 +505,29 @@ export interface MasterShip {
|
|
|
236
505
|
useful?: boolean;
|
|
237
506
|
}
|
|
238
507
|
|
|
239
|
-
export interface
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
expr: CompiledEvaler;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
export interface MasterData extends MasterBattleDefinitions {
|
|
246
|
-
created_at: number;
|
|
247
|
-
gears: MasterGear[];
|
|
248
|
-
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
249
|
-
ships: MasterShip[];
|
|
250
|
-
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
251
|
-
ibonuses: MasterIBonuses;
|
|
252
|
-
equippability: MasterEquippability;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
export interface NationalityDef {
|
|
256
|
-
id: number;
|
|
257
|
-
ctypes: number[];
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export interface SlotSizeVecState {
|
|
261
|
-
ss1?: number;
|
|
262
|
-
ss2?: number;
|
|
263
|
-
ss3?: number;
|
|
264
|
-
ss4?: number;
|
|
265
|
-
ss5?: number;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
269
|
-
|
|
270
|
-
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
271
|
-
id?: string;
|
|
272
|
-
ship_id: number;
|
|
273
|
-
level?: number;
|
|
274
|
-
current_hp?: number;
|
|
275
|
-
morale?: number;
|
|
276
|
-
ammo?: number;
|
|
277
|
-
fuel?: number;
|
|
278
|
-
max_hp_mod?: number;
|
|
279
|
-
firepower_mod?: number;
|
|
280
|
-
torpedo_mod?: number;
|
|
281
|
-
armor_mod?: number;
|
|
282
|
-
anti_air_mod?: number;
|
|
283
|
-
evasion_mod?: number;
|
|
284
|
-
asw_mod?: number;
|
|
285
|
-
los_mod?: number;
|
|
286
|
-
luck_mod?: number;
|
|
287
|
-
day_gunfit_accuracy?: number;
|
|
288
|
-
night_gunfit_accuracy?: number;
|
|
289
|
-
custom_power_mods?: CustomPowerModifiers;
|
|
508
|
+
export interface MoveShipPayload {
|
|
509
|
+
current: [string, string, ShipKey];
|
|
510
|
+
target: [string | null, string, ShipKey];
|
|
290
511
|
}
|
|
291
512
|
|
|
292
|
-
export interface
|
|
293
|
-
|
|
294
|
-
|
|
513
|
+
export interface MstEquipExslotShip {
|
|
514
|
+
api_ctypes: Record<number, number> | null;
|
|
515
|
+
api_ship_ids: Record<number, number> | null;
|
|
516
|
+
api_stypes: Record<number, number> | null;
|
|
295
517
|
}
|
|
296
518
|
|
|
297
|
-
export
|
|
298
|
-
|
|
299
|
-
export interface ShellingStyle {
|
|
300
|
-
tag: "ShellingStyle";
|
|
301
|
-
attack_type: ShellingType;
|
|
302
|
-
cutin: DayCutinLike | null;
|
|
303
|
-
power_mod: number;
|
|
304
|
-
accuracy_mod: number;
|
|
305
|
-
hits: number;
|
|
519
|
+
export interface MstEquipShip {
|
|
520
|
+
api_equip_type: Record<number, MstEquipShipValue>;
|
|
306
521
|
}
|
|
307
522
|
|
|
308
|
-
export
|
|
523
|
+
export interface MstStype {
|
|
524
|
+
api_id: number;
|
|
525
|
+
api_equip_type: Record<number, number>;
|
|
526
|
+
}
|
|
309
527
|
|
|
310
|
-
export interface
|
|
311
|
-
|
|
312
|
-
|
|
528
|
+
export interface NationalityDef {
|
|
529
|
+
id: number;
|
|
530
|
+
ctypes: number[];
|
|
313
531
|
}
|
|
314
532
|
|
|
315
533
|
export interface NightAttackStyle {
|
|
@@ -321,103 +539,28 @@ export interface NightAttackStyle {
|
|
|
321
539
|
hits: number;
|
|
322
540
|
}
|
|
323
541
|
|
|
324
|
-
export interface
|
|
325
|
-
|
|
326
|
-
|
|
542
|
+
export interface NightConditions {
|
|
543
|
+
player?: NightFleetConditions;
|
|
544
|
+
enemy?: NightFleetConditions;
|
|
327
545
|
}
|
|
328
546
|
|
|
329
|
-
export
|
|
330
|
-
|
|
331
|
-
export type SpecialEnemyType =
|
|
332
|
-
| "None"
|
|
333
|
-
| "SoftSkinned"
|
|
334
|
-
| "Pillbox"
|
|
335
|
-
| "IsolatedIsland"
|
|
336
|
-
| "SupplyDepot"
|
|
337
|
-
| "NewSupplyDepot"
|
|
338
|
-
| "HarbourSummerPrincess"
|
|
339
|
-
| "PtImp"
|
|
340
|
-
| "BattleshipSummerPrincess"
|
|
341
|
-
| "HeavyCruiserSummerPrincess"
|
|
342
|
-
| "FrenchBattleshipPrincess"
|
|
343
|
-
| "AnchorageWaterDemonVacationMode"
|
|
344
|
-
| "DockPrincess"
|
|
345
|
-
| "SummerAircraftCarrierDemon"
|
|
346
|
-
| "EuropeanWaterPrincess";
|
|
347
|
-
|
|
348
|
-
export type Role = "Main" | "Escort";
|
|
349
|
-
|
|
350
|
-
export type Side = "Player" | "Enemy";
|
|
351
|
-
|
|
352
|
-
export type Align = "Left" | "Right";
|
|
353
|
-
|
|
354
|
-
export type ShipType =
|
|
355
|
-
| "Unknown"
|
|
356
|
-
| "DE"
|
|
357
|
-
| "DD"
|
|
358
|
-
| "CL"
|
|
359
|
-
| "CLT"
|
|
360
|
-
| "CA"
|
|
361
|
-
| "CAV"
|
|
362
|
-
| "CVL"
|
|
363
|
-
| "FBB"
|
|
364
|
-
| "BB"
|
|
365
|
-
| "BBV"
|
|
366
|
-
| "CV"
|
|
367
|
-
| "XBB"
|
|
368
|
-
| "SS"
|
|
369
|
-
| "SSV"
|
|
370
|
-
| "AP"
|
|
371
|
-
| "AV"
|
|
372
|
-
| "LHA"
|
|
373
|
-
| "CVB"
|
|
374
|
-
| "AR"
|
|
375
|
-
| "AS"
|
|
376
|
-
| "CT"
|
|
377
|
-
| "AO";
|
|
378
|
-
|
|
379
|
-
export type ShipCategory =
|
|
380
|
-
| "Battleship"
|
|
381
|
-
| "AircraftCarrier"
|
|
382
|
-
| "HeavyCruiser"
|
|
383
|
-
| "LightCruiser"
|
|
384
|
-
| "Destroyer"
|
|
385
|
-
| "CoastalDefenseShip"
|
|
386
|
-
| "Submarine"
|
|
387
|
-
| "AuxiliaryShip";
|
|
388
|
-
|
|
389
|
-
export interface DayContactChance {
|
|
390
|
-
air_state: AirState;
|
|
391
|
-
trigger_rate: number;
|
|
392
|
-
rank3: number;
|
|
393
|
-
rank2: number;
|
|
547
|
+
export interface NightContactChance {
|
|
394
548
|
rank1: number;
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
export interface ContactAnalysis {
|
|
399
|
-
single: DayContactChance[] | null;
|
|
400
|
-
combined: DayContactChance[] | null;
|
|
549
|
+
rank2: number;
|
|
550
|
+
rank3: number;
|
|
401
551
|
}
|
|
402
552
|
|
|
403
|
-
export interface
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
phase?: number;
|
|
407
|
-
debuff?: boolean;
|
|
408
|
-
disable_historical_mod?: boolean;
|
|
409
|
-
landing_battle?: boolean;
|
|
553
|
+
export interface NightCutinActionReport
|
|
554
|
+
extends ActionReport<NightPhaseAttackStyle> {
|
|
555
|
+
cutin_term: number | null;
|
|
410
556
|
}
|
|
411
557
|
|
|
412
|
-
export
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
target_formation?: Formation;
|
|
419
|
-
engagement: Engagement;
|
|
420
|
-
node_state: NodeState;
|
|
558
|
+
export interface NightCutinDef {
|
|
559
|
+
tag: NightCutin;
|
|
560
|
+
hits: number;
|
|
561
|
+
type_factor: number | null;
|
|
562
|
+
power_mod: number | null;
|
|
563
|
+
accuracy_mod: number | null;
|
|
421
564
|
}
|
|
422
565
|
|
|
423
566
|
export interface NightFleetConditions {
|
|
@@ -427,196 +570,146 @@ export interface NightFleetConditions {
|
|
|
427
570
|
activates_large_searchlight?: boolean;
|
|
428
571
|
}
|
|
429
572
|
|
|
430
|
-
export interface
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
export interface BattleConditions {
|
|
436
|
-
org_type: OrgType;
|
|
437
|
-
role: Role;
|
|
438
|
-
ship_index: number;
|
|
439
|
-
fleet_len: number;
|
|
440
|
-
formation: Formation;
|
|
441
|
-
fleet_los_mod: number | null;
|
|
442
|
-
night_conditions: NightFleetConditions;
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
export type OrgType =
|
|
446
|
-
| "Single"
|
|
447
|
-
| "CarrierTaskForce"
|
|
448
|
-
| "SurfaceTaskForce"
|
|
449
|
-
| "TransportEscort"
|
|
450
|
-
| "EnemySingle"
|
|
451
|
-
| "EnemyCombined";
|
|
452
|
-
|
|
453
|
-
export interface ShipPosition {
|
|
454
|
-
org_type?: OrgType;
|
|
455
|
-
fleet_type?: FleetType;
|
|
456
|
-
fleet_len?: number;
|
|
457
|
-
index?: number;
|
|
573
|
+
export interface NodeAttackAnalysis {
|
|
574
|
+
left: AttackAnalysis;
|
|
575
|
+
right: AttackAnalysis;
|
|
576
|
+
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
577
|
+
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
458
578
|
}
|
|
459
579
|
|
|
460
|
-
export interface
|
|
580
|
+
export interface NodeAttackAnalyzerConfig {
|
|
461
581
|
air_state?: AirState;
|
|
462
582
|
engagement?: Engagement;
|
|
463
|
-
|
|
464
|
-
|
|
583
|
+
node_state?: NodeState;
|
|
584
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
585
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
465
586
|
}
|
|
466
587
|
|
|
467
|
-
export
|
|
468
|
-
|
|
469
|
-
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
470
|
-
|
|
471
|
-
export interface MasterBattleDefinitions {
|
|
472
|
-
formation: NestedFormationDef[];
|
|
473
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
474
|
-
day_cutin: DayCutinDef[];
|
|
475
|
-
night_cutin: NightCutinDef[];
|
|
476
|
-
historical_bonuses?: HistoricalBonusDef[];
|
|
588
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
589
|
+
formation?: Formation;
|
|
477
590
|
}
|
|
478
591
|
|
|
479
|
-
export
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
g5?: GearState;
|
|
487
|
-
gx?: GearState;
|
|
592
|
+
export interface NodeState {
|
|
593
|
+
map?: number;
|
|
594
|
+
node?: NodeId;
|
|
595
|
+
phase?: number;
|
|
596
|
+
debuff?: boolean;
|
|
597
|
+
disable_historical_mod?: boolean;
|
|
598
|
+
landing_battle?: boolean;
|
|
488
599
|
}
|
|
489
600
|
|
|
490
|
-
export interface
|
|
601
|
+
export interface OrgState {
|
|
491
602
|
id?: string;
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
export interface CompMeta {
|
|
506
|
-
fleets: Record<FleetType, FleetMeta>;
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
export interface ShipMeta {
|
|
510
|
-
id: string;
|
|
511
|
-
ship_id: number;
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
export interface ActionReport<T> {
|
|
515
|
-
data: Record<string, AttackReport<T>>;
|
|
516
|
-
damage_state_density: Histogram<DamageState, number> | null;
|
|
517
|
-
is_active: boolean;
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
export interface SimulatorResultItem {
|
|
521
|
-
id: string;
|
|
522
|
-
fleet_type: FleetType;
|
|
523
|
-
index: number;
|
|
524
|
-
damage_state_map: Record<DamageState, number>;
|
|
603
|
+
f1?: FleetState;
|
|
604
|
+
f2?: FleetState;
|
|
605
|
+
f3?: FleetState;
|
|
606
|
+
f4?: FleetState;
|
|
607
|
+
a1?: AirSquadronState;
|
|
608
|
+
a2?: AirSquadronState;
|
|
609
|
+
a3?: AirSquadronState;
|
|
610
|
+
hq_level?: number;
|
|
611
|
+
org_type?: OrgType;
|
|
612
|
+
sortie?: FleetKey;
|
|
613
|
+
route_sup?: FleetKey;
|
|
614
|
+
boss_sup?: FleetKey;
|
|
525
615
|
}
|
|
526
616
|
|
|
527
|
-
export interface
|
|
528
|
-
|
|
529
|
-
|
|
617
|
+
export interface ShellingStyle {
|
|
618
|
+
tag: "ShellingStyle";
|
|
619
|
+
attack_type: ShellingType;
|
|
620
|
+
cutin: DayCutinLike | null;
|
|
621
|
+
power_mod: number;
|
|
622
|
+
accuracy_mod: number;
|
|
623
|
+
hits: number;
|
|
530
624
|
}
|
|
531
625
|
|
|
532
|
-
export
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
s1?: ShipState;
|
|
538
|
-
s2?: ShipState;
|
|
539
|
-
s3?: ShipState;
|
|
540
|
-
s4?: ShipState;
|
|
541
|
-
s5?: ShipState;
|
|
542
|
-
s6?: ShipState;
|
|
543
|
-
s7?: ShipState;
|
|
626
|
+
export interface ShipAnalyzerConfig {
|
|
627
|
+
air_state?: AirState;
|
|
628
|
+
engagement?: Engagement;
|
|
629
|
+
left?: AttackAnalyzerShipConfig;
|
|
630
|
+
right?: AttackAnalyzerShipConfig;
|
|
544
631
|
}
|
|
545
632
|
|
|
546
|
-
export
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
formation: Record<Formation, NestedFormationDef>;
|
|
550
|
-
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
551
|
-
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
552
|
-
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
553
|
-
historical_bonuses: HistoricalBonusDef[];
|
|
633
|
+
export interface ShipConditions extends ShipPosition {
|
|
634
|
+
formation?: Formation;
|
|
635
|
+
amagiri_index?: number | null;
|
|
554
636
|
}
|
|
555
637
|
|
|
556
|
-
export interface
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
638
|
+
export interface ShipDayCutinAnalysis {
|
|
639
|
+
ship_id: number;
|
|
640
|
+
role: Role;
|
|
641
|
+
index: number;
|
|
642
|
+
rank3: DayCutinReport;
|
|
643
|
+
rank2: DayCutinReport;
|
|
562
644
|
}
|
|
563
645
|
|
|
564
|
-
export interface
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
accuracy_mod: number | null;
|
|
646
|
+
export interface ShipInput {
|
|
647
|
+
ship_id: number;
|
|
648
|
+
ctype: number;
|
|
649
|
+
stype: number;
|
|
650
|
+
yomi: string;
|
|
570
651
|
}
|
|
571
652
|
|
|
572
|
-
export interface
|
|
573
|
-
id:
|
|
574
|
-
|
|
575
|
-
multiplier: number | null;
|
|
576
|
-
guaranteed: number | null;
|
|
577
|
-
sequential: boolean | null;
|
|
653
|
+
export interface ShipMeta {
|
|
654
|
+
id: string;
|
|
655
|
+
ship_id: number;
|
|
578
656
|
}
|
|
579
657
|
|
|
580
|
-
export interface
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
658
|
+
export interface ShipNightCutinAnalysis {
|
|
659
|
+
ship_id: number;
|
|
660
|
+
index: number;
|
|
661
|
+
normal: NightCutinActionReport;
|
|
662
|
+
chuuha: NightCutinActionReport;
|
|
585
663
|
}
|
|
586
664
|
|
|
587
|
-
export interface
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
torpedo: FormationCombatModifiersDef;
|
|
593
|
-
asw: FormationCombatModifiersDef;
|
|
594
|
-
night: FormationCombatModifiersDef;
|
|
595
|
-
support_shelling: FormationCombatModifiersDef;
|
|
665
|
+
export interface ShipPosition {
|
|
666
|
+
org_type?: OrgType;
|
|
667
|
+
fleet_type?: FleetType;
|
|
668
|
+
fleet_len?: number;
|
|
669
|
+
index?: number;
|
|
596
670
|
}
|
|
597
671
|
|
|
598
|
-
export interface
|
|
599
|
-
|
|
600
|
-
|
|
672
|
+
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
673
|
+
id?: string;
|
|
674
|
+
ship_id: number;
|
|
675
|
+
level?: number;
|
|
676
|
+
current_hp?: number;
|
|
677
|
+
morale?: number;
|
|
678
|
+
ammo?: number;
|
|
679
|
+
fuel?: number;
|
|
680
|
+
max_hp_mod?: number;
|
|
681
|
+
firepower_mod?: number;
|
|
682
|
+
torpedo_mod?: number;
|
|
683
|
+
armor_mod?: number;
|
|
684
|
+
anti_air_mod?: number;
|
|
601
685
|
evasion_mod?: number;
|
|
686
|
+
asw_mod?: number;
|
|
687
|
+
los_mod?: number;
|
|
688
|
+
luck_mod?: number;
|
|
689
|
+
day_gunfit_accuracy?: number;
|
|
690
|
+
night_gunfit_accuracy?: number;
|
|
691
|
+
custom_power_mods?: CustomPowerModifiers;
|
|
602
692
|
}
|
|
603
693
|
|
|
604
|
-
export interface
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
phase?: number;
|
|
608
|
-
debuff?: boolean;
|
|
609
|
-
ship?: CompiledEvaler;
|
|
610
|
-
enemy?: CompiledEvaler;
|
|
611
|
-
power_mod?: AttackPowerModifier;
|
|
612
|
-
armor_penetration?: number;
|
|
613
|
-
accuracy_mod?: number;
|
|
614
|
-
evasion_mod?: number;
|
|
694
|
+
export interface SimulatorResult {
|
|
695
|
+
items: SimulatorResultItem[];
|
|
696
|
+
sunk_vec: [number, number, number][];
|
|
615
697
|
}
|
|
616
698
|
|
|
617
|
-
export
|
|
618
|
-
|
|
619
|
-
|
|
699
|
+
export interface SimulatorResultItem {
|
|
700
|
+
id: string;
|
|
701
|
+
fleet_type: FleetType;
|
|
702
|
+
index: number;
|
|
703
|
+
damage_state_map: Record<DamageState, number>;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
export interface SlotSizeVecState {
|
|
707
|
+
ss1?: number;
|
|
708
|
+
ss2?: number;
|
|
709
|
+
ss3?: number;
|
|
710
|
+
ss4?: number;
|
|
711
|
+
ss5?: number;
|
|
712
|
+
}
|
|
620
713
|
|
|
621
714
|
export interface SpecialEnemyModifiers {
|
|
622
715
|
precap_general_mod: AttackPowerModifier;
|
|
@@ -637,23 +730,30 @@ export interface SpecialEnemyModifiers {
|
|
|
637
730
|
landing_forces_t4kai_mod: AttackPowerModifier;
|
|
638
731
|
t4_tank_group_mod: AttackPowerModifier;
|
|
639
732
|
t4_tank_kai_mod: AttackPowerModifier;
|
|
733
|
+
panzer2_mod: AttackPowerModifier;
|
|
734
|
+
r35_french_mod: AttackPowerModifier;
|
|
640
735
|
postcap_general_mod: AttackPowerModifier;
|
|
641
736
|
pt_mod: AttackPowerModifier | null;
|
|
642
737
|
}
|
|
643
738
|
|
|
644
|
-
export interface
|
|
645
|
-
|
|
646
|
-
|
|
739
|
+
export interface SupportShellingSimulatorParams {
|
|
740
|
+
attacker_formation?: Formation;
|
|
741
|
+
target_formation?: Formation;
|
|
742
|
+
engagement: Engagement;
|
|
743
|
+
node_state: NodeState;
|
|
647
744
|
}
|
|
648
745
|
|
|
649
|
-
export interface
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
basic_power_mod?: AttackPowerModifier;
|
|
653
|
-
historical_mod?: AttackPowerModifier;
|
|
746
|
+
export interface SupportShellingStyle {
|
|
747
|
+
tag: "SupportShellingStyle";
|
|
748
|
+
attack_type: SupportShellingType;
|
|
654
749
|
}
|
|
655
750
|
|
|
656
|
-
export
|
|
751
|
+
export interface TorpedoAttackStyle {
|
|
752
|
+
tag: "TorpedoAttackStyle";
|
|
753
|
+
attack_type: TorpedoAttackType;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
657
757
|
|
|
658
758
|
export type AirState =
|
|
659
759
|
| "AirSupremacy"
|
|
@@ -662,15 +762,20 @@ export type AirState =
|
|
|
662
762
|
| "AirDenial"
|
|
663
763
|
| "AirIncapability";
|
|
664
764
|
|
|
665
|
-
export type
|
|
765
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
666
766
|
|
|
667
|
-
export type
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
767
|
+
export type AirWaveType = "Jet" | "LandBase" | "Carrier";
|
|
768
|
+
|
|
769
|
+
export type Align = "Left" | "Right";
|
|
770
|
+
|
|
771
|
+
export type AswAttackType = "DepthCharge" | "Aerial";
|
|
772
|
+
|
|
773
|
+
export type AttackType =
|
|
774
|
+
| { t: "Asw"; c: AswAttackType }
|
|
775
|
+
| { t: "Shelling"; c: ShellingType }
|
|
776
|
+
| { t: "Night"; c: NightAttackType }
|
|
777
|
+
| { t: "Torpedo" }
|
|
778
|
+
| { t: "SupportShelling"; c: SupportShellingType };
|
|
674
779
|
|
|
675
780
|
export type CombinedFormation =
|
|
676
781
|
| "Cruising1"
|
|
@@ -678,148 +783,84 @@ export type CombinedFormation =
|
|
|
678
783
|
| "Cruising3"
|
|
679
784
|
| "Cruising4";
|
|
680
785
|
|
|
681
|
-
export
|
|
682
|
-
is_cutin: boolean;
|
|
683
|
-
basic: number;
|
|
684
|
-
cap: number;
|
|
685
|
-
precap_mod: AttackPowerModifier;
|
|
686
|
-
postcap_mod: AttackPowerModifier;
|
|
687
|
-
ap_shell_mod: number | null;
|
|
688
|
-
aerial_power: number | null;
|
|
689
|
-
proficiency_critical_mod: number;
|
|
690
|
-
armor_penetration: number;
|
|
691
|
-
remaining_ammo_mod: number;
|
|
692
|
-
balloon_mod: number;
|
|
693
|
-
special_enemy_mods: SpecialEnemyModifiers;
|
|
694
|
-
historical_mod: AttackPowerModifier;
|
|
695
|
-
custom_mods: CustomPowerModifiers;
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
export interface AttackPower {
|
|
699
|
-
precap: number;
|
|
700
|
-
is_capped: boolean;
|
|
701
|
-
capped: number;
|
|
702
|
-
normal: number;
|
|
703
|
-
critical: number;
|
|
704
|
-
armor_penetration: number;
|
|
705
|
-
remaining_ammo_mod: number;
|
|
706
|
-
}
|
|
707
|
-
|
|
708
|
-
export interface CompAntiAirAnalysis {
|
|
709
|
-
fleet_adjusted_anti_air: number;
|
|
710
|
-
ships: AntiAirReport[];
|
|
711
|
-
anti_air_cutin_chance: [number, number][];
|
|
712
|
-
}
|
|
713
|
-
|
|
714
|
-
export interface AntiAirReport {
|
|
715
|
-
ship_id: number;
|
|
716
|
-
role: Role;
|
|
717
|
-
index: number;
|
|
718
|
-
adjusted_anti_air: number | null;
|
|
719
|
-
proportional_shotdown_rate: number | null;
|
|
720
|
-
fixed_shotdown_number: number | null;
|
|
721
|
-
guaranteed: number | null;
|
|
722
|
-
anti_air_cutin_chance: [number, number][];
|
|
723
|
-
anti_air_propellant_barrage_chance: number | null;
|
|
724
|
-
}
|
|
725
|
-
|
|
726
|
-
export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
727
|
-
index: number;
|
|
728
|
-
ship_id: number;
|
|
729
|
-
power_mod: number;
|
|
730
|
-
}
|
|
786
|
+
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
731
787
|
|
|
732
|
-
export
|
|
733
|
-
cutin: FleetCutin;
|
|
734
|
-
rate: number | null;
|
|
735
|
-
formation: Formation;
|
|
736
|
-
attacks: FleetCutinAttackReport<T>[];
|
|
737
|
-
}
|
|
788
|
+
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
738
789
|
|
|
739
|
-
export
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
luck?: number;
|
|
754
|
-
accuracy?: number;
|
|
755
|
-
evasion?: number;
|
|
756
|
-
range?: number;
|
|
757
|
-
radius?: number;
|
|
758
|
-
cost?: number;
|
|
759
|
-
improvable?: boolean;
|
|
760
|
-
ship_anti_air_resist?: number;
|
|
761
|
-
fleet_anti_air_resist?: number;
|
|
762
|
-
historical_aircraft_group?: number;
|
|
763
|
-
}
|
|
790
|
+
export type DayCutin =
|
|
791
|
+
| "Zuiun"
|
|
792
|
+
| "AirSea"
|
|
793
|
+
| "MainMain"
|
|
794
|
+
| "MainAp"
|
|
795
|
+
| "MainRadar"
|
|
796
|
+
| "MainSec"
|
|
797
|
+
| "DoubleAttack"
|
|
798
|
+
| "JFJBJB"
|
|
799
|
+
| "JFJB"
|
|
800
|
+
| "JFBA"
|
|
801
|
+
| "FBA"
|
|
802
|
+
| "BBA"
|
|
803
|
+
| "BA";
|
|
764
804
|
|
|
765
|
-
export
|
|
766
|
-
current: [string, string, ShipKey];
|
|
767
|
-
target: [string | null, string, ShipKey];
|
|
768
|
-
}
|
|
805
|
+
export type DayCutinLike = DayCutin | FleetCutin;
|
|
769
806
|
|
|
770
|
-
export type
|
|
807
|
+
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
771
808
|
|
|
772
|
-
export
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
}
|
|
809
|
+
export type DayPhaseAttackType =
|
|
810
|
+
| { t: "Shelling"; c: ShellingType }
|
|
811
|
+
| { t: "Asw"; c: AswAttackType };
|
|
776
812
|
|
|
777
|
-
export type
|
|
813
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
778
814
|
|
|
779
|
-
export
|
|
780
|
-
id?: string;
|
|
781
|
-
mode?: AirSquadronMode;
|
|
782
|
-
}
|
|
815
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
783
816
|
|
|
784
|
-
export
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
817
|
+
export type FleetCutin =
|
|
818
|
+
| "NelsonTouch"
|
|
819
|
+
| "NagatoClassCutin"
|
|
820
|
+
| "ColoradoClassCutin"
|
|
821
|
+
| "KongouClassCutin"
|
|
822
|
+
| "Yamato2ShipCutin"
|
|
823
|
+
| "Yamato3ShipCutin"
|
|
824
|
+
| "QueenElizabethClassCutin"
|
|
825
|
+
| "RichelieuClassCutin";
|
|
790
826
|
|
|
791
|
-
export
|
|
792
|
-
gear_id: number;
|
|
793
|
-
types: GearTypeIdArray;
|
|
794
|
-
firepower: number;
|
|
795
|
-
torpedo: number;
|
|
796
|
-
anti_air: number;
|
|
797
|
-
armor: number;
|
|
798
|
-
evasion: number;
|
|
799
|
-
asw: number;
|
|
800
|
-
los: number;
|
|
801
|
-
bombing: number;
|
|
802
|
-
accuracy: number;
|
|
803
|
-
range: number;
|
|
804
|
-
radius: number;
|
|
805
|
-
stars: number;
|
|
806
|
-
ace: number;
|
|
807
|
-
}
|
|
827
|
+
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
808
828
|
|
|
809
|
-
export
|
|
810
|
-
firepower: number;
|
|
811
|
-
torpedo: number;
|
|
812
|
-
anti_air: number;
|
|
813
|
-
armor: number;
|
|
814
|
-
evasion: number;
|
|
815
|
-
asw: number;
|
|
816
|
-
los: number;
|
|
817
|
-
bombing: number;
|
|
818
|
-
accuracy: number;
|
|
819
|
-
range: number;
|
|
820
|
-
}
|
|
829
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
821
830
|
|
|
822
|
-
export type
|
|
831
|
+
export type Formation = SingleFormation | CombinedFormation;
|
|
832
|
+
|
|
833
|
+
export type GearAttr =
|
|
834
|
+
| "Unknown"
|
|
835
|
+
| "HighAngleMount"
|
|
836
|
+
| "NightFighter"
|
|
837
|
+
| "NightAttacker"
|
|
838
|
+
| "HeavyBomber"
|
|
839
|
+
| "NightRecon"
|
|
840
|
+
| "NightBomber"
|
|
841
|
+
| "MainGun"
|
|
842
|
+
| "Radar"
|
|
843
|
+
| "SurfaceRadar"
|
|
844
|
+
| "AirRadar"
|
|
845
|
+
| "DepthChargeProjector"
|
|
846
|
+
| "SynergisticDepthCharge"
|
|
847
|
+
| "AntiSubMortar"
|
|
848
|
+
| "AntiSubWeapon"
|
|
849
|
+
| "ApDepthCharge"
|
|
850
|
+
| "AntiSubAircraft"
|
|
851
|
+
| "LateModelBowTorpedo"
|
|
852
|
+
| "Seaplane"
|
|
853
|
+
| "CbAircraft"
|
|
854
|
+
| "LbAircraft"
|
|
855
|
+
| "JetAircraft"
|
|
856
|
+
| "Fighter"
|
|
857
|
+
| "Recon"
|
|
858
|
+
| "ObservationSeaplane"
|
|
859
|
+
| "CbFighterBomber"
|
|
860
|
+
| "AntiInstDiveBomber"
|
|
861
|
+
| "CbSwordfish"
|
|
862
|
+
| "SemiNightPlane"
|
|
863
|
+
| "HighAltitudeInterceptor";
|
|
823
864
|
|
|
824
865
|
export type GearCategory =
|
|
825
866
|
| "Fighter"
|
|
@@ -899,180 +940,160 @@ export type GearType =
|
|
|
899
940
|
| "CbRecon2"
|
|
900
941
|
| "SecondaryGun2";
|
|
901
942
|
|
|
902
|
-
export
|
|
903
|
-
id?: string;
|
|
904
|
-
f1?: FleetState;
|
|
905
|
-
f2?: FleetState;
|
|
906
|
-
f3?: FleetState;
|
|
907
|
-
f4?: FleetState;
|
|
908
|
-
a1?: AirSquadronState;
|
|
909
|
-
a2?: AirSquadronState;
|
|
910
|
-
a3?: AirSquadronState;
|
|
911
|
-
hq_level?: number;
|
|
912
|
-
org_type?: OrgType;
|
|
913
|
-
sortie?: FleetKey;
|
|
914
|
-
route_sup?: FleetKey;
|
|
915
|
-
boss_sup?: FleetKey;
|
|
916
|
-
}
|
|
943
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
917
944
|
|
|
918
|
-
export type
|
|
945
|
+
export type GearVecInput = GearInput[];
|
|
919
946
|
|
|
920
|
-
export
|
|
921
|
-
accuracy_term: number;
|
|
922
|
-
evasion_term: number;
|
|
923
|
-
target_morale_mod: number;
|
|
924
|
-
critical_rate_constant: number;
|
|
925
|
-
critical_percentage_bonus: number;
|
|
926
|
-
hit_percentage_bonus: number;
|
|
927
|
-
}
|
|
947
|
+
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
928
948
|
|
|
929
|
-
export
|
|
930
|
-
normal: number;
|
|
931
|
-
critical: number;
|
|
932
|
-
total: number;
|
|
933
|
-
}
|
|
949
|
+
export type MstEquipShipValue = null | number[];
|
|
934
950
|
|
|
935
|
-
export
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
}
|
|
951
|
+
export type NestedFormationDef =
|
|
952
|
+
| FormationDef
|
|
953
|
+
| { top_half: FormationDef; bottom_half: FormationDef };
|
|
939
954
|
|
|
940
|
-
export
|
|
941
|
-
engagement: Engagement;
|
|
942
|
-
formation: Formation;
|
|
943
|
-
anti_air_cutin: number | null;
|
|
944
|
-
ship_anti_air_resist: number;
|
|
945
|
-
fleet_anti_air_resist: number;
|
|
946
|
-
left_night_fleet_conditions: NightFleetConditions;
|
|
947
|
-
right_night_fleet_conditions: NightFleetConditions;
|
|
948
|
-
}
|
|
955
|
+
export type NightAttackType = "Normal" | "Swordfish" | "Aerial";
|
|
949
956
|
|
|
950
|
-
export
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
957
|
+
export type NightCutin =
|
|
958
|
+
| "MainTorpRadar"
|
|
959
|
+
| "TorpLookoutRadar"
|
|
960
|
+
| "TorpTsloTorp"
|
|
961
|
+
| "TorpTsloDrum"
|
|
962
|
+
| "NightZuiun2Radar"
|
|
963
|
+
| "NightZuiun2"
|
|
964
|
+
| "NightZuiunRadar"
|
|
965
|
+
| "NightZuiun"
|
|
966
|
+
| "DoubleAttack"
|
|
967
|
+
| "TorpTorpMain"
|
|
968
|
+
| "TorpTorpTorp"
|
|
969
|
+
| "MainMainSec"
|
|
970
|
+
| "MainMainMain"
|
|
971
|
+
| "SubTorpTorp"
|
|
972
|
+
| "SubRadarTorp"
|
|
973
|
+
| "Cvci1_25"
|
|
974
|
+
| "Cvci1_20"
|
|
975
|
+
| "Photobomber"
|
|
976
|
+
| "Cvci1_18";
|
|
954
977
|
|
|
955
|
-
export
|
|
956
|
-
day: CompDayAnalysis;
|
|
957
|
-
night: CompNightAnalysis;
|
|
958
|
-
contact: ContactAnalysis;
|
|
959
|
-
anti_air: CompAntiAirAnalysis;
|
|
960
|
-
}
|
|
978
|
+
export type NightCutinLike = NightCutin | FleetCutin;
|
|
961
979
|
|
|
962
|
-
export
|
|
963
|
-
attacker_is_player: boolean;
|
|
964
|
-
attacker_ship_id: number;
|
|
965
|
-
target_ship_id: number;
|
|
966
|
-
historical_params: HistoricalParams;
|
|
967
|
-
day: ActionReport<DayPhaseAttackStyle>;
|
|
968
|
-
night: ActionReport<NightPhaseAttackStyle>;
|
|
969
|
-
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
970
|
-
opening_asw: ActionReport<AswAttackStyle>;
|
|
971
|
-
support_shelling: ActionReport<SupportShellingStyle>;
|
|
972
|
-
}
|
|
980
|
+
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
973
981
|
|
|
974
|
-
export
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
978
|
-
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
979
|
-
}
|
|
982
|
+
export type NightPhaseAttackType =
|
|
983
|
+
| { t: "Night"; c: NightAttackType }
|
|
984
|
+
| { t: "Asw"; c: AswAttackType };
|
|
980
985
|
|
|
981
|
-
export
|
|
982
|
-
formation?: Formation;
|
|
983
|
-
}
|
|
986
|
+
export type NodeId = string;
|
|
984
987
|
|
|
985
|
-
export
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
988
|
+
export type OrgType =
|
|
989
|
+
| "Single"
|
|
990
|
+
| "CarrierTaskForce"
|
|
991
|
+
| "SurfaceTaskForce"
|
|
992
|
+
| "TransportEscort"
|
|
993
|
+
| "EnemySingle"
|
|
994
|
+
| "EnemyCombined";
|
|
995
|
+
|
|
996
|
+
export type Role = "Main" | "Escort";
|
|
997
|
+
|
|
998
|
+
export type ShellingType = "Normal" | "Aerial";
|
|
999
|
+
|
|
1000
|
+
export type ShipAttr =
|
|
1001
|
+
| "Unknown"
|
|
1002
|
+
| "NightCarrier"
|
|
1003
|
+
| "Installation"
|
|
1004
|
+
| "RoyalNavy"
|
|
1005
|
+
| "Kai2"
|
|
1006
|
+
| "TurbineSpeedBonus"
|
|
1007
|
+
| "NewModelBoilerSpeedBonus"
|
|
1008
|
+
| "Pillbox"
|
|
1009
|
+
| "IsolatedIsland"
|
|
1010
|
+
| "HarbourSummerPrincess"
|
|
1011
|
+
| "SupplyDepot"
|
|
1012
|
+
| "NewSupplyDepot"
|
|
1013
|
+
| "PtImp"
|
|
1014
|
+
| "BattleshipSummerPrincess"
|
|
1015
|
+
| "HeavyCruiserSummerPrincess"
|
|
1016
|
+
| "AnchorageWaterDemonVacationMode"
|
|
1017
|
+
| "FrenchBattleshipPrincess"
|
|
1018
|
+
| "DockPrincess"
|
|
1019
|
+
| "SummerAircraftCarrierDemon"
|
|
1020
|
+
| "EuropeanWaterPrincess";
|
|
992
1021
|
|
|
993
|
-
export
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
1022
|
+
export type ShipCategory =
|
|
1023
|
+
| "Battleship"
|
|
1024
|
+
| "AircraftCarrier"
|
|
1025
|
+
| "HeavyCruiser"
|
|
1026
|
+
| "LightCruiser"
|
|
1027
|
+
| "Destroyer"
|
|
1028
|
+
| "CoastalDefenseShip"
|
|
1029
|
+
| "Submarine"
|
|
1030
|
+
| "AuxiliaryShip";
|
|
999
1031
|
|
|
1000
|
-
export
|
|
1001
|
-
expr: CompiledEvaler;
|
|
1002
|
-
formula: CompiledEvaler;
|
|
1003
|
-
}
|
|
1032
|
+
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
1004
1033
|
|
|
1005
|
-
export
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1034
|
+
export type ShipType =
|
|
1035
|
+
| "Unknown"
|
|
1036
|
+
| "DE"
|
|
1037
|
+
| "DD"
|
|
1038
|
+
| "CL"
|
|
1039
|
+
| "CLT"
|
|
1040
|
+
| "CA"
|
|
1041
|
+
| "CAV"
|
|
1042
|
+
| "CVL"
|
|
1043
|
+
| "FBB"
|
|
1044
|
+
| "BB"
|
|
1045
|
+
| "BBV"
|
|
1046
|
+
| "CV"
|
|
1047
|
+
| "XBB"
|
|
1048
|
+
| "SS"
|
|
1049
|
+
| "SSV"
|
|
1050
|
+
| "AP"
|
|
1051
|
+
| "AV"
|
|
1052
|
+
| "LHA"
|
|
1053
|
+
| "CVB"
|
|
1054
|
+
| "AR"
|
|
1055
|
+
| "AS"
|
|
1056
|
+
| "CT"
|
|
1057
|
+
| "AO";
|
|
1024
1058
|
|
|
1025
|
-
export
|
|
1026
|
-
equip_stype: MstStype[];
|
|
1027
|
-
equip_exslot: number[];
|
|
1028
|
-
equip_ship: Record<number, MstEquipShip>;
|
|
1029
|
-
equip_exslot_ship: Record<number, MstEquipExslotShip>;
|
|
1030
|
-
rules: EquippabilityRule[];
|
|
1031
|
-
}
|
|
1059
|
+
export type Side = "Player" | "Enemy";
|
|
1032
1060
|
|
|
1033
|
-
export
|
|
1034
|
-
|
|
1035
|
-
|
|
1061
|
+
export type SingleFormation =
|
|
1062
|
+
| "LineAhead"
|
|
1063
|
+
| "DoubleLine"
|
|
1064
|
+
| "Diamond"
|
|
1065
|
+
| "Echelon"
|
|
1066
|
+
| "LineAbreast"
|
|
1067
|
+
| "Vanguard";
|
|
1036
1068
|
|
|
1037
|
-
export
|
|
1038
|
-
ship: CompiledEvaler;
|
|
1039
|
-
keys?: string[];
|
|
1040
|
-
include?: string;
|
|
1041
|
-
exclude?: string;
|
|
1042
|
-
}
|
|
1069
|
+
export type SlotSizeVec = (number | null)[];
|
|
1043
1070
|
|
|
1044
|
-
export type
|
|
1071
|
+
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
1045
1072
|
|
|
1046
|
-
export
|
|
1047
|
-
api_ctypes: Record<number, number> | null;
|
|
1048
|
-
api_ship_ids: Record<number, number> | null;
|
|
1049
|
-
api_stypes: Record<number, number> | null;
|
|
1050
|
-
}
|
|
1073
|
+
export type StatInterval = [number | null, number | null];
|
|
1051
1074
|
|
|
1052
|
-
export
|
|
1053
|
-
api_id: number;
|
|
1054
|
-
api_equip_type: Record<number, number>;
|
|
1055
|
-
}
|
|
1075
|
+
export type SupportShellingType = ShellingType;
|
|
1056
1076
|
|
|
1057
|
-
export type
|
|
1077
|
+
export type TorpedoAttackType = null;
|
|
1058
1078
|
|
|
1059
1079
|
export class AirSquadron {
|
|
1060
1080
|
private constructor();
|
|
1061
1081
|
free(): void;
|
|
1062
1082
|
[Symbol.dispose](): void;
|
|
1063
1083
|
fighter_power(): number;
|
|
1064
|
-
|
|
1084
|
+
get_gear(key: string): Gear | undefined;
|
|
1065
1085
|
get_max_slot_size(index: number): number;
|
|
1086
|
+
get_slot_size(index: number): number;
|
|
1066
1087
|
interception_power(): number;
|
|
1067
1088
|
/**
|
|
1068
1089
|
* 行動半径
|
|
1069
1090
|
*/
|
|
1070
1091
|
radius(): number;
|
|
1071
|
-
get_gear(key: string): Gear | undefined;
|
|
1072
|
-
id: string;
|
|
1073
|
-
hash: bigint;
|
|
1074
1092
|
mode: AirSquadronMode;
|
|
1093
|
+
hash: bigint;
|
|
1094
|
+
id: string;
|
|
1075
1095
|
}
|
|
1096
|
+
|
|
1076
1097
|
export class Analyzer {
|
|
1077
1098
|
private constructor();
|
|
1078
1099
|
free(): void;
|
|
@@ -1084,6 +1105,7 @@ export class Analyzer {
|
|
|
1084
1105
|
left_ship: Ship,
|
|
1085
1106
|
right_comp: Comp,
|
|
1086
1107
|
right_ship: Ship,
|
|
1108
|
+
density_detail?: DensityDetail | null,
|
|
1087
1109
|
): NodeAttackAnalysis;
|
|
1088
1110
|
analyze_ship_attack(
|
|
1089
1111
|
config: ShipAnalyzerConfig,
|
|
@@ -1098,13 +1120,21 @@ export class Analyzer {
|
|
|
1098
1120
|
times: number,
|
|
1099
1121
|
): SimulatorResult;
|
|
1100
1122
|
}
|
|
1123
|
+
|
|
1101
1124
|
export class Comp {
|
|
1102
1125
|
private constructor();
|
|
1103
1126
|
free(): void;
|
|
1104
1127
|
[Symbol.dispose](): void;
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1128
|
+
/**
|
|
1129
|
+
* 艦隊防空値
|
|
1130
|
+
*/
|
|
1131
|
+
adjusted_anti_air(formation_mod: number): number;
|
|
1132
|
+
balloons(): number;
|
|
1133
|
+
default_formation(): Formation;
|
|
1134
|
+
/**
|
|
1135
|
+
* マップ索敵
|
|
1136
|
+
*/
|
|
1137
|
+
elos(node_divaricated_factor: number): number | undefined;
|
|
1108
1138
|
/**
|
|
1109
1139
|
* 制空値
|
|
1110
1140
|
*/
|
|
@@ -1114,70 +1144,74 @@ export class Comp {
|
|
|
1114
1144
|
): number | undefined;
|
|
1115
1145
|
first_ship_id(): string | undefined;
|
|
1116
1146
|
fleet_los_mod(fleet_type: FleetType): number | undefined;
|
|
1147
|
+
get_fleet_id(ft: FleetType): string | undefined;
|
|
1148
|
+
get_ship_by_eid_with_clone(id: string): Ship | undefined;
|
|
1149
|
+
get_ship_conditions(ship: Ship, formation?: Formation | null): ShipConditions;
|
|
1150
|
+
get_ship_entity_id(ft: FleetType, key: ShipKey): string | undefined;
|
|
1151
|
+
get_ship_with_clone(ft: FleetType, key: ShipKey): Ship | undefined;
|
|
1117
1152
|
has_route_sup(): boolean;
|
|
1153
|
+
has_ship_eid(id: string): boolean;
|
|
1154
|
+
is_combined(): boolean;
|
|
1155
|
+
is_enemy(): boolean;
|
|
1156
|
+
is_player(): boolean;
|
|
1157
|
+
meta(): CompMeta;
|
|
1158
|
+
side(): Side;
|
|
1118
1159
|
/**
|
|
1119
1160
|
* 輸送物資量(TP)
|
|
1120
1161
|
*/
|
|
1121
1162
|
transport_point(): number;
|
|
1122
|
-
/**
|
|
1123
|
-
* 艦隊防空値
|
|
1124
|
-
*/
|
|
1125
|
-
adjusted_anti_air(formation_mod: number): number;
|
|
1126
|
-
default_formation(): Formation;
|
|
1127
|
-
get_ship_entity_id(ft: FleetType, key: ShipKey): string | undefined;
|
|
1128
|
-
get_ship_conditions(ship: Ship, formation?: Formation | null): ShipConditions;
|
|
1129
|
-
get_ship_with_clone(ft: FleetType, key: ShipKey): Ship | undefined;
|
|
1130
|
-
get_ship_by_eid_with_clone(id: string): Ship | undefined;
|
|
1131
|
-
/**
|
|
1132
|
-
* マップ索敵
|
|
1133
|
-
*/
|
|
1134
|
-
elos(node_divaricated_factor: number): number | undefined;
|
|
1135
|
-
meta(): CompMeta;
|
|
1136
|
-
side(): Side;
|
|
1137
|
-
balloons(): number;
|
|
1138
|
-
is_enemy(): boolean;
|
|
1139
|
-
is_player(): boolean;
|
|
1140
1163
|
readonly org_type: OrgType;
|
|
1141
|
-
|
|
1142
|
-
|
|
1164
|
+
get boss_sup(): Fleet | undefined;
|
|
1165
|
+
set boss_sup(value: Fleet | null | undefined);
|
|
1143
1166
|
get escort(): Fleet | undefined;
|
|
1144
1167
|
set escort(value: Fleet | null | undefined);
|
|
1168
|
+
readonly hq_level: number;
|
|
1169
|
+
main: Fleet;
|
|
1145
1170
|
get route_sup(): Fleet | undefined;
|
|
1146
1171
|
set route_sup(value: Fleet | null | undefined);
|
|
1147
|
-
get boss_sup(): Fleet | undefined;
|
|
1148
|
-
set boss_sup(value: Fleet | null | undefined);
|
|
1149
1172
|
}
|
|
1173
|
+
|
|
1150
1174
|
export class FhCore {
|
|
1151
1175
|
free(): void;
|
|
1152
1176
|
[Symbol.dispose](): void;
|
|
1153
|
-
create_org(input?: OrgState | null): Org | undefined;
|
|
1154
|
-
create_gear(input?: GearState | null): Gear | undefined;
|
|
1155
|
-
create_ship(input?: ShipState | null): Ship | undefined;
|
|
1156
|
-
create_fleet(input?: FleetState | null): Fleet;
|
|
1157
|
-
create_analyzer(): Analyzer;
|
|
1158
|
-
create_all_ships(): Ship[];
|
|
1159
|
-
create_ship_by_id(ship_id: number): Ship | undefined;
|
|
1160
1177
|
create_air_squadron(input?: AirSquadronState | null): AirSquadron;
|
|
1161
|
-
|
|
1162
|
-
|
|
1178
|
+
create_all_ships(): Ship[];
|
|
1179
|
+
create_analyzer(): Analyzer;
|
|
1163
1180
|
create_comp_by_map_enemy(
|
|
1164
1181
|
main: Uint16Array,
|
|
1165
1182
|
escort?: Uint16Array | null,
|
|
1166
1183
|
): Comp;
|
|
1184
|
+
create_default_ship(): Ship;
|
|
1185
|
+
create_fleet(input?: FleetState | null): Fleet;
|
|
1186
|
+
create_gear(input?: GearState | null): Gear | undefined;
|
|
1187
|
+
create_org(input?: OrgState | null): Org | undefined;
|
|
1188
|
+
create_ship(input?: ShipState | null): Ship | undefined;
|
|
1189
|
+
create_ship_by_id(ship_id: number): Ship | undefined;
|
|
1190
|
+
create_ship_state_by_id(ship_id: number): ShipState | undefined;
|
|
1167
1191
|
constructor(js_master: MasterData);
|
|
1168
1192
|
}
|
|
1193
|
+
|
|
1169
1194
|
export class Fleet {
|
|
1170
1195
|
private constructor();
|
|
1171
1196
|
free(): void;
|
|
1172
1197
|
[Symbol.dispose](): void;
|
|
1198
|
+
/**
|
|
1199
|
+
* 航空索敵スコア
|
|
1200
|
+
*/
|
|
1201
|
+
aviation_detection_score(): number | undefined;
|
|
1173
1202
|
count_ships(): number;
|
|
1174
|
-
|
|
1203
|
+
/**
|
|
1204
|
+
* マップ索敵
|
|
1205
|
+
*/
|
|
1206
|
+
elos(hq_level: number, node_divaricated_factor: number): number | undefined;
|
|
1175
1207
|
/**
|
|
1176
1208
|
* 遠征ボーナス
|
|
1177
1209
|
*/
|
|
1178
1210
|
expedition_bonus(): number;
|
|
1211
|
+
fighter_power(air_type: AirWaveType): number | undefined;
|
|
1179
1212
|
get_damage_bound(id: string, state: DamageState): number | undefined;
|
|
1180
|
-
|
|
1213
|
+
get_gear_ids_by_improvable(): string[];
|
|
1214
|
+
get_gear_ids_by_proficiency(): string[];
|
|
1181
1215
|
get_remaining_ammo(
|
|
1182
1216
|
id: string,
|
|
1183
1217
|
rate: number,
|
|
@@ -1188,247 +1222,245 @@ export class Fleet {
|
|
|
1188
1222
|
rate: number,
|
|
1189
1223
|
ceil: boolean,
|
|
1190
1224
|
): number | undefined;
|
|
1191
|
-
reset_battle_state(): void;
|
|
1192
|
-
/**
|
|
1193
|
-
* 航空索敵スコア
|
|
1194
|
-
*/
|
|
1195
|
-
aviation_detection_score(): number | undefined;
|
|
1196
|
-
get_gear_ids_by_improvable(): string[];
|
|
1197
|
-
get_gear_ids_by_proficiency(): string[];
|
|
1198
|
-
/**
|
|
1199
|
-
* マップ索敵
|
|
1200
|
-
*/
|
|
1201
|
-
elos(hq_level: number, node_divaricated_factor: number): number | undefined;
|
|
1202
|
-
meta(): FleetMeta;
|
|
1203
1225
|
get_ship(key: ShipKey): Ship | undefined;
|
|
1226
|
+
meta(): FleetMeta;
|
|
1227
|
+
reset_battle_state(): void;
|
|
1204
1228
|
ship_ids(): string[];
|
|
1205
1229
|
ship_keys(): string[];
|
|
1206
|
-
|
|
1230
|
+
sum_ship_stat_by(key: string): number | undefined;
|
|
1231
|
+
readonly fleet_los_mod: number | undefined;
|
|
1207
1232
|
readonly hash: bigint;
|
|
1233
|
+
id: string;
|
|
1208
1234
|
readonly len: number;
|
|
1209
|
-
readonly fleet_los_mod: number | undefined;
|
|
1210
1235
|
}
|
|
1236
|
+
|
|
1211
1237
|
export class Gear {
|
|
1212
1238
|
private constructor();
|
|
1213
1239
|
free(): void;
|
|
1214
1240
|
[Symbol.dispose](): void;
|
|
1215
|
-
|
|
1216
|
-
is_balloon(): boolean;
|
|
1217
|
-
is_night_plane(): boolean;
|
|
1218
|
-
max_exp_eq_120(): boolean;
|
|
1219
|
-
has_proficiency(): boolean;
|
|
1220
|
-
is_night_bomber(): boolean;
|
|
1221
|
-
expedition_bonus(): number;
|
|
1222
|
-
is_night_fighter(): boolean;
|
|
1223
|
-
is_night_attacker(): boolean;
|
|
1224
|
-
night_plane_power(slot_size: number, anti_inst: boolean): number;
|
|
1225
|
-
ship_anti_air_mod(): number;
|
|
1241
|
+
calc_contact_trigger_factor(slot_size: number): number;
|
|
1226
1242
|
calc_fighter_power(slot_size: number): number;
|
|
1227
|
-
fleet_anti_air_mod(): number;
|
|
1228
|
-
night_contact_rate(level: number): number;
|
|
1229
|
-
is_high_angle_mount(): boolean;
|
|
1230
|
-
contact_selection_rate(rank: AirStateRank): number;
|
|
1231
1243
|
calc_interception_power(slot_size: number): number;
|
|
1232
|
-
is_carrier_shelling_plane(): boolean;
|
|
1233
|
-
is_hayabusa_20th_squadron(): boolean;
|
|
1234
|
-
calc_contact_trigger_factor(slot_size: number): number;
|
|
1235
1244
|
can_be_deployed_to_land_base(): boolean;
|
|
1236
|
-
is_abyssal_cuttlefish_torpedo(): boolean;
|
|
1237
|
-
is_abyssal_patrolling_attack_hawk(): boolean;
|
|
1238
|
-
elos(): number;
|
|
1239
|
-
static default(): Gear;
|
|
1240
1245
|
category(): GearCategory;
|
|
1246
|
+
contact_selection_rate(rank: AirStateRank): number;
|
|
1247
|
+
static default(): Gear;
|
|
1248
|
+
elos(): number;
|
|
1249
|
+
expedition_bonus(): number;
|
|
1250
|
+
fleet_anti_air_mod(): number;
|
|
1241
1251
|
has_attr(attr: GearAttr): boolean;
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1252
|
+
has_proficiency(): boolean;
|
|
1253
|
+
is_abyssal(): boolean;
|
|
1254
|
+
is_abyssal_cuttlefish_torpedo(): boolean;
|
|
1255
|
+
is_abyssal_patrolling_attack_hawk(): boolean;
|
|
1256
|
+
is_balloon(): boolean;
|
|
1257
|
+
is_carrier_shelling_plane(): boolean;
|
|
1258
|
+
is_hayabusa_20th_squadron(): boolean;
|
|
1259
|
+
is_high_angle_mount(): boolean;
|
|
1260
|
+
is_night_attacker(): boolean;
|
|
1261
|
+
is_night_bomber(): boolean;
|
|
1262
|
+
is_night_fighter(): boolean;
|
|
1263
|
+
is_night_plane(): boolean;
|
|
1264
|
+
max_exp_eq_120(): boolean;
|
|
1265
|
+
night_contact_rate(level: number): number;
|
|
1266
|
+
night_plane_power(slot_size: number, anti_inst: boolean): number;
|
|
1267
|
+
ship_anti_air_mod(): number;
|
|
1268
|
+
readonly ace: number;
|
|
1269
|
+
readonly anti_bomber: number;
|
|
1270
|
+
readonly gear_type_id: number;
|
|
1250
1271
|
readonly gear_type: GearType;
|
|
1251
|
-
readonly
|
|
1252
|
-
readonly
|
|
1253
|
-
readonly
|
|
1254
|
-
readonly
|
|
1272
|
+
readonly icon_id: number;
|
|
1273
|
+
readonly interception: number;
|
|
1274
|
+
readonly special_type: number;
|
|
1275
|
+
readonly accuracy: number;
|
|
1255
1276
|
readonly anti_air: number;
|
|
1256
|
-
readonly
|
|
1257
|
-
readonly bombing: number;
|
|
1277
|
+
readonly armor: number;
|
|
1258
1278
|
readonly asw: number;
|
|
1279
|
+
readonly bombing: number;
|
|
1280
|
+
readonly cost: number;
|
|
1281
|
+
readonly default_exp: number;
|
|
1282
|
+
readonly evasion: number;
|
|
1283
|
+
readonly exp: number;
|
|
1284
|
+
readonly firepower: number;
|
|
1285
|
+
readonly fleet_anti_air_resist: number;
|
|
1286
|
+
readonly gear_id: number;
|
|
1287
|
+
readonly hash: bigint;
|
|
1288
|
+
id: string;
|
|
1289
|
+
readonly improvable: boolean;
|
|
1259
1290
|
readonly los: number;
|
|
1260
1291
|
readonly luck: number;
|
|
1261
|
-
readonly
|
|
1262
|
-
|
|
1263
|
-
readonly range: number;
|
|
1292
|
+
readonly max_hp: number;
|
|
1293
|
+
name: string;
|
|
1264
1294
|
readonly radius: number;
|
|
1265
|
-
readonly
|
|
1266
|
-
readonly improvable: boolean;
|
|
1295
|
+
readonly range: number;
|
|
1267
1296
|
readonly ship_anti_air_resist: number;
|
|
1268
|
-
readonly
|
|
1269
|
-
readonly
|
|
1270
|
-
readonly
|
|
1271
|
-
|
|
1272
|
-
readonly special_type: number;
|
|
1273
|
-
readonly ace: number;
|
|
1274
|
-
readonly icon_id: number;
|
|
1297
|
+
readonly speed: number;
|
|
1298
|
+
readonly stars: number;
|
|
1299
|
+
readonly torpedo: number;
|
|
1300
|
+
types: Uint8Array;
|
|
1275
1301
|
}
|
|
1302
|
+
|
|
1276
1303
|
export class Org {
|
|
1277
1304
|
private constructor();
|
|
1278
1305
|
free(): void;
|
|
1279
1306
|
[Symbol.dispose](): void;
|
|
1280
|
-
|
|
1307
|
+
air_squadron_ids(): string[];
|
|
1281
1308
|
clone_fleet(key: FleetKey): Fleet;
|
|
1309
|
+
clone_ship(fleet_key: FleetKey, ship_key: ShipKey): Ship | undefined;
|
|
1282
1310
|
create_comp(): Comp;
|
|
1283
|
-
is_combined(): boolean;
|
|
1284
|
-
get_fleet_id(key: FleetKey): string;
|
|
1285
|
-
get_ship_eid(fleet_key: FleetKey, ship_key: ShipKey): string | undefined;
|
|
1286
|
-
get_ship_mid(fleet_key: FleetKey, ship_key: ShipKey): number | undefined;
|
|
1287
|
-
first_ship_id(): string | undefined;
|
|
1288
|
-
main_ship_ids(): Uint16Array;
|
|
1289
|
-
get_fleet_type(key: FleetKey): FleetType | undefined;
|
|
1290
|
-
get_ship_by_id(id: string): Ship | undefined;
|
|
1291
|
-
escort_ship_ids(): Uint16Array;
|
|
1292
|
-
air_squadron_ids(): string[];
|
|
1293
|
-
get_air_squadron(key: string): AirSquadron;
|
|
1294
1311
|
create_comp_by_key(key: FleetKey): Comp;
|
|
1295
|
-
/**
|
|
1296
|
-
* 防空時の基地制空値
|
|
1297
|
-
*/
|
|
1298
|
-
interception_power(): number;
|
|
1299
1312
|
create_move_ship_payload(
|
|
1300
1313
|
id: string,
|
|
1301
1314
|
x: number,
|
|
1302
1315
|
y: number,
|
|
1303
1316
|
): MoveShipPayload | undefined;
|
|
1317
|
+
escort_ship_ids(): Uint16Array;
|
|
1318
|
+
first_ship_id(): string | undefined;
|
|
1319
|
+
get_air_squadron(key: string): AirSquadron;
|
|
1320
|
+
get_air_squadron_gear_ids_by_improvable(): string[];
|
|
1321
|
+
get_air_squadron_gear_ids_by_proficiency(): string[];
|
|
1322
|
+
get_fleet_id(key: FleetKey): string;
|
|
1323
|
+
get_fleet_type(key: FleetKey): FleetType | undefined;
|
|
1324
|
+
get_ship_by_id(id: string): Ship | undefined;
|
|
1325
|
+
get_ship_eid(fleet_key: FleetKey, ship_key: ShipKey): string | undefined;
|
|
1326
|
+
get_ship_mid(fleet_key: FleetKey, ship_key: ShipKey): number | undefined;
|
|
1304
1327
|
/**
|
|
1305
1328
|
* 高高度迎撃時の基地制空値
|
|
1306
1329
|
*/
|
|
1307
1330
|
high_altitude_interception_power(): number;
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1331
|
+
/**
|
|
1332
|
+
* 防空時の基地制空値
|
|
1333
|
+
*/
|
|
1334
|
+
interception_power(): number;
|
|
1335
|
+
is_combined(): boolean;
|
|
1311
1336
|
is_enemy(): boolean;
|
|
1312
1337
|
is_player(): boolean;
|
|
1313
1338
|
is_single(): boolean;
|
|
1339
|
+
main_ship_ids(): Uint16Array;
|
|
1314
1340
|
ship_keys(key: FleetKey): string[];
|
|
1315
|
-
|
|
1341
|
+
side(): Side;
|
|
1316
1342
|
readonly hash: bigint;
|
|
1317
1343
|
readonly hq_level: number;
|
|
1344
|
+
id: string;
|
|
1345
|
+
readonly boss_sup: FleetKey | undefined;
|
|
1318
1346
|
readonly org_type: OrgType;
|
|
1319
|
-
readonly sortie: FleetKey;
|
|
1320
1347
|
readonly route_sup: FleetKey | undefined;
|
|
1321
|
-
readonly
|
|
1348
|
+
readonly sortie: FleetKey;
|
|
1322
1349
|
}
|
|
1350
|
+
|
|
1323
1351
|
export class Ship {
|
|
1324
1352
|
private constructor();
|
|
1325
1353
|
free(): void;
|
|
1326
1354
|
[Symbol.dispose](): void;
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
is_abyssal(): boolean;
|
|
1335
|
-
is_amagiri(): boolean;
|
|
1336
|
-
/**
|
|
1337
|
-
* 確殺攻撃力
|
|
1338
|
-
*/
|
|
1339
|
-
ohko_power(): number | undefined;
|
|
1355
|
+
basic_accuracy_term(): number | undefined;
|
|
1356
|
+
basic_defense_power(armor_penetration: number): number | undefined;
|
|
1357
|
+
basic_evasion_term(): number | undefined;
|
|
1358
|
+
can_equip(gear: Gear, key: string): boolean;
|
|
1359
|
+
category(): ShipCategory;
|
|
1360
|
+
cruiser_fit_bonus(): number;
|
|
1361
|
+
custom_power_mods(): CustomPowerModifiers;
|
|
1340
1362
|
damage_state(): DamageState;
|
|
1363
|
+
static default(): Ship;
|
|
1364
|
+
elos(node_divaricated_factor: number): number | undefined;
|
|
1365
|
+
eq_id(id: string): boolean;
|
|
1341
1366
|
evasion_term(
|
|
1342
1367
|
formation_mod: number,
|
|
1343
1368
|
postcap_additive: number,
|
|
1344
1369
|
postcap_multiplicative: number,
|
|
1345
1370
|
): number | undefined;
|
|
1346
|
-
get_stat_mod(key: string): number | undefined;
|
|
1347
|
-
is_submarine(): boolean;
|
|
1348
|
-
morale_state(): MoraleState;
|
|
1349
1371
|
fighter_power(air_type: AirWaveType): number | undefined;
|
|
1350
|
-
get_gear_stat(key: string): number;
|
|
1351
|
-
get_slot_size(index: number): number | undefined;
|
|
1352
|
-
get_naked_stat(key: string): number | undefined;
|
|
1353
|
-
is_installation(): boolean;
|
|
1354
|
-
transport_point(): number;
|
|
1355
|
-
fleet_los_factor(): number | undefined;
|
|
1356
|
-
get_damage_bound(state: DamageState): number | undefined;
|
|
1357
|
-
has_unknown_stat(key: string): boolean;
|
|
1358
|
-
cruiser_fit_bonus(): number;
|
|
1359
|
-
custom_power_mods(): CustomPowerModifiers;
|
|
1360
|
-
get_max_slot_size(index: number): number | undefined;
|
|
1361
|
-
basic_evasion_term(): number | undefined;
|
|
1362
1372
|
/**
|
|
1363
1373
|
* 艦隊対空補正
|
|
1364
1374
|
*/
|
|
1365
1375
|
fleet_anti_air_mod(): number;
|
|
1376
|
+
fleet_los_factor(): number | undefined;
|
|
1377
|
+
gear_keys(): string[];
|
|
1378
|
+
get_damage_bound(state: DamageState): number | undefined;
|
|
1379
|
+
get_ebonus(key: string): number;
|
|
1380
|
+
get_gear(key: string): Gear | undefined;
|
|
1381
|
+
get_gear_stat(key: string): number;
|
|
1382
|
+
get_max_slot_size(index: number): number | undefined;
|
|
1383
|
+
get_naked_stat(key: string): number | undefined;
|
|
1366
1384
|
get_remaining_ammo(rate: number, ceil: boolean): number;
|
|
1367
1385
|
get_remaining_fuel(rate: number, ceil: boolean): number;
|
|
1386
|
+
get_slot_size(index: number): number | undefined;
|
|
1387
|
+
get_stat_interval_left(key: string): number | undefined;
|
|
1388
|
+
get_stat_interval_right(key: string): number | undefined;
|
|
1389
|
+
get_stat_mod(key: string): number | undefined;
|
|
1390
|
+
/**
|
|
1391
|
+
* フィット砲補正
|
|
1392
|
+
*/
|
|
1393
|
+
gunfit_accuracy(is_night: boolean): number;
|
|
1394
|
+
has_attr(attr: ShipAttr): boolean;
|
|
1395
|
+
has_unknown_stat(key: string): boolean;
|
|
1396
|
+
is_abyssal(): boolean;
|
|
1397
|
+
is_amagiri(): boolean;
|
|
1398
|
+
is_attackable_by_torpedo(): boolean;
|
|
1399
|
+
is_installation(): boolean;
|
|
1400
|
+
is_pt_imp(): boolean;
|
|
1401
|
+
is_submarine(): boolean;
|
|
1402
|
+
meta(): ShipMeta;
|
|
1403
|
+
morale_state(): MoraleState;
|
|
1404
|
+
/**
|
|
1405
|
+
* 確殺攻撃力
|
|
1406
|
+
*/
|
|
1407
|
+
ohko_power(): number | undefined;
|
|
1368
1408
|
remaining_ammo_mod(): number;
|
|
1369
1409
|
remaining_fuel_mod(): number;
|
|
1370
|
-
special_enemy_type(): SpecialEnemyType;
|
|
1371
|
-
basic_accuracy_term(): number | undefined;
|
|
1372
|
-
basic_defense_power(armor_penetration: number): number | undefined;
|
|
1373
|
-
get_stat_interval_left(key: string): number | undefined;
|
|
1374
1410
|
/**
|
|
1375
1411
|
* 加重対空
|
|
1376
1412
|
*/
|
|
1377
1413
|
ship_adjusted_anti_air(side: Side): number | undefined;
|
|
1378
|
-
|
|
1379
|
-
is_attackable_by_torpedo(): boolean;
|
|
1380
|
-
elos(node_divaricated_factor: number): number | undefined;
|
|
1381
|
-
meta(): ShipMeta;
|
|
1382
|
-
eq_id(id: string): boolean;
|
|
1414
|
+
special_enemy_type(): SpecialEnemyType;
|
|
1383
1415
|
state(): ShipState;
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
id: string;
|
|
1416
|
+
state_day_gunfit_accuracy(): number | undefined;
|
|
1417
|
+
state_night_gunfit_accuracy(): number | undefined;
|
|
1418
|
+
transport_point(): number;
|
|
1419
|
+
readonly ammo: number;
|
|
1420
|
+
readonly ctype: number;
|
|
1421
|
+
readonly current_hp: number;
|
|
1422
|
+
readonly fuel: number;
|
|
1392
1423
|
readonly hash: bigint;
|
|
1393
|
-
|
|
1424
|
+
id: string;
|
|
1394
1425
|
readonly level: number;
|
|
1395
|
-
readonly current_hp: number;
|
|
1396
1426
|
readonly morale: number;
|
|
1397
|
-
readonly
|
|
1398
|
-
readonly
|
|
1399
|
-
readonly
|
|
1400
|
-
readonly
|
|
1401
|
-
|
|
1427
|
+
readonly ship_id: number;
|
|
1428
|
+
readonly accuracy: number;
|
|
1429
|
+
readonly anti_air: number | undefined;
|
|
1430
|
+
readonly armor: number | undefined;
|
|
1431
|
+
readonly asw: number | undefined;
|
|
1432
|
+
readonly evasion: number | undefined;
|
|
1433
|
+
readonly firepower: number | undefined;
|
|
1434
|
+
readonly innate_torpedo_accuracy: number;
|
|
1435
|
+
readonly los: number | undefined;
|
|
1436
|
+
readonly luck: number | undefined;
|
|
1437
|
+
readonly max_ammo: number;
|
|
1438
|
+
readonly max_fuel: number;
|
|
1439
|
+
readonly max_hp: number | undefined;
|
|
1440
|
+
readonly naked_anti_air: number | undefined;
|
|
1402
1441
|
readonly naked_armor: number | undefined;
|
|
1442
|
+
readonly naked_asw: number | undefined;
|
|
1443
|
+
readonly naked_evasion: number | undefined;
|
|
1444
|
+
readonly naked_firepower: number | undefined;
|
|
1445
|
+
readonly naked_los: number | undefined;
|
|
1403
1446
|
readonly naked_range: number | undefined;
|
|
1404
1447
|
readonly naked_speed: number;
|
|
1405
|
-
readonly remodel_rank: number;
|
|
1406
|
-
readonly naked_evasion: number | undefined;
|
|
1407
1448
|
readonly naked_torpedo: number | undefined;
|
|
1408
|
-
readonly naked_anti_air: number | undefined;
|
|
1409
|
-
readonly naked_firepower: number | undefined;
|
|
1410
|
-
readonly innate_torpedo_accuracy: number;
|
|
1411
|
-
readonly asw: number | undefined;
|
|
1412
|
-
readonly los: number | undefined;
|
|
1413
|
-
readonly luck: number | undefined;
|
|
1414
1449
|
readonly name: string;
|
|
1415
|
-
readonly yomi: string;
|
|
1416
|
-
readonly armor: number | undefined;
|
|
1417
|
-
readonly range: number | undefined;
|
|
1418
|
-
readonly speed: number;
|
|
1419
|
-
readonly stype: number;
|
|
1420
|
-
readonly max_hp: number | undefined;
|
|
1421
|
-
readonly useful: boolean;
|
|
1422
|
-
readonly evasion: number | undefined;
|
|
1423
1450
|
readonly next_id: number;
|
|
1451
|
+
readonly range: number | undefined;
|
|
1452
|
+
readonly remodel_rank: number;
|
|
1453
|
+
slots: SlotSizeVec;
|
|
1454
|
+
readonly ship_type: ShipType;
|
|
1424
1455
|
readonly slotnum: number;
|
|
1425
1456
|
readonly sort_id: number;
|
|
1457
|
+
readonly speed: number;
|
|
1458
|
+
readonly stype: number;
|
|
1426
1459
|
readonly torpedo: number | undefined;
|
|
1427
|
-
readonly
|
|
1428
|
-
readonly
|
|
1429
|
-
readonly max_ammo: number;
|
|
1430
|
-
readonly max_fuel: number;
|
|
1431
|
-
readonly firepower: number | undefined;
|
|
1432
|
-
readonly naked_asw: number | undefined;
|
|
1433
|
-
readonly naked_los: number | undefined;
|
|
1460
|
+
readonly useful: boolean;
|
|
1461
|
+
readonly yomi: string;
|
|
1434
1462
|
}
|
|
1463
|
+
|
|
1464
|
+
export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
1465
|
+
|
|
1466
|
+
export function set_panic_hook(): void;
|