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