/
index.html
169 lines (151 loc) · 10 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
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
<!DOCTYPE html>
<html>
<head>
<!-- <title>gwskills</title> -->
<title>GW Sealed Deck Generator</title>
<link rel="icon" type="image/x-icon" href="static/favicon.ico">
<!-- JQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!-- common stuff -->
<link rel="stylesheet" href="styles.css"/>
<script src="scripts/bitarray.js"></script>
<script src="scripts/skill_list.js"></script>
<script src="scripts/skill_pool_serde.js"></script>
<script src="scripts/skill_pool_generator.js"></script>
</head>
<body>
<div id="generator-outer-container">
<div id="intro" style="padding:0px 4ch 2em;">
<div style="display:flex;flex-direction:row;">
<img src="static/gw-helmet.png" id="title-icon"/>
<h1>Guild Wars Sealed Deck Generator</h1>
</div>
<div>
<p>
A random skill pool generator inspired by the <a href="https://wiki.guildwars.com/wiki/Sealed_Deck">Sealed Deck</a>/<a href="https://wiki.guildwars.com/wiki/Codex_Arena">Codex Arena</a> PvP formats.
Use this tool to produce a deck—a randomly chosen subset of all the skills in the game—then try to create the most effective build(s) using only the skills in your deck!
</p>
</div>
</div>
<div id="generator-options-section">
<h2>Sealed Deck Options</h2>
<div id="gen-campaign-container">
<h4 style="margin-bottom:0.6em;">Campaigns</h4>
<div style="display:grid;">
<span id="cb-camp-core-span" style="grid-column:1;grid-row:1;">
<input type="checkbox" checked id="cb-camp-core" class="cb-camp" value="cor">
<label for="cb-camp-core">Core</label>
</span>
<span id="cb-camp-proph-span" style="grid-column:2;grid-row:1;">
<input type="checkbox" checked id="cb-camp-proph" class="cb-camp" value="pro">
<label for="cb-camp-proph">Prophecies</label>
</span>
<span id="cb-camp-fact-span" style="grid-column:3;grid-row:1;">
<input type="checkbox" checked id="cb-camp-fact" class="cb-camp" value="fac">
<label for="cb-camp-fact">Factions</label>
</span>
<span id="cb-camp-night-span" style="grid-column:4;grid-row:1;">
<input type="checkbox" checked id="cb-camp-night" class="cb-camp" value="nig">
<label for="cb-camp-night">Nightfall</label>
</span>
<span id="cb-camp-eotn-span" style="grid-column:5;grid-row:1;">
<input type="checkbox" checked id="cb-camp-eotn" class="cb-camp" value="eye">
<label for="cb-camp-eotn">Eye of the North</label>
</span>
</div>
</div>
<div id="gen-profession-container">
<h4 style="margin-bottom:0.6em;">Professions</h4>
<div style="display:grid;">
<span id="cb-prof-war-span" style="grid-column:1;grid-row:1;">
<input type="checkbox" checked id="cb-prof-war" class="cb-prof" value="war">
<label for="cb-prof-war">Warrior</label>
</span>
<span id="cb-prof-ran-span" style="grid-column:2;grid-row:1;">
<input type="checkbox" checked id="cb-prof-ran" class="cb-prof" value="ran">
<label for="cb-prof-ran">Ranger</label>
</span>
<span id="cb-prof-mon-span" style="grid-column:3;grid-row:1;">
<input type="checkbox" checked id="cb-prof-mon" class="cb-prof" value="mon">
<label for="cb-prof-mon">Monk</label>
</span>
<span id="cb-prof-nec-span" style="grid-column:4;grid-row:1;">
<input type="checkbox" checked id="cb-prof-nec" class="cb-prof" value="nec">
<label for="cb-prof-nec">Necromancer</label>
</span>
<span id="cb-prof-mes-span" style="grid-column:5;grid-row:1;">
<input type="checkbox" checked id="cb-prof-mes" class="cb-prof" value="mes">
<label for="cb-prof-mes">Mesmer</label>
</span>
<span id="cb-prof-ele-span" style="grid-column:1;grid-row:2;">
<input type="checkbox" checked id="cb-prof-ele" class="cb-prof" value="ele">
<label for="cb-prof-ele">Elementalist</label>
</span>
<span id="cb-prof-ass-span" style="grid-column:2;grid-row:2;">
<input type="checkbox" checked id="cb-prof-ass" class="cb-prof" value="ass">
<label for="cb-prof-ass">Assassin</label>
</span>
<span id="cb-prof-rit-span" style="grid-column:3;grid-row:2;">
<input type="checkbox" checked id="cb-prof-rit" class="cb-prof" value="rit">
<label for="cb-prof-rit">Ritualist</label>
</span>
<span id="cb-prof-par-span" style="grid-column:4;grid-row:2;">
<input type="checkbox" checked id="cb-prof-par" class="cb-prof" value="par">
<label for="cb-prof-par">Paragon</label>
</span>
<span id="cb-prof-der-span" style="grid-column:5;grid-row:2;">
<input type="checkbox" checked id="cb-prof-der" class="cb-prof" value="der">
<label for="cb-prof-der">Dervish</label>
</span>
</div>
</div>
<div id="gen-pveonly-container">
<h4 style="margin-bottom:0.6em;">PvE-only Skills</h4>
<span id="cb-prof-war-span">
<input type="checkbox" checked id="cb-pveonly">
<label for="cb-pveonly">Include PvE-only skills</label>
</span>
</div>
<div id="gen-elite-container">
<h4 style="margin-bottom:0.6em;">Elite Skills</h4>
<span id="cb-elite-span">
<input type="checkbox" checked id="cb-elite">
<label for="cb-elite">Include elite skills</label>
</span>
</div>
<div id="gen-whitelist-blacklist-container">
<h4 style="margin-bottom:0.6em;">Whitelisted & Blacklisted Skills</h4>
<div style="font-size:small;margin-bottom:1em;">Whitelisted skills are guaranteed to show up in the deck, while blacklisted skills will not be randomly added to the deck. Write a single skill name per line, and use exact punctuation and capitalization.</div>
<div style="display:grid;column-gap:20px;grid-template-columns: auto auto;">
<div>
<h5 style="margin:0 0 0.3em">Whitelisted Skills</h5>
<textarea id="gen-whitelist" class="ta-skill-list" placeholder="Type whitelisted skill names here" style="grid-column:1;"></textarea>
</div>
<div>
<h5 style="margin:0 0 0.3em">Blacklisted Skills</h5>
<textarea id="gen-blacklist" class="ta-skill-list" placeholder="Type blacklisted skill names here" style="grid-column:2;"></textarea>
</div>
</div>
</div>
<div id="gen-slider-container">
<h4>Deck Size</h4>
<div style="margin-top:0.6em;display:flex;flex-direction:right;font-size:small;">
<span style="margin-right:2ch;">Number of skills:</span>
<span style="font-family:monospace;font-size:larger;">0%</span>
<input type="range" min="0" max="100" value="40" style="width:200px;margin:-2px 1ch 0px;" id="skillcount-slider"/>
<span style="font-family:monospace;font-size:larger;">100%</span>
<span style="margin-left:2ch;margin-right:1ch;">Selected:</span>
<span style="font-family:monospace;font-size:larger", id="skillcount-slider-selected-number">uninitialized</span>
</div>
</div>
<button id="generate">Generate Sealed Deck</button>
</div>
</div>
<div style="text-align:center;font-size:small;padding-bottom:2vh;">
<a href="https://github.com/chrisschek/gwskills/">Github</a>
</div>
<div id="legal-thing">
<p>This website is not affiliated with nor endorsed by ArenaNet or NCSoft. This website does not imply or claim any rights to the Guild Wars video game series, including its characters, screenshots, pictures, images, videos or creations. Copyrights and trademarks for the Guild Wars video game series are held by their respective owners and their use is allowed under the fair use clause of the Copyright Law. The information contained in this website is for general information purposes only and all views and opinions on this site are strictly my own and in no way reflects the views or positions of either ArenaNet or NCSoft.</p>
</div>
</body>
</html>