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