fleethub-core 1.7.9 → 1.8.0
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 +1028 -902
- package/node/fleethub_core.js +336 -409
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +126 -168
- package/package.json +1 -1
- package/pkg/fleethub_core.d.ts +1028 -902
- package/pkg/fleethub_core_bg.js +336 -409
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +126 -168
package/node/fleethub_core.d.ts
CHANGED
|
@@ -1,128 +1,91 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* @param {ShipConditions} value
|
|
5
|
+
* @returns {ShipConditions}
|
|
6
|
+
*/
|
|
7
|
+
export function parse_ship_conditions(value: ShipConditions): ShipConditions;
|
|
3
8
|
/**
|
|
4
9
|
*/
|
|
5
10
|
export function set_panic_hook(): void;
|
|
6
|
-
declare namespace
|
|
7
|
-
export type
|
|
8
|
-
export type
|
|
9
|
-
export type DD = "DD";
|
|
10
|
-
export type CL = "CL";
|
|
11
|
-
export type CLT = "CLT";
|
|
12
|
-
export type CA = "CA";
|
|
13
|
-
export type CAV = "CAV";
|
|
14
|
-
export type CVL = "CVL";
|
|
15
|
-
export type FBB = "FBB";
|
|
16
|
-
export type BB = "BB";
|
|
17
|
-
export type BBV = "BBV";
|
|
18
|
-
export type CV = "CV";
|
|
19
|
-
export type XBB = "XBB";
|
|
20
|
-
export type SS = "SS";
|
|
21
|
-
export type SSV = "SSV";
|
|
22
|
-
export type AP = "AP";
|
|
23
|
-
export type AV = "AV";
|
|
24
|
-
export type LHA = "LHA";
|
|
25
|
-
export type CVB = "CVB";
|
|
26
|
-
export type AR = "AR";
|
|
27
|
-
export type AS = "AS";
|
|
28
|
-
export type CT = "CT";
|
|
29
|
-
export type AO = "AO";
|
|
11
|
+
declare namespace Side {
|
|
12
|
+
export type Player = "Player";
|
|
13
|
+
export type Enemy = "Enemy";
|
|
30
14
|
}
|
|
31
15
|
|
|
32
|
-
export type
|
|
33
|
-
| ShipType.Unknown
|
|
34
|
-
| ShipType.DE
|
|
35
|
-
| ShipType.DD
|
|
36
|
-
| ShipType.CL
|
|
37
|
-
| ShipType.CLT
|
|
38
|
-
| ShipType.CA
|
|
39
|
-
| ShipType.CAV
|
|
40
|
-
| ShipType.CVL
|
|
41
|
-
| ShipType.FBB
|
|
42
|
-
| ShipType.BB
|
|
43
|
-
| ShipType.BBV
|
|
44
|
-
| ShipType.CV
|
|
45
|
-
| ShipType.XBB
|
|
46
|
-
| ShipType.SS
|
|
47
|
-
| ShipType.SSV
|
|
48
|
-
| ShipType.AP
|
|
49
|
-
| ShipType.AV
|
|
50
|
-
| ShipType.LHA
|
|
51
|
-
| ShipType.CVB
|
|
52
|
-
| ShipType.AR
|
|
53
|
-
| ShipType.AS
|
|
54
|
-
| ShipType.CT
|
|
55
|
-
| ShipType.AO;
|
|
16
|
+
export type Side = Side.Player | Side.Enemy;
|
|
56
17
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
export type AircraftCarrier = "AircraftCarrier";
|
|
60
|
-
export type HeavyCruiser = "HeavyCruiser";
|
|
61
|
-
export type LightCruiser = "LightCruiser";
|
|
62
|
-
export type Destroyer = "Destroyer";
|
|
63
|
-
export type CoastalDefenseShip = "CoastalDefenseShip";
|
|
64
|
-
export type Submarine = "Submarine";
|
|
65
|
-
export type AuxiliaryShip = "AuxiliaryShip";
|
|
18
|
+
export interface ShipConditions extends ShipPosition {
|
|
19
|
+
formation?: Formation;
|
|
66
20
|
}
|
|
67
21
|
|
|
68
|
-
export
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
| ShipCategory.CoastalDefenseShip
|
|
75
|
-
| ShipCategory.Submarine
|
|
76
|
-
| ShipCategory.AuxiliaryShip;
|
|
22
|
+
export interface BattleDefinitions {
|
|
23
|
+
formation: Record<Formation, NestedFormationDef>;
|
|
24
|
+
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
25
|
+
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
26
|
+
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
27
|
+
}
|
|
77
28
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
29
|
+
export interface NightCutinDef {
|
|
30
|
+
tag: NightCutin;
|
|
31
|
+
hits: number;
|
|
32
|
+
type_factor: number | null;
|
|
33
|
+
power_mod: number | null;
|
|
34
|
+
accuracy_mod: number | null;
|
|
83
35
|
}
|
|
84
36
|
|
|
85
|
-
export
|
|
86
|
-
|
|
87
|
-
|
|
37
|
+
export interface DayCutinDef {
|
|
38
|
+
tag: DayCutin;
|
|
39
|
+
hits: number;
|
|
40
|
+
type_factor: number | null;
|
|
41
|
+
power_mod: number | null;
|
|
42
|
+
accuracy_mod: number | null;
|
|
43
|
+
}
|
|
88
44
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
export type FBA = "FBA";
|
|
96
|
-
export type BBA = "BBA";
|
|
97
|
-
export type BA = "BA";
|
|
98
|
-
export type Zuiun = "Zuiun";
|
|
99
|
-
export type AirSea = "AirSea";
|
|
45
|
+
export interface AntiAirCutinDef {
|
|
46
|
+
id: number;
|
|
47
|
+
type_factor: number | null;
|
|
48
|
+
multiplier: number | null;
|
|
49
|
+
guaranteed: number | null;
|
|
50
|
+
sequential: boolean | null;
|
|
100
51
|
}
|
|
101
52
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
| DayCutin.BA
|
|
111
|
-
| DayCutin.Zuiun
|
|
112
|
-
| DayCutin.AirSea;
|
|
53
|
+
type __NestedFormationDefFormationDef = FormationDef;
|
|
54
|
+
declare namespace NestedFormationDef {
|
|
55
|
+
export type Normal = __NestedFormationDefFormationDef;
|
|
56
|
+
export type Vanguard = {
|
|
57
|
+
top_half: __NestedFormationDefFormationDef;
|
|
58
|
+
bottom_half: __NestedFormationDefFormationDef;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
113
61
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
62
|
+
export type NestedFormationDef =
|
|
63
|
+
| NestedFormationDef.Normal
|
|
64
|
+
| NestedFormationDef.Vanguard;
|
|
65
|
+
|
|
66
|
+
export interface FormationDef {
|
|
67
|
+
tag: Formation;
|
|
68
|
+
protection_rate: number | null;
|
|
69
|
+
fleet_anti_air_mod: number;
|
|
70
|
+
shelling: FormationCombatModifiersDef;
|
|
71
|
+
torpedo: FormationCombatModifiersDef;
|
|
72
|
+
asw: FormationCombatModifiersDef;
|
|
73
|
+
night: FormationCombatModifiersDef;
|
|
74
|
+
support_shelling: FormationCombatModifiersDef;
|
|
119
75
|
}
|
|
120
76
|
|
|
121
|
-
export
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
77
|
+
export interface FormationCombatModifiersDef {
|
|
78
|
+
power_mod?: number;
|
|
79
|
+
accuracy_mod?: number;
|
|
80
|
+
evasion_mod?: number;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface ShipAnalyzerConfig {
|
|
84
|
+
air_state?: AirState;
|
|
85
|
+
engagement?: Engagement;
|
|
86
|
+
left?: AttackAnalyzerShipConfig;
|
|
87
|
+
right?: AttackAnalyzerShipConfig;
|
|
88
|
+
}
|
|
126
89
|
|
|
127
90
|
declare namespace SpecialEnemyType {
|
|
128
91
|
export type None = "None";
|
|
@@ -147,64 +110,114 @@ export type SpecialEnemyType =
|
|
|
147
110
|
| SpecialEnemyType.BattleshipSummerPrincess
|
|
148
111
|
| SpecialEnemyType.HeavyCruiserSummerPrincess;
|
|
149
112
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
export type
|
|
154
|
-
export type
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export type MoraleState =
|
|
158
|
-
| MoraleState.Sparkle
|
|
159
|
-
| MoraleState.Normal
|
|
160
|
-
| MoraleState.Orange
|
|
161
|
-
| MoraleState.Red;
|
|
162
|
-
|
|
163
|
-
declare namespace DamageState {
|
|
164
|
-
export type Normal = "Normal";
|
|
165
|
-
export type Shouha = "Shouha";
|
|
166
|
-
export type Chuuha = "Chuuha";
|
|
167
|
-
export type Taiha = "Taiha";
|
|
168
|
-
export type Sunk = "Sunk";
|
|
113
|
+
type __NightCutinLikeFleetCutin = FleetCutin;
|
|
114
|
+
type __NightCutinLikeNightCutin = NightCutin;
|
|
115
|
+
declare namespace NightCutinLike {
|
|
116
|
+
export type NightCutin = __NightCutinLikeNightCutin;
|
|
117
|
+
export type FleetCutin = __NightCutinLikeFleetCutin;
|
|
169
118
|
}
|
|
170
119
|
|
|
171
|
-
export type
|
|
172
|
-
|
|
|
173
|
-
|
|
|
174
|
-
| DamageState.Chuuha
|
|
175
|
-
| DamageState.Taiha
|
|
176
|
-
| DamageState.Sunk;
|
|
120
|
+
export type NightCutinLike =
|
|
121
|
+
| NightCutinLike.NightCutin
|
|
122
|
+
| NightCutinLike.FleetCutin;
|
|
177
123
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
export type
|
|
182
|
-
export type
|
|
124
|
+
type __DayCutinLikeDayCutin = DayCutin;
|
|
125
|
+
type __DayCutinLikeFleetCutin = FleetCutin;
|
|
126
|
+
declare namespace DayCutinLike {
|
|
127
|
+
export type DayCutin = __DayCutinLikeDayCutin;
|
|
128
|
+
export type FleetCutin = __DayCutinLikeFleetCutin;
|
|
183
129
|
}
|
|
184
130
|
|
|
185
|
-
export type
|
|
186
|
-
| SpeedGroup.A
|
|
187
|
-
| SpeedGroup.B1
|
|
188
|
-
| SpeedGroup.B2
|
|
189
|
-
| SpeedGroup.C;
|
|
131
|
+
export type DayCutinLike = DayCutinLike.DayCutin | DayCutinLike.FleetCutin;
|
|
190
132
|
|
|
191
133
|
declare namespace FleetCutin {
|
|
192
134
|
export type NelsonTouch = "NelsonTouch";
|
|
193
|
-
export type
|
|
194
|
-
export type
|
|
195
|
-
export type
|
|
135
|
+
export type NagatoClassCutin = "NagatoClassCutin";
|
|
136
|
+
export type ColoradoClassCutin = "ColoradoClassCutin";
|
|
137
|
+
export type KongouClassCutin = "KongouClassCutin";
|
|
196
138
|
export type Yamato2ShipCutin = "Yamato2ShipCutin";
|
|
197
139
|
export type Yamato3ShipCutin = "Yamato3ShipCutin";
|
|
198
140
|
}
|
|
199
141
|
|
|
200
142
|
export type FleetCutin =
|
|
201
143
|
| FleetCutin.NelsonTouch
|
|
202
|
-
| FleetCutin.
|
|
203
|
-
| FleetCutin.
|
|
204
|
-
| FleetCutin.
|
|
144
|
+
| FleetCutin.NagatoClassCutin
|
|
145
|
+
| FleetCutin.ColoradoClassCutin
|
|
146
|
+
| FleetCutin.KongouClassCutin
|
|
205
147
|
| FleetCutin.Yamato2ShipCutin
|
|
206
148
|
| FleetCutin.Yamato3ShipCutin;
|
|
207
149
|
|
|
150
|
+
declare namespace NightCutin {
|
|
151
|
+
export type MainTorpRadar = "MainTorpRadar";
|
|
152
|
+
export type TorpLookoutRadar = "TorpLookoutRadar";
|
|
153
|
+
export type TorpTsloTorp = "TorpTsloTorp";
|
|
154
|
+
export type TorpTsloDrum = "TorpTsloDrum";
|
|
155
|
+
export type DoubleAttack = "DoubleAttack";
|
|
156
|
+
export type TorpTorpMain = "TorpTorpMain";
|
|
157
|
+
export type TorpTorpTorp = "TorpTorpTorp";
|
|
158
|
+
export type MainMainSec = "MainMainSec";
|
|
159
|
+
export type MainMainMain = "MainMainMain";
|
|
160
|
+
export type SubTorpTorp = "SubTorpTorp";
|
|
161
|
+
export type SubRadarTorp = "SubRadarTorp";
|
|
162
|
+
export type Cvci1_25 = "Cvci1_25";
|
|
163
|
+
export type Cvci1_20 = "Cvci1_20";
|
|
164
|
+
export type Cvci1_18 = "Cvci1_18";
|
|
165
|
+
export type Photobomber = "Photobomber";
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export type NightCutin =
|
|
169
|
+
| NightCutin.MainTorpRadar
|
|
170
|
+
| NightCutin.TorpLookoutRadar
|
|
171
|
+
| NightCutin.TorpTsloTorp
|
|
172
|
+
| NightCutin.TorpTsloDrum
|
|
173
|
+
| NightCutin.DoubleAttack
|
|
174
|
+
| NightCutin.TorpTorpMain
|
|
175
|
+
| NightCutin.TorpTorpTorp
|
|
176
|
+
| NightCutin.MainMainSec
|
|
177
|
+
| NightCutin.MainMainMain
|
|
178
|
+
| NightCutin.SubTorpTorp
|
|
179
|
+
| NightCutin.SubRadarTorp
|
|
180
|
+
| NightCutin.Cvci1_25
|
|
181
|
+
| NightCutin.Cvci1_20
|
|
182
|
+
| NightCutin.Cvci1_18
|
|
183
|
+
| NightCutin.Photobomber;
|
|
184
|
+
|
|
185
|
+
declare namespace DayCutin {
|
|
186
|
+
export type Zuiun = "Zuiun";
|
|
187
|
+
export type AirSea = "AirSea";
|
|
188
|
+
export type MainMain = "MainMain";
|
|
189
|
+
export type MainAp = "MainAp";
|
|
190
|
+
export type MainRadar = "MainRadar";
|
|
191
|
+
export type MainSec = "MainSec";
|
|
192
|
+
export type DoubleAttack = "DoubleAttack";
|
|
193
|
+
export type FBA = "FBA";
|
|
194
|
+
export type BBA = "BBA";
|
|
195
|
+
export type BA = "BA";
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export type DayCutin =
|
|
199
|
+
| DayCutin.Zuiun
|
|
200
|
+
| DayCutin.AirSea
|
|
201
|
+
| DayCutin.MainMain
|
|
202
|
+
| DayCutin.MainAp
|
|
203
|
+
| DayCutin.MainRadar
|
|
204
|
+
| DayCutin.MainSec
|
|
205
|
+
| DayCutin.DoubleAttack
|
|
206
|
+
| DayCutin.FBA
|
|
207
|
+
| DayCutin.BBA
|
|
208
|
+
| DayCutin.BA;
|
|
209
|
+
|
|
210
|
+
declare namespace ContactRank {
|
|
211
|
+
export type Rank1 = "Rank1";
|
|
212
|
+
export type Rank2 = "Rank2";
|
|
213
|
+
export type Rank3 = "Rank3";
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export type ContactRank =
|
|
217
|
+
| ContactRank.Rank1
|
|
218
|
+
| ContactRank.Rank2
|
|
219
|
+
| ContactRank.Rank3;
|
|
220
|
+
|
|
208
221
|
declare namespace AirWaveType {
|
|
209
222
|
export type Jet = "Jet";
|
|
210
223
|
export type LandBase = "LandBase";
|
|
@@ -228,96 +241,28 @@ export interface SimulatorResultItem {
|
|
|
228
241
|
damage_state_map: Record<DamageState, number>;
|
|
229
242
|
}
|
|
230
243
|
|
|
231
|
-
declare namespace
|
|
232
|
-
export type
|
|
233
|
-
export type
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
export type
|
|
237
|
-
|
|
238
|
-
declare namespace OrgType {
|
|
239
|
-
export type Single = "Single";
|
|
240
|
-
export type CarrierTaskForce = "CarrierTaskForce";
|
|
241
|
-
export type SurfaceTaskForce = "SurfaceTaskForce";
|
|
242
|
-
export type TransportEscort = "TransportEscort";
|
|
243
|
-
export type EnemySingle = "EnemySingle";
|
|
244
|
-
export type EnemyCombined = "EnemyCombined";
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
export type OrgType =
|
|
248
|
-
| OrgType.Single
|
|
249
|
-
| OrgType.CarrierTaskForce
|
|
250
|
-
| OrgType.SurfaceTaskForce
|
|
251
|
-
| OrgType.TransportEscort
|
|
252
|
-
| OrgType.EnemySingle
|
|
253
|
-
| OrgType.EnemyCombined;
|
|
254
|
-
|
|
255
|
-
export interface WarfareContext {
|
|
256
|
-
attacker_env: WarfareShipEnvironment;
|
|
257
|
-
target_env: WarfareShipEnvironment;
|
|
258
|
-
engagement: Engagement;
|
|
259
|
-
air_state: AirState;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
export interface WarfareShipEnvironment {
|
|
263
|
-
org_type: OrgType;
|
|
264
|
-
role: Role;
|
|
265
|
-
ship_index: number;
|
|
266
|
-
fleet_len: number;
|
|
267
|
-
formation: Formation;
|
|
268
|
-
fleet_los_mod: number | null;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
export interface CompMeta {
|
|
272
|
-
fleets: Record<FleetType, FleetMeta>;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
export interface FleetMeta {
|
|
276
|
-
id: string;
|
|
277
|
-
len: number;
|
|
278
|
-
ships: [string, ShipMeta | null][];
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
export interface ShipMeta {
|
|
282
|
-
id: string;
|
|
283
|
-
ship_id: number;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
export interface MasterData {
|
|
287
|
-
gears: MasterGear[];
|
|
288
|
-
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
289
|
-
ships: MasterShip[];
|
|
290
|
-
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
291
|
-
ibonuses: MasterIBonuses;
|
|
292
|
-
equippable: MasterEquippable;
|
|
293
|
-
formation: NestedFormationDef[];
|
|
294
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
295
|
-
day_cutin: DayCutinDef[];
|
|
296
|
-
night_cutin: NightCutinDef[];
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
export interface MasterConfig {
|
|
300
|
-
formation: NestedFormationDef[];
|
|
301
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
302
|
-
day_cutin: DayCutinDef[];
|
|
303
|
-
night_cutin: NightCutinDef[];
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
export interface MasterAttrRule<T> {
|
|
307
|
-
tag: T;
|
|
308
|
-
name: string;
|
|
309
|
-
expr: string;
|
|
244
|
+
declare namespace DamageState {
|
|
245
|
+
export type Normal = "Normal";
|
|
246
|
+
export type Shouha = "Shouha";
|
|
247
|
+
export type Chuuha = "Chuuha";
|
|
248
|
+
export type Taiha = "Taiha";
|
|
249
|
+
export type Sunk = "Sunk";
|
|
310
250
|
}
|
|
311
251
|
|
|
312
|
-
export type
|
|
252
|
+
export type DamageState =
|
|
253
|
+
| DamageState.Normal
|
|
254
|
+
| DamageState.Shouha
|
|
255
|
+
| DamageState.Chuuha
|
|
256
|
+
| DamageState.Taiha
|
|
257
|
+
| DamageState.Sunk;
|
|
313
258
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
259
|
+
export interface ShipPosition {
|
|
260
|
+
org_type?: OrgType;
|
|
261
|
+
role?: Role;
|
|
262
|
+
fleet_len?: number;
|
|
263
|
+
index?: number;
|
|
317
264
|
}
|
|
318
265
|
|
|
319
|
-
export type Role = Role.Main | Role.Escort;
|
|
320
|
-
|
|
321
266
|
declare namespace GearCategory {
|
|
322
267
|
export type Fighter = "Fighter";
|
|
323
268
|
export type Bomber = "Bomber";
|
|
@@ -470,26 +415,289 @@ export type GearType =
|
|
|
470
415
|
| GearType.LargeRadar2
|
|
471
416
|
| GearType.CbRecon2;
|
|
472
417
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
418
|
+
declare namespace FleetType {
|
|
419
|
+
export type Main = "Main";
|
|
420
|
+
export type Escort = "Escort";
|
|
421
|
+
export type RouteSup = "RouteSup";
|
|
422
|
+
export type BossSup = "BossSup";
|
|
476
423
|
}
|
|
477
424
|
|
|
478
|
-
export
|
|
479
|
-
|
|
480
|
-
|
|
425
|
+
export type FleetType =
|
|
426
|
+
| FleetType.Main
|
|
427
|
+
| FleetType.Escort
|
|
428
|
+
| FleetType.RouteSup
|
|
429
|
+
| FleetType.BossSup;
|
|
430
|
+
|
|
431
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
432
|
+
formation?: Formation;
|
|
481
433
|
}
|
|
482
434
|
|
|
483
|
-
export interface
|
|
435
|
+
export interface NodeAttackAnalyzerConfig {
|
|
436
|
+
air_state?: AirState;
|
|
437
|
+
engagement?: Engagement;
|
|
438
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
439
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
export interface NodeAttackAnalysis {
|
|
443
|
+
left: AttackAnalysis;
|
|
444
|
+
right: AttackAnalysis;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
export interface CompMeta {
|
|
448
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
export interface FleetMeta {
|
|
452
|
+
id: string;
|
|
453
|
+
len: number;
|
|
454
|
+
ships: [string, ShipMeta | null][];
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
export interface ShipMeta {
|
|
458
|
+
id: string;
|
|
484
459
|
ship_id: number;
|
|
485
|
-
air_supremacy: DayCutinRateInfo;
|
|
486
|
-
air_superiority: DayCutinRateInfo;
|
|
487
460
|
}
|
|
488
461
|
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
462
|
+
declare namespace Engagement {
|
|
463
|
+
export type GreenT = "GreenT";
|
|
464
|
+
export type Parallel = "Parallel";
|
|
465
|
+
export type HeadOn = "HeadOn";
|
|
466
|
+
export type RedT = "RedT";
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
export type Engagement =
|
|
470
|
+
| Engagement.GreenT
|
|
471
|
+
| Engagement.Parallel
|
|
472
|
+
| Engagement.HeadOn
|
|
473
|
+
| Engagement.RedT;
|
|
474
|
+
|
|
475
|
+
export type TorpedoAttackType = null;
|
|
476
|
+
|
|
477
|
+
type __NightPhaseAttackTypeAswAttackType = AswAttackType;
|
|
478
|
+
type __NightPhaseAttackTypeNightAttackType = NightAttackType;
|
|
479
|
+
declare namespace NightPhaseAttackType {
|
|
480
|
+
export type Night = { t: "Night"; c: __NightPhaseAttackTypeNightAttackType };
|
|
481
|
+
export type Asw = { t: "Asw"; c: __NightPhaseAttackTypeAswAttackType };
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
export type NightPhaseAttackType =
|
|
485
|
+
| NightPhaseAttackType.Night
|
|
486
|
+
| NightPhaseAttackType.Asw;
|
|
487
|
+
|
|
488
|
+
type __DayPhaseAttackTypeAswAttackType = AswAttackType;
|
|
489
|
+
type __DayPhaseAttackTypeShellingType = ShellingType;
|
|
490
|
+
declare namespace DayPhaseAttackType {
|
|
491
|
+
export type Shelling = { t: "Shelling"; c: __DayPhaseAttackTypeShellingType };
|
|
492
|
+
export type Asw = { t: "Asw"; c: __DayPhaseAttackTypeAswAttackType };
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
export type DayPhaseAttackType =
|
|
496
|
+
| DayPhaseAttackType.Shelling
|
|
497
|
+
| DayPhaseAttackType.Asw;
|
|
498
|
+
|
|
499
|
+
type __AttackTypeAswAttackType = AswAttackType;
|
|
500
|
+
type __AttackTypeNightAttackType = NightAttackType;
|
|
501
|
+
type __AttackTypeShellingType = ShellingType;
|
|
502
|
+
type __AttackTypeSupportShellingType = SupportShellingType;
|
|
503
|
+
declare namespace AttackType {
|
|
504
|
+
export type Asw = { t: "Asw"; c: __AttackTypeAswAttackType };
|
|
505
|
+
export type Shelling = { t: "Shelling"; c: __AttackTypeShellingType };
|
|
506
|
+
export type Night = { t: "Night"; c: __AttackTypeNightAttackType };
|
|
507
|
+
export type Torpedo = { t: "Torpedo"; c: null };
|
|
508
|
+
export type SupportShelling = {
|
|
509
|
+
t: "SupportShelling";
|
|
510
|
+
c: __AttackTypeSupportShellingType;
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
export type AttackType =
|
|
515
|
+
| AttackType.Asw
|
|
516
|
+
| AttackType.Shelling
|
|
517
|
+
| AttackType.Night
|
|
518
|
+
| AttackType.Torpedo
|
|
519
|
+
| AttackType.SupportShelling;
|
|
520
|
+
|
|
521
|
+
export type SupportShellingType = ShellingType;
|
|
522
|
+
|
|
523
|
+
declare namespace NightAttackType {
|
|
524
|
+
export type Normal = "Normal";
|
|
525
|
+
export type Swordfish = "Swordfish";
|
|
526
|
+
export type Carrier = "Carrier";
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
export type NightAttackType =
|
|
530
|
+
| NightAttackType.Normal
|
|
531
|
+
| NightAttackType.Swordfish
|
|
532
|
+
| NightAttackType.Carrier;
|
|
533
|
+
|
|
534
|
+
declare namespace ShellingType {
|
|
535
|
+
export type Normal = "Normal";
|
|
536
|
+
export type Carrier = "Carrier";
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
export type ShellingType = ShellingType.Normal | ShellingType.Carrier;
|
|
540
|
+
|
|
541
|
+
declare namespace AswAttackType {
|
|
542
|
+
export type DepthCharge = "DepthCharge";
|
|
543
|
+
export type Aircraft = "Aircraft";
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
export type AswAttackType = AswAttackType.DepthCharge | AswAttackType.Aircraft;
|
|
547
|
+
|
|
548
|
+
declare namespace AirStateRank {
|
|
549
|
+
export type Rank0 = "Rank0";
|
|
550
|
+
export type Rank1 = "Rank1";
|
|
551
|
+
export type Rank2 = "Rank2";
|
|
552
|
+
export type Rank3 = "Rank3";
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
export type AirStateRank =
|
|
556
|
+
| AirStateRank.Rank0
|
|
557
|
+
| AirStateRank.Rank1
|
|
558
|
+
| AirStateRank.Rank2
|
|
559
|
+
| AirStateRank.Rank3;
|
|
560
|
+
|
|
561
|
+
declare namespace AirState {
|
|
562
|
+
export type AirSupremacy = "AirSupremacy";
|
|
563
|
+
export type AirSuperiority = "AirSuperiority";
|
|
564
|
+
export type AirParity = "AirParity";
|
|
565
|
+
export type AirDenial = "AirDenial";
|
|
566
|
+
export type AirIncapability = "AirIncapability";
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
export type AirState =
|
|
570
|
+
| AirState.AirSupremacy
|
|
571
|
+
| AirState.AirSuperiority
|
|
572
|
+
| AirState.AirParity
|
|
573
|
+
| AirState.AirDenial
|
|
574
|
+
| AirState.AirIncapability;
|
|
575
|
+
|
|
576
|
+
export interface MasterData {
|
|
577
|
+
gears: MasterGear[];
|
|
578
|
+
gear_attrs: MasterAttrRule<GearAttr>[];
|
|
579
|
+
ships: MasterShip[];
|
|
580
|
+
ship_attrs: MasterAttrRule<ShipAttr>[];
|
|
581
|
+
ibonuses: MasterIBonuses;
|
|
582
|
+
equippable: MasterEquippable;
|
|
583
|
+
formation: NestedFormationDef[];
|
|
584
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
585
|
+
day_cutin: DayCutinDef[];
|
|
586
|
+
night_cutin: NightCutinDef[];
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
export interface MasterConfig {
|
|
590
|
+
formation: NestedFormationDef[];
|
|
591
|
+
anti_air_cutin: AntiAirCutinDef[];
|
|
592
|
+
day_cutin: DayCutinDef[];
|
|
593
|
+
night_cutin: NightCutinDef[];
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
export interface MasterAttrRule<T> {
|
|
597
|
+
tag: T;
|
|
598
|
+
name: string;
|
|
599
|
+
expr: string;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
export interface AttackAnalyzerConfig {
|
|
603
|
+
air_state?: AirState;
|
|
604
|
+
engagement?: Engagement;
|
|
605
|
+
attacker?: AttackAnalyzerShipConfig;
|
|
606
|
+
target?: AttackAnalyzerShipConfig;
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
export interface AttackAnalyzerShipConfig
|
|
610
|
+
extends ShipConditions,
|
|
611
|
+
NightFleetConditions {
|
|
612
|
+
fleet_los_mod?: number | null;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
declare namespace ShipAttr {
|
|
616
|
+
export type Unknown = "Unknown";
|
|
617
|
+
export type Abyssal = "Abyssal";
|
|
618
|
+
export type NightCarrier = "NightCarrier";
|
|
619
|
+
export type Installation = "Installation";
|
|
620
|
+
export type RoyalNavy = "RoyalNavy";
|
|
621
|
+
export type Kai2 = "Kai2";
|
|
622
|
+
export type TurbineSpeedBonus = "TurbineSpeedBonus";
|
|
623
|
+
export type Pillbox = "Pillbox";
|
|
624
|
+
export type IsolatedIsland = "IsolatedIsland";
|
|
625
|
+
export type HarbourSummerPrincess = "HarbourSummerPrincess";
|
|
626
|
+
export type SupplyDepot = "SupplyDepot";
|
|
627
|
+
export type PtImp = "PtImp";
|
|
628
|
+
export type BattleshipSummerPrincess = "BattleshipSummerPrincess";
|
|
629
|
+
export type HeavyCruiserSummerPrincess = "HeavyCruiserSummerPrincess";
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
export type ShipAttr =
|
|
633
|
+
| ShipAttr.Unknown
|
|
634
|
+
| ShipAttr.Abyssal
|
|
635
|
+
| ShipAttr.NightCarrier
|
|
636
|
+
| ShipAttr.Installation
|
|
637
|
+
| ShipAttr.RoyalNavy
|
|
638
|
+
| ShipAttr.Kai2
|
|
639
|
+
| ShipAttr.TurbineSpeedBonus
|
|
640
|
+
| ShipAttr.Pillbox
|
|
641
|
+
| ShipAttr.IsolatedIsland
|
|
642
|
+
| ShipAttr.HarbourSummerPrincess
|
|
643
|
+
| ShipAttr.SupplyDepot
|
|
644
|
+
| ShipAttr.PtImp
|
|
645
|
+
| ShipAttr.BattleshipSummerPrincess
|
|
646
|
+
| ShipAttr.HeavyCruiserSummerPrincess;
|
|
647
|
+
|
|
648
|
+
declare namespace OrgType {
|
|
649
|
+
export type Single = "Single";
|
|
650
|
+
export type CarrierTaskForce = "CarrierTaskForce";
|
|
651
|
+
export type SurfaceTaskForce = "SurfaceTaskForce";
|
|
652
|
+
export type TransportEscort = "TransportEscort";
|
|
653
|
+
export type EnemySingle = "EnemySingle";
|
|
654
|
+
export type EnemyCombined = "EnemyCombined";
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
export type OrgType =
|
|
658
|
+
| OrgType.Single
|
|
659
|
+
| OrgType.CarrierTaskForce
|
|
660
|
+
| OrgType.SurfaceTaskForce
|
|
661
|
+
| OrgType.TransportEscort
|
|
662
|
+
| OrgType.EnemySingle
|
|
663
|
+
| OrgType.EnemyCombined;
|
|
664
|
+
|
|
665
|
+
export interface ShipEnvironment {
|
|
666
|
+
org_type?: OrgType;
|
|
667
|
+
role?: Role;
|
|
668
|
+
index?: number;
|
|
669
|
+
fleet_len?: number;
|
|
670
|
+
formation?: Formation;
|
|
671
|
+
fleet_los_mod?: number | null;
|
|
672
|
+
night_conditions?: NightFleetConditions;
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
export interface NightFleetConditions {
|
|
676
|
+
night_contact_rank?: ContactRank | null;
|
|
677
|
+
starshell_index?: number | null;
|
|
678
|
+
searchlight_index?: number | null;
|
|
679
|
+
activates_large_searchlight?: boolean;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
export interface NightConditions {
|
|
683
|
+
player?: NightFleetConditions;
|
|
684
|
+
enemy?: NightFleetConditions;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
export interface BattleConditions {
|
|
688
|
+
org_type: OrgType;
|
|
689
|
+
role: Role;
|
|
690
|
+
ship_index: number;
|
|
691
|
+
fleet_len: number;
|
|
692
|
+
formation: Formation;
|
|
693
|
+
fleet_los_mod: number | null;
|
|
694
|
+
night_conditions: NightFleetConditions;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
export interface SupportShellingSimulatorParams {
|
|
698
|
+
attacker_formation?: Formation;
|
|
699
|
+
target_formation?: Formation;
|
|
700
|
+
engagement: Engagement;
|
|
493
701
|
}
|
|
494
702
|
|
|
495
703
|
export interface EBonuses {
|
|
@@ -505,60 +713,159 @@ export interface EBonuses {
|
|
|
505
713
|
range: number;
|
|
506
714
|
}
|
|
507
715
|
|
|
508
|
-
export interface ShipInput {
|
|
509
|
-
ship_id: number;
|
|
510
|
-
ctype: number;
|
|
511
|
-
stype: number;
|
|
512
|
-
yomi: string;
|
|
716
|
+
export interface ShipInput {
|
|
717
|
+
ship_id: number;
|
|
718
|
+
ctype: number;
|
|
719
|
+
stype: number;
|
|
720
|
+
yomi: string;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
export interface GearInput {
|
|
724
|
+
gear_id: number;
|
|
725
|
+
types: GearTypeIdArray;
|
|
726
|
+
firepower: number;
|
|
727
|
+
torpedo: number;
|
|
728
|
+
anti_air: number;
|
|
729
|
+
armor: number;
|
|
730
|
+
evasion: number;
|
|
731
|
+
asw: number;
|
|
732
|
+
los: number;
|
|
733
|
+
bombing: number;
|
|
734
|
+
accuracy: number;
|
|
735
|
+
range: number;
|
|
736
|
+
radius: number;
|
|
737
|
+
stars: number;
|
|
738
|
+
ace: number;
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
export type GearVecInput = GearInput[];
|
|
742
|
+
|
|
743
|
+
declare namespace Role {
|
|
744
|
+
export type Main = "Main";
|
|
745
|
+
export type Escort = "Escort";
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
export type Role = Role.Main | Role.Escort;
|
|
749
|
+
|
|
750
|
+
declare namespace GearAttr {
|
|
751
|
+
export type Unknown = "Unknown";
|
|
752
|
+
export type Abyssal = "Abyssal";
|
|
753
|
+
export type HighAngleMount = "HighAngleMount";
|
|
754
|
+
export type NightFighter = "NightFighter";
|
|
755
|
+
export type NightAttacker = "NightAttacker";
|
|
756
|
+
export type HeavyBomber = "HeavyBomber";
|
|
757
|
+
export type NightRecon = "NightRecon";
|
|
758
|
+
export type MainGun = "MainGun";
|
|
759
|
+
export type Radar = "Radar";
|
|
760
|
+
export type SurfaceRadar = "SurfaceRadar";
|
|
761
|
+
export type AirRadar = "AirRadar";
|
|
762
|
+
export type DepthChargeProjector = "DepthChargeProjector";
|
|
763
|
+
export type SynergisticDepthCharge = "SynergisticDepthCharge";
|
|
764
|
+
export type AntiSubMortar = "AntiSubMortar";
|
|
765
|
+
export type AntiSubWeapon = "AntiSubWeapon";
|
|
766
|
+
export type ApDepthCharge = "ApDepthCharge";
|
|
767
|
+
export type AntiSubAircraft = "AntiSubAircraft";
|
|
768
|
+
export type LateModelBowTorpedo = "LateModelBowTorpedo";
|
|
769
|
+
export type Seaplane = "Seaplane";
|
|
770
|
+
export type CbAircraft = "CbAircraft";
|
|
771
|
+
export type LbAircraft = "LbAircraft";
|
|
772
|
+
export type JetAircraft = "JetAircraft";
|
|
773
|
+
export type Fighter = "Fighter";
|
|
774
|
+
export type Recon = "Recon";
|
|
775
|
+
export type ObservationSeaplane = "ObservationSeaplane";
|
|
776
|
+
export type CbFighterBomber = "CbFighterBomber";
|
|
777
|
+
export type AntiInstDiveBomber = "AntiInstDiveBomber";
|
|
778
|
+
export type CbSwordfish = "CbSwordfish";
|
|
779
|
+
export type SemiNightPlane = "SemiNightPlane";
|
|
780
|
+
export type HighAltitudeInterceptor = "HighAltitudeInterceptor";
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
export type GearAttr =
|
|
784
|
+
| GearAttr.Unknown
|
|
785
|
+
| GearAttr.Abyssal
|
|
786
|
+
| GearAttr.HighAngleMount
|
|
787
|
+
| GearAttr.NightFighter
|
|
788
|
+
| GearAttr.NightAttacker
|
|
789
|
+
| GearAttr.HeavyBomber
|
|
790
|
+
| GearAttr.NightRecon
|
|
791
|
+
| GearAttr.MainGun
|
|
792
|
+
| GearAttr.Radar
|
|
793
|
+
| GearAttr.SurfaceRadar
|
|
794
|
+
| GearAttr.AirRadar
|
|
795
|
+
| GearAttr.DepthChargeProjector
|
|
796
|
+
| GearAttr.SynergisticDepthCharge
|
|
797
|
+
| GearAttr.AntiSubMortar
|
|
798
|
+
| GearAttr.AntiSubWeapon
|
|
799
|
+
| GearAttr.ApDepthCharge
|
|
800
|
+
| GearAttr.AntiSubAircraft
|
|
801
|
+
| GearAttr.LateModelBowTorpedo
|
|
802
|
+
| GearAttr.Seaplane
|
|
803
|
+
| GearAttr.CbAircraft
|
|
804
|
+
| GearAttr.LbAircraft
|
|
805
|
+
| GearAttr.JetAircraft
|
|
806
|
+
| GearAttr.Fighter
|
|
807
|
+
| GearAttr.Recon
|
|
808
|
+
| GearAttr.ObservationSeaplane
|
|
809
|
+
| GearAttr.CbFighterBomber
|
|
810
|
+
| GearAttr.AntiInstDiveBomber
|
|
811
|
+
| GearAttr.CbSwordfish
|
|
812
|
+
| GearAttr.SemiNightPlane
|
|
813
|
+
| GearAttr.HighAltitudeInterceptor;
|
|
814
|
+
|
|
815
|
+
export interface SupportShellingStyle {
|
|
816
|
+
tag: "SupportShellingStyle";
|
|
817
|
+
attack_type: SupportShellingType;
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
type __NightPhaseAttackStyleAswAttackStyle = AswAttackStyle;
|
|
821
|
+
type __NightPhaseAttackStyleNightAttackStyle = NightAttackStyle;
|
|
822
|
+
declare namespace NightPhaseAttackStyle {
|
|
823
|
+
export type Night = __NightPhaseAttackStyleNightAttackStyle;
|
|
824
|
+
export type Asw = __NightPhaseAttackStyleAswAttackStyle;
|
|
513
825
|
}
|
|
514
826
|
|
|
515
|
-
export
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
los: number;
|
|
525
|
-
bombing: number;
|
|
526
|
-
accuracy: number;
|
|
527
|
-
range: number;
|
|
528
|
-
radius: number;
|
|
529
|
-
stars: number;
|
|
530
|
-
ace: number;
|
|
827
|
+
export type NightPhaseAttackStyle =
|
|
828
|
+
| NightPhaseAttackStyle.Night
|
|
829
|
+
| NightPhaseAttackStyle.Asw;
|
|
830
|
+
|
|
831
|
+
type __DayPhaseAttackStyleAswAttackStyle = AswAttackStyle;
|
|
832
|
+
type __DayPhaseAttackStyleShellingStyle = ShellingStyle;
|
|
833
|
+
declare namespace DayPhaseAttackStyle {
|
|
834
|
+
export type Shelling = __DayPhaseAttackStyleShellingStyle;
|
|
835
|
+
export type Asw = __DayPhaseAttackStyleAswAttackStyle;
|
|
531
836
|
}
|
|
532
837
|
|
|
533
|
-
export type
|
|
838
|
+
export type DayPhaseAttackStyle =
|
|
839
|
+
| DayPhaseAttackStyle.Shelling
|
|
840
|
+
| DayPhaseAttackStyle.Asw;
|
|
534
841
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
export type Rank2 = "Rank2";
|
|
539
|
-
export type Rank3 = "Rank3";
|
|
842
|
+
export interface TorpedoAttackStyle {
|
|
843
|
+
tag: "TorpedoAttackStyle";
|
|
844
|
+
attack_type: TorpedoAttackType;
|
|
540
845
|
}
|
|
541
846
|
|
|
542
|
-
export
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
| AirStateRank.Rank3;
|
|
847
|
+
export interface AswAttackStyle {
|
|
848
|
+
tag: "AswAttackStyle";
|
|
849
|
+
attack_type: AswAttackType;
|
|
850
|
+
}
|
|
547
851
|
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
852
|
+
export interface NightAttackStyle {
|
|
853
|
+
tag: "NightAttackStyle";
|
|
854
|
+
attack_type: NightAttackType;
|
|
855
|
+
cutin: NightCutinLike | null;
|
|
856
|
+
power_mod: number;
|
|
857
|
+
accuracy_mod: number;
|
|
858
|
+
hits: number;
|
|
554
859
|
}
|
|
555
860
|
|
|
556
|
-
export
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
|
560
|
-
|
|
561
|
-
|
|
861
|
+
export interface ShellingStyle {
|
|
862
|
+
tag: "ShellingStyle";
|
|
863
|
+
attack_type: ShellingType;
|
|
864
|
+
cutin: DayCutinLike | null;
|
|
865
|
+
power_mod: number;
|
|
866
|
+
accuracy_mod: number;
|
|
867
|
+
hits: number;
|
|
868
|
+
}
|
|
562
869
|
|
|
563
870
|
export interface MasterIBonuses {
|
|
564
871
|
shelling_power: MasterIBonusRule[];
|
|
@@ -584,41 +891,30 @@ export interface MasterIBonusRule {
|
|
|
584
891
|
formula: CompiledEvaler;
|
|
585
892
|
}
|
|
586
893
|
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
export type ShellingAttackType =
|
|
593
|
-
| ShellingAttackType.Normal
|
|
594
|
-
| ShellingAttackType.Carrier;
|
|
595
|
-
|
|
596
|
-
export interface NightSituation {
|
|
597
|
-
night_contact_rank: ContactRank | null;
|
|
598
|
-
starshell: boolean;
|
|
599
|
-
searchlight: boolean;
|
|
894
|
+
export interface NightContactChance {
|
|
895
|
+
rank1: number;
|
|
896
|
+
rank2: number;
|
|
897
|
+
rank3: number;
|
|
600
898
|
}
|
|
601
899
|
|
|
602
|
-
export interface
|
|
603
|
-
|
|
604
|
-
|
|
900
|
+
export interface CompNightCutinAnalysis {
|
|
901
|
+
night_contact_chance: NightContactChance;
|
|
902
|
+
ships: ShipNightCutinAnalysis[];
|
|
605
903
|
}
|
|
606
904
|
|
|
607
|
-
export interface
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
905
|
+
export interface ShipNightCutinAnalysis {
|
|
906
|
+
ship_id: number;
|
|
907
|
+
index: number;
|
|
908
|
+
normal: NightCutinActionReport;
|
|
909
|
+
chuuha: NightCutinActionReport;
|
|
612
910
|
}
|
|
613
911
|
|
|
614
|
-
export interface
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
fleet_cutin_mod: number;
|
|
618
|
-
stats: AttackStats;
|
|
912
|
+
export interface NightCutinActionReport
|
|
913
|
+
extends ActionReport<NightPhaseAttackStyle> {
|
|
914
|
+
cutin_term: number | null;
|
|
619
915
|
}
|
|
620
916
|
|
|
621
|
-
export interface
|
|
917
|
+
export interface DamageReport {
|
|
622
918
|
miss_damage_min: number;
|
|
623
919
|
miss_damage_max: number;
|
|
624
920
|
normal_damage_min: number;
|
|
@@ -627,42 +923,29 @@ export interface DamageInfo {
|
|
|
627
923
|
critical_damage_max: number;
|
|
628
924
|
normal_scratch_rate: number;
|
|
629
925
|
critical_scratch_rate: number;
|
|
630
|
-
|
|
631
|
-
|
|
926
|
+
damage_density: Histogram<number, number>;
|
|
927
|
+
damage_state_density: Histogram<DamageState, number>;
|
|
632
928
|
}
|
|
633
929
|
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
export type Installation = "Installation";
|
|
639
|
-
export type RoyalNavy = "RoyalNavy";
|
|
640
|
-
export type Kai2 = "Kai2";
|
|
641
|
-
export type TurbineSpeedBonus = "TurbineSpeedBonus";
|
|
642
|
-
export type Pillbox = "Pillbox";
|
|
643
|
-
export type IsolatedIsland = "IsolatedIsland";
|
|
644
|
-
export type HarbourSummerPrincess = "HarbourSummerPrincess";
|
|
645
|
-
export type SupplyDepot = "SupplyDepot";
|
|
646
|
-
export type PtImp = "PtImp";
|
|
647
|
-
export type BattleshipSummerPrincess = "BattleshipSummerPrincess";
|
|
648
|
-
export type HeavyCruiserSummerPrincess = "HeavyCruiserSummerPrincess";
|
|
930
|
+
export interface CompAntiAirAnalysis {
|
|
931
|
+
fleet_adjusted_anti_air: number;
|
|
932
|
+
ships: AntiAirReport[];
|
|
933
|
+
anti_air_cutin_chance: [number, number][];
|
|
649
934
|
}
|
|
650
935
|
|
|
651
|
-
export
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
|
656
|
-
|
|
|
657
|
-
|
|
|
658
|
-
|
|
|
659
|
-
|
|
660
|
-
|
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
| ShipAttr.BattleshipSummerPrincess
|
|
665
|
-
| ShipAttr.HeavyCruiserSummerPrincess;
|
|
936
|
+
export interface AntiAirReport {
|
|
937
|
+
ship_id: number;
|
|
938
|
+
role: Role;
|
|
939
|
+
index: number;
|
|
940
|
+
adjusted_anti_air: number | null;
|
|
941
|
+
proportional_shotdown_rate: number | null;
|
|
942
|
+
fixed_shotdown_number: number | null;
|
|
943
|
+
guaranteed: number | null;
|
|
944
|
+
anti_air_cutin_chance: [number, number][];
|
|
945
|
+
anti_air_propellant_barrage_chance: number | null;
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
export type Histogram<K, V> = Partial<Record<K, V>>;
|
|
666
949
|
|
|
667
950
|
type __FormationCombinedFormation = CombinedFormation;
|
|
668
951
|
type __FormationSingleFormation = SingleFormation;
|
|
@@ -697,164 +980,33 @@ declare namespace SingleFormation {
|
|
|
697
980
|
|
|
698
981
|
export type SingleFormation =
|
|
699
982
|
| SingleFormation.LineAhead
|
|
700
|
-
| SingleFormation.DoubleLine
|
|
701
|
-
| SingleFormation.Diamond
|
|
702
|
-
| SingleFormation.Echelon
|
|
703
|
-
| SingleFormation.LineAbreast
|
|
704
|
-
| SingleFormation.Vanguard;
|
|
705
|
-
|
|
706
|
-
export interface CustomPowerModifiers {
|
|
707
|
-
precap_mod?: AttackPowerModifier;
|
|
708
|
-
postcap_mod?: AttackPowerModifier;
|
|
709
|
-
basic_power_mod?: AttackPowerModifier;
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
export interface SpecialEnemyModifiers {
|
|
713
|
-
precap_general_mod: AttackPowerModifier;
|
|
714
|
-
stype_mod: AttackPowerModifier;
|
|
715
|
-
landing_craft_synergy_mod: AttackPowerModifier;
|
|
716
|
-
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
717
|
-
m4a1dd_mod: AttackPowerModifier;
|
|
718
|
-
honi_mod: AttackPowerModifier;
|
|
719
|
-
postcap_general_mod: AttackPowerModifier;
|
|
720
|
-
pt_mod: AttackPowerModifier;
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
export interface AttackPowerModifier {
|
|
724
|
-
a?: number;
|
|
725
|
-
b?: number;
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
export interface ShellingSupportSimulatorParams {
|
|
729
|
-
attacker_formation: Formation;
|
|
730
|
-
target_formation: Formation;
|
|
731
|
-
engagement: Engagement;
|
|
732
|
-
}
|
|
733
|
-
|
|
734
|
-
export interface AttackPower {
|
|
735
|
-
precap: number;
|
|
736
|
-
is_capped: boolean;
|
|
737
|
-
capped: number;
|
|
738
|
-
normal: number;
|
|
739
|
-
critical: number;
|
|
740
|
-
armor_penetration: number;
|
|
741
|
-
remaining_ammo_mod: number;
|
|
742
|
-
}
|
|
743
|
-
|
|
744
|
-
export interface AttackPowerParams {
|
|
745
|
-
basic: number;
|
|
746
|
-
cap: number;
|
|
747
|
-
precap_mod: AttackPowerModifier;
|
|
748
|
-
postcap_mod: AttackPowerModifier;
|
|
749
|
-
ap_shell_mod: number | null;
|
|
750
|
-
carrier_power: number | null;
|
|
751
|
-
proficiency_critical_mod: number | null;
|
|
752
|
-
armor_penetration: number;
|
|
753
|
-
remaining_ammo_mod: number;
|
|
754
|
-
special_enemy_mods: SpecialEnemyModifiers;
|
|
755
|
-
custom_mods: CustomPowerModifiers;
|
|
756
|
-
}
|
|
757
|
-
|
|
758
|
-
export interface SpecialEnemyModifiers {
|
|
759
|
-
precap_general_mod: AttackPowerModifier;
|
|
760
|
-
stype_mod: AttackPowerModifier;
|
|
761
|
-
landing_craft_synergy_mod: AttackPowerModifier;
|
|
762
|
-
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
763
|
-
m4a1dd_mod: AttackPowerModifier;
|
|
764
|
-
honi_mod: AttackPowerModifier;
|
|
765
|
-
postcap_general_mod: AttackPowerModifier;
|
|
766
|
-
pt_mod: AttackPowerModifier;
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
export interface CompContactChanceInfo {
|
|
770
|
-
single: AirstrikeContactChance[] | null;
|
|
771
|
-
combined: AirstrikeContactChance[] | null;
|
|
772
|
-
}
|
|
773
|
-
|
|
774
|
-
export interface AirstrikeContactChance {
|
|
775
|
-
air_state: AirState;
|
|
776
|
-
trigger_rate: number;
|
|
777
|
-
rank3: number;
|
|
778
|
-
rank2: number;
|
|
779
|
-
rank1: number;
|
|
780
|
-
total: number;
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
declare namespace GearAttr {
|
|
784
|
-
export type Unknown = "Unknown";
|
|
785
|
-
export type Abyssal = "Abyssal";
|
|
786
|
-
export type HighAngleMount = "HighAngleMount";
|
|
787
|
-
export type NightFighter = "NightFighter";
|
|
788
|
-
export type NightAttacker = "NightAttacker";
|
|
789
|
-
export type HeavyBomber = "HeavyBomber";
|
|
790
|
-
export type MainGun = "MainGun";
|
|
791
|
-
export type Radar = "Radar";
|
|
792
|
-
export type SurfaceRadar = "SurfaceRadar";
|
|
793
|
-
export type AirRadar = "AirRadar";
|
|
794
|
-
export type DepthChargeProjector = "DepthChargeProjector";
|
|
795
|
-
export type SynergisticDepthCharge = "SynergisticDepthCharge";
|
|
796
|
-
export type AntiSubMortar = "AntiSubMortar";
|
|
797
|
-
export type AntiSubWeapon = "AntiSubWeapon";
|
|
798
|
-
export type AntiSubAircraft = "AntiSubAircraft";
|
|
799
|
-
export type LateModelBowTorpedo = "LateModelBowTorpedo";
|
|
800
|
-
export type Seaplane = "Seaplane";
|
|
801
|
-
export type CbAircraft = "CbAircraft";
|
|
802
|
-
export type LbAircraft = "LbAircraft";
|
|
803
|
-
export type JetAircraft = "JetAircraft";
|
|
804
|
-
export type Fighter = "Fighter";
|
|
805
|
-
export type Recon = "Recon";
|
|
806
|
-
export type ObservationSeaplane = "ObservationSeaplane";
|
|
807
|
-
export type CbFighterBomber = "CbFighterBomber";
|
|
808
|
-
export type AntiInstDiveBomber = "AntiInstDiveBomber";
|
|
809
|
-
export type NightRecon = "NightRecon";
|
|
810
|
-
export type CbSwordfish = "CbSwordfish";
|
|
811
|
-
export type SemiNightPlane = "SemiNightPlane";
|
|
812
|
-
export type HighAltitudeInterceptor = "HighAltitudeInterceptor";
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
export type GearAttr =
|
|
816
|
-
| GearAttr.Unknown
|
|
817
|
-
| GearAttr.Abyssal
|
|
818
|
-
| GearAttr.HighAngleMount
|
|
819
|
-
| GearAttr.NightFighter
|
|
820
|
-
| GearAttr.NightAttacker
|
|
821
|
-
| GearAttr.HeavyBomber
|
|
822
|
-
| GearAttr.MainGun
|
|
823
|
-
| GearAttr.Radar
|
|
824
|
-
| GearAttr.SurfaceRadar
|
|
825
|
-
| GearAttr.AirRadar
|
|
826
|
-
| GearAttr.DepthChargeProjector
|
|
827
|
-
| GearAttr.SynergisticDepthCharge
|
|
828
|
-
| GearAttr.AntiSubMortar
|
|
829
|
-
| GearAttr.AntiSubWeapon
|
|
830
|
-
| GearAttr.AntiSubAircraft
|
|
831
|
-
| GearAttr.LateModelBowTorpedo
|
|
832
|
-
| GearAttr.Seaplane
|
|
833
|
-
| GearAttr.CbAircraft
|
|
834
|
-
| GearAttr.LbAircraft
|
|
835
|
-
| GearAttr.JetAircraft
|
|
836
|
-
| GearAttr.Fighter
|
|
837
|
-
| GearAttr.Recon
|
|
838
|
-
| GearAttr.ObservationSeaplane
|
|
839
|
-
| GearAttr.CbFighterBomber
|
|
840
|
-
| GearAttr.AntiInstDiveBomber
|
|
841
|
-
| GearAttr.NightRecon
|
|
842
|
-
| GearAttr.CbSwordfish
|
|
843
|
-
| GearAttr.SemiNightPlane
|
|
844
|
-
| GearAttr.HighAltitudeInterceptor;
|
|
983
|
+
| SingleFormation.DoubleLine
|
|
984
|
+
| SingleFormation.Diamond
|
|
985
|
+
| SingleFormation.Echelon
|
|
986
|
+
| SingleFormation.LineAbreast
|
|
987
|
+
| SingleFormation.Vanguard;
|
|
845
988
|
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
export type BossSup = "BossSup";
|
|
989
|
+
export interface CustomPowerModifiers {
|
|
990
|
+
precap_mod?: AttackPowerModifier;
|
|
991
|
+
postcap_mod?: AttackPowerModifier;
|
|
992
|
+
basic_power_mod?: AttackPowerModifier;
|
|
851
993
|
}
|
|
852
994
|
|
|
853
|
-
export
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
995
|
+
export interface SpecialEnemyModifiers {
|
|
996
|
+
precap_general_mod: AttackPowerModifier;
|
|
997
|
+
stype_mod: AttackPowerModifier;
|
|
998
|
+
landing_craft_synergy_mod: AttackPowerModifier;
|
|
999
|
+
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
1000
|
+
m4a1dd_mod: AttackPowerModifier;
|
|
1001
|
+
honi_mod: AttackPowerModifier;
|
|
1002
|
+
postcap_general_mod: AttackPowerModifier;
|
|
1003
|
+
pt_mod: AttackPowerModifier;
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
export interface AttackPowerModifier {
|
|
1007
|
+
a?: number;
|
|
1008
|
+
b?: number;
|
|
1009
|
+
}
|
|
858
1010
|
|
|
859
1011
|
export interface MasterEquippable {
|
|
860
1012
|
equip_stype: EquipStype[];
|
|
@@ -878,153 +1030,171 @@ export interface EquipStype {
|
|
|
878
1030
|
equip_type: number[];
|
|
879
1031
|
}
|
|
880
1032
|
|
|
881
|
-
export interface
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
1033
|
+
export interface HitRate {
|
|
1034
|
+
normal: number;
|
|
1035
|
+
critical: number;
|
|
1036
|
+
total: number;
|
|
885
1037
|
}
|
|
886
1038
|
|
|
887
|
-
export interface
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
1039
|
+
export interface HitRateParams {
|
|
1040
|
+
accuracy_term: number;
|
|
1041
|
+
evasion_term: number;
|
|
1042
|
+
target_morale_mod: number;
|
|
1043
|
+
critical_rate_constant: number;
|
|
1044
|
+
critical_percentage_bonus: number;
|
|
1045
|
+
hit_percentage_bonus: number;
|
|
891
1046
|
}
|
|
892
1047
|
|
|
893
|
-
export interface
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
1048
|
+
export interface AttackPower {
|
|
1049
|
+
precap: number;
|
|
1050
|
+
is_capped: boolean;
|
|
1051
|
+
capped: number;
|
|
1052
|
+
normal: number;
|
|
1053
|
+
critical: number;
|
|
1054
|
+
armor_penetration: number;
|
|
1055
|
+
remaining_ammo_mod: number;
|
|
900
1056
|
}
|
|
901
1057
|
|
|
902
|
-
export interface
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
1058
|
+
export interface AttackPowerParams {
|
|
1059
|
+
basic: number;
|
|
1060
|
+
cap: number;
|
|
1061
|
+
precap_mod: AttackPowerModifier;
|
|
1062
|
+
postcap_mod: AttackPowerModifier;
|
|
1063
|
+
ap_shell_mod: number | null;
|
|
1064
|
+
carrier_power: number | null;
|
|
1065
|
+
proficiency_critical_mod: number;
|
|
1066
|
+
armor_penetration: number;
|
|
1067
|
+
remaining_ammo_mod: number;
|
|
1068
|
+
special_enemy_mods: SpecialEnemyModifiers;
|
|
1069
|
+
custom_mods: CustomPowerModifiers;
|
|
906
1070
|
}
|
|
907
1071
|
|
|
908
|
-
export interface
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
1072
|
+
export interface SpecialEnemyModifiers {
|
|
1073
|
+
precap_general_mod: AttackPowerModifier;
|
|
1074
|
+
stype_mod: AttackPowerModifier;
|
|
1075
|
+
landing_craft_synergy_mod: AttackPowerModifier;
|
|
1076
|
+
toku_daihatsu_tank_mod: AttackPowerModifier;
|
|
1077
|
+
m4a1dd_mod: AttackPowerModifier;
|
|
1078
|
+
honi_mod: AttackPowerModifier;
|
|
1079
|
+
postcap_general_mod: AttackPowerModifier;
|
|
1080
|
+
pt_mod: AttackPowerModifier;
|
|
916
1081
|
}
|
|
917
1082
|
|
|
918
|
-
export
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
1083
|
+
export interface CompDayCutinAnalysis {
|
|
1084
|
+
rank3_air_state: AirState;
|
|
1085
|
+
rank2_air_state: AirState;
|
|
1086
|
+
main_fleet_los_mod: number | null;
|
|
1087
|
+
escort_fleet_los_mod: number | null;
|
|
1088
|
+
ships: ShipDayCutinAnalysis[];
|
|
923
1089
|
}
|
|
924
1090
|
|
|
925
|
-
export
|
|
1091
|
+
export interface ShipDayCutinAnalysis {
|
|
1092
|
+
ship_id: number;
|
|
1093
|
+
role: Role;
|
|
1094
|
+
index: number;
|
|
1095
|
+
rank3: DayCutinReport;
|
|
1096
|
+
rank2: DayCutinReport;
|
|
1097
|
+
}
|
|
926
1098
|
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
export type ArkRoyal = "ArkRoyal";
|
|
930
|
-
export type Carrier = "Carrier";
|
|
1099
|
+
export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
1100
|
+
observation_term: number | null;
|
|
931
1101
|
}
|
|
932
1102
|
|
|
933
|
-
export
|
|
934
|
-
|
|
|
935
|
-
|
|
|
936
|
-
|
|
1103
|
+
export interface ContactAnalysis {
|
|
1104
|
+
single: DayContactChance[] | null;
|
|
1105
|
+
combined: DayContactChance[] | null;
|
|
1106
|
+
}
|
|
937
1107
|
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
1108
|
+
export interface DayContactChance {
|
|
1109
|
+
air_state: AirState;
|
|
1110
|
+
trigger_rate: number;
|
|
1111
|
+
rank3: number;
|
|
1112
|
+
rank2: number;
|
|
1113
|
+
rank1: number;
|
|
1114
|
+
total: number;
|
|
943
1115
|
}
|
|
944
1116
|
|
|
945
|
-
export
|
|
946
|
-
|
|
947
|
-
|
|
1117
|
+
export interface AttackAnalysis {
|
|
1118
|
+
attacker_is_player: boolean;
|
|
1119
|
+
attacker_ship_id: number;
|
|
1120
|
+
target_ship_id: number;
|
|
1121
|
+
day: ActionReport<DayPhaseAttackStyle>;
|
|
1122
|
+
night: ActionReport<NightPhaseAttackStyle>;
|
|
1123
|
+
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
1124
|
+
opening_asw: ActionReport<AswAttackStyle>;
|
|
1125
|
+
support_shelling: ActionReport<SupportShellingStyle>;
|
|
1126
|
+
}
|
|
948
1127
|
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
1128
|
+
export interface MasterShip {
|
|
1129
|
+
ship_id: number;
|
|
1130
|
+
name: string;
|
|
1131
|
+
yomi: string;
|
|
1132
|
+
stype: number;
|
|
1133
|
+
ctype: number;
|
|
1134
|
+
sort_id?: number;
|
|
1135
|
+
max_hp: StatInterval;
|
|
1136
|
+
firepower: StatInterval;
|
|
1137
|
+
armor: StatInterval;
|
|
1138
|
+
torpedo: StatInterval;
|
|
1139
|
+
evasion: StatInterval;
|
|
1140
|
+
anti_air: StatInterval;
|
|
1141
|
+
asw: StatInterval;
|
|
1142
|
+
los: StatInterval;
|
|
1143
|
+
luck: StatInterval;
|
|
1144
|
+
torpedo_accuracy?: number;
|
|
1145
|
+
basic_evasion_term?: number;
|
|
1146
|
+
speed: number;
|
|
1147
|
+
range?: number;
|
|
1148
|
+
fuel?: number;
|
|
1149
|
+
ammo?: number;
|
|
1150
|
+
next_id?: number;
|
|
1151
|
+
next_level?: number;
|
|
1152
|
+
slotnum: number;
|
|
1153
|
+
slots: SlotSizeVec;
|
|
1154
|
+
stock: GearState[];
|
|
1155
|
+
speed_group?: SpeedGroup;
|
|
1156
|
+
useful?: boolean;
|
|
965
1157
|
}
|
|
966
1158
|
|
|
967
|
-
export type
|
|
968
|
-
| NightCutin.MainTorpRadar
|
|
969
|
-
| NightCutin.TorpLookoutRadar
|
|
970
|
-
| NightCutin.TorpTsloTorp
|
|
971
|
-
| NightCutin.TorpTsloDrum
|
|
972
|
-
| NightCutin.DoubleAttack
|
|
973
|
-
| NightCutin.TorpTorpMain
|
|
974
|
-
| NightCutin.TorpTorpTorp
|
|
975
|
-
| NightCutin.MainMainSec
|
|
976
|
-
| NightCutin.MainMainMain
|
|
977
|
-
| NightCutin.SubTorpTorp
|
|
978
|
-
| NightCutin.SubRadarTorp
|
|
979
|
-
| NightCutin.Cvci1_25
|
|
980
|
-
| NightCutin.Cvci1_20
|
|
981
|
-
| NightCutin.Cvci1_18
|
|
982
|
-
| NightCutin.Photobomber;
|
|
1159
|
+
export type StatInterval = [number | null, number | null];
|
|
983
1160
|
|
|
984
|
-
export interface
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
1161
|
+
export interface CompAnalyzerConfig {
|
|
1162
|
+
engagement: Engagement;
|
|
1163
|
+
formation: Formation;
|
|
1164
|
+
anti_air_cutin: number | null;
|
|
1165
|
+
ship_anti_air_resist: number;
|
|
1166
|
+
fleet_anti_air_resist: number;
|
|
1167
|
+
left_night_fleet_conditions: NightFleetConditions;
|
|
1168
|
+
right_night_fleet_conditions: NightFleetConditions;
|
|
988
1169
|
}
|
|
989
1170
|
|
|
990
|
-
export interface
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
target_morale_mod: number;
|
|
994
|
-
critical_rate_constant: number;
|
|
995
|
-
critical_percentage_bonus: number;
|
|
996
|
-
hit_percentage_bonus: number;
|
|
1171
|
+
export interface CompNightAnalysis {
|
|
1172
|
+
night_cutin: CompNightCutinAnalysis;
|
|
1173
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
997
1174
|
}
|
|
998
1175
|
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
export type NightAttack = {
|
|
1003
|
-
t: "NightAttack";
|
|
1004
|
-
c: __NightBattleAttackTypeNightAttackType;
|
|
1005
|
-
};
|
|
1006
|
-
export type Asw = { t: "Asw"; c: __NightBattleAttackTypeAswAttackType };
|
|
1176
|
+
export interface CompDayAnalysis {
|
|
1177
|
+
day_cutin: CompDayCutinAnalysis;
|
|
1178
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
1007
1179
|
}
|
|
1008
1180
|
|
|
1009
|
-
export
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
type __DayBattleAttackTypeShellingAttackType = ShellingAttackType;
|
|
1015
|
-
declare namespace DayBattleAttackType {
|
|
1016
|
-
export type Shelling = {
|
|
1017
|
-
t: "Shelling";
|
|
1018
|
-
c: __DayBattleAttackTypeShellingAttackType;
|
|
1019
|
-
};
|
|
1020
|
-
export type Asw = { t: "Asw"; c: __DayBattleAttackTypeAswAttackType };
|
|
1181
|
+
export interface CompAnalysis {
|
|
1182
|
+
day: CompDayAnalysis;
|
|
1183
|
+
night: CompNightAnalysis;
|
|
1184
|
+
contact: ContactAnalysis;
|
|
1185
|
+
anti_air: CompAntiAirAnalysis;
|
|
1021
1186
|
}
|
|
1022
1187
|
|
|
1023
|
-
export
|
|
1024
|
-
|
|
1025
|
-
|
|
|
1026
|
-
|
|
1027
|
-
|
|
1188
|
+
export interface AttackReport<T> {
|
|
1189
|
+
style: T;
|
|
1190
|
+
proc_rate: number | null;
|
|
1191
|
+
attack_power: AttackPower | null;
|
|
1192
|
+
attack_power_params: AttackPowerParams | null;
|
|
1193
|
+
hits: number;
|
|
1194
|
+
hit_rate: HitRate | null;
|
|
1195
|
+
hit_rate_params: HitRateParams | null;
|
|
1196
|
+
damage: DamageReport | null;
|
|
1197
|
+
}
|
|
1028
1198
|
|
|
1029
1199
|
export type ShipStateMap = Record<ShipKey, ShipState>;
|
|
1030
1200
|
|
|
@@ -1111,134 +1281,44 @@ export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
|
1111
1281
|
custom_power_mods?: CustomPowerModifiers;
|
|
1112
1282
|
}
|
|
1113
1283
|
|
|
1114
|
-
export interface SlotSizeVecState {
|
|
1115
|
-
ss1?: number;
|
|
1116
|
-
ss2?: number;
|
|
1117
|
-
ss3?: number;
|
|
1118
|
-
ss4?: number;
|
|
1119
|
-
ss5?: number;
|
|
1120
|
-
}
|
|
1121
|
-
|
|
1122
|
-
export interface GearVecState {
|
|
1123
|
-
g1?: GearState;
|
|
1124
|
-
g2?: GearState;
|
|
1125
|
-
g3?: GearState;
|
|
1126
|
-
g4?: GearState;
|
|
1127
|
-
g5?: GearState;
|
|
1128
|
-
gx?: GearState;
|
|
1129
|
-
}
|
|
1130
|
-
|
|
1131
|
-
export interface GearState {
|
|
1132
|
-
id?: string;
|
|
1133
|
-
gear_id: number;
|
|
1134
|
-
exp?: number;
|
|
1135
|
-
stars?: number;
|
|
1136
|
-
}
|
|
1137
|
-
|
|
1138
|
-
declare namespace ContactRank {
|
|
1139
|
-
export type Rank1 = "Rank1";
|
|
1140
|
-
export type Rank2 = "Rank2";
|
|
1141
|
-
export type Rank3 = "Rank3";
|
|
1142
|
-
}
|
|
1143
|
-
|
|
1144
|
-
export type ContactRank =
|
|
1145
|
-
| ContactRank.Rank1
|
|
1146
|
-
| ContactRank.Rank2
|
|
1147
|
-
| ContactRank.Rank3;
|
|
1148
|
-
|
|
1149
|
-
export interface BattleConfig {
|
|
1150
|
-
formation: Record<Formation, NestedFormationDef>;
|
|
1151
|
-
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
1152
|
-
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
1153
|
-
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
1154
|
-
}
|
|
1155
|
-
|
|
1156
|
-
export interface NightCutinDef {
|
|
1157
|
-
tag: NightCutin;
|
|
1158
|
-
hits: number;
|
|
1159
|
-
type_factor: number | null;
|
|
1160
|
-
power_mod: number | null;
|
|
1161
|
-
accuracy_mod: number | null;
|
|
1162
|
-
}
|
|
1163
|
-
|
|
1164
|
-
export interface DayCutinDef {
|
|
1165
|
-
tag: DayCutin;
|
|
1166
|
-
hits: number;
|
|
1167
|
-
type_factor: number | null;
|
|
1168
|
-
power_mod: number | null;
|
|
1169
|
-
accuracy_mod: number | null;
|
|
1170
|
-
}
|
|
1171
|
-
|
|
1172
|
-
export interface AntiAirCutinDef {
|
|
1173
|
-
id: number;
|
|
1174
|
-
type_factor: number | null;
|
|
1175
|
-
multiplier: number | null;
|
|
1176
|
-
guaranteed: number | null;
|
|
1177
|
-
sequential: boolean | null;
|
|
1284
|
+
export interface SlotSizeVecState {
|
|
1285
|
+
ss1?: number;
|
|
1286
|
+
ss2?: number;
|
|
1287
|
+
ss3?: number;
|
|
1288
|
+
ss4?: number;
|
|
1289
|
+
ss5?: number;
|
|
1178
1290
|
}
|
|
1179
1291
|
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1292
|
+
export interface GearVecState {
|
|
1293
|
+
g1?: GearState;
|
|
1294
|
+
g2?: GearState;
|
|
1295
|
+
g3?: GearState;
|
|
1296
|
+
g4?: GearState;
|
|
1297
|
+
g5?: GearState;
|
|
1298
|
+
gx?: GearState;
|
|
1187
1299
|
}
|
|
1188
1300
|
|
|
1189
|
-
export
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
tag: Formation;
|
|
1195
|
-
protection_rate: number | null;
|
|
1196
|
-
fleet_anti_air_mod: number;
|
|
1197
|
-
shelling: FormationWarfareDef;
|
|
1198
|
-
torpedo: FormationWarfareDef;
|
|
1199
|
-
asw: FormationWarfareDef;
|
|
1200
|
-
night: FormationWarfareDef;
|
|
1201
|
-
shelling_support: FormationWarfareDef;
|
|
1301
|
+
export interface GearState {
|
|
1302
|
+
id?: string;
|
|
1303
|
+
gear_id: number;
|
|
1304
|
+
exp?: number;
|
|
1305
|
+
stars?: number;
|
|
1202
1306
|
}
|
|
1203
1307
|
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1308
|
+
declare namespace SpeedGroup {
|
|
1309
|
+
export type A = "A";
|
|
1310
|
+
export type B1 = "B1";
|
|
1311
|
+
export type B2 = "B2";
|
|
1312
|
+
export type C = "C";
|
|
1208
1313
|
}
|
|
1209
1314
|
|
|
1210
|
-
export
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
ctype: number;
|
|
1216
|
-
sort_id?: number;
|
|
1217
|
-
max_hp: StatInterval;
|
|
1218
|
-
firepower: StatInterval;
|
|
1219
|
-
armor: StatInterval;
|
|
1220
|
-
torpedo: StatInterval;
|
|
1221
|
-
evasion: StatInterval;
|
|
1222
|
-
anti_air: StatInterval;
|
|
1223
|
-
asw: StatInterval;
|
|
1224
|
-
los: StatInterval;
|
|
1225
|
-
luck: StatInterval;
|
|
1226
|
-
torpedo_accuracy?: number;
|
|
1227
|
-
basic_evasion_term?: number;
|
|
1228
|
-
speed: number;
|
|
1229
|
-
range?: number;
|
|
1230
|
-
fuel?: number;
|
|
1231
|
-
ammo?: number;
|
|
1232
|
-
next_id?: number;
|
|
1233
|
-
next_level?: number;
|
|
1234
|
-
slotnum: number;
|
|
1235
|
-
slots: SlotSizeVec;
|
|
1236
|
-
stock: GearState[];
|
|
1237
|
-
speed_group?: SpeedGroup;
|
|
1238
|
-
useful?: boolean;
|
|
1239
|
-
}
|
|
1315
|
+
export type SpeedGroup =
|
|
1316
|
+
| SpeedGroup.A
|
|
1317
|
+
| SpeedGroup.B1
|
|
1318
|
+
| SpeedGroup.B2
|
|
1319
|
+
| SpeedGroup.C;
|
|
1240
1320
|
|
|
1241
|
-
export type
|
|
1321
|
+
export type SlotSizeVec = (number | null)[];
|
|
1242
1322
|
|
|
1243
1323
|
export interface MasterGear {
|
|
1244
1324
|
gear_id: number;
|
|
@@ -1261,56 +1341,119 @@ export interface MasterGear {
|
|
|
1261
1341
|
radius?: number;
|
|
1262
1342
|
cost?: number;
|
|
1263
1343
|
improvable?: boolean;
|
|
1264
|
-
|
|
1265
|
-
|
|
1344
|
+
ship_anti_air_resist?: number;
|
|
1345
|
+
fleet_anti_air_resist?: number;
|
|
1266
1346
|
}
|
|
1267
1347
|
|
|
1268
|
-
export interface
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
shelling_support: AttackInfo<null, null> | null;
|
|
1273
|
-
opening_asw: AttackInfo<null, null> | null;
|
|
1348
|
+
export interface ActionReport<T> {
|
|
1349
|
+
data: Record<string, AttackReport<T>>;
|
|
1350
|
+
damage_state_density: Histogram<DamageState, number> | null;
|
|
1351
|
+
is_active: boolean;
|
|
1274
1352
|
}
|
|
1275
1353
|
|
|
1276
|
-
export
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1354
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
1355
|
+
|
|
1356
|
+
declare namespace ShipType {
|
|
1357
|
+
export type Unknown = "Unknown";
|
|
1358
|
+
export type DE = "DE";
|
|
1359
|
+
export type DD = "DD";
|
|
1360
|
+
export type CL = "CL";
|
|
1361
|
+
export type CLT = "CLT";
|
|
1362
|
+
export type CA = "CA";
|
|
1363
|
+
export type CAV = "CAV";
|
|
1364
|
+
export type CVL = "CVL";
|
|
1365
|
+
export type FBB = "FBB";
|
|
1366
|
+
export type BB = "BB";
|
|
1367
|
+
export type BBV = "BBV";
|
|
1368
|
+
export type CV = "CV";
|
|
1369
|
+
export type XBB = "XBB";
|
|
1370
|
+
export type SS = "SS";
|
|
1371
|
+
export type SSV = "SSV";
|
|
1372
|
+
export type AP = "AP";
|
|
1373
|
+
export type AV = "AV";
|
|
1374
|
+
export type LHA = "LHA";
|
|
1375
|
+
export type CVB = "CVB";
|
|
1376
|
+
export type AR = "AR";
|
|
1377
|
+
export type AS = "AS";
|
|
1378
|
+
export type CT = "CT";
|
|
1379
|
+
export type AO = "AO";
|
|
1281
1380
|
}
|
|
1282
1381
|
|
|
1283
|
-
export
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1382
|
+
export type ShipType =
|
|
1383
|
+
| ShipType.Unknown
|
|
1384
|
+
| ShipType.DE
|
|
1385
|
+
| ShipType.DD
|
|
1386
|
+
| ShipType.CL
|
|
1387
|
+
| ShipType.CLT
|
|
1388
|
+
| ShipType.CA
|
|
1389
|
+
| ShipType.CAV
|
|
1390
|
+
| ShipType.CVL
|
|
1391
|
+
| ShipType.FBB
|
|
1392
|
+
| ShipType.BB
|
|
1393
|
+
| ShipType.BBV
|
|
1394
|
+
| ShipType.CV
|
|
1395
|
+
| ShipType.XBB
|
|
1396
|
+
| ShipType.SS
|
|
1397
|
+
| ShipType.SSV
|
|
1398
|
+
| ShipType.AP
|
|
1399
|
+
| ShipType.AV
|
|
1400
|
+
| ShipType.LHA
|
|
1401
|
+
| ShipType.CVB
|
|
1402
|
+
| ShipType.AR
|
|
1403
|
+
| ShipType.AS
|
|
1404
|
+
| ShipType.CT
|
|
1405
|
+
| ShipType.AO;
|
|
1406
|
+
|
|
1407
|
+
declare namespace ShipCategory {
|
|
1408
|
+
export type Battleship = "Battleship";
|
|
1409
|
+
export type AircraftCarrier = "AircraftCarrier";
|
|
1410
|
+
export type HeavyCruiser = "HeavyCruiser";
|
|
1411
|
+
export type LightCruiser = "LightCruiser";
|
|
1412
|
+
export type Destroyer = "Destroyer";
|
|
1413
|
+
export type CoastalDefenseShip = "CoastalDefenseShip";
|
|
1414
|
+
export type Submarine = "Submarine";
|
|
1415
|
+
export type AuxiliaryShip = "AuxiliaryShip";
|
|
1291
1416
|
}
|
|
1292
1417
|
|
|
1293
|
-
export
|
|
1294
|
-
|
|
1295
|
-
|
|
1418
|
+
export type ShipCategory =
|
|
1419
|
+
| ShipCategory.Battleship
|
|
1420
|
+
| ShipCategory.AircraftCarrier
|
|
1421
|
+
| ShipCategory.HeavyCruiser
|
|
1422
|
+
| ShipCategory.LightCruiser
|
|
1423
|
+
| ShipCategory.Destroyer
|
|
1424
|
+
| ShipCategory.CoastalDefenseShip
|
|
1425
|
+
| ShipCategory.Submarine
|
|
1426
|
+
| ShipCategory.AuxiliaryShip;
|
|
1427
|
+
|
|
1428
|
+
declare namespace MoraleState {
|
|
1429
|
+
export type Sparkle = "Sparkle";
|
|
1430
|
+
export type Normal = "Normal";
|
|
1431
|
+
export type Orange = "Orange";
|
|
1432
|
+
export type Red = "Red";
|
|
1296
1433
|
}
|
|
1297
1434
|
|
|
1298
|
-
export
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1435
|
+
export type MoraleState =
|
|
1436
|
+
| MoraleState.Sparkle
|
|
1437
|
+
| MoraleState.Normal
|
|
1438
|
+
| MoraleState.Orange
|
|
1439
|
+
| MoraleState.Red;
|
|
1440
|
+
|
|
1441
|
+
export interface FleetCutinAnalysis {
|
|
1442
|
+
shelling: FleetCutinReport<ShellingStyle>[];
|
|
1443
|
+
night: FleetCutinReport<NightAttackStyle>[];
|
|
1302
1444
|
}
|
|
1303
1445
|
|
|
1304
|
-
export interface
|
|
1305
|
-
|
|
1306
|
-
|
|
1446
|
+
export interface FleetCutinReport<T> {
|
|
1447
|
+
cutin: FleetCutin;
|
|
1448
|
+
rate: number | null;
|
|
1449
|
+
formation: Formation;
|
|
1450
|
+
attacks: FleetCutinAttackReport<T>[];
|
|
1307
1451
|
}
|
|
1308
1452
|
|
|
1309
|
-
export interface
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
total: number;
|
|
1453
|
+
export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
1454
|
+
index: number;
|
|
1455
|
+
ship_id: number;
|
|
1456
|
+
power_mod: number;
|
|
1314
1457
|
}
|
|
1315
1458
|
|
|
1316
1459
|
/**
|
|
@@ -1347,71 +1490,76 @@ export class AirSquadron {
|
|
|
1347
1490
|
radius(): number;
|
|
1348
1491
|
/**
|
|
1349
1492
|
*/
|
|
1350
|
-
|
|
1493
|
+
hash: bigint;
|
|
1351
1494
|
/**
|
|
1352
1495
|
*/
|
|
1353
|
-
|
|
1496
|
+
id: string;
|
|
1354
1497
|
/**
|
|
1355
1498
|
*/
|
|
1356
|
-
|
|
1499
|
+
mode: AirSquadronMode;
|
|
1357
1500
|
}
|
|
1358
1501
|
/**
|
|
1359
1502
|
*/
|
|
1360
1503
|
export class Analyzer {
|
|
1361
1504
|
free(): void;
|
|
1362
1505
|
/**
|
|
1363
|
-
* @param {
|
|
1364
|
-
* @param {Formation} formation
|
|
1365
|
-
* @param {number} ship_anti_air_resist
|
|
1366
|
-
* @param {number} fleet_anti_air_resist
|
|
1367
|
-
* @param {number | undefined} aaci
|
|
1368
|
-
* @returns {CompAntiAirInfo}
|
|
1369
|
-
*/
|
|
1370
|
-
analyze_anti_air(
|
|
1371
|
-
comp: Comp,
|
|
1372
|
-
formation: Formation,
|
|
1373
|
-
ship_anti_air_resist: number,
|
|
1374
|
-
fleet_anti_air_resist: number,
|
|
1375
|
-
aaci?: number
|
|
1376
|
-
): CompAntiAirInfo;
|
|
1377
|
-
/**
|
|
1378
|
-
* @param {Comp} comp
|
|
1379
|
-
* @returns {CompDayCutinRateInfo}
|
|
1380
|
-
*/
|
|
1381
|
-
analyze_day_cutin(comp: Comp): CompDayCutinRateInfo;
|
|
1382
|
-
/**
|
|
1383
|
-
* @param {Comp} comp
|
|
1384
|
-
* @param {NightSituation} attacker_situation
|
|
1385
|
-
* @param {NightSituation} target_situation
|
|
1386
|
-
* @returns {FleetNightCutinRateInfo}
|
|
1387
|
-
*/
|
|
1388
|
-
analyze_night_cutin(
|
|
1389
|
-
comp: Comp,
|
|
1390
|
-
attacker_situation: NightSituation,
|
|
1391
|
-
target_situation: NightSituation
|
|
1392
|
-
): FleetNightCutinRateInfo;
|
|
1393
|
-
/**
|
|
1394
|
-
* @param {Comp} comp
|
|
1395
|
-
* @returns {CompContactChanceInfo}
|
|
1396
|
-
*/
|
|
1397
|
-
analyze_contact_chance(comp: Comp): CompContactChanceInfo;
|
|
1398
|
-
/**
|
|
1399
|
-
* @param {WarfareAnalyzerContext} params
|
|
1506
|
+
* @param {AttackAnalyzerConfig} config
|
|
1400
1507
|
* @param {Ship} attacker
|
|
1401
1508
|
* @param {Ship} target
|
|
1402
|
-
* @returns {
|
|
1509
|
+
* @returns {AttackAnalysis}
|
|
1403
1510
|
*/
|
|
1404
|
-
|
|
1405
|
-
|
|
1511
|
+
analyze_attack(
|
|
1512
|
+
config: AttackAnalyzerConfig,
|
|
1406
1513
|
attacker: Ship,
|
|
1407
1514
|
target: Ship
|
|
1408
|
-
):
|
|
1515
|
+
): AttackAnalysis;
|
|
1516
|
+
/**
|
|
1517
|
+
* @param {ShipAnalyzerConfig} config
|
|
1518
|
+
* @param {Ship} left
|
|
1519
|
+
* @param {Ship} right
|
|
1520
|
+
* @param {boolean} attacker_is_left
|
|
1521
|
+
* @returns {AttackAnalysis}
|
|
1522
|
+
*/
|
|
1523
|
+
analyze_attack_by_ship_analyzer(
|
|
1524
|
+
config: ShipAnalyzerConfig,
|
|
1525
|
+
left: Ship,
|
|
1526
|
+
right: Ship,
|
|
1527
|
+
attacker_is_left: boolean
|
|
1528
|
+
): AttackAnalysis;
|
|
1529
|
+
/**
|
|
1530
|
+
* @param {NodeAttackAnalyzerConfig} config
|
|
1531
|
+
* @param {Comp} left_comp
|
|
1532
|
+
* @param {Ship} left_ship
|
|
1533
|
+
* @param {Comp} right_comp
|
|
1534
|
+
* @param {Ship} right_ship
|
|
1535
|
+
* @returns {NodeAttackAnalysis}
|
|
1536
|
+
*/
|
|
1537
|
+
analyze_node_attack(
|
|
1538
|
+
config: NodeAttackAnalyzerConfig,
|
|
1539
|
+
left_comp: Comp,
|
|
1540
|
+
left_ship: Ship,
|
|
1541
|
+
right_comp: Comp,
|
|
1542
|
+
right_ship: Ship
|
|
1543
|
+
): NodeAttackAnalysis;
|
|
1409
1544
|
/**
|
|
1410
1545
|
* @param {Comp} comp
|
|
1411
|
-
* @param {
|
|
1412
|
-
* @returns {
|
|
1546
|
+
* @param {CompAnalyzerConfig} config
|
|
1547
|
+
* @returns {CompAnalysis}
|
|
1548
|
+
*/
|
|
1549
|
+
analyze_comp(comp: Comp, config: CompAnalyzerConfig): CompAnalysis;
|
|
1550
|
+
/**
|
|
1551
|
+
* @param {Comp} player_comp
|
|
1552
|
+
* @param {Comp} enemy_comp
|
|
1553
|
+
* @param {NodeAttackAnalyzerConfig} config
|
|
1554
|
+
* @param {number} times
|
|
1555
|
+
* @returns {SimulatorResult}
|
|
1413
1556
|
*/
|
|
1414
|
-
|
|
1557
|
+
simulate_support_shelling(
|
|
1558
|
+
player_comp: Comp,
|
|
1559
|
+
enemy_comp: Comp,
|
|
1560
|
+
config: NodeAttackAnalyzerConfig,
|
|
1561
|
+
times: number
|
|
1562
|
+
): SimulatorResult;
|
|
1415
1563
|
}
|
|
1416
1564
|
/**
|
|
1417
1565
|
*/
|
|
@@ -1496,13 +1644,10 @@ export class Comp {
|
|
|
1496
1644
|
transport_point(): number;
|
|
1497
1645
|
/**
|
|
1498
1646
|
* @param {Ship} ship
|
|
1499
|
-
* @param {Formation} formation
|
|
1500
|
-
* @returns {
|
|
1647
|
+
* @param {Formation | undefined} formation
|
|
1648
|
+
* @returns {ShipConditions}
|
|
1501
1649
|
*/
|
|
1502
|
-
|
|
1503
|
-
ship: Ship,
|
|
1504
|
-
formation: Formation
|
|
1505
|
-
): WarfareShipEnvironment;
|
|
1650
|
+
get_ship_conditions(ship: Ship, formation?: Formation): ShipConditions;
|
|
1506
1651
|
/**
|
|
1507
1652
|
*/
|
|
1508
1653
|
boss_sup?: Fleet;
|
|
@@ -1511,13 +1656,13 @@ export class Comp {
|
|
|
1511
1656
|
escort?: Fleet;
|
|
1512
1657
|
/**
|
|
1513
1658
|
*/
|
|
1514
|
-
hq_level: number;
|
|
1659
|
+
readonly hq_level: number;
|
|
1515
1660
|
/**
|
|
1516
1661
|
*/
|
|
1517
1662
|
main: Fleet;
|
|
1518
1663
|
/**
|
|
1519
1664
|
*/
|
|
1520
|
-
org_type: OrgType;
|
|
1665
|
+
readonly org_type: OrgType;
|
|
1521
1666
|
/**
|
|
1522
1667
|
*/
|
|
1523
1668
|
route_sup?: Fleet;
|
|
@@ -1578,19 +1723,6 @@ export class FhCore {
|
|
|
1578
1723
|
* @returns {Analyzer}
|
|
1579
1724
|
*/
|
|
1580
1725
|
create_analyzer(): Analyzer;
|
|
1581
|
-
/**
|
|
1582
|
-
* @param {Comp} player
|
|
1583
|
-
* @param {Comp} enemy
|
|
1584
|
-
* @param {ShellingSupportSimulatorParams} params
|
|
1585
|
-
* @param {number} times
|
|
1586
|
-
* @returns {SimulatorResult}
|
|
1587
|
-
*/
|
|
1588
|
-
simulate_shelling_support(
|
|
1589
|
-
player: Comp,
|
|
1590
|
-
enemy: Comp,
|
|
1591
|
-
params: ShellingSupportSimulatorParams,
|
|
1592
|
-
times: number
|
|
1593
|
-
): SimulatorResult;
|
|
1594
1726
|
}
|
|
1595
1727
|
/**
|
|
1596
1728
|
*/
|
|
@@ -1688,13 +1820,13 @@ export class Fleet {
|
|
|
1688
1820
|
readonly fleet_los_mod: number | undefined;
|
|
1689
1821
|
/**
|
|
1690
1822
|
*/
|
|
1691
|
-
|
|
1823
|
+
readonly hash: bigint;
|
|
1692
1824
|
/**
|
|
1693
1825
|
*/
|
|
1694
|
-
|
|
1826
|
+
id: string;
|
|
1695
1827
|
/**
|
|
1696
1828
|
*/
|
|
1697
|
-
|
|
1829
|
+
readonly len: number;
|
|
1698
1830
|
}
|
|
1699
1831
|
/**
|
|
1700
1832
|
*/
|
|
@@ -1732,7 +1864,7 @@ export class Gear {
|
|
|
1732
1864
|
/**
|
|
1733
1865
|
* @returns {number}
|
|
1734
1866
|
*/
|
|
1735
|
-
|
|
1867
|
+
exp_critical_bonus(): number;
|
|
1736
1868
|
/**
|
|
1737
1869
|
* @param {number} slot_size
|
|
1738
1870
|
* @returns {number}
|
|
@@ -1810,52 +1942,55 @@ export class Gear {
|
|
|
1810
1942
|
can_be_deployed_to_land_base(): boolean;
|
|
1811
1943
|
/**
|
|
1812
1944
|
*/
|
|
1813
|
-
accuracy: number;
|
|
1945
|
+
readonly accuracy: number;
|
|
1814
1946
|
/**
|
|
1815
1947
|
*/
|
|
1816
1948
|
readonly ace: number;
|
|
1817
1949
|
/**
|
|
1818
1950
|
*/
|
|
1819
|
-
anti_air: number;
|
|
1951
|
+
readonly anti_air: number;
|
|
1820
1952
|
/**
|
|
1821
1953
|
*/
|
|
1822
1954
|
readonly anti_bomber: number;
|
|
1823
1955
|
/**
|
|
1824
1956
|
*/
|
|
1825
|
-
armor: number;
|
|
1957
|
+
readonly armor: number;
|
|
1826
1958
|
/**
|
|
1827
1959
|
*/
|
|
1828
|
-
asw: number;
|
|
1960
|
+
readonly asw: number;
|
|
1829
1961
|
/**
|
|
1830
1962
|
*/
|
|
1831
|
-
bombing: number;
|
|
1963
|
+
readonly bombing: number;
|
|
1832
1964
|
/**
|
|
1833
1965
|
*/
|
|
1834
|
-
cost: number;
|
|
1966
|
+
readonly cost: number;
|
|
1835
1967
|
/**
|
|
1836
1968
|
*/
|
|
1837
|
-
default_exp: number;
|
|
1969
|
+
readonly default_exp: number;
|
|
1838
1970
|
/**
|
|
1839
1971
|
*/
|
|
1840
|
-
evasion: number;
|
|
1972
|
+
readonly evasion: number;
|
|
1841
1973
|
/**
|
|
1842
1974
|
*/
|
|
1843
|
-
exp: number;
|
|
1975
|
+
readonly exp: number;
|
|
1844
1976
|
/**
|
|
1845
1977
|
*/
|
|
1846
|
-
firepower: number;
|
|
1978
|
+
readonly firepower: number;
|
|
1847
1979
|
/**
|
|
1848
1980
|
*/
|
|
1849
|
-
|
|
1981
|
+
readonly fleet_anti_air_resist: number;
|
|
1850
1982
|
/**
|
|
1851
1983
|
*/
|
|
1852
|
-
gear_id: number;
|
|
1984
|
+
readonly gear_id: number;
|
|
1853
1985
|
/**
|
|
1854
1986
|
*/
|
|
1855
|
-
gear_type: GearType;
|
|
1987
|
+
readonly gear_type: GearType;
|
|
1856
1988
|
/**
|
|
1857
1989
|
*/
|
|
1858
1990
|
readonly gear_type_id: number;
|
|
1991
|
+
/**
|
|
1992
|
+
*/
|
|
1993
|
+
readonly hash: bigint;
|
|
1859
1994
|
/**
|
|
1860
1995
|
*/
|
|
1861
1996
|
readonly icon_id: number;
|
|
@@ -1864,49 +1999,46 @@ export class Gear {
|
|
|
1864
1999
|
id: string;
|
|
1865
2000
|
/**
|
|
1866
2001
|
*/
|
|
1867
|
-
improvable: boolean;
|
|
2002
|
+
readonly improvable: boolean;
|
|
1868
2003
|
/**
|
|
1869
2004
|
*/
|
|
1870
2005
|
readonly interception: number;
|
|
1871
2006
|
/**
|
|
1872
2007
|
*/
|
|
1873
|
-
los: number;
|
|
2008
|
+
readonly los: number;
|
|
1874
2009
|
/**
|
|
1875
2010
|
*/
|
|
1876
|
-
luck: number;
|
|
2011
|
+
readonly luck: number;
|
|
1877
2012
|
/**
|
|
1878
2013
|
*/
|
|
1879
|
-
max_hp: number;
|
|
2014
|
+
readonly max_hp: number;
|
|
1880
2015
|
/**
|
|
1881
2016
|
*/
|
|
1882
2017
|
name: string;
|
|
1883
2018
|
/**
|
|
1884
2019
|
*/
|
|
1885
|
-
radius: number;
|
|
2020
|
+
readonly radius: number;
|
|
1886
2021
|
/**
|
|
1887
2022
|
*/
|
|
1888
|
-
range: number;
|
|
2023
|
+
readonly range: number;
|
|
1889
2024
|
/**
|
|
1890
2025
|
*/
|
|
1891
|
-
|
|
2026
|
+
readonly ship_anti_air_resist: number;
|
|
1892
2027
|
/**
|
|
1893
2028
|
*/
|
|
1894
2029
|
readonly special_type_id: number;
|
|
1895
2030
|
/**
|
|
1896
2031
|
*/
|
|
1897
|
-
speed: number;
|
|
2032
|
+
readonly speed: number;
|
|
1898
2033
|
/**
|
|
1899
2034
|
*/
|
|
1900
|
-
stars: number;
|
|
2035
|
+
readonly stars: number;
|
|
1901
2036
|
/**
|
|
1902
2037
|
*/
|
|
1903
|
-
torpedo: number;
|
|
2038
|
+
readonly torpedo: number;
|
|
1904
2039
|
/**
|
|
1905
2040
|
*/
|
|
1906
2041
|
types: Uint8Array;
|
|
1907
|
-
/**
|
|
1908
|
-
*/
|
|
1909
|
-
xxh3: bigint;
|
|
1910
2042
|
}
|
|
1911
2043
|
/**
|
|
1912
2044
|
*/
|
|
@@ -2066,15 +2198,6 @@ export class Org {
|
|
|
2066
2198
|
* @returns {number}
|
|
2067
2199
|
*/
|
|
2068
2200
|
high_altitude_interception_power(): number;
|
|
2069
|
-
/**
|
|
2070
|
-
* @param {Ship} ship
|
|
2071
|
-
* @param {Formation} formation
|
|
2072
|
-
* @returns {WarfareShipEnvironment}
|
|
2073
|
-
*/
|
|
2074
|
-
create_warfare_ship_environment(
|
|
2075
|
-
ship: Ship,
|
|
2076
|
-
formation: Formation
|
|
2077
|
-
): WarfareShipEnvironment;
|
|
2078
2201
|
/**
|
|
2079
2202
|
* @returns {Org}
|
|
2080
2203
|
*/
|
|
@@ -2084,22 +2207,22 @@ export class Org {
|
|
|
2084
2207
|
boss_sup?: string;
|
|
2085
2208
|
/**
|
|
2086
2209
|
*/
|
|
2087
|
-
|
|
2210
|
+
readonly hash: bigint;
|
|
2211
|
+
/**
|
|
2212
|
+
*/
|
|
2213
|
+
readonly hq_level: number;
|
|
2088
2214
|
/**
|
|
2089
2215
|
*/
|
|
2090
2216
|
id: string;
|
|
2091
2217
|
/**
|
|
2092
2218
|
*/
|
|
2093
|
-
org_type: OrgType;
|
|
2219
|
+
readonly org_type: OrgType;
|
|
2094
2220
|
/**
|
|
2095
2221
|
*/
|
|
2096
2222
|
route_sup?: string;
|
|
2097
2223
|
/**
|
|
2098
2224
|
*/
|
|
2099
2225
|
sortie: string;
|
|
2100
|
-
/**
|
|
2101
|
-
*/
|
|
2102
|
-
xxh3: bigint;
|
|
2103
2226
|
}
|
|
2104
2227
|
/**
|
|
2105
2228
|
*/
|
|
@@ -2254,6 +2377,13 @@ export class Ship {
|
|
|
2254
2377
|
*/
|
|
2255
2378
|
fleet_los_factor(): number | undefined;
|
|
2256
2379
|
/**
|
|
2380
|
+
* 加重対空
|
|
2381
|
+
* @param {Side} side
|
|
2382
|
+
* @returns {number | undefined}
|
|
2383
|
+
*/
|
|
2384
|
+
ship_adjusted_anti_air(side: Side): number | undefined;
|
|
2385
|
+
/**
|
|
2386
|
+
* 艦隊対空補正
|
|
2257
2387
|
* @returns {number}
|
|
2258
2388
|
*/
|
|
2259
2389
|
fleet_anti_air_mod(): number;
|
|
@@ -2299,10 +2429,6 @@ export class Ship {
|
|
|
2299
2429
|
* @returns {number | undefined}
|
|
2300
2430
|
*/
|
|
2301
2431
|
ohko_power(): number | undefined;
|
|
2302
|
-
/**
|
|
2303
|
-
* @param {number} value
|
|
2304
|
-
*/
|
|
2305
|
-
take_damage(value: number): void;
|
|
2306
2432
|
/**
|
|
2307
2433
|
* @returns {number | undefined}
|
|
2308
2434
|
*/
|
|
@@ -2322,7 +2448,7 @@ export class Ship {
|
|
|
2322
2448
|
readonly accuracy: number;
|
|
2323
2449
|
/**
|
|
2324
2450
|
*/
|
|
2325
|
-
ammo: number;
|
|
2451
|
+
readonly ammo: number;
|
|
2326
2452
|
/**
|
|
2327
2453
|
*/
|
|
2328
2454
|
readonly anti_air: number | undefined;
|
|
@@ -2334,10 +2460,10 @@ export class Ship {
|
|
|
2334
2460
|
readonly asw: number | undefined;
|
|
2335
2461
|
/**
|
|
2336
2462
|
*/
|
|
2337
|
-
ctype: number;
|
|
2463
|
+
readonly ctype: number;
|
|
2338
2464
|
/**
|
|
2339
2465
|
*/
|
|
2340
|
-
current_hp: number;
|
|
2466
|
+
readonly current_hp: number;
|
|
2341
2467
|
/**
|
|
2342
2468
|
*/
|
|
2343
2469
|
readonly evasion: number | undefined;
|
|
@@ -2346,7 +2472,10 @@ export class Ship {
|
|
|
2346
2472
|
readonly firepower: number | undefined;
|
|
2347
2473
|
/**
|
|
2348
2474
|
*/
|
|
2349
|
-
fuel: number;
|
|
2475
|
+
readonly fuel: number;
|
|
2476
|
+
/**
|
|
2477
|
+
*/
|
|
2478
|
+
readonly hash: bigint;
|
|
2350
2479
|
/**
|
|
2351
2480
|
*/
|
|
2352
2481
|
id: string;
|
|
@@ -2355,7 +2484,7 @@ export class Ship {
|
|
|
2355
2484
|
readonly innate_torpedo_accuracy: number;
|
|
2356
2485
|
/**
|
|
2357
2486
|
*/
|
|
2358
|
-
level: number;
|
|
2487
|
+
readonly level: number;
|
|
2359
2488
|
/**
|
|
2360
2489
|
*/
|
|
2361
2490
|
readonly los: number | undefined;
|
|
@@ -2373,7 +2502,7 @@ export class Ship {
|
|
|
2373
2502
|
readonly max_hp: number | undefined;
|
|
2374
2503
|
/**
|
|
2375
2504
|
*/
|
|
2376
|
-
morale: number;
|
|
2505
|
+
readonly morale: number;
|
|
2377
2506
|
/**
|
|
2378
2507
|
*/
|
|
2379
2508
|
readonly naked_anti_air: number | undefined;
|
|
@@ -2412,10 +2541,10 @@ export class Ship {
|
|
|
2412
2541
|
readonly range: number | undefined;
|
|
2413
2542
|
/**
|
|
2414
2543
|
*/
|
|
2415
|
-
ship_id: number;
|
|
2544
|
+
readonly ship_id: number;
|
|
2416
2545
|
/**
|
|
2417
2546
|
*/
|
|
2418
|
-
ship_type: ShipType;
|
|
2547
|
+
readonly ship_type: ShipType;
|
|
2419
2548
|
/**
|
|
2420
2549
|
*/
|
|
2421
2550
|
readonly slotnum: number;
|
|
@@ -2437,9 +2566,6 @@ export class Ship {
|
|
|
2437
2566
|
/**
|
|
2438
2567
|
*/
|
|
2439
2568
|
readonly useful: boolean;
|
|
2440
|
-
/**
|
|
2441
|
-
*/
|
|
2442
|
-
xxh3: bigint;
|
|
2443
2569
|
/**
|
|
2444
2570
|
*/
|
|
2445
2571
|
readonly yomi: string;
|