-
Notifications
You must be signed in to change notification settings - Fork 1
/
paragon.html
227 lines (217 loc) · 9.55 KB
/
paragon.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
<!DOCTYPE html>
<html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-173057857-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-173057857-1');
</script>
<title>Paragon Calculator</title>
<link rel="stylesheet" href="qfc-dark.css">
<meta name="viewport" content="width=device-width,initial-scale=1">
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="bignumber.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script>
<script src="paragon1.4.js"></script>
<script src="paragonform.js"></script>
</head>
<body>
<div id="maindiv" class="qfc-container" hidden>
<button class="toggle-help">Hide Help</button>
<h3>Add two paragons</h3>
<div class="help-description">
<p>Paragon is not linear. 1000 paragon + 1000 paragon is not 2000 paragon because you need to add the XP required for 1000 paragon to itself and then calculate what paragon that would be.</p>
<p>This is useful to for example figure out what paragon you will be in non-season when the season ends and your season paragon gets rolled into it.</p>
</div>
<table>
<tr>
<td><input id="p1" type="text" /></td>
<td width="100">+</td>
<td><input id="p2" type="text" /></td>
<td width="100">=</td="center">
<td><input id="psum" type="text" readonly /></td>
</tr>
</table>
<h3>XP per hour</h3>
<div class="help-description">
<p>Calculates actual XP/hr over a session based on starting and ending paragon.</p>
<p>Times are for a 24hr clock (i.e. 22:00 is 10:00pm, aka "military time"). If start time is after end time then the end time is assumed to be the next day. 22:00 - 02:00 is 4 hours.</p>
</div>
<table>
<tr>
<td>Starting Paragon</td>
<td><input id="xphrstartingparagon" type="text" /></td>
</tr>
<tr>
<td>Ending Paragon</td>
<td><input id="xphrendingparagon" type="text" /></td>
</tr>
<tr>
<td>Start Time</td>
<td><input id="xphrstarttime" type="text" /></td>
</tr>
<tr>
<td>End Time</td>
<td><input id="xphrendtime" type="text" /></td>
</tr>
<tr>
<td>XP per hour</td>
<td><input id="xphrresult" type="text" readonly /></td>
</tr>
<tr>
<td>Total XP</td>
<td><input id="xphrtotalresult" type="text" readonly /></td>
</tr>
<tr>
<td>Hours</td>
<td><input id="xphrtotalhours" type="text" readonly /></td>
</tr>
</table>
<h3>Pools</h3>
<div class="help-description">
<p>Pools of Reflection grant 25% bonus XP from monster kills and Greater Rift Turn-in until they run out.</p>
<p>You can have up to 10 pools stored on your character before it caps out, which is equivalent to the amount of XP needed to gain a full level.</p>
<p>This means as you level up, you can "hold" more XP as bonus pool XP.</p>
<p>However, there is a bug with the XP gained from Greater Rift turn-ins. Instead of receiving a single 25% bonus, the XP gain is compounded again multiplicatively. This means that the bonus XP gained is 56.25% (1.25 x 1.25) rather than 25%.</p>
<p>Additionally, the amount of XP consumed by the Greater Rift turn-in is only from the second compounded 25%, which results in only ~55.6% of the bonus XP gained being consumed by the turn-in.</p>
<p>Blizzard has been made aware of this bug many times and they have not fixed it, so at this point it's assumed to be "working as intended."</p>
<p>The calculator below takes this bug into account.</p>
<p>Note that in Season 28 (Feb 24th, 2023), pools of reflection are no longer consumed, which means you can benefit from their bonus XP indefinitely. However, there's a catch: it appears that this mechanic doesn't provide the full benefit of
a Greater Rift close at lower paragon levels. After gaining at least one pool, a player is set to the equivalent of 10 pools at all times, but this may not be enough to fully benefit from the bonus XP of a GR close at low paragon. Only
once the number of required pools for a GR close is 10 or lower will you gain the full XP benefit from a GR close. This can significantly impact your XP/hr at low paragon, so keep it in mind when planning your leveling strategy. As a rule
of thumb, you should gain full XP even from GR 150 at around Paragon 1725.</p>
</div>
<table>
<tr>
<td colspan="2">
<h6>--- Inputs ---</h6>
</td>
</tr>
<tr>
<td>Current paragon</td>
<td><input id="poolsparagon" type="text" /></td>
</tr>
<tr>
<td>GR Level</td>
<td><input id="poolsgrlevel" type="text" /></td>
</tr>
<tr>
<td>Number of Players</td>
<td><input id="poolsnumplayers" type="text" /></td>
</tr>
<tr>
<td>XP From Gear</td>
<td><input id="poolsxpgear" type="text" /></td>
</tr>
<tr>
<td colspan="2">
<h6>--- RESULT ---</h6>
</td>
</tr>
<tr>
<td>Pools For Rift</td>
<td><input id="poolsresultrift" type="text" readonly /></td>
</tr>
<tr>
<td>Pools For Close</td>
<td><input id="poolsresultclose" type="text" readonly /></td>
</tr>
<tr>
<td>Total Pools</td>
<td><input id="poolsresulttotal" type="text" readonly /></td>
</tr>
<tr>
<td colspan="2">
<h6>--- Raw XP Numbers ---</h6>
</td>
</tr>
<tr>
<td>Rift [Unpooled]</td>
<td>
<input id="baseriftxp" type="text" readonly />
</td>
</tr>
<tr>
<td>Rift [Pooled]</td>
<td>
<input id="pooledriftxp" type="text" readonly />
</td>
</tr>
<tr>
<td>Close XP [Unpooled]</td>
<td>
<input id="baseclosexp" type="text" readonly />
</td>
</tr>
<tr>
<td>Close XP [Pooled]</td>
<td>
<input id="pooledclosexp" type="text" readonly />
</td>
</tr>
<tr>
<td>Total XP [Unpooled]</td>
<td>
<input id="basetotalxp" type="text" readonly />
</td>
</tr>
<tr>
<td>Total XP [Close Pooled]</td>
<td>
<input id="closepooledtotalxp" type="text" readonly />
</td>
</tr>
<tr>
<td>Total XP [Fully Pooled]</td>
<td>
<input id="allpooledtotalxp" type="text" readonly />
</td>
</tr>
</table>
<h3>Time to Reach Goal</h3>
<div class="help-description">
<p>This tool allows you to calculate the amount of time required to reach a desired Paragon level based on your current Paragon level, desired Paragon level, XP per hour, and hours played per day. The calculator will display the amount of XP
needed to reach your goal, the number of days required, and the number of hours required. Additionally, it will generate a graph of your Paragon level progression over time until the goal is reached.</p>
</div>
<table>
<tr>
<td>Current paragon</td>
<td><input id="current" type="text" /></td>
</tr>
<tr>
<td>Desired paragon</td>
<td><input id="desired" type="text" /></td>
</tr>
<tr>
<td>Billion XP Per Hour</td>
<td><input id="xphr" type="text" /></td>
</tr>
<tr>
<td>Hours Per Day</td>
<td><input id="hrsperday" type="text" /></td>
</tr>
<tr>
<td colspan="2">--- RESULT ---</td>
</tr>
<tr>
<td id="xpresultlabel">Trillion XP Needed</td>
<td><input id="xpresult" type="text" readonly /></td>
</tr>
<tr>
<td>Hours Needed</td>
<td><input id="hoursresult" type="text" readonly /></td>
</tr>
<tr>
<td>Days Needed</td>
<td><input id="daysresult" type="text" readonly /></td>
</tr>
</table>
<canvas id="paragonChart" width="400" height="400"></canvas>
</div>
</body>
</html>