forked from dwlim/starrail_relic_sim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
124 lines (113 loc) · 6.01 KB
/
index.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
<!DOCTYPE html>
<html>
<body>
<div class="flex-container">
<div id="relic_roller" class="flex-child">
<h3>How to use relic roller:</h3>
<p>Use the roll relics to do a Cavern run.
<br>After you roll a relic you can level it up to see what substats it will have.
<br>
</p>
<button onclick="rollRelics('relic')">Roll Relics</button>
<button onclick="rollRelics('planar')">Roll Planars</button>
<div id="relic_output"></div>
<pre id="relic_results"></pre>
</div>
<div id="relic_simulator" class="flex-child">
<h3>How to use relic simulator/TBP estimator:</h3>
<p>Use the SIM Relics button to sim some relics. Each click should take about 1 second.
<br>The more relics you SIM the more accurate it will be. 1 Million SIMs should be more than enough.
<br>After you SIM some relics then you can enter a relic below and it will tell you how long before you can upgrade it
<br>
</p>
<button onclick="simRelics()">SIM Relics</button>
<div id="saved_relics"></div>
<div id="relic_improve">
<select id="piece-names" onchange="populateRelicMainStat(this.value)"><option>Choose a relic piece:</option></select>
<select id="main-stat-names"><option>Choose a main stat:</option></select>
<div id="atk-scaling-formula">
<p>You only need to fill in the sub stats you care about. For CRIT DPS that is Atk%, Atk, CR, CD</p>
<input type="number" id="relic-hp-flat" value="0"> Flat HP
<br><input type="number" id="relic-atk-flat" value="0" style="background-color: #fffdca;"> Flat Atk
<br><input type="number" id="relic-def-flat" value="0"> Flat Def
<br><input type="number" id="relic-hp-perc" value="0"> HP%
<br><input type="number" id="relic-atk-perc" value="0" style="background-color: #fffdca;"> Atk%
<br><input type="number" id="relic-def-perc" value="0"> Def%
<br><input type="number" id="relic-spd" value="0"> Speed
<br><input type="number" id="relic-cr" value="0" style="background-color: #fffdca;"> Crit Rate
<br><input type="number" id="relic-cd" value="0" style="background-color: #fffdca;"> Crit Damage
<br><input type="number" id="relic-ehr" value="0"> Effect Hit Rate
<br><input type="number" id="relic-er" value="0"> Effect Res
<br><input type="number" id="relic-be" value="0"> Break Effect
<br><button onclick="estimateTBPower()">Estimate TB Power for CRIT DPS</button>
</div>
<br><button onclick="showAdvanceMode()">Advanced Mode</button>
<div id="advanced-mode" style="display:none;">
<div id="weight-input">
<p>Add a weighting for each stat. Remember this is final stat value and not number of rolls</p>
<input type="number" id="relic-hp-flat-weight" value="0"> Flat HP
<br><input type="number" id="relic-atk-flat-weight" value="0.07"> Flat Atk
<br><input type="number" id="relic-def-flat-weight" value="0"> Flat Def
<br><input type="number" id="relic-hp-perc-weight" value="0"> HP%
<br><input type="number" id="relic-atk-perc-weight" value="0.9"> Atk%
<br><input type="number" id="relic-def-perc-weight" value="0"> Def%
<br><input type="number" id="relic-spd-weight" value="0"> Speed
<br><input type="number" id="relic-cr-weight" value="2"> Crit Rate
<br><input type="number" id="relic-cd-weight" value="1"> Crit Damage
<br><input type="number" id="relic-ehr-weight" value="0"> Effect Hit Rate
<br><input type="number" id="relic-er-weight" value="0"> Effect Res
<br><input type="number" id="relic-be-weight" value="0"> Break Effect
<br><br><input type="number" id="daily-refreshes" value="0" min="0" max="8"> # of Daily Refreshes
</div>
<div id="minimum-stat">
<p>Add a minimum stat to filter for relics with the specified stat or higher</p>
<input type="number" id="relic-spd-minimum" value="0"> Speed
<br><input type="number" id="relic-cr-minimum" value="0"> Crit Rate
</div>
<div id="level-sim">
<p>Add your current relic stats and level</p>
<input type="number" id="relic-hp-flat-level" value="0"> Flat HP
<br><input type="number" id="relic-atk-flat-level" value="0"> Flat Atk
<br><input type="number" id="relic-def-flat-level" value="0"> Flat Def
<br><input type="number" id="relic-hp-perc-level" value="0"> HP%
<br><input type="number" id="relic-atk-perc-level" value="0"> Atk%
<br><input type="number" id="relic-def-perc-level" value="0"> Def%
<br><input type="number" id="relic-spd-level" value="0"> Speed
<br><input type="number" id="relic-cr-level" value="0"> Crit Rate
<br><input type="number" id="relic-cd-level" value="0"> Crit Damage
<br><input type="number" id="relic-ehr-level" value="0"> Effect Hit Rate
<br><input type="number" id="relic-er-level" value="0"> Effect Res
<br><input type="number" id="relic-be-level" value="0"> Break Effect
<br><br><input type="number" id="relic-level-level" value="0" min="0" max="15"> Level
<br><button onclick="simRelicLevels()">Level SIM</button>
<div id="level-sims"></div>
<br><button onclick="estimateLevelChances()">Estimate probability of leveling a good piece</button>
<div id="level-probability"></div>
</div>
</div>
<br><br>
<div id="estimated-tb-power"></div>
<div id="estimated-craft"></div>
<div id="estimated-resin-craft"></div>
</div>
</div>
</div>
<footer>
<p><a href="https://docs.google.com/spreadsheets/d/1IuRGGDaaq14bqxMviVumx0P15E99VcCdwZ-hxIpNiuM/edit#gid=1361387223">Source</a> for stat distribution data</p>
</footer>
</body>
</html>
<script src="constants.js"></script>
<script src="functions.js"></script>
<script src="script.js"></script>
<style>
.flex-container {
display: flex;
}
.flex-child {
flex: 1;
}
.flex-child:first-child {
margin-right: 20px;
}
</style>