fleethub-core 1.12.18 → 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 +976 -960
- package/node/fleethub_core.js +1408 -1494
- package/node/fleethub_core_bg.wasm +0 -0
- package/node/fleethub_core_bg.wasm.d.ts +70 -70
- package/package.json +2 -2
- package/pkg/fleethub_core.d.ts +976 -960
- package/pkg/fleethub_core.js +5 -1
- package/pkg/fleethub_core_bg.js +1365 -1455
- package/pkg/fleethub_core_bg.wasm +0 -0
- package/pkg/fleethub_core_bg.wasm.d.ts +70 -70
package/node/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: "Night"; c: NightAttackType }
|
|
67
|
-
| { t: "Torpedo" }
|
|
68
|
-
| { t: "SupportShelling"; c: SupportShellingType };
|
|
69
|
-
|
|
70
|
-
export type DayPhaseAttackType =
|
|
71
|
-
| { t: "Shelling"; c: ShellingType }
|
|
72
|
-
| { t: "Asw"; c: AswAttackType };
|
|
73
|
-
|
|
74
|
-
export type TorpedoAttackType = null;
|
|
75
|
-
|
|
76
|
-
export type SupportShellingType = ShellingType;
|
|
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
|
|
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
|
+
}
|
|
89
55
|
|
|
90
|
-
export
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
|
95
|
-
|
|
96
|
-
| "MainSec"
|
|
97
|
-
| "DoubleAttack"
|
|
98
|
-
| "JFJBJB"
|
|
99
|
-
| "JFJB"
|
|
100
|
-
| "JFBA"
|
|
101
|
-
| "FBA"
|
|
102
|
-
| "BBA"
|
|
103
|
-
| "BA";
|
|
56
|
+
export interface AttackAnalyzerShipConfig
|
|
57
|
+
extends ShipConditions,
|
|
58
|
+
NightFleetConditions {
|
|
59
|
+
balloons?: number;
|
|
60
|
+
fleet_los_mod?: number | null;
|
|
61
|
+
}
|
|
104
62
|
|
|
105
|
-
export
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
| "DoubleAttack"
|
|
115
|
-
| "TorpTorpMain"
|
|
116
|
-
| "TorpTorpTorp"
|
|
117
|
-
| "MainMainSec"
|
|
118
|
-
| "MainMainMain"
|
|
119
|
-
| "SubTorpTorp"
|
|
120
|
-
| "SubRadarTorp"
|
|
121
|
-
| "Cvci1_25"
|
|
122
|
-
| "Cvci1_20"
|
|
123
|
-
| "Photobomber"
|
|
124
|
-
| "Cvci1_18";
|
|
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
|
+
}
|
|
125
72
|
|
|
126
|
-
export
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
| "KongouClassCutin"
|
|
131
|
-
| "Yamato2ShipCutin"
|
|
132
|
-
| "Yamato3ShipCutin"
|
|
133
|
-
| "QueenElizabethClassCutin"
|
|
134
|
-
| "RichelieuClassCutin";
|
|
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,6 +103,86 @@ export interface AttackReport<T> {
|
|
|
146
103
|
damage: DamageReport | null;
|
|
147
104
|
}
|
|
148
105
|
|
|
106
|
+
export interface BattleConditions {
|
|
107
|
+
org_type: OrgType;
|
|
108
|
+
role: Role;
|
|
109
|
+
ship_index: number;
|
|
110
|
+
fleet_len: number;
|
|
111
|
+
formation: Formation;
|
|
112
|
+
fleet_los_mod: number | null;
|
|
113
|
+
night_conditions: NightFleetConditions;
|
|
114
|
+
}
|
|
115
|
+
|
|
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[];
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export interface CompAnalysis {
|
|
125
|
+
day: CompDayAnalysis;
|
|
126
|
+
night: CompNightAnalysis;
|
|
127
|
+
contact: ContactAnalysis;
|
|
128
|
+
anti_air: CompAntiAirAnalysis;
|
|
129
|
+
}
|
|
130
|
+
|
|
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;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export interface CompAntiAirAnalysis {
|
|
142
|
+
fleet_adjusted_anti_air: number;
|
|
143
|
+
ships: AntiAirReport[];
|
|
144
|
+
anti_air_cutin_chance: [number, number][];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export interface CompDayAnalysis {
|
|
148
|
+
day_cutin: CompDayCutinAnalysis;
|
|
149
|
+
fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
150
|
+
}
|
|
151
|
+
|
|
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[];
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export interface CompMeta {
|
|
161
|
+
fleets: Record<FleetType, FleetMeta>;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export interface CompNightAnalysis {
|
|
165
|
+
night_cutin: CompNightCutinAnalysis;
|
|
166
|
+
fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export interface CompNightCutinAnalysis {
|
|
170
|
+
night_contact_chance: NightContactChance;
|
|
171
|
+
ships: ShipNightCutinAnalysis[];
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export interface ContactAnalysis {
|
|
175
|
+
single: DayContactChance[] | null;
|
|
176
|
+
combined: DayContactChance[] | null;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export interface CustomPowerModifiers {
|
|
180
|
+
precap_mod?: AttackPowerModifier;
|
|
181
|
+
postcap_mod?: AttackPowerModifier;
|
|
182
|
+
basic_power_mod?: AttackPowerModifier;
|
|
183
|
+
historical_mod?: AttackPowerModifier;
|
|
184
|
+
}
|
|
185
|
+
|
|
149
186
|
export interface DamageReport {
|
|
150
187
|
miss_damage_min: number;
|
|
151
188
|
miss_damage_max: number;
|
|
@@ -156,84 +193,166 @@ export interface DamageReport {
|
|
|
156
193
|
normal_scratch_rate: number;
|
|
157
194
|
critical_scratch_rate: number;
|
|
158
195
|
damage_density: Histogram<number, number>;
|
|
196
|
+
damage_density_no_penetration: Histogram<number, number> | null;
|
|
159
197
|
damage_state_density: Histogram<DamageState, number>;
|
|
160
198
|
}
|
|
161
199
|
|
|
200
|
+
export interface DayContactChance {
|
|
201
|
+
air_state: AirState;
|
|
202
|
+
trigger_rate: number;
|
|
203
|
+
rank3: number;
|
|
204
|
+
rank2: number;
|
|
205
|
+
rank1: number;
|
|
206
|
+
total: number;
|
|
207
|
+
}
|
|
208
|
+
|
|
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;
|
|
215
|
+
}
|
|
216
|
+
|
|
162
217
|
export interface DayCutinReport extends ActionReport<DayPhaseAttackStyle> {
|
|
163
218
|
observation_term: number | null;
|
|
164
219
|
}
|
|
165
220
|
|
|
166
|
-
export interface
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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;
|
|
172
232
|
}
|
|
173
233
|
|
|
174
|
-
export interface
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
ships: ShipDayCutinAnalysis[];
|
|
234
|
+
export interface EquippabilityRule {
|
|
235
|
+
ship: CompiledEvaler;
|
|
236
|
+
keys?: string[];
|
|
237
|
+
include?: string;
|
|
238
|
+
exclude?: string;
|
|
180
239
|
}
|
|
181
240
|
|
|
182
|
-
export interface
|
|
183
|
-
ship_id: number;
|
|
241
|
+
export interface FleetCutinAttackReport<T> extends AttackReport<T> {
|
|
184
242
|
index: number;
|
|
185
|
-
|
|
186
|
-
|
|
243
|
+
ship_id: number;
|
|
244
|
+
power_mod: number;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export interface FleetCutinReport<T> {
|
|
248
|
+
cutin: FleetCutin;
|
|
249
|
+
rate: number | null;
|
|
250
|
+
formation: Formation;
|
|
251
|
+
attacks: FleetCutinAttackReport<T>[];
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
export interface FleetMeta {
|
|
255
|
+
id: string;
|
|
256
|
+
len: number;
|
|
257
|
+
ships: [string, ShipMeta | null][];
|
|
258
|
+
}
|
|
259
|
+
|
|
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
|
+
}
|
|
271
|
+
|
|
272
|
+
export interface FormationCombatModifiersDef {
|
|
273
|
+
power_mod?: number;
|
|
274
|
+
accuracy_mod?: number;
|
|
275
|
+
evasion_mod?: number;
|
|
276
|
+
}
|
|
277
|
+
|
|
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
|
+
}
|
|
288
|
+
|
|
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
|
+
}
|
|
306
|
+
|
|
307
|
+
export interface GearState {
|
|
308
|
+
id?: string;
|
|
309
|
+
gear_id: number;
|
|
310
|
+
exp?: number;
|
|
311
|
+
stars?: number;
|
|
187
312
|
}
|
|
188
313
|
|
|
189
|
-
export interface
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
314
|
+
export interface GearVecState {
|
|
315
|
+
g1?: GearState;
|
|
316
|
+
g2?: GearState;
|
|
317
|
+
g3?: GearState;
|
|
318
|
+
g4?: GearState;
|
|
319
|
+
g5?: GearState;
|
|
320
|
+
gx?: GearState;
|
|
193
321
|
}
|
|
194
322
|
|
|
195
|
-
export interface
|
|
196
|
-
|
|
197
|
-
|
|
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;
|
|
198
334
|
}
|
|
199
335
|
|
|
200
|
-
export interface
|
|
201
|
-
|
|
202
|
-
|
|
336
|
+
export interface HistoricalParams {
|
|
337
|
+
power_mod: AttackPowerModifier;
|
|
338
|
+
armor_penetration: number;
|
|
339
|
+
accuracy_mod: number;
|
|
340
|
+
target_evasion_mod: number;
|
|
203
341
|
}
|
|
204
342
|
|
|
205
|
-
export
|
|
343
|
+
export interface HitRate {
|
|
344
|
+
normal: number;
|
|
345
|
+
critical: number;
|
|
346
|
+
total: number;
|
|
347
|
+
}
|
|
206
348
|
|
|
207
|
-
export interface
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
sort_id?: number;
|
|
215
|
-
max_hp: StatInterval;
|
|
216
|
-
firepower: StatInterval;
|
|
217
|
-
armor: StatInterval;
|
|
218
|
-
torpedo: StatInterval;
|
|
219
|
-
evasion: StatInterval;
|
|
220
|
-
anti_air: StatInterval;
|
|
221
|
-
asw: StatInterval;
|
|
222
|
-
los: StatInterval;
|
|
223
|
-
luck: StatInterval;
|
|
224
|
-
torpedo_accuracy?: number;
|
|
225
|
-
basic_evasion_term?: number;
|
|
226
|
-
speed: number;
|
|
227
|
-
range?: number;
|
|
228
|
-
fuel?: number;
|
|
229
|
-
ammo?: number;
|
|
230
|
-
next_id?: number;
|
|
231
|
-
next_level?: number;
|
|
232
|
-
slotnum: number;
|
|
233
|
-
slots: SlotSizeVec;
|
|
234
|
-
stock: GearState[];
|
|
235
|
-
speed_group?: SpeedGroup;
|
|
236
|
-
useful?: boolean;
|
|
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;
|
|
237
356
|
}
|
|
238
357
|
|
|
239
358
|
export interface MasterAttrRule<T> {
|
|
@@ -242,6 +361,14 @@ export interface MasterAttrRule<T> {
|
|
|
242
361
|
expr: CompiledEvaler;
|
|
243
362
|
}
|
|
244
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
|
+
|
|
245
372
|
export interface MasterData extends MasterBattleDefinitions {
|
|
246
373
|
created_at: number;
|
|
247
374
|
gears: MasterGear[];
|
|
@@ -252,179 +379,129 @@ export interface MasterData extends MasterBattleDefinitions {
|
|
|
252
379
|
equippability: MasterEquippability;
|
|
253
380
|
}
|
|
254
381
|
|
|
255
|
-
export interface
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
ss1?: number;
|
|
262
|
-
ss2?: number;
|
|
263
|
-
ss3?: number;
|
|
264
|
-
ss4?: number;
|
|
265
|
-
ss5?: number;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
export type ShipKey = "s1" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7";
|
|
269
|
-
|
|
270
|
-
export interface ShipState extends GearVecState, SlotSizeVecState {
|
|
271
|
-
id?: string;
|
|
272
|
-
ship_id: number;
|
|
273
|
-
level?: number;
|
|
274
|
-
current_hp?: number;
|
|
275
|
-
morale?: number;
|
|
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;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
export interface SupportShellingStyle {
|
|
293
|
-
tag: "SupportShellingStyle";
|
|
294
|
-
attack_type: SupportShellingType;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
298
|
-
|
|
299
|
-
export interface ShellingStyle {
|
|
300
|
-
tag: "ShellingStyle";
|
|
301
|
-
attack_type: ShellingType;
|
|
302
|
-
cutin: DayCutinLike | null;
|
|
303
|
-
power_mod: number;
|
|
304
|
-
accuracy_mod: number;
|
|
305
|
-
hits: number;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
309
|
-
|
|
310
|
-
export interface AswAttackStyle {
|
|
311
|
-
tag: "AswAttackStyle";
|
|
312
|
-
attack_type: AswAttackType;
|
|
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[];
|
|
313
388
|
}
|
|
314
389
|
|
|
315
|
-
export interface
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
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;
|
|
322
414
|
}
|
|
323
415
|
|
|
324
|
-
export interface
|
|
325
|
-
|
|
326
|
-
|
|
416
|
+
export interface MasterIBonusRule {
|
|
417
|
+
expr: CompiledEvaler;
|
|
418
|
+
formula: CompiledEvaler;
|
|
327
419
|
}
|
|
328
420
|
|
|
329
|
-
export
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
export type Role = "Main" | "Escort";
|
|
349
|
-
|
|
350
|
-
export type Side = "Player" | "Enemy";
|
|
351
|
-
|
|
352
|
-
export type Align = "Left" | "Right";
|
|
353
|
-
|
|
354
|
-
export type ShipType =
|
|
355
|
-
| "Unknown"
|
|
356
|
-
| "DE"
|
|
357
|
-
| "DD"
|
|
358
|
-
| "CL"
|
|
359
|
-
| "CLT"
|
|
360
|
-
| "CA"
|
|
361
|
-
| "CAV"
|
|
362
|
-
| "CVL"
|
|
363
|
-
| "FBB"
|
|
364
|
-
| "BB"
|
|
365
|
-
| "BBV"
|
|
366
|
-
| "CV"
|
|
367
|
-
| "XBB"
|
|
368
|
-
| "SS"
|
|
369
|
-
| "SSV"
|
|
370
|
-
| "AP"
|
|
371
|
-
| "AV"
|
|
372
|
-
| "LHA"
|
|
373
|
-
| "CVB"
|
|
374
|
-
| "AR"
|
|
375
|
-
| "AS"
|
|
376
|
-
| "CT"
|
|
377
|
-
| "AO";
|
|
378
|
-
|
|
379
|
-
export type ShipCategory =
|
|
380
|
-
| "Battleship"
|
|
381
|
-
| "AircraftCarrier"
|
|
382
|
-
| "HeavyCruiser"
|
|
383
|
-
| "LightCruiser"
|
|
384
|
-
| "Destroyer"
|
|
385
|
-
| "CoastalDefenseShip"
|
|
386
|
-
| "Submarine"
|
|
387
|
-
| "AuxiliaryShip";
|
|
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
|
+
}
|
|
388
440
|
|
|
389
|
-
export interface
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
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;
|
|
396
471
|
}
|
|
397
472
|
|
|
398
|
-
export interface
|
|
399
|
-
|
|
400
|
-
|
|
473
|
+
export interface MoveShipPayload {
|
|
474
|
+
current: [string, string, ShipKey];
|
|
475
|
+
target: [string | null, string, ShipKey];
|
|
401
476
|
}
|
|
402
477
|
|
|
403
|
-
export interface
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
debuff?: boolean;
|
|
408
|
-
disable_historical_mod?: boolean;
|
|
409
|
-
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;
|
|
410
482
|
}
|
|
411
483
|
|
|
412
|
-
export
|
|
484
|
+
export interface MstEquipShip {
|
|
485
|
+
api_equip_type: Record<number, MstEquipShipValue>;
|
|
486
|
+
}
|
|
413
487
|
|
|
414
|
-
export
|
|
488
|
+
export interface MstStype {
|
|
489
|
+
api_id: number;
|
|
490
|
+
api_equip_type: Record<number, number>;
|
|
491
|
+
}
|
|
415
492
|
|
|
416
|
-
export interface
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
engagement: Engagement;
|
|
420
|
-
node_state: NodeState;
|
|
493
|
+
export interface NationalityDef {
|
|
494
|
+
id: number;
|
|
495
|
+
ctypes: number[];
|
|
421
496
|
}
|
|
422
497
|
|
|
423
|
-
export interface
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
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;
|
|
428
505
|
}
|
|
429
506
|
|
|
430
507
|
export interface NightConditions {
|
|
@@ -432,191 +509,172 @@ export interface NightConditions {
|
|
|
432
509
|
enemy?: NightFleetConditions;
|
|
433
510
|
}
|
|
434
511
|
|
|
435
|
-
export interface
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
fleet_len: number;
|
|
440
|
-
formation: Formation;
|
|
441
|
-
fleet_los_mod: number | null;
|
|
442
|
-
night_conditions: NightFleetConditions;
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
export type OrgType =
|
|
446
|
-
| "Single"
|
|
447
|
-
| "CarrierTaskForce"
|
|
448
|
-
| "SurfaceTaskForce"
|
|
449
|
-
| "TransportEscort"
|
|
450
|
-
| "EnemySingle"
|
|
451
|
-
| "EnemyCombined";
|
|
452
|
-
|
|
453
|
-
export interface ShipPosition {
|
|
454
|
-
org_type?: OrgType;
|
|
455
|
-
fleet_type?: FleetType;
|
|
456
|
-
fleet_len?: number;
|
|
457
|
-
index?: number;
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
export interface ShipAnalyzerConfig {
|
|
461
|
-
air_state?: AirState;
|
|
462
|
-
engagement?: Engagement;
|
|
463
|
-
left?: AttackAnalyzerShipConfig;
|
|
464
|
-
right?: AttackAnalyzerShipConfig;
|
|
512
|
+
export interface NightContactChance {
|
|
513
|
+
rank1: number;
|
|
514
|
+
rank2: number;
|
|
515
|
+
rank3: number;
|
|
465
516
|
}
|
|
466
517
|
|
|
467
|
-
export
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
export interface MasterBattleDefinitions {
|
|
472
|
-
formation: NestedFormationDef[];
|
|
473
|
-
anti_air_cutin: AntiAirCutinDef[];
|
|
474
|
-
day_cutin: DayCutinDef[];
|
|
475
|
-
night_cutin: NightCutinDef[];
|
|
476
|
-
historical_bonuses?: HistoricalBonusDef[];
|
|
518
|
+
export interface NightCutinActionReport
|
|
519
|
+
extends ActionReport<NightPhaseAttackStyle> {
|
|
520
|
+
cutin_term: number | null;
|
|
477
521
|
}
|
|
478
522
|
|
|
479
|
-
export
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
g4?: GearState;
|
|
486
|
-
g5?: GearState;
|
|
487
|
-
gx?: GearState;
|
|
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;
|
|
488
529
|
}
|
|
489
530
|
|
|
490
|
-
export interface
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
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;
|
|
495
536
|
}
|
|
496
537
|
|
|
497
|
-
export
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
ships: [string, ShipMeta | null][];
|
|
538
|
+
export interface NodeAttackAnalysis {
|
|
539
|
+
left: AttackAnalysis;
|
|
540
|
+
right: AttackAnalysis;
|
|
541
|
+
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
542
|
+
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
503
543
|
}
|
|
504
544
|
|
|
505
|
-
export interface
|
|
506
|
-
|
|
545
|
+
export interface NodeAttackAnalyzerConfig {
|
|
546
|
+
air_state?: AirState;
|
|
547
|
+
engagement?: Engagement;
|
|
548
|
+
node_state?: NodeState;
|
|
549
|
+
left?: NodeAttackAnalyzerShipConfig;
|
|
550
|
+
right?: NodeAttackAnalyzerShipConfig;
|
|
507
551
|
}
|
|
508
552
|
|
|
509
|
-
export interface
|
|
510
|
-
|
|
511
|
-
ship_id: number;
|
|
553
|
+
export interface NodeAttackAnalyzerShipConfig extends NightFleetConditions {
|
|
554
|
+
formation?: Formation;
|
|
512
555
|
}
|
|
513
556
|
|
|
514
|
-
export interface
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
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;
|
|
518
564
|
}
|
|
519
565
|
|
|
520
|
-
export interface
|
|
521
|
-
id
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
566
|
+
export interface OrgState {
|
|
567
|
+
id?: string;
|
|
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;
|
|
525
580
|
}
|
|
526
581
|
|
|
527
|
-
export interface
|
|
528
|
-
|
|
529
|
-
|
|
582
|
+
export interface ShellingStyle {
|
|
583
|
+
tag: "ShellingStyle";
|
|
584
|
+
attack_type: ShellingType;
|
|
585
|
+
cutin: DayCutinLike | null;
|
|
586
|
+
power_mod: number;
|
|
587
|
+
accuracy_mod: number;
|
|
588
|
+
hits: number;
|
|
530
589
|
}
|
|
531
590
|
|
|
532
|
-
export
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
s1?: ShipState;
|
|
538
|
-
s2?: ShipState;
|
|
539
|
-
s3?: ShipState;
|
|
540
|
-
s4?: ShipState;
|
|
541
|
-
s5?: ShipState;
|
|
542
|
-
s6?: ShipState;
|
|
543
|
-
s7?: ShipState;
|
|
591
|
+
export interface ShipAnalyzerConfig {
|
|
592
|
+
air_state?: AirState;
|
|
593
|
+
engagement?: Engagement;
|
|
594
|
+
left?: AttackAnalyzerShipConfig;
|
|
595
|
+
right?: AttackAnalyzerShipConfig;
|
|
544
596
|
}
|
|
545
597
|
|
|
546
|
-
export
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
formation: Record<Formation, NestedFormationDef>;
|
|
550
|
-
anti_air_cutin: Record<number, AntiAirCutinDef>;
|
|
551
|
-
day_cutin: Record<DayCutin, DayCutinDef>;
|
|
552
|
-
night_cutin: Record<NightCutin, NightCutinDef>;
|
|
553
|
-
historical_bonuses: HistoricalBonusDef[];
|
|
598
|
+
export interface ShipConditions extends ShipPosition {
|
|
599
|
+
formation?: Formation;
|
|
600
|
+
amagiri_index?: number | null;
|
|
554
601
|
}
|
|
555
602
|
|
|
556
|
-
export interface
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
603
|
+
export interface ShipDayCutinAnalysis {
|
|
604
|
+
ship_id: number;
|
|
605
|
+
role: Role;
|
|
606
|
+
index: number;
|
|
607
|
+
rank3: DayCutinReport;
|
|
608
|
+
rank2: DayCutinReport;
|
|
562
609
|
}
|
|
563
610
|
|
|
564
|
-
export interface
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
accuracy_mod: number | null;
|
|
611
|
+
export interface ShipInput {
|
|
612
|
+
ship_id: number;
|
|
613
|
+
ctype: number;
|
|
614
|
+
stype: number;
|
|
615
|
+
yomi: string;
|
|
570
616
|
}
|
|
571
617
|
|
|
572
|
-
export interface
|
|
573
|
-
id:
|
|
574
|
-
|
|
575
|
-
multiplier: number | null;
|
|
576
|
-
guaranteed: number | null;
|
|
577
|
-
sequential: boolean | null;
|
|
618
|
+
export interface ShipMeta {
|
|
619
|
+
id: string;
|
|
620
|
+
ship_id: number;
|
|
578
621
|
}
|
|
579
622
|
|
|
580
|
-
export interface
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
623
|
+
export interface ShipNightCutinAnalysis {
|
|
624
|
+
ship_id: number;
|
|
625
|
+
index: number;
|
|
626
|
+
normal: NightCutinActionReport;
|
|
627
|
+
chuuha: NightCutinActionReport;
|
|
585
628
|
}
|
|
586
629
|
|
|
587
|
-
export interface
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
torpedo: FormationCombatModifiersDef;
|
|
593
|
-
asw: FormationCombatModifiersDef;
|
|
594
|
-
night: FormationCombatModifiersDef;
|
|
595
|
-
support_shelling: FormationCombatModifiersDef;
|
|
630
|
+
export interface ShipPosition {
|
|
631
|
+
org_type?: OrgType;
|
|
632
|
+
fleet_type?: FleetType;
|
|
633
|
+
fleet_len?: number;
|
|
634
|
+
index?: number;
|
|
596
635
|
}
|
|
597
636
|
|
|
598
|
-
export interface
|
|
599
|
-
|
|
600
|
-
|
|
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;
|
|
601
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;
|
|
602
657
|
}
|
|
603
658
|
|
|
604
|
-
export interface
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
phase?: number;
|
|
608
|
-
debuff?: boolean;
|
|
609
|
-
ship?: CompiledEvaler;
|
|
610
|
-
enemy?: CompiledEvaler;
|
|
611
|
-
power_mod?: AttackPowerModifier;
|
|
612
|
-
armor_penetration?: number;
|
|
613
|
-
accuracy_mod?: number;
|
|
614
|
-
evasion_mod?: number;
|
|
659
|
+
export interface SimulatorResult {
|
|
660
|
+
items: SimulatorResultItem[];
|
|
661
|
+
sunk_vec: [number, number, number][];
|
|
615
662
|
}
|
|
616
663
|
|
|
617
|
-
export
|
|
618
|
-
|
|
619
|
-
|
|
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;
|
|
677
|
+
}
|
|
620
678
|
|
|
621
679
|
export interface SpecialEnemyModifiers {
|
|
622
680
|
precap_general_mod: AttackPowerModifier;
|
|
@@ -637,23 +695,30 @@ export interface SpecialEnemyModifiers {
|
|
|
637
695
|
landing_forces_t4kai_mod: AttackPowerModifier;
|
|
638
696
|
t4_tank_group_mod: AttackPowerModifier;
|
|
639
697
|
t4_tank_kai_mod: AttackPowerModifier;
|
|
698
|
+
panzer2_mod: AttackPowerModifier;
|
|
699
|
+
r35_french_mod: AttackPowerModifier;
|
|
640
700
|
postcap_general_mod: AttackPowerModifier;
|
|
641
701
|
pt_mod: AttackPowerModifier | null;
|
|
642
702
|
}
|
|
643
703
|
|
|
644
|
-
export interface
|
|
645
|
-
|
|
646
|
-
|
|
704
|
+
export interface SupportShellingSimulatorParams {
|
|
705
|
+
attacker_formation?: Formation;
|
|
706
|
+
target_formation?: Formation;
|
|
707
|
+
engagement: Engagement;
|
|
708
|
+
node_state: NodeState;
|
|
647
709
|
}
|
|
648
710
|
|
|
649
|
-
export interface
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
basic_power_mod?: AttackPowerModifier;
|
|
653
|
-
historical_mod?: AttackPowerModifier;
|
|
711
|
+
export interface SupportShellingStyle {
|
|
712
|
+
tag: "SupportShellingStyle";
|
|
713
|
+
attack_type: SupportShellingType;
|
|
654
714
|
}
|
|
655
715
|
|
|
656
|
-
export
|
|
716
|
+
export interface TorpedoAttackStyle {
|
|
717
|
+
tag: "TorpedoAttackStyle";
|
|
718
|
+
attack_type: TorpedoAttackType;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
export type AirSquadronMode = "Sortie" | "AirDefense";
|
|
657
722
|
|
|
658
723
|
export type AirState =
|
|
659
724
|
| "AirSupremacy"
|
|
@@ -662,15 +727,20 @@ export type AirState =
|
|
|
662
727
|
| "AirDenial"
|
|
663
728
|
| "AirIncapability";
|
|
664
729
|
|
|
665
|
-
export type
|
|
730
|
+
export type AirStateRank = "Rank0" | "Rank1" | "Rank2" | "Rank3";
|
|
666
731
|
|
|
667
|
-
export type
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
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 };
|
|
674
744
|
|
|
675
745
|
export type CombinedFormation =
|
|
676
746
|
| "Cruising1"
|
|
@@ -678,148 +748,86 @@ export type CombinedFormation =
|
|
|
678
748
|
| "Cruising3"
|
|
679
749
|
| "Cruising4";
|
|
680
750
|
|
|
681
|
-
export
|
|
682
|
-
is_cutin: boolean;
|
|
683
|
-
basic: number;
|
|
684
|
-
cap: number;
|
|
685
|
-
precap_mod: AttackPowerModifier;
|
|
686
|
-
postcap_mod: AttackPowerModifier;
|
|
687
|
-
ap_shell_mod: number | null;
|
|
688
|
-
aerial_power: number | null;
|
|
689
|
-
proficiency_critical_mod: number;
|
|
690
|
-
armor_penetration: number;
|
|
691
|
-
remaining_ammo_mod: number;
|
|
692
|
-
balloon_mod: number;
|
|
693
|
-
special_enemy_mods: SpecialEnemyModifiers;
|
|
694
|
-
historical_mod: AttackPowerModifier;
|
|
695
|
-
custom_mods: CustomPowerModifiers;
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
export interface AttackPower {
|
|
699
|
-
precap: number;
|
|
700
|
-
is_capped: boolean;
|
|
701
|
-
capped: number;
|
|
702
|
-
normal: number;
|
|
703
|
-
critical: number;
|
|
704
|
-
armor_penetration: number;
|
|
705
|
-
remaining_ammo_mod: number;
|
|
706
|
-
}
|
|
707
|
-
|
|
708
|
-
export interface CompAntiAirAnalysis {
|
|
709
|
-
fleet_adjusted_anti_air: number;
|
|
710
|
-
ships: AntiAirReport[];
|
|
711
|
-
anti_air_cutin_chance: [number, number][];
|
|
712
|
-
}
|
|
751
|
+
export type ContactRank = "Rank1" | "Rank2" | "Rank3";
|
|
713
752
|
|
|
714
|
-
export
|
|
715
|
-
ship_id: number;
|
|
716
|
-
role: Role;
|
|
717
|
-
index: number;
|
|
718
|
-
adjusted_anti_air: number | null;
|
|
719
|
-
proportional_shotdown_rate: number | null;
|
|
720
|
-
fixed_shotdown_number: number | null;
|
|
721
|
-
guaranteed: number | null;
|
|
722
|
-
anti_air_cutin_chance: [number, number][];
|
|
723
|
-
anti_air_propellant_barrage_chance: number | null;
|
|
724
|
-
}
|
|
753
|
+
export type DamageState = "Normal" | "Shouha" | "Chuuha" | "Taiha" | "Sunk";
|
|
725
754
|
|
|
726
|
-
export
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
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";
|
|
731
769
|
|
|
732
|
-
export
|
|
733
|
-
cutin: FleetCutin;
|
|
734
|
-
rate: number | null;
|
|
735
|
-
formation: Formation;
|
|
736
|
-
attacks: FleetCutinAttackReport<T>[];
|
|
737
|
-
}
|
|
770
|
+
export type DayCutinLike = DayCutin | FleetCutin;
|
|
738
771
|
|
|
739
|
-
export
|
|
740
|
-
gear_id: number;
|
|
741
|
-
name: string;
|
|
742
|
-
types: GearTypeIdArray;
|
|
743
|
-
special_type?: number;
|
|
744
|
-
max_hp?: number;
|
|
745
|
-
firepower?: number;
|
|
746
|
-
armor?: number;
|
|
747
|
-
torpedo?: number;
|
|
748
|
-
anti_air?: number;
|
|
749
|
-
speed?: number;
|
|
750
|
-
bombing?: number;
|
|
751
|
-
asw?: number;
|
|
752
|
-
los?: number;
|
|
753
|
-
luck?: number;
|
|
754
|
-
accuracy?: number;
|
|
755
|
-
evasion?: number;
|
|
756
|
-
range?: number;
|
|
757
|
-
radius?: number;
|
|
758
|
-
cost?: number;
|
|
759
|
-
improvable?: boolean;
|
|
760
|
-
ship_anti_air_resist?: number;
|
|
761
|
-
fleet_anti_air_resist?: number;
|
|
762
|
-
historical_aircraft_group?: number;
|
|
763
|
-
}
|
|
772
|
+
export type DayPhaseAttackStyle = ShellingStyle | AswAttackStyle;
|
|
764
773
|
|
|
765
|
-
export
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
}
|
|
774
|
+
export type DayPhaseAttackType =
|
|
775
|
+
| { t: "Shelling"; c: ShellingType }
|
|
776
|
+
| { t: "Asw"; c: AswAttackType };
|
|
769
777
|
|
|
770
|
-
export type
|
|
778
|
+
export type DensityDetail = "Total" | "WithNoPenetration";
|
|
771
779
|
|
|
772
|
-
export
|
|
773
|
-
formation?: Formation;
|
|
774
|
-
amagiri_index?: number | null;
|
|
775
|
-
}
|
|
780
|
+
export type Engagement = "GreenT" | "Parallel" | "HeadOn" | "RedT";
|
|
776
781
|
|
|
777
|
-
export type
|
|
782
|
+
export type FhResult<T> = { Ok: T } | { Err: string };
|
|
778
783
|
|
|
779
|
-
export
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
784
|
+
export type FleetCutin =
|
|
785
|
+
| "NelsonTouch"
|
|
786
|
+
| "NagatoClassCutin"
|
|
787
|
+
| "ColoradoClassCutin"
|
|
788
|
+
| "KongouClassCutin"
|
|
789
|
+
| "Yamato2ShipCutin"
|
|
790
|
+
| "Yamato3ShipCutin"
|
|
791
|
+
| "QueenElizabethClassCutin"
|
|
792
|
+
| "RichelieuClassCutin";
|
|
783
793
|
|
|
784
|
-
export
|
|
785
|
-
ship_id: number;
|
|
786
|
-
ctype: number;
|
|
787
|
-
stype: number;
|
|
788
|
-
yomi: string;
|
|
789
|
-
}
|
|
794
|
+
export type FleetKey = "f1" | "f2" | "f3" | "f4";
|
|
790
795
|
|
|
791
|
-
export
|
|
792
|
-
gear_id: number;
|
|
793
|
-
types: GearTypeIdArray;
|
|
794
|
-
firepower: number;
|
|
795
|
-
torpedo: number;
|
|
796
|
-
anti_air: number;
|
|
797
|
-
armor: number;
|
|
798
|
-
evasion: number;
|
|
799
|
-
asw: number;
|
|
800
|
-
los: number;
|
|
801
|
-
bombing: number;
|
|
802
|
-
accuracy: number;
|
|
803
|
-
range: number;
|
|
804
|
-
radius: number;
|
|
805
|
-
stars: number;
|
|
806
|
-
ace: number;
|
|
807
|
-
}
|
|
796
|
+
export type FleetType = "Main" | "Escort" | "RouteSup" | "BossSup";
|
|
808
797
|
|
|
809
|
-
export
|
|
810
|
-
firepower: number;
|
|
811
|
-
torpedo: number;
|
|
812
|
-
anti_air: number;
|
|
813
|
-
armor: number;
|
|
814
|
-
evasion: number;
|
|
815
|
-
asw: number;
|
|
816
|
-
los: number;
|
|
817
|
-
bombing: number;
|
|
818
|
-
accuracy: number;
|
|
819
|
-
range: number;
|
|
820
|
-
}
|
|
798
|
+
export type Formation = SingleFormation | CombinedFormation;
|
|
821
799
|
|
|
822
|
-
export type
|
|
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";
|
|
823
831
|
|
|
824
832
|
export type GearCategory =
|
|
825
833
|
| "Fighter"
|
|
@@ -899,180 +907,177 @@ export type GearType =
|
|
|
899
907
|
| "CbRecon2"
|
|
900
908
|
| "SecondaryGun2";
|
|
901
909
|
|
|
902
|
-
export
|
|
903
|
-
id?: string;
|
|
904
|
-
f1?: FleetState;
|
|
905
|
-
f2?: FleetState;
|
|
906
|
-
f3?: FleetState;
|
|
907
|
-
f4?: FleetState;
|
|
908
|
-
a1?: AirSquadronState;
|
|
909
|
-
a2?: AirSquadronState;
|
|
910
|
-
a3?: AirSquadronState;
|
|
911
|
-
hq_level?: number;
|
|
912
|
-
org_type?: OrgType;
|
|
913
|
-
sortie?: FleetKey;
|
|
914
|
-
route_sup?: FleetKey;
|
|
915
|
-
boss_sup?: FleetKey;
|
|
916
|
-
}
|
|
910
|
+
export type GearTypeIdArray = [number, number, number, number, number];
|
|
917
911
|
|
|
918
|
-
export type
|
|
912
|
+
export type GearVecInput = GearInput[];
|
|
919
913
|
|
|
920
|
-
export
|
|
921
|
-
accuracy_term: number;
|
|
922
|
-
evasion_term: number;
|
|
923
|
-
target_morale_mod: number;
|
|
924
|
-
critical_rate_constant: number;
|
|
925
|
-
critical_percentage_bonus: number;
|
|
926
|
-
hit_percentage_bonus: number;
|
|
927
|
-
}
|
|
914
|
+
export type MoraleState = "Sparkle" | "Normal" | "Orange" | "Red";
|
|
928
915
|
|
|
929
|
-
export
|
|
930
|
-
normal: number;
|
|
931
|
-
critical: number;
|
|
932
|
-
total: number;
|
|
933
|
-
}
|
|
916
|
+
export type MstEquipShipValue = null | number[];
|
|
934
917
|
|
|
935
|
-
export
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
}
|
|
918
|
+
export type NestedFormationDef =
|
|
919
|
+
| FormationDef
|
|
920
|
+
| { top_half: FormationDef; bottom_half: FormationDef };
|
|
939
921
|
|
|
940
|
-
export
|
|
941
|
-
engagement: Engagement;
|
|
942
|
-
formation: Formation;
|
|
943
|
-
anti_air_cutin: number | null;
|
|
944
|
-
ship_anti_air_resist: number;
|
|
945
|
-
fleet_anti_air_resist: number;
|
|
946
|
-
left_night_fleet_conditions: NightFleetConditions;
|
|
947
|
-
right_night_fleet_conditions: NightFleetConditions;
|
|
948
|
-
}
|
|
922
|
+
export type NightAttackType = "Normal" | "Swordfish" | "Aerial";
|
|
949
923
|
|
|
950
|
-
export
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
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";
|
|
954
944
|
|
|
955
|
-
export
|
|
956
|
-
day: CompDayAnalysis;
|
|
957
|
-
night: CompNightAnalysis;
|
|
958
|
-
contact: ContactAnalysis;
|
|
959
|
-
anti_air: CompAntiAirAnalysis;
|
|
960
|
-
}
|
|
945
|
+
export type NightCutinLike = NightCutin | FleetCutin;
|
|
961
946
|
|
|
962
|
-
export
|
|
963
|
-
attacker_is_player: boolean;
|
|
964
|
-
attacker_ship_id: number;
|
|
965
|
-
target_ship_id: number;
|
|
966
|
-
historical_params: HistoricalParams;
|
|
967
|
-
day: ActionReport<DayPhaseAttackStyle>;
|
|
968
|
-
night: ActionReport<NightPhaseAttackStyle>;
|
|
969
|
-
closing_torpedo: ActionReport<TorpedoAttackStyle>;
|
|
970
|
-
opening_asw: ActionReport<AswAttackStyle>;
|
|
971
|
-
support_shelling: ActionReport<SupportShellingStyle>;
|
|
972
|
-
}
|
|
947
|
+
export type NightPhaseAttackStyle = NightAttackStyle | AswAttackStyle;
|
|
973
948
|
|
|
974
|
-
export
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
shelling_fleet_cutin: FleetCutinReport<ShellingStyle>[];
|
|
978
|
-
night_fleet_cutin: FleetCutinReport<NightAttackStyle>[];
|
|
979
|
-
}
|
|
949
|
+
export type NightPhaseAttackType =
|
|
950
|
+
| { t: "Night"; c: NightAttackType }
|
|
951
|
+
| { t: "Asw"; c: AswAttackType };
|
|
980
952
|
|
|
981
|
-
export
|
|
982
|
-
formation?: Formation;
|
|
983
|
-
}
|
|
953
|
+
export type NodeId = string;
|
|
984
954
|
|
|
985
|
-
export
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
955
|
+
export type OrgType =
|
|
956
|
+
| "Single"
|
|
957
|
+
| "CarrierTaskForce"
|
|
958
|
+
| "SurfaceTaskForce"
|
|
959
|
+
| "TransportEscort"
|
|
960
|
+
| "EnemySingle"
|
|
961
|
+
| "EnemyCombined";
|
|
992
962
|
|
|
993
|
-
export
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
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";
|
|
999
1000
|
|
|
1000
|
-
export
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
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";
|
|
1004
1025
|
|
|
1005
|
-
export
|
|
1006
|
-
shelling_power: MasterIBonusRule[];
|
|
1007
|
-
shelling_accuracy: MasterIBonusRule[];
|
|
1008
|
-
shelling_aerial_power: MasterIBonusRule[];
|
|
1009
|
-
torpedo_power: MasterIBonusRule[];
|
|
1010
|
-
torpedo_accuracy: MasterIBonusRule[];
|
|
1011
|
-
torpedo_evasion: MasterIBonusRule[];
|
|
1012
|
-
asw_power: MasterIBonusRule[];
|
|
1013
|
-
asw_accuracy: MasterIBonusRule[];
|
|
1014
|
-
night_power: MasterIBonusRule[];
|
|
1015
|
-
night_aerial_power: MasterIBonusRule[];
|
|
1016
|
-
night_accuracy: MasterIBonusRule[];
|
|
1017
|
-
defense_power: MasterIBonusRule[];
|
|
1018
|
-
contact_selection: MasterIBonusRule[];
|
|
1019
|
-
fighter_power: MasterIBonusRule[];
|
|
1020
|
-
ship_anti_air: MasterIBonusRule[];
|
|
1021
|
-
fleet_anti_air: MasterIBonusRule[];
|
|
1022
|
-
elos: MasterIBonusRule[];
|
|
1023
|
-
}
|
|
1026
|
+
export type Side = "Player" | "Enemy";
|
|
1024
1027
|
|
|
1025
|
-
export
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1028
|
+
export type SingleFormation =
|
|
1029
|
+
| "LineAhead"
|
|
1030
|
+
| "DoubleLine"
|
|
1031
|
+
| "Diamond"
|
|
1032
|
+
| "Echelon"
|
|
1033
|
+
| "LineAbreast"
|
|
1034
|
+
| "Vanguard";
|
|
1032
1035
|
|
|
1033
|
-
export
|
|
1034
|
-
api_equip_type: Record<number, MstEquipShipValue>;
|
|
1035
|
-
}
|
|
1036
|
+
export type SlotSizeVec = (number | null)[];
|
|
1036
1037
|
|
|
1037
|
-
export
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
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";
|
|
1043
1054
|
|
|
1044
|
-
export type
|
|
1055
|
+
export type SpeedGroup = "A" | "B1" | "B2" | "C";
|
|
1045
1056
|
|
|
1046
|
-
export
|
|
1047
|
-
api_ctypes: Record<number, number> | null;
|
|
1048
|
-
api_ship_ids: Record<number, number> | null;
|
|
1049
|
-
api_stypes: Record<number, number> | null;
|
|
1050
|
-
}
|
|
1057
|
+
export type StatInterval = [number | null, number | null];
|
|
1051
1058
|
|
|
1052
|
-
export
|
|
1053
|
-
api_id: number;
|
|
1054
|
-
api_equip_type: Record<number, number>;
|
|
1055
|
-
}
|
|
1059
|
+
export type SupportShellingType = ShellingType;
|
|
1056
1060
|
|
|
1057
|
-
export type
|
|
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
|
-
is_abyssal_cuttlefish_torpedo(): boolean;
|
|
1237
|
-
is_abyssal_patrolling_attack_hawk(): boolean;
|
|
1238
|
-
elos(): number;
|
|
1239
|
-
static default(): Gear;
|
|
1240
1229
|
category(): GearCategory;
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
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
|
-
|
|
1334
|
-
is_abyssal(): boolean;
|
|
1335
|
-
is_amagiri(): boolean;
|
|
1336
|
-
/**
|
|
1337
|
-
* 確殺攻撃力
|
|
1338
|
-
*/
|
|
1339
|
-
ohko_power(): number | undefined;
|
|
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;
|
|
1340
1346
|
damage_state(): DamageState;
|
|
1347
|
+
static default(): Ship;
|
|
1348
|
+
elos(node_divaricated_factor: number): number | undefined;
|
|
1349
|
+
eq_id(id: string): boolean;
|
|
1341
1350
|
evasion_term(
|
|
1342
1351
|
formation_mod: number,
|
|
1343
1352
|
postcap_additive: number,
|
|
1344
1353
|
postcap_multiplicative: number,
|
|
1345
1354
|
): number | undefined;
|
|
1346
|
-
get_stat_mod(key: string): number | undefined;
|
|
1347
|
-
is_submarine(): boolean;
|
|
1348
|
-
morale_state(): MoraleState;
|
|
1349
1355
|
fighter_power(air_type: AirWaveType): number | undefined;
|
|
1350
|
-
get_gear_stat(key: string): number;
|
|
1351
|
-
get_slot_size(index: number): number | undefined;
|
|
1352
|
-
get_naked_stat(key: string): number | undefined;
|
|
1353
|
-
is_installation(): boolean;
|
|
1354
|
-
transport_point(): number;
|
|
1355
|
-
fleet_los_factor(): number | undefined;
|
|
1356
|
-
get_damage_bound(state: DamageState): number | undefined;
|
|
1357
|
-
has_unknown_stat(key: string): boolean;
|
|
1358
|
-
cruiser_fit_bonus(): number;
|
|
1359
|
-
custom_power_mods(): CustomPowerModifiers;
|
|
1360
|
-
get_max_slot_size(index: number): number | undefined;
|
|
1361
|
-
basic_evasion_term(): number | undefined;
|
|
1362
1356
|
/**
|
|
1363
1357
|
* 艦隊対空補正
|
|
1364
1358
|
*/
|
|
1365
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;
|
|
1366
1368
|
get_remaining_ammo(rate: number, ceil: boolean): number;
|
|
1367
1369
|
get_remaining_fuel(rate: number, ceil: boolean): number;
|
|
1370
|
+
get_slot_size(index: number): number | undefined;
|
|
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;
|
|
1374
|
+
/**
|
|
1375
|
+
* フィット砲補正
|
|
1376
|
+
*/
|
|
1377
|
+
gunfit_accuracy(is_night: boolean): number;
|
|
1378
|
+
has_attr(attr: ShipAttr): boolean;
|
|
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
|
+
is_pt_imp(): boolean;
|
|
1385
|
+
is_submarine(): boolean;
|
|
1386
|
+
meta(): ShipMeta;
|
|
1387
|
+
morale_state(): MoraleState;
|
|
1388
|
+
/**
|
|
1389
|
+
* 確殺攻撃力
|
|
1390
|
+
*/
|
|
1391
|
+
ohko_power(): number | undefined;
|
|
1368
1392
|
remaining_ammo_mod(): number;
|
|
1369
1393
|
remaining_fuel_mod(): number;
|
|
1370
|
-
special_enemy_type(): SpecialEnemyType;
|
|
1371
|
-
basic_accuracy_term(): number | undefined;
|
|
1372
|
-
basic_defense_power(armor_penetration: number): number | undefined;
|
|
1373
|
-
get_stat_interval_left(key: string): number | undefined;
|
|
1374
1394
|
/**
|
|
1375
1395
|
* 加重対空
|
|
1376
1396
|
*/
|
|
1377
1397
|
ship_adjusted_anti_air(side: Side): number | undefined;
|
|
1378
|
-
|
|
1379
|
-
is_attackable_by_torpedo(): boolean;
|
|
1380
|
-
elos(node_divaricated_factor: number): number | undefined;
|
|
1381
|
-
meta(): ShipMeta;
|
|
1382
|
-
eq_id(id: string): boolean;
|
|
1398
|
+
special_enemy_type(): SpecialEnemyType;
|
|
1383
1399
|
state(): ShipState;
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
id: string;
|
|
1400
|
+
state_day_gunfit_accuracy(): number | undefined;
|
|
1401
|
+
state_night_gunfit_accuracy(): number | undefined;
|
|
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;
|