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