-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.html
128 lines (125 loc) · 14 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
125
126
127
128
<!DOCTYPE html lang="en">
<script>
</script>
<head>
<meta content="Best way to find Dauntless Builds based on your desired Cells/Perks." name=description>
<meta content="Dauntless Build Search" name=title>
<script src="https://www.googletagmanager.com/gtag/js?id=UA-149796951-1" async></script>
<script>function gtag() { dataLayer.push(arguments) } window.dataLayer = window.dataLayer || [], gtag("js", new Date), gtag("config", "UA-149796951-1")</script>
<meta content=cnvZts5rpvKiPJvhw_Wwu6CBen5Ho3mM7DU8z48beps name=google-site-verification>
<meta content=dauntlessbuildsearch,dauntless,finder,autobuilder,builder,set,search,finder,combiner,build,builds,auto,reverse,generator
name=keywords>
<meta content="width=device-width,initial-scale=1" name=viewport>
<link href=/assets/webPageIcon.png rel=icon type=image/png>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel=stylesheet>
<link href=css/libraries.min.css rel=stylesheet media=screen,projection>
<link href=Index.min.css rel=stylesheet>
<script src=js/database.min.js> </script>
<title>Dauntless Build Search</title>
<script>
</script>
</head>
<script>
</script>
<body style=display:flex;flex-direction:column;align-items:center>
<div style=display:flex;flex-direction:row;width:90%;margin:10px>
<div class=MainBox id=" Main Box">
<a href=https://siddagra.github.io/Dauntless-Build-Search/><img src=assets/logo2.png style=height:90px;width:auto></a>
<div style=border-radius:5px;display:flex;flex-direction:column;align-items:center;width:100%>
<ul class="tabs transparent">
<li class="col s3 tab"><a href=#Perks-Tab>Perks</a></li>
<li class="col s3 tab"><a href=#Filters-Tab>Filters</a></li>
<li class="col s3 tab"><a href=#Builds-Tab>Builds</a></li>
<li class="col s3 tab"><a href=#Random-Build-Tab>Random Build</a></li>
<li class="col s3 tab"><a href=#Support-Tab>Support Us</a></li>
</ul>
<div id=Perks-Tab style="width:100%">
<label>
<input type="checkbox" class="LockCheckbox filled-in" id="LegendaryWeapon">
<span style="margin-left:15px; margin-top:10px;">
Legendary Weapons
</span>
</label>
<div class=PerkTab>
<script src=js/DocumentWrite_PerkButtons.min.js></script>
</div>
</div>
<div class="PerkTab" id="Filters-Tab">
<div class="FilterTab">
<script src=js/DocumentWrite_Locks.min.js> </script>
</div>
</div>
<div class=whiteText id=Builds-Tab>
<h4><a href=https://docs.google.com/spreadsheets/d/1-I4LQ_8uNqV9LuybXhz2wjmcPeTNNGWRZ-kFjsckwtk
target="_blank">META
Builds
Spreadsheet 1.4.0+</a></h4>
</div>
<div class=whiteText id=Random-Build-Tab>
<h4 style="color: rgb(3, 155, 229); cursor: pointer;" onclick="generateRandomBuild()">
Click for a random Dauntless build
</h4>
</div>
<div class=whiteText id=Support-Tab>
<p>Giving us feedback, feature requests, bug-reports, or ask questions at <a
href=https://discord.gg/R3mtQM>Dauntless Build Search Discord</a>.</p>
<p>Support us by sharing this website on <a href=https://www.reddit.com/r/dauntless />Dauntless
Reddit</a>
and with your friends and upvoting <a
href=https://www.reddit.com/r/dauntless/comments/c344rl/dauntless_reverse_engineering_build_optimizer />original
post on Reddit.</a></p>
<p>Lastly, consider <a href=https://www.paypal.me/siddagra>donating </a>if you liked the website.<br>This
may help facilitate a .com domain for SEO and more visibility, and potentially, better hosting
services for additional server-side features.</p>
<p>Thank you!</p>
<h4>😄</h4>
</div>
<a href=https://siddagra.github.io/Dauntless-Build-Search/ class="btn waves-effect waves-light"
style=margin:5px;background-color:grey!important>New Build</a>
</div>
<table class=PossibleBuildsTable id="Builds Table">
<thead style="
position: sticky;
top: 0px;
background-color: black;
">
<tr>
<th>Head</th>
<th>Torso</th>
<th>Arms</th>
<th>Legs</th>
<th>Weapon</th>
<th></th>
<tbody id="Builds Table Body"></tbody>
</tr>
</thead>
</table>
</div>
<div class=SelectedPerks id=SelectedPerks>
<h3>Perk Summary</h3>
</div>
</div>
<div class=footer>
<div>Website version: <b>4.8.3</b> Dauntless version: <b>1.13.1</b></div>
<div>Check us out/ask questions at:</div>
<div><a
href=https://www.reddit.com/r/dauntless/comments/c344rl/dauntless_reverse_engineering_build_optimizer />Reddit
</a> <a href=http://discord.gg/dRgfjb3>Discord</a></div>
<div class=smallfont>
<div>2019 Licenced Siddharth Agrawal.</div>
<div>Dauntless™ is a trademark of Phoenix Labs.</div>
<div>Author of this site does not own or claim to own the rights to any Pheonix Labs properties, including,but
not limited to armor and cell icons, background images, and other images used in the production ofthe
website.</div>
<div>No copyright or other digital rights infringement intended.</div>
</div>
</div>
</body>
<script src=js/materialize.min.js></script>
<script>function hasTouch() { return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0; }
if (!hasTouch()) { let tooltips = document.querySelectorAll('.tooltipped'); for (let i = 0; i < tooltips.length; i++) M.Tooltip.init(tooltips[i], { outDuration: 50, inDuration: 400, enterDelay: 500, margin: 0, transitionMovement: 3 }); }
let tabs = document.querySelectorAll('.tabs');
for (let i = 0; i < tabs.length; i++) M.Tabs.init(tabs[i]);
!function (t, e) { if ("function" == typeof define && define.amd) define("Hashids", ["exports"], e); else if ("undefined" != typeof exports) e(exports); else { var n = { exports: {} }; e(n.exports), t.Hashids = n.exports } }("object" == typeof globalThis ? globalThis : "object" == typeof self ? self : this, (function (t) { "use strict"; function e(t) { return function (t) { if (Array.isArray(t)) return t }(t) || r(t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance") }() } function n(t) { return function (t) { if (Array.isArray(t)) { for (var e = 0, n = new Array(t.length); e < t.length; e++)n[e] = t[e]; return n } }(t) || r(t) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance") }() } function r(t) { if (Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t)) return Array.from(t) } t.__esModule = !0, t.unicodeSubstr = t.onlyChars = t.withoutChars = t.keepUniqueChars = t.default = void 0; var i = function () { function t(t, e, r, i) { if (void 0 === t && (t = ""), void 0 === e && (e = 0), void 0 === r && (r = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"), void 0 === i && (i = "cfhistuCFHISTU"), this.salt = t, this.minLength = e, "number" != typeof e) throw new TypeError("Hashids: Provided 'minLength' has to be a number (is " + typeof e + ")"); if ("string" != typeof t) throw new TypeError("Hashids: Provided 'salt' has to be a string (is " + typeof t + ")"); if ("string" != typeof r) throw new TypeError("Hashids: Provided alphabet has to be a string (is " + typeof r + ")"); var f = h(r); if (f.length < o) throw new Error("Hashids: alphabet must contain at least " + o + " unique characters, provided: " + f); this.alphabet = u(f, i); var d, p, v = l(i, f); this.seps = g(v, t), (0 === n(this.seps).length || n(this.alphabet).length / n(this.seps).length > s) && (d = Math.ceil(n(this.alphabet).length / s)) > n(this.seps).length && (p = d - n(this.seps).length, this.seps += c(this.alphabet, 0, p), this.alphabet = c(this.alphabet, p)), this.alphabet = g(this.alphabet, t); var b = Math.ceil(n(this.alphabet).length / a); n(this.alphabet).length < 3 ? (this.guards = c(this.seps, 0, b), this.seps = c(this.seps, b)) : (this.guards = c(this.alphabet, 0, b), this.alphabet = c(this.alphabet, b)) } var r = t.prototype; return r.encode = function (t) { for (var e = arguments.length, r = new Array(e > 1 ? e - 1 : 0), i = 1; i < e; i++)r[i - 1] = arguments[i]; var o = ""; return (r = Array.isArray(t) ? t : [].concat(n(null != t ? [t] : []), n(r))).length ? (r.every(f) || (r = r.map((function (t) { return "bigint" == typeof t || "number" == typeof t ? t : m(String(t)) }))), r.every(d) ? this._encode(r) : o) : o }, r.decode = function (t) { return t && "string" == typeof t && 0 !== t.length ? this._decode(t) : [] }, r.encodeHex = function (t) { switch (typeof t) { case "bigint": t = t.toString(16); break; case "string": if (!/^[0-9a-fA-F]+$/.test(t)) return ""; break; default: throw new Error("Hashids: The provided value is neither a string, nor a BigInt (got: " + typeof t + ")") }var e = w(t, 12, (function (t) { return parseInt("1" + t, 16) })); return this.encode(e) }, r.decodeHex = function (t) { return this.decode(t).map((function (t) { return t.toString(16).slice(1) })).join("") }, r._encode = function (t) { var e, r = this, i = this.alphabet, o = t.reduce((function (t, e, n) { return t + ("bigint" == typeof e ? Number(e % BigInt(n + 100)) : e % (n + 100)) }), 0), s = e = n(i)[o % n(i).length], a = n(this.seps), h = n(this.guards); if (t.forEach((function (n, o) { var h = s + r.salt + i; i = g(i, c(h, 0)); var u = p(n, i); if (e += u, o + 1 < t.length) { var l = u.codePointAt(0) + o, f = "bigint" == typeof n ? Number(n % BigInt(l)) : n % l; e += a[f % a.length] } })), n(e).length < this.minLength) { var u = (o + n(e)[0].codePointAt(0)) % h.length; if (n(e = h[u] + e).length < this.minLength) { var l = (o + n(e)[2].codePointAt(0)) % h.length; e += h[l] } } for (var f = Math.floor(n(i).length / 2); n(e).length < this.minLength;) { i = g(i, i); var d = n(e = c(i, f) + e + c(i, 0, f)).length - this.minLength; d > 0 && (e = c(e, d / 2, this.minLength)) } return e }, r.isValidId = function (t) { var e = this; return n(t).every((function (t) { return e.alphabet.includes(t) || e.guards.includes(t) || e.seps.includes(t) })) }, r._decode = function (t) { var r = this; if (!this.isValidId(t)) throw new Error("The provided ID (" + t + ") is invalid, as it contains characters that do not exist in the alphabet (" + this.guards + this.seps + this.alphabet + ")"); var i = b(t, (function (t) { return r.guards.includes(t) })), o = n(i[3 === i.length || 2 === i.length ? 1 : 0]); if (0 === o.length) return []; var s = e(o), a = s[0], h = s.slice(1).join(""), u = b(h, (function (t) { return r.seps.includes(t) })).reduce((function (t, e) { var i = t.result, o = t.lastAlphabet, s = a + r.salt + o, h = g(o, c(s, 0, n(o).length)); return { result: [].concat(n(i), [v(e, h)]), lastAlphabet: h } }), { result: [], lastAlphabet: this.alphabet }).result; return this._encode(u) !== t ? [] : u }, t }(); t.default = i; var o = 16, s = 3.5, a = 12, h = function (t) { return Array.from(new Set(t)).join("") }; t.keepUniqueChars = h; var u = function (t, n) { var r = e(t).slice(0), i = e(n).slice(0); return r.filter((function (t) { return !i.includes(t) })).join("") }; t.withoutChars = u; var l = function (t, n) { var r = e(t).slice(0), i = e(n).slice(0); return r.filter((function (t) { return i.includes(t) })).join("") }; t.onlyChars = l; var c = function (t, n, r) { return e(t).slice(0).slice(n, void 0 === r ? void 0 : n + r).join("") }; t.unicodeSubstr = c; var f = function (t) { return "bigint" == typeof t || !Number.isNaN(Number(t)) && Math.floor(Number(t)) === t }, d = function (t) { return "bigint" == typeof t || t >= 0 && Number.isSafeInteger(t) }; function g(t, r) { var i, o = e(r).slice(0); if (!o.length) return t; for (var s = n(t), a = s.length - 1, h = 0, u = 0; a > 0; a--, h++) { u += i = o[h %= o.length].codePointAt(0); var l = (i + h + u) % a, c = [s[a], s[l]]; s[l] = c[0], s[a] = c[1] } return s.join("") } var p = function (t, n) { var r = e(n).slice(0), i = ""; if ("bigint" == typeof t) { var o = BigInt(r.length); do { i = r[Number(t % o)] + i, t /= o } while (t > BigInt(0)) } else do { i = r[t % r.length] + i, t = Math.floor(t / r.length) } while (t > 0); return i }, v = function (t, n) { var r = e(t).slice(0), i = e(n).slice(0); return r.map((function (t) { var e = i.indexOf(t); if (-1 === e) { var n = r.join(""), o = i.join(""); throw new Error("The provided ID (" + n + ") is invalid, as it contains characters that do not exist in the alphabet (" + o + ")") } return e })).reduce((function (t, e) { if ("bigint" == typeof t) return t * BigInt(i.length) + BigInt(e); var n = t * i.length + e; if (Number.isSafeInteger(n)) return n; if ("function" == typeof BigInt) return BigInt(t) * BigInt(i.length) + BigInt(e); throw new Error("Unable to decode the provided string, due to lack of support for BigInt numbers in the current environment") }), 0) }, b = function (t, r) { return e(t).slice(0).reduce((function (t, e) { return r(e) ? [].concat(n(t), [""]) : [].concat(n(t.slice(0, -1)), [t[t.length - 1] + e]) }), [""]) }, y = /^\+?[0-9]+$/, m = function (t) { return y.test(t) ? parseInt(t, 10) : NaN }, w = function (t, e, n) { return Array.from({ length: Math.ceil(t.length / e) }, (function (r, i) { return n(t.slice(i * e, (i + 1) * e)) })) } }));
</script>
<script src=js/EventHandler_SelectedPerks.min.js> </script>