forked from KC3Kai/kancolle-replay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
simulator-old.html
501 lines (493 loc) · 34.3 KB
/
simulator-old.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
<!DOCTYPE HTML>
<html>
<head>
<title>KanColle Sortie Simulator</title>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<script src="js/jquery-1.11.3.min.js"></script>
<script src="js/chosen.jquery.js"></script>
<link rel="stylesheet" href="css/chosen.css"/>
<script src="js/util/jquery-ui/jquery-ui.min.js"></script>
<link rel="stylesheet" href="js/util/jquery-ui/jquery-ui.css">
<script src="js/kcSHIPDATA.js"></script>
<script src="js/kcEQDATA.js"></script>
<script src="js/kcENEMYCOMP.js"></script>
<script src="js/shared.js"></script>
<script src="js/kcships.js"></script>
<script src="js/kcsim.js"></script>
<script src="js/kcsimcombined.js"></script>
<script src="js/pixi.min.js"></script>
<script src="js/howler.min.js"></script>
<script src="js/playersound.js"></script>
<script src="js/playersound2.js"></script>
<link rel="stylesheet" href="css/simulator.css"/>
</head>
<body style="display:none">
<h1 title="Boat Cockfight Simulator">Kancolle Sortie Simulator</h1>
<span style="color:red">v1.0 Beta 5.0 <span style="margin-left:20px;font-style:italic">(Last updated: 2022-02-16)</span></span>
<br><br><br>
<input type="radio" id="radJP" name="lang" onchange="transNames('JP')"/><label for="radJP">JP</label>
<input type="radio" id="radEN" name="lang" onchange="transNames('EN')" checked /><label for="radEN">EN</label>
<br><br>
<div id="fleetspace1" style="clear:both"></div>
<br>
<div style="width:1000px">
<div style="width:200px;margin:auto">
<input type="button" id="btnAddComb" value="Add Combined Fleet" onClick="clickedAddComb(true)"/>
<input type="button" id="btnDelComb" value="Remove Combined Fleet" style="display:none" onClick="clickedDelComb()"/>
</div>
</div>
<br><br>
<div id="fleetspace1SN"></div>
<br>
<div style="width:1000px">
<div style="width:200px;margin:auto">
<input type="button" id="btnAddSupN" value="Add Normal Support" onClick="clickedAddSupportN(true)"/>
<input type="button" id="btnDelSupN" value="Remove Normal Support" style="display:none" onClick="clickedDelSupportN()"/>
</div>
</div>
<br>
<div id="fleetspace1SB"></div>
<br>
<div style="width:1000px">
<div style="width:200px;margin:auto">
<input type="button" id="btnAddSupB" value="Add Boss Support" onClick="clickedAddSupportB(true)"/>
<input type="button" id="btnDelSupB" value="Remove Boss Support" style="display:none" onClick="clickedDelSupportB()"/>
</div>
</div>
<br>
<div id="lbasspace">
<div class="fleet" id="TLB" style="width:490px; border:1px solid black; display:none">
<div style="background-color:#556b2f"><span style="font-weight:bold">Land Base Aerial Support</span></div>
<table class="t1">
<tr>
<td style="width:160px"><img src="assets/icons/LBAS1.png" /></td>
<td style="width:160px"><img src="assets/icons/LBAS2.png" /></td>
<td style="width:160px"><img src="assets/icons/LBAS3.png" /></td>
</tr>
<tr><td id="TLB00"></td><td id="TLB10"></td><td id="TLB20"></td></tr>
<tr><td id="TLB01"></td><td id="TLB11"></td><td id="TLB21"></td></tr>
<tr><td id="TLB02"></td><td id="TLB12"></td><td id="TLB22"></td></tr>
<tr><td id="TLB03"></td><td id="TLB13"></td><td id="TLB23"></td></tr>
</table>
</div>
</div>
<br>
<div style="width:1000px">
<div style="width:200px;margin:auto">
<input type="button" id="btnAddLBAS" value="Add LBAS" onClick="clickedAddLBAS(true)"/>
<input type="button" id="btnDelLBAS" value="Remove LBAS" style="display:none" onClick="clickedDelLBAS()"/>
</div>
</div>
<br>
<div id="fleetspace1FF"></div>
<br>
<div style="width:1000px">
<div style="width:200px;margin:auto">
<input type="button" id="btnAddFF" value="Add Friend Fleet" onClick="clickedAddFriendFleet(true)"/>
<input type="button" id="btnDelFF" value="Remove Friend Fleet" style="display:none" onClick="clickedDelFriendFleet()"/>
</div>
</div>
<br><hr><br><br>
<div id="fleetspace2"></div>
<br>
<div style="width:1000px">
<div style="width:200px;margin:auto">
<input type="button" id="btnAddNode" value="Add Node" onClick="clickedAddNode(true)"/>
<input type="button" id="btnDelNode" value="Remove Node" style="visibility:hidden" onClick="clickedDelNode()"/>
</div>
</div>
<br>
<hr>
<h2>Settings</h2>
<div>
<input type="checkbox" id="cbredretr" checked="true" onchange="changedCBRedRetr(this.checked);raiseFleetChange()"/>
<label for="cbredretr">Retreat on <img src="assets/stats/taiha.png" style="vertical-align:middle"/>?</label>
<img src="assets/stats/kuso.png" id="redretrkuso" style="display:none;vertical-align:middle"/>
<br><br>
<span style="font-weight:bold">Mechanics:</span><br>
<input type="checkbox" checked id="mech5" onchange="MECHANICS.morale=this.checked"/><label for="mech5">Morale</label><br>
<input type="checkbox" checked id="mech1" onchange="MECHANICS.artillerySpotting=this.checked"/><label for="mech1">Artillery Spotting</label><br>
<input type="checkbox" checked id="mech2" onchange="MECHANICS.AACI=this.checked"/><label for="mech2">Anti-Air Cut-In</label><br>
<input type="checkbox" checked id="mech3" onchange="MECHANICS.fitGun=this.checked"/><label for="mech3">Fit Gun</label><br>
<input type="checkbox" checked id="mech4" onchange="MECHANICS.OASW=this.checked"/><label for="mech4">Opening ASW</label><br>
<input type="checkbox" checked id="mech6" onchange="MECHANICS.CVCI=this.checked"/><label for="mech6">Carrier Cut-In</label><br>
<input type="checkbox" checked id="mech7" onchange="MECHANICS.destroyerNBCI=this.checked"/><label for="mech7">Destroyer NB Cut-In</label><br>
<input type="checkbox" checked id="mech8" onchange="MECHANICS.LBASBuff=this.checked"/><label for="mech8">LBAS/Support Revamp (Fall 17)</label><br>
<input type="checkbox" checked id="mech9" onchange="MECHANICS.installRevamp=this.checked"/><label for="mech9">New Soft-Skin Installation Mods</label><br>
<input type="checkbox" checked id="mech10" onchange="MECHANICS.newSupply=this.checked"/><label for="mech10">New Fuel/Ammo Node Costs</label><br>
<input type="checkbox" checked id="mech11" onchange="toggleEchelon($(this).prop('checked'))"/><label for="mech11">New Echelon Mods</label><br>
<!--<input type="checkbox" checked id="mech12" onchange="MECHANICS.zuiunCI=this.checked"/><label for="mech12">Zuiun/Suisei Cut-In</label><br>-->
<input type="checkbox" checked id="mech13" onchange="MECHANICS.aaResist=this.checked"/><label for="mech13">Anti-Air Resist</label><br>
<input type="checkbox" checked id="mech14" onchange="MECHANICS.divebomberInstall=this.checked"/><label for="mech14">Divebomber Installation Targeting</label><br>
<input type="checkbox" checked id="mech15" onchange="toggleDDCIBuff(this.checked)"/><label for="mech15">Destroyer NB Cut-In Buff (Double Hit)</label><br>
<input type="checkbox" checked id="mech16" onchange="MECHANICS.subFleetAttack=this.checked"/><label for="mech16">Submarine Fleet Attack</label><br>
<input type="checkbox" checked id="mech17" onchange="MECHANICS.kongouSpecialBuff=this.checked"/><label for="mech17">Kongou Special Buff</label><br>
<input type="checkbox" checked id="mech18" onchange="MECHANICS.coloradoSpecialFix=this.checked"/><label for="mech18">Colorado Special Fix</label><br>
<br>
<table>
<tr><td><label for="mechshelldmg">Day Shelling Soft-Cap: </label></td><td><input id="mechshelldmg" type="number" min="0" max="9999" value="220" style="width:50px" onchange="setConst('shellDmgCap',this.value);raiseFleetChange()" /></td></tr>
<tr><td><label for="mechaswdmg">ASW Soft-Cap: </label></td><td><input id="mechaswdmg" type="number" min="0" max="9999" value="170" style="width:50px" onchange="setConst('aswDmgCap',this.value);raiseFleetChange()" /></td></tr>
<tr><td><label for="mechtorpedodmg">Torpedo Soft-Cap: </label></td><td><input id="mechtorpedodmg" type="number" min="0" max="9999" value="180" style="width:50px" onchange="setConst('torpedoDmgCap',this.value);raiseFleetChange()" /></td></tr>
<tr><td><label for="mechnightdmg">Night Soft-Cap: </label></td><td><input id="mechnightdmg" type="number" min="0" max="9999" value="360" style="width:50px" onchange="setConst('nightDmgCap',this.value);raiseFleetChange()" /></td></tr>
<tr><td><label for="mechairdmg">Air Soft-Cap: </label></td><td><input id="mechairdmg" type="number" min="0" max="9999" value="170" style="width:50px" onchange="setConst('airDmgCap',this.value);raiseFleetChange()" /></td></tr>
<tr><td><label for="mechsupportdmg">Support Soft-Cap: </label></td><td><input id="mechsupportdmg" type="number" min="0" max="9999" value="170" style="width:50px" onchange="setConst('supportDmgCap',this.value);raiseFleetChange()" /></td></tr>
</table>
<br>
<input type="checkbox" id="advCostW6" onchange="SIMCONSTS.airRaidCostW6=this.checked;raiseFleetChange()" /><label for="advCostW6">Use World 6 costs for Air Raid (4% <img src="assets/stats/fuel.png" /> 8% <img src="assets/stats/ammo.png" />)</label><br>
<br>
<input type="button" value="Show Advanced" onclick="$('#optionsadvanced').toggle()" />
<div id="optionsadvanced" style="display:none">
<!-- <span>Override Base Shell Power for Enemy Combined Fleet:</span><br>
<table>
<tr>
<td>Main:</td>
<td>Player:<td><td><input id="advshellMF" type="number" min="-999" max="999" style="width:50px" onchange="setConst('shellEcMF',this.value)"/></td>
<td>Enemy:<td><td><input id="advshellME" type="number" min="-999" max="999" style="width:50px" onchange="setConst('shellEcME',this.value)" /></td>
</tr>
<tr>
<td>Escort:</td>
<td>Player:<td><td><input id="advshellEF" type="number" min="-999" max="999" style="width:50px" onchange="setConst('shellEcEF',this.value)" /></td>
<td>Enemy:<td><td><input id="advshellEE" type="number" min="-999" max="999" style="width:50px" onchange="setConst('shellEcEE',this.value)" /></td>
</tr>
</table>
<br>
<span>Override Base Accuracy for Enemy Combined Fleet:</span><br>
<span style="color:red">Values default to 90 (normal value in standard 6vs6 battles)</span><br>
<table>
<tr>
<td>Main:</td>
<td>Player:<td><td><input id="advaccMF" type="number" min="1" max="999" style="width:50px" onchange="setConst('accEcMF',this.value)"/></td>
<td>Enemy:<td><td><input id="advaccME" type="number" min="1" max="999" style="width:50px" onchange="setConst('accEcME',this.value)" /></td>
</tr>
<tr>
<td>Escort:</td>
<td>Player:<td><td><input id="advaccEF" type="number" min="1" max="999" style="width:50px" onchange="setConst('accEcEF',this.value)" /></td>
<td>Enemy:<td><td><input id="advaccEE" type="number" min="1" max="999" style="width:50px" onchange="setConst('accEcEE',this.value)" /></td>
</tr>
</table>
<br> -->
<span>Override Day CVCI Modifiers:</span><br>
<table>
<tr>
<td>FBA:</td>
<td>Accuracy:</td><td><input type="number" min=".01" max="999" value="1.2" step=".01" style="width:50px" onchange="ARTILLERYSPOTDATA[71].accMod = parseFloat(this.value) || 1.2" /></td>
<td>Chance:</td><td><input type="number" min=".01" max="999" value="1.25" step=".01" style="width:50px" onchange="ARTILLERYSPOTDATA[71].chanceMod = parseFloat(this.value) || 1.25" /></td>
</tr>
<tr>
<td>BBA:</td>
<td>Accuracy:</td><td><input type="number" min=".01" max="999" value="1.2" step=".01" style="width:50px" onchange="ARTILLERYSPOTDATA[72].accMod = parseFloat(this.value) || 1.2" /></td>
<td>Chance:</td><td><input type="number" min=".01" max="999" value="1.4" step=".01" style="width:50px" onchange="ARTILLERYSPOTDATA[72].chanceMod = parseFloat(this.value) || 1.4" /></td>
</tr>
<tr>
<td>BA:</td>
<td>Accuracy:</td><td><input type="number" min=".01" max="999" value="1.2" step=".01" style="width:50px" onchange="ARTILLERYSPOTDATA[73].accMod = parseFloat(this.value) || 1.2" /></td>
<td>Chance:</td><td><input type="number" min=".01" max="999" value="1.55" step=".01" style="width:50px" onchange="ARTILLERYSPOTDATA[73].chanceMod = parseFloat(this.value) || 1.55" /></td>
</tr>
</table>
<br>
<span>Vanguard Evasion Bonus:</span><br>
<table>
<tr><td></td><td>Shelling</td><td>Torpedo</td></tr>
<tr><td>DD 1:</td><td><input type="number" min="0" max="99" value="7" onchange="SIMCONSTS.vanguardEvShellDD[0] = +this.value || 7" /></td><td><input type="number" min="0" max="99" value="15" onchange="SIMCONSTS.vanguardEvTorpDD[0] = +this.value || 15" /></td></tr>
<tr><td>DD 2:</td><td><input type="number" min="0" max="99" value="7" onchange="SIMCONSTS.vanguardEvShellDD[1] = +this.value || 7" /></td><td><input type="number" min="0" max="99" value="15" onchange="SIMCONSTS.vanguardEvTorpDD[1] = +this.value || 15" /></td></tr>
<tr><td>DD 3:</td><td><input type="number" min="0" max="99" value="20" onchange="SIMCONSTS.vanguardEvShellDD[2] = +this.value || 20" /></td><td><input type="number" min="0" max="99" value="45" onchange="SIMCONSTS.vanguardEvTorpDD[2] = +this.value || 45" /></td></tr>
<tr><td>DD 4:</td><td><input type="number" min="0" max="99" value="20" onchange="SIMCONSTS.vanguardEvShellDD[3] = +this.value || 20" /></td><td><input type="number" min="0" max="99" value="50" onchange="SIMCONSTS.vanguardEvTorpDD[3] = +this.value || 50" /></td></tr>
<tr><td>DD 5:</td><td><input type="number" min="0" max="99" value="35" onchange="SIMCONSTS.vanguardEvShellDD[4] = +this.value || 35" /></td><td><input type="number" min="0" max="99" value="65" onchange="SIMCONSTS.vanguardEvTorpDD[4] = +this.value || 65" /></td></tr>
<tr><td>DD 6:</td><td><input type="number" min="0" max="99" value="40" onchange="SIMCONSTS.vanguardEvShellDD[5] = +this.value || 40" /></td><td><input type="number" min="0" max="99" value="75" onchange="SIMCONSTS.vanguardEvTorpDD[5] = +this.value || 75" /></td></tr>
<tr><td>Other 1:</td><td><input type="number" min="0" max="99" value="7" onchange="SIMCONSTS.vanguardEvShellOther[0] = +this.value || 7" /></td><td><input type="number" min="0" max="99" value="15" onchange="SIMCONSTS.vanguardEvTorpOther[0] = +this.value || 15" /></td></tr>
<tr><td>Other 2:</td><td><input type="number" min="0" max="99" value="7" onchange="SIMCONSTS.vanguardEvShellOther[1] = +this.value || 7" /></td><td><input type="number" min="0" max="99" value="15" onchange="SIMCONSTS.vanguardEvTorpOther[1] = +this.value || 15" /></td></tr>
<tr><td>Other 3:</td><td><input type="number" min="0" max="99" value="7" onchange="SIMCONSTS.vanguardEvShellOther[2] = +this.value || 7" /></td><td><input type="number" min="0" max="99" value="20" onchange="SIMCONSTS.vanguardEvTorpOther[2] = +this.value || 20" /></td></tr>
<tr><td>Other 4:</td><td><input type="number" min="0" max="99" value="7" onchange="SIMCONSTS.vanguardEvShellOther[3] = +this.value || 7" /></td><td><input type="number" min="0" max="99" value="45" onchange="SIMCONSTS.vanguardEvTorpOther[3] = +this.value || 45" /></td></tr>
<tr><td>Other 5:</td><td><input type="number" min="0" max="99" value="15" onchange="SIMCONSTS.vanguardEvShellOther[4] = +this.value || 15" /></td><td><input type="number" min="0" max="99" value="45" onchange="SIMCONSTS.vanguardEvTorpOther[4] = +this.value || 45" /></td></tr>
<tr><td>Other 6:</td><td><input type="number" min="0" max="99" value="20" onchange="SIMCONSTS.vanguardEvShellOther[5] = +this.value || 20" /></td><td><input type="number" min="0" max="99" value="60" onchange="SIMCONSTS.vanguardEvTorpOther[5] = +this.value || 60" /></td></tr>
</table>
<!--<span>Preset 12vs6 values: </span>
<input type="button" value="CTF" onclick="clickedAdvDefault('acc',90,90,55,55)" />
<input type="button" value="STF" onclick="clickedAdvDefault('acc',50,65,75,75)" />
<input type="button" value="TTF" onclick="clickedAdvDefault('acc',50,50,75,75)" />
<input type="button" value="Clear" onclick="clickedAdvDefault('acc',null,null,null,null)" />
<br>-->
<br>
<span>Nelson/Nagato Special Activation Rate:</span><br>
<table>
<tr><td>Nelson Touch:</td><td><input type="number" min="0" max="100" value="60" onchange="SIMCONSTS.nelsonTouchRate = +this.value" />%</td></tr>
<tr><td>Nagato Cut-In:</td><td><input type="number" min="0" max="100" value="60" onchange="SIMCONSTS.nagatoSpecialRate = +this.value" />%</td></tr>
<tr><td>Mutsu Cut-In:</td><td><input type="number" min="0" max="100" value="60" onchange="SIMCONSTS.mutsuSpecialRate = +this.value" />%</td></tr>
<tr><td>Colorado Cut-In:</td><td><input type="number" min="0" max="100" value="60" onchange="SIMCONSTS.coloradoSpecialRate = +this.value" />%</td></tr>
<tr><td>Kongou Cut-In:</td><td><input type="number" min="0" max="100" onchange="SIMCONSTS.kongouSpecialRate = +this.value" />%</td></tr>
</table>
<br>
</div>
<br><br>
<table id="optionstable">
</table>
<br>
<span><img src="assets/stats/bucket.png" alt="Bucket"/>:</span>
<span>Use if HP ≤ <input type="number" id="numbucketpercent" min="0" max="100" value="50" style="width:50px"/>%</span>
<span>OR if Repair Time > <input type="number" id="numbucketrepair" min="0" max="99" value="99" step=".1" style="width:50px"/> hours</span><br>
<input type="checkbox" id="inpCarryOverHP" onchange="CARRYOVERHP=this.checked;raiseFleetChange()" /><label for="inpCarryOverHP"> Carry over ship HP between sims unless <img src="assets/stats/bucket.png" alt="Bucket"/> conditions?</label><br>
<input type="checkbox" id="inpCarryOverMorale" onchange="CARRYOVERMORALE=this.checked;raiseFleetChange()" /><label for="inpCarryOverMorale"> Carry over ship morale between sims?</label><br>
</div><br>
<div>Simulate <input type="number" value="10000" max="100000" min="1" id="simnum" style="width:60px" onChange="changedSimNumber()"/> times and show statistics:<br><input type="button" id="simgo" value="Go" onClick="clickedSimGo()"/></div>
<br>
<span id="simnotespace" style="color:#FF0000"></span>
<br><br>
<div id="divDataError"></div>
<div id="divDataWarn"></div>
<div id="divDataLoad">Calculating...</div>
<div id="resultspace" style="display:none">
<h3>Statistics</h3>
<span style="color:red;font-size:14px">Accuracy of calculations is a work in progress and will be improved as new information is discovered. Please note that values are rough and may not exactly reflect real in-game rates.</span><br>
<div id="warnecombined"><span style="color:red;font-size:14px;font-weight:bold">Warning: Enemy combined fleet calculations are extremely tentative, so these results are especially rough. See Show Advanced for settings.</span><br></div>
<div>Number of runs: <span id="rnumruns">0</span></div><br>
<div class="rescolumn">
<div class="ressingle">Rank Rate:<br></div>
<div class="resmulti">Final Rank Rate:<br></div>
<img src="assets/stats/S.png"></img> <span id="rankS" style="font-weight:bold">0</span><br>
<img src="assets/stats/A.png"></img> <span id="rankA">0</span><br>
<img src="assets/stats/B.png"></img> <span id="rankB">0</span><br>
<img src="assets/stats/C.png"></img> <span id="rankC">0</span><br>
<img src="assets/stats/D.png"></img> <span id="rankD">0</span><br>
<img src="assets/stats/E.png"></img> <span id="rankE">0</span><br>
<div class="resmulti"><img src="assets/stats/retreat.png"></img> <span id="rankNone">0</span><br></div>
<br>
Enemy Flagship Sunk Rate:<br>
<img src="assets/stats/flagsunk.png"></img> <span id="rsunkfs" style="font-weight:bold">0</span><br>
(Avg <span style="font-weight:bold">-<span id="rsunkfsHP"></span></span> HP per run)<br>
(Avg <span style="font-weight:bold">-<span id="rsunkfsHPB"></span></span> HP per boss)<br>
<br>
<div class="resmulti">
<span>Rank Per Battle:</span>
<table id="ranktab" class="stattable"></table>
</div>
</div>
<div class="rescolumn">
<div class="ressingle">
<span><img src="assets/stats/MVP.png"> Rate:</span><br>
<span class="rescombined"><br>Main<br></span>
<img src="assets/stats/F1.png"></img> <span id="mvp1">0</span><br>
<img src="assets/stats/F2.png"></img> <span id="mvp2">0</span><br>
<img src="assets/stats/F3.png"></img> <span id="mvp3">0</span><br>
<img src="assets/stats/F4.png"></img> <span id="mvp4">0</span><br>
<img src="assets/stats/F5.png"></img> <span id="mvp5">0</span><br>
<img src="assets/stats/F6.png"></img> <span id="mvp6">0</span><br>
<div class="rescombined">
<br>
<span>Escort</span><br>
<img src="assets/stats/F1.png"></img> <span id="mvpc1">0</span><br>
<img src="assets/stats/F2.png"></img> <span id="mvpc2">0</span><br>
<img src="assets/stats/F3.png"></img> <span id="mvpc3">0</span><br>
<img src="assets/stats/F4.png"></img> <span id="mvpc4">0</span><br>
<img src="assets/stats/F5.png"></img> <span id="mvpc5">0</span><br>
<img src="assets/stats/F6.png"></img> <span id="mvpc6">0</span><br>
</div>
</div>
<div class="resmulti">
<span><img src="assets/stats/MVP.png"> Rate Per Battle:</span>
<table id="mvptab" class="stattable"></table>
</div>
<br><br>
<div class="ressingle">
Air State Rate:
<table>
<tr><th><span style="color:green">AS+</span></th><td><span id="tabAirState1"></span></td></tr>
<tr><th><span style="color:green">AS</span></th><td><span id="tabAirState2"></span></td></tr>
<tr><th><span>AP</span></th><td><span id="tabAirState3"></span></td></tr>
<tr><th><span style="color:red">AD</span></th><td><span id="tabAirState4"></span></td></tr>
<tr><th><span style="color:red">AI</span></th><td><span id="tabAirState5"></span></td></tr>
</table>
</div>
<div class="resmulti">
Air State Rate Per Battle:
<table id="tabAirState" class="stattable"></table>
</div>
</div>
<div class="rescolumn">
<div class="ressingle">
<img src="assets/stats/taiha.png"> Rate: <span id="rredany" style="font-weight:bold">0</span><br>
<br>
Individual <img src="assets/stats/taiha.png">:<br>
<span class="rescombined">Main<br></span>
<img src="assets/stats/F1.png"></img> <span id="red1">0</span><br>
<img src="assets/stats/F2.png"></img> <span id="red2">0</span><br>
<img src="assets/stats/F3.png"></img> <span id="red3">0</span><br>
<img src="assets/stats/F4.png"></img> <span id="red4">0</span><br>
<img src="assets/stats/F5.png"></img> <span id="red5">0</span><br>
<img src="assets/stats/F6.png"></img> <span id="red6">0</span><br>
<div class="rescombined">
<br>
<span>Escort</span><br>
<img src="assets/stats/F1.png"></img> <span id="redc1">0</span><br>
<img src="assets/stats/F2.png"></img> <span id="redc2">0</span><br>
<img src="assets/stats/F3.png"></img> <span id="redc3">0</span><br>
<img src="assets/stats/F4.png"></img> <span id="redc4">0</span><br>
<img src="assets/stats/F5.png"></img> <span id="redc5">0</span><br>
<img src="assets/stats/F6.png"></img> <span id="redc6">0</span><br>
</div>
<br>
No Medium Damage:<br>
<span id="rnodam">0</span><br>
</div>
<div class="resmulti">
<img src="assets/stats/taiha.png"> Rate Per Battle:<br>
<div id="dmglist"></div><br>
<br>
Individual <img src="assets/stats/taiha.png">:<br>
<table id="dmgtab" class="stattable"></table><br>
<br>
No Medium Damage After Battle:<br>
<div id="nodmglist"></div><br>
</div>
<br>
</div>
<div class="rescolumn">
Avg Resupply:<br>
<img src="assets/stats/fuel.png"></img> <span id="rfsup">0</span><br>
<img src="assets/stats/ammo.png"></img> <span id="rasup">0</span><br>
<img src="assets/stats/baux.png"></img> <span id="rbsup">0</span><br><br>
Avg Repair:<br>
<img src="assets/stats/fuel.png"></img> <span id="rfrep">0</span><br>
<img src="assets/stats/steel.png"></img> <span id="rsrep">0</span><br>
<img src="assets/stats/bucket.png"></img> <span id="bucketrep">0</span><br><br>
Avg Resource Per <img src="assets/stats/S.png" style="vertical-align:middle" />:<br>
<img src="assets/stats/fuel.png"></img> <span id="rfpS" style="font-weight:bold">0</span><br>
<img src="assets/stats/ammo.png"></img> <span id="rapS" style="font-weight:bold">0</span><br>
<img src="assets/stats/steel.png"></img> <span id="rspS" style="font-weight:bold">0</span><br>
<img src="assets/stats/baux.png"></img> <span id="rbpS" style="font-weight:bold">0</span><br>
<img src="assets/stats/bucket.png"></img> <span id="bucketpS" style="font-weight:bold">0</span><br><br>
Avg Resource Per <img src="assets/stats/flagsunk.png" style="vertical-align:middle" />:<br>
<img src="assets/stats/fuel.png"></img> <span id="rfpF" style="font-weight:bold">0</span><br>
<img src="assets/stats/ammo.png"></img> <span id="rapF" style="font-weight:bold">0</span><br>
<img src="assets/stats/steel.png"></img> <span id="rspF" style="font-weight:bold">0</span><br>
<img src="assets/stats/baux.png"></img> <span id="rbpF" style="font-weight:bold">0</span><br>
<img src="assets/stats/bucket.png"></img> <span id="bucketpF" style="font-weight:bold">0</span><br>
<br>
Avg Emptied Plane Slots: <span id="rEmptiedPlanes">0</span><br>
Avg Emptied LBAS Slots: <span id="rEmptiedPlanesLB">0</span>
<br>
</div>
</div>
<br style="clear:both">
<hr>
<div>
<div>
<div style="width:150px;float:left">
<input type="button" id="btnWatch" value="Watch Battle" onClick="clickedWatchBattle()"/>
</div>
<div style="float:left;width:150px">
<!--<input type="button" value="< Back" onclick="clickedBack()" />-->
<input type="button" value="Pause" onclick="if(started) {PAUSE=!PAUSE;$(this).css('background-color',(PAUSE)?'grey':'');}" />
<!--<input type="button" value="Skip >" onclick="clickedSkip()" />-->
<input type="button" value="Restart" onclick="if(started)reset(function(){processAPI(API);})" />
</div>
<div style="float:left;width:400px">
<input type="range" value="40" min="0" max="80" oninput="var num=parseInt(this.value);RATE=(num<40)?num/40:(num-40)/10+1;$('#speednum').text('x'+RATE)"/>
<span id="speednum">x1</span>
</div>
<div style="float:left">
<input type="button" value="🔊" style="width:30px" onclick="if(!Howler._muted){Howler.mute(true);this.value='🔇'}else{Howler.mute(false);this.value='🔊';Howler.volume(parseFloat($('#rngvol').val()))}" />
<input id="rngvol" type="range" value=".6" step=".01" min="0" max="1" style="width:100px" oninput="if(!Howler._muted)Howler.volume(parseFloat(this.value))" />
</div>
</div>
<div style="width:800px;height:100px;padding-top:20px;clear:both">
<div style="float:left;width:240px">
<br><br>
Air Battle: <span id="plAS1" style="font-weight:bold;font-size:20px"></span><br><br>
<canvas id="plHP1" width="240px" height="10px" style="border:1px solid black;border-radius:5px"></canvas>
</div>
<div style="float:left;width:320px;text-align:center">
<br><br>
Engagement:<br>
<span id="plEngage" style="font-size:20px"></span> <span id="plEngageT" style="font-size:18px;font-weight:bold"></span>
</div>
<div style="float:right;width:240px;align:right">
<br><br>
Air Battle: <span id="plAS2" style="font-weight:bold;font-size:20px"></span><br><br>
<canvas id="plHP2" width="240px" height="10px" style="border:1px solid black;border-radius:5px"></canvas>
</div>
</div>
<!--<input type="button" id="startb" value="Start" onClick="startPlayer()" />
<input type="button" id="hideb" value="Show" onClick="hidePlayer()" />-->
<div id="movie"><div id="battlespace"></div><script src="js/player.js"></script></div>
</div>
<div>
<textarea id="code" cols="40" rows="5"></textarea>
<br/>
<input id="codeb" type="button" value="Load" onClick="loadCode()" />
<span id="error" style="color:red"></span>
</div>
<br/><br/>
<div id="dialogselclass" style="display:none">
<span style="font-weight:bold;text-decoration:underline">Shipgirls</span><br>
<table class="dialog1">
<tr><td onclick="dialogShip(['DD'],0)"><img src="assets/icons/KFubuki.jpg"/><br><span style="font-weight:bold">DD</span></td>
<td onclick="dialogShip(['CL','CLT'],0)"><img src="assets/icons/KSendai.png"/><br><span style="font-weight:bold">CL(T)</span></td>
<td onclick="dialogShip(['CA','CAV'],0)"><img src="assets/icons/KTakao.jpg"/><br><span style="font-weight:bold">CA(V)</span></td>
<td onclick="dialogShip(['BB','BBV','FBB'],0)"><img src="assets/icons/KNagato.png"/><br><span style="font-weight:bold">BB(V)</span></td></tr>
<tr><td onclick="dialogShip(['CVL'],0)"><img src="assets/icons/KHoushou.jpg"/><br><span style="font-weight:bold">CVL</span></td>
<td onclick="dialogShip(['CV','CVB'],0)"><img src="assets/icons/KAkagi.png"/><br><span style="font-weight:bold">CV</span></td>
<td onclick="dialogShip(['SS','SSV'],0)"><img src="assets/icons/KI-168.jpg"/><br><span style="font-weight:bold">SS</span></td>
<td onclick="dialogShip(['AV','AS','AR','CT','AO','LHA','DE'],0)"><img src="assets/icons/KAkashi.jpg"/><br><span style="font-weight:bold">Other</span></td></tr>
</table>
<br><br>
<span style="font-weight:bold;text-decoration:underline">Abyssals</span><br>
<table class="dialog1">
<tr><td onclick="dialogShip(['DD'],1)"><img src="assets/icons/SI.jpg"/><br><span style="font-weight:bold">DD</span></td>
<td onclick="dialogShip(['CL','CLT'],1)"><img src="assets/icons/SHo.jpg"/><br><span style="font-weight:bold">CL(T)</span></td>
<td onclick="dialogShip(['CA','CAV'],1)"><img src="assets/icons/SRi.png"/><br><span style="font-weight:bold">CA</span></td>
<td onclick="dialogShip(['BB','BBV','FBB'],1)"><img src="assets/icons/SRu.png"/><br><span style="font-weight:bold">BB</span></td></tr>
<tr><td onclick="dialogShip(['CVL','CV'],1)"><img src="assets/icons/SWo.png"/><br><span style="font-weight:bold">CV(L)</span></td>
<td onclick="dialogShip(['SS'],1)"><img src="assets/icons/SKa.jpg"/><br><span style="font-weight:bold">SS</span></td>
<td onclick="dialogShip(['AO','AV','AS','AR','CT','LHA','DE'],1)"><img src="assets/icons/SWa.jpg"/><br><span style="font-weight:bold">Other</span></td>
<td onclick="dialogShip([],1,true)"><img src="assets/icons/SAirH.jpg"/><br><span style="font-weight:bold">Installation</span></td></tr>
</table>
<br><br>
<span style="font-weight:bold;text-decoration:underline">Extra</span><br>
<table class="dialog1">
<tr><td onclick="dialogShipFog()"><img src="assets/icons/AIona.png"/><br><span style="font-weight:bold">Arpeggio</span></td><tr>
</table>
<div class="secret" onclick="dialogShipSecret()">???</div>
</div>
<div id="dialogselship" style="background-color:#EDE6D8;display:none"></div>
<div id="dialogselequiptype" style="background-color:#EDE6D8;display:none"></div>
<div id="dialogselequip" style="background-color:#EDE6D8;display:none"></div>
<div id="dialogkc3file" style="display:none;background-color:#DDEEFF">
<p>You can import your in-game fleet using KC3Kai's Quick Data file.<br><br>
1. Set up your fleet in-game.<br><br>
2. <b>Return to secretary screen.</b><br><br>
3. Refresh Strategy Room.<br><br>
4. On the Profile tab, click <span style="color:#337AB7">Export Quick Data to a file</span><br><br>
5. Select the fleet number you want and upload your file here.<br><br></p>
</div>
<div id="dialogadvstats" style="font-size:12px;background-color:#DDEEFF">
</div>
<br><hr><br>
<div style="font-size:14px">
<span style="font-weight:bold">Change Log:</span><br>
<span>2022-05-06 - <a href="simulator.html">New Simulator UI</a>, this page will no longer be updated<br>
<span>2022-02-16 - Historical Accuracy + Evasion config<br>
<span>2021-10-17 - <a href="https://twitter.com/Xe_UCH/status/1426851469945294848">PT Imp acc mods</a>, <a href="https://twitter.com/Divinity__123/status/1447941755182227458">Combined Fleet acc bases/mods</a>, <a href="https://docs.google.com/spreadsheets/d/14uCat5nahv3A0Zq6d263Ye3U_f1nBYpIMEc9ALegyNA/edit#gid=0">Vanguard evasion values</a></span><br>
<span>2021-07-27 - Mechanics: DDCI Buff + Submarine Fleet Attack, add Torpedo Squadron Command Facility use, update anti-installation/anti-PT mods, update Echelon mods</span><br>
<span>2021-03-03 - Options for new soft caps (torpedo, night, air)</span><br>
<span>2019-12-18 - Additional Historical Bonus settings (boss node, boss flagship)</span><br>
<span>2019-09-18 - Provisional Anchorage Water Demon mods, underway resupply (applied on last node if equipped)</span><br>
<span>2019-08-25 - <a href="https://cdn.discordapp.com/attachments/425302689887289344/614879250419417132/ECrra66VUAAzYMc.jpg_orig.jpg">Mortar/Rocket anti-installation mods</a></span><br>
<span>2019-05-30 - Add Friend Fleet, updated calculations: anti-installation mods, rocket barrage chance, non-maxed plane proficiency</span><br>
<span>2019-05-16 - Update AACI <a href="https://docs.google.com/spreadsheets/d/1YUppVErQj7P9f9-ddpdR-e7fTaycjSK9-x4GE9ibCrA">activation rates</a> + <a href="https://gist.github.com/Nishisonic/62cead1f57a323c737019d6b630fa4a5">priorities</a></span><br>
<span>2019-05-10 - Mechanics: <a href="https://twitter.com/muu_1106/status/1124658313428213760?s=19" target="_blank">Anti-Air Resist</a>, Divebomber Installation Targeting</span><br>
<span>2019-04-21 - Nelson/Nagato/Mutsu specials night</span><br>
<span>2019-04-05 - Carry over HP/Morale option, update presets to Phase 2 comps, vanguard formation</span><br>
<span>2019-03-11 - Historical Bonus config, Nelson/Nagato/Mutsu specials (day only currently), new mechanics: new installation mods/new resource costs/new echelon mods</span><br>
<span>2018-11-26 - <a href="simulator-import-help.html" target="_blank">Sim from Data Import</a>, enemy combined improvements, LBAS improvements, PT Imp improvements</span><br>
<span>2018-08-14 - CVCI, DD NBCI, ASW soft cap config, rocket barrage</span><br>
<span>2017-08-08 - Enemy combined fleet, LBAS</span><br>
<span>2017-03-23 - Fifth slot, separate plane improvement and proficiency, changed save/load code, day soft-cap option</span><br>
<span>2016-10-25 - Major reworking and improving of calculations. Added calculations explanations.</span><br>
<br>
<span><a href="sources.html">See Calculations Used</a></span><br><br>
<span>Bug report, feature request, or game mechanic article you want to share? Leave an issue on <a href="https://github.com/KC3Kai/kancolle-replay/issues">Github</a> or post on my <a href="http://kancolle.wikia.com/wiki/Message_Wall:Fouryuu">wiki page</a>!</span>
</div>
<script src='js/ui.js'></script>
</body>
</html>