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