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