kol.js 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kol.js",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "main": "src/index.ts",
5
5
  "type": "module",
6
6
  "files": [
@@ -13,22 +13,23 @@
13
13
  "format": "prettier --write ."
14
14
  },
15
15
  "devDependencies": {
16
- "prettier": "^3.3.3",
17
- "typescript": "^5.6.2",
18
- "vitest": "^2.1.0"
16
+ "prettier": "^3.5.3",
17
+ "typescript": "^5.8.2",
18
+ "vitest": "^3.0.9"
19
19
  },
20
20
  "dependencies": {
21
- "@xmldom/xmldom": "^0.9.2",
22
21
  "async-mutex": "^0.5.0",
23
- "date-fns": "^3.6.0",
24
- "got": "^14.4.2",
25
- "html-entities": "^2.5.2",
26
- "image-size": "^1.1.1",
27
- "node-html-parser": "^6.1.13",
22
+ "css-select": "^5.1.0",
23
+ "date-fns": "^4.1.0",
24
+ "domhandler": "^5.0.3",
25
+ "domutils": "^3.2.2",
26
+ "got": "^14.4.6",
27
+ "html-entities": "^2.5.3",
28
+ "htmlparser2": "^10.0.0",
29
+ "image-size": "^2.0.1",
28
30
  "querystring": "^0.2.1",
29
- "tough-cookie": "^5.0.0",
31
+ "tough-cookie": "^5.1.2",
30
32
  "ts-dedent": "^2.2.0",
31
- "typed-emitter": "^2.1.0",
32
- "xpath": "^0.0.34"
33
+ "typed-emitter": "^2.1.0"
33
34
  }
34
35
  }
@@ -212,6 +212,8 @@ describe("Raffle", () => {
212
212
  text.mockResolvedValueOnce("<!-- itemid: 2 -->");
213
213
  text.mockResolvedValueOnce("<!-- itemid: 3 -->");
214
214
  text.mockResolvedValueOnce("<!-- itemid: 4 -->");
215
+ text.mockResolvedValueOnce("<!-- itemid: 4 -->");
216
+ text.mockResolvedValueOnce("<!-- itemid: 4 -->");
215
217
 
216
218
  const raffle = await client.getRaffle();
217
219
 
package/src/Client.ts CHANGED
@@ -42,6 +42,17 @@ type Familiar = {
42
42
  image: string;
43
43
  };
44
44
 
45
+ type ApiStatus = {
46
+ /** number of ascensions */
47
+ ascensions: string;
48
+ /** number of turns played */
49
+ turnsplayed: string;
50
+ /** kol game day number */
51
+ daynumber: string;
52
+ /** session password */
53
+ pwd: string;
54
+ };
55
+
45
56
  export class Client extends (EventEmitter as unknown as new () => TypedEmitter<Events>) {
46
57
  actionMutex = new Mutex();
47
58
  session = got.extend({
@@ -115,26 +126,27 @@ export class Client extends (EventEmitter as unknown as new () => TypedEmitter<E
115
126
  ): Promise<Result | null> {
116
127
  if (!(await this.login())) return fallback ?? null;
117
128
 
118
- // Make the request
119
- const response = await this.session(path, {
120
- ...options,
121
- responseType: "json",
122
- });
129
+ let failed = false;
123
130
 
124
- // If we've been redirected to the login page, clear the pwd and try again
125
- if (response.url.includes("/login.php")) {
126
- this.#pwd = "";
127
- return this.fetchJson(path, options);
128
- }
131
+ // Make the request
132
+ try {
133
+ const response = await this.session(path, {
134
+ ...options,
135
+ responseType: "json",
136
+ });
137
+ if (!response.url.includes("/login.php")) return response.body as Result;
138
+ } catch (error) {}
129
139
 
130
- return response.body as Result;
140
+ // If we've not been successful, clear the pwd and try again
141
+ this.#pwd = "";
142
+ return this.fetchJson(path, options);
131
143
  }
132
144
 
133
145
  async login(): Promise<boolean> {
134
146
  if (await this.checkLoggedIn()) return true;
135
147
  if (this.#isRollover) return false;
136
148
  try {
137
- await this.session
149
+ const result = await this.session
138
150
  .post("login.php", {
139
151
  form: {
140
152
  loggingin: "Yup.",
@@ -146,6 +158,10 @@ export class Client extends (EventEmitter as unknown as new () => TypedEmitter<E
146
158
  })
147
159
  .text();
148
160
 
161
+ if (Client.#rolloverPattern.test(result)) {
162
+ throw new Error("It's rollover!");
163
+ }
164
+
149
165
  if (!(await this.checkLoggedIn())) return false;
150
166
 
151
167
  if (this.postRolloverLatch) {
@@ -180,11 +196,11 @@ export class Client extends (EventEmitter as unknown as new () => TypedEmitter<E
180
196
  }
181
197
  }
182
198
 
199
+ static #rolloverPattern =
200
+ /The system is currently down for nightly maintenance/;
201
+
183
202
  async #checkForRollover() {
184
- const isRollover =
185
- /The system is currently down for nightly maintenance/.test(
186
- await this.fetchText("/"),
187
- );
203
+ const isRollover = Client.#rolloverPattern.test(await this.fetchText(""));
188
204
 
189
205
  if (this.#isRollover && !isRollover) {
190
206
  // Set the post-rollover latch so the bot can react on next log in.
@@ -195,7 +211,7 @@ export class Client extends (EventEmitter as unknown as new () => TypedEmitter<E
195
211
 
196
212
  if (this.#isRollover) {
197
213
  // Rollover appears to be in progress. Check again in one minute.
198
- setTimeout(() => this.#checkForRollover(), 60000);
214
+ setTimeout(() => this.#checkForRollover(), 60_000);
199
215
  }
200
216
  }
201
217
 
@@ -250,6 +266,14 @@ export class Client extends (EventEmitter as unknown as new () => TypedEmitter<E
250
266
  });
251
267
  }
252
268
 
269
+ async fetchStatus(): Promise<ApiStatus | null> {
270
+ const api = await this.fetchJson<ApiStatus>("api.php", {
271
+ searchParams: { what: "status", for: `${this.#username} bot` },
272
+ });
273
+
274
+ return api;
275
+ }
276
+
253
277
  async fetchKmails(): Promise<KmailMessage[]> {
254
278
  const kmails = await this.fetchJson<KoLKmail[]>("api.php", {
255
279
  searchParams: {
@@ -514,7 +538,8 @@ export class Client extends (EventEmitter as unknown as new () => TypedEmitter<E
514
538
  static #descIdToIdCache: Map<number, number> = new Map();
515
539
 
516
540
  async descIdToId(descId: number): Promise<number> {
517
- if (Client.#descIdToIdCache.has(descId)) return Client.#descIdToIdCache.get(descId)!;
541
+ if (Client.#descIdToIdCache.has(descId))
542
+ return Client.#descIdToIdCache.get(descId)!;
518
543
  const page = await this.fetchText("desc_item.php", {
519
544
  searchParams: {
520
545
  whichitem: descId,
@@ -540,17 +565,36 @@ export class Client extends (EventEmitter as unknown as new () => TypedEmitter<E
540
565
  );
541
566
  const yesterday = await Promise.all(
542
567
  winners
543
- ? [...winners].map(async (w) => ({
568
+ ? [...winners].map(async (w, i) => ({
544
569
  player: new Player(this, Number(w[2]), w[1]),
545
570
  item: await this.descIdToId(Number(w[3])),
546
571
  tickets: Number(w[4].replace(",", "")),
572
+ place: Math.min(i + 1, 2),
547
573
  }))
548
574
  : [],
549
575
  );
550
576
 
577
+ const { daynumber } = (await this.fetchStatus()) ?? { daynumber: "0" };
578
+
551
579
  return {
552
580
  today: { first, second },
553
581
  yesterday,
582
+ gameday: Number(daynumber),
554
583
  };
555
584
  }
585
+
586
+ async getStandard(date?: Date) {
587
+ if (!date) {
588
+ date = new Date();
589
+ date.setFullYear(date.getFullYear() - 2);
590
+ date.setMonth(0);
591
+ date.setDate(2);
592
+ }
593
+
594
+ const formattedDate = date.toISOString().split("T")[0];
595
+
596
+ return await this.fetchText("standard.php", {
597
+ searchParams: { date: formattedDate },
598
+ });
599
+ }
556
600
  }
package/src/Player.ts CHANGED
@@ -66,11 +66,11 @@ export class Player<IsFull extends boolean = boolean> {
66
66
  id: number,
67
67
  ): Promise<string | null> {
68
68
  try {
69
- const profile = await client.fetchText("showplayer.php", {
70
- searchParams: { who: id },
69
+ const profile = await client.fetchText("submitnewchat.php", {
70
+ searchParams: { graf: `/whois ${id}` },
71
71
  });
72
- const name = profile.match(/<b>([^>]*?)<\/b> \(#(\d+)\)<br>/)?.[1];
73
- return name || null;
72
+ const name = profile.match(/<a.*?><b.*?>(.*?) \(#(\d+)\)<\/b><\/a>/)?.[1];
73
+ return name ?? null;
74
74
  } catch {
75
75
  return null;
76
76
  }
@@ -82,7 +82,7 @@ export class Player<IsFull extends boolean = boolean> {
82
82
  ): Promise<Player<false> | null> {
83
83
  try {
84
84
  const matcher =
85
- /<tr><td class=small><b><a target=mainpane href="showplayer\.php\?who=(?<playerId>\d+)">(?<playerName>[^<]+)<\/a><\/b>.*?<\/td><td valign=top class=small>\d*<\/td><td valign=top class=small>(?:<img src=".*?">|(?<level>\d+))<\/td><td class=small valign=top>(?<class>[^<]+)<\/td><\/tr>/i;
85
+ /<tr><td class=small><b><a target=mainpane href="showplayer\.php\?who=(?<playerId>\d+)">(?<playerName>[^<]+)<\/a><\/b>.*?<\/td><td valign=top class=small>\d*<\/td><td valign=top class=small>(?:<img src=".*?">|(?<level>\d+))<\/td><td class=small valign=top>(?<class>[^<]*)<\/td><\/tr>/i;
86
86
  const search = await client.fetchText("searchplayer.php", {
87
87
  searchParams: {
88
88
  searchstring: name.replace(/_/g, "\\_"),
@@ -0,0 +1,26 @@
1
+ <html><head>
2
+ <script language=Javascript>
3
+ <!--
4
+ if (parent.frames.length == -1) location.href="game.php";
5
+ top.charpane.location.href="charpane.php";
6
+ //-->
7
+ </script>
8
+ <script language=Javascript src="/images/scripts/keybinds.min.2.js"></script>
9
+ <script language=Javascript src="/images/scripts/window.20111231.js"></script>
10
+ <script language="javascript">function chatFocus(){if(top.chatpane.document.chatform.graf) top.chatpane.document.chatform.graf.focus();}
11
+ if (typeof defaultBind != 'undefined') { defaultBind(47, 2, chatFocus); defaultBind(190, 2, chatFocus);defaultBind(191, 2, chatFocus); defaultBind(47, 8, chatFocus);defaultBind(190, 8, chatFocus); defaultBind(191, 8, chatFocus); }</script><script language=Javascript src="/images/scripts/jquery-1.3.1.min.js"></script>
12
+ <link rel="stylesheet" type="text/css" href="/images/styles.20230117d.css">
13
+ <style type='text/css'>
14
+ .faded {
15
+ zoom: 1;
16
+ filter: alpha(opacity=35);
17
+ opacity: 0.35;
18
+ -khtml-opacity: 0.35;
19
+ -moz-opacity: 0.35;
20
+ }
21
+ </style>
22
+
23
+ <script language="Javascript" src="/basics.js"></script><link rel="stylesheet" href="/basics.1.css" /></head>
24
+
25
+ <body>
26
+ <centeR><map name=elemap><area shape="rect" coords="29,23,48,41" href="museum.php?floor=2" alt="Up Button" title="Up Button"><area shape="rect" coords="29,41,48,59" href="museum.php?floor=0" alt="Down Button" title="Down Button"></map><table width=95% cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Way of the Surprising Fist (Frozen) Leaderboards</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><centeR><table><tr><td valign=top><table width=400 cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Fastest Hardcore Way of the Surprising Fist Ascensions</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><table><tr><td class=small align=center><b>Player&nbsp;&nbsp;&nbsp;&nbsp;</b></td><td class=small align=center><b>Days</b></td><td class=small align=center>&nbsp;&nbsp;&nbsp;&nbsp;<b>Adventures</b></td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=592920"><b>Iron Bob</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>712</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=420453"><b>Alexfrog</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>731</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=172816"><b>Strangerer</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>743</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1065882"><b>bobthebobber</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>749</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1839985"><b>NightBird</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>752</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=325967"><b>ema_nymton</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>755</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=727810"><b>Nodens</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>757</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=177122"><b>the Tristero</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>765</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1233150"><b>Extirpator</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>771</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1695084"><b>Twillo</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>776</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=960793"><b>tdrawler</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>781</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1647371"><b>bazo0ka</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>782</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1610439"><b>YoMama1</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>791</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=674339"><b>salticid</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>799</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=460706"><b>IvanGS</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>799</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=775093"><b>Jack D Ripper</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>801</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=106460"><b>blisterguy</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>805</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=61661"><b>Lightwolf</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>806</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1491208"><b>Rabid Alpaca</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>806</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=262104"><b>Archham</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>809</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=2007263"><b>Soirana</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>815</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1694949"><b>EiriasValar</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>816</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=610092"><b>Flolle</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>824</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=33679"><b>Orbrisa</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>832</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=675689"><b>HMSRobotman</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>837</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1026924"><b>Ultranibbles</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>918</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1634307"><b>KaInDraGOOn</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>4</td><td class=small align=right>757</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1159338"><b>Instalite</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>4</td><td class=small align=right>758</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=2023803"><b>LotsOfPhil</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>4</td><td class=small align=right>758</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=605699"><b>Rulle</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>4</td><td class=small align=right>760</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1415792"><b>welt</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>4</td><td class=small align=right>764</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=2102003"><b>Tawt Strat</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>4</td><td class=small align=right>765</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1610850"><b>lord bitchalot</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>4</td><td class=small align=right>765</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=42618"><b>gamma_RAy</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>4</td><td class=small align=right>766</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1729198"><b>slyz</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>4</td><td class=small align=right>766</td></tr></table></td></tr></table></center></td></tr><tr><td height=4></td></tr></table><!-- updated 2024-11-21T02:34:30-07:00 --><table width=400 cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Fastest Normal Way of the Surprising Fist Ascensions</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><table><tr><td class=small align=center><b>Player&nbsp;&nbsp;&nbsp;&nbsp;</b></td><td class=small align=center><b>Days</b></td><td class=small align=center>&nbsp;&nbsp;&nbsp;&nbsp;<b>Adventures</b></td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=871378"><b>Liizu</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>539</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1026924"><b>Ultranibbles</b></a> (DB)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>563</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1052080"><b>bmaher</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>569</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=2023803"><b>LotsOfPhil</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>569</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=722414"><b>DarthDud</b></a> (P)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>578</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1761780"><b>Saracen</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>593</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1159338"><b>Instalite</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>594</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=508362"><b>bennieloohoo</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>595</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=693025"><b>darkgreycat</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>597</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=777714"><b>Snaelda</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>598</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=61661"><b>Lightwolf</b></a> (P)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>600</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=985943"><b>efot</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>603</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=2031699"><b>Zots</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>605</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=2020400"><b>EpicMoose</b></a> (DB)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>618</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=2123853"><b>anitert</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>620</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1808176"><b>dorian78</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>623</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=916479"><b>ubernuke</b></a> (TT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>627</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=106460"><b>blisterguy</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>629</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1710460"><b>Corill</b></a> (DB)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>634</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=838679"><b>BlueWasabi</b></a> (S)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>653</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=177122"><b>the Tristero</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>663</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1245590"><b>Schik</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>676</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=441708"><b>Emanon176</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>2</td><td class=small align=right>682</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1314057"><b>Melinhed</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>524</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1450097"><b>Pantsless</b></a> (DB)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>531</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=2065951"><b>Rotund</b></a> (DB)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>542</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1642260"><b>Turtle Juice</b></a> (DB)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>548</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1326228"><b>dirac</b></a> (P)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>549</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1855602"><b>shummie</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>549</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=2053510"><b>Gygax</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>560</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1813824"><b>Bodhazapha</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>563</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=636019"><b>Ceirdwyn</b></a> (P)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>566</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=862857"><b>Jaelith</b></a> (AT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>566</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1108143"><b>AntiPasta</b></a> (TT)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>570</td></tr><tr><td class=small><a class=nounder href="showplayer.php?who=1992917"><b>Jesusisagurl</b></a> (SC)&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small align=right>3</td><td class=small align=right>583</td></tr></table></td></tr></table></center></td></tr><tr><td height=4></td></tr></table><!-- updated 2024-11-21T02:34:31-07:00 --></td></tr></table><table width=500 cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>Most Recent Way of the Surprising Fist Ascensions (updated live):</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><table><tr><td class=small><b>Player</b></td><td class=small><b>Lifestyle</b></td><td class=small align=center><b>Class</b></td><td class=small><b>Days</b></td><td class=small><b>Adventures</b></td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3584933">Pinge</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Pastamancer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>14</td><td class=small>1,708</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=709550">CafeBabe</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>822</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3691853">GARRY TURDMOUTH</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Disco Bandit&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>41</td><td class=small>3,087</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3727898">UnholyReaper</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Disco Bandit&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>23</td><td class=small>3,811</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=709550">CafeBabe</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>4</td><td class=small>854</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2417984">Chris Hand</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Disco Bandit&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>16</td><td class=small>2,003</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=709550">CafeBabe</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>4</td><td class=small>925</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3743267">Stickmunt</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>33</td><td class=small>2,334</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2110323">Gruck Ta</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>6</td><td class=small>1,041</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=604409">TamGarTrinKiJoiDar</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Sauceror&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>7</td><td class=small>933</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=584803">erct657</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>489</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2199372">Comrade_Petrof</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>669</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2199372">Comrade_Petrof</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>757</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2347381">Dewey Metalgears</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>594</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2806552">Ed the Unnamable</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>29</td><td class=small>2,250</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1153072">Princess Anathema</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Pastamancer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>7</td><td class=small>819</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2199372">Comrade_Petrof</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>5</td><td class=small>868</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=221261">Tanivan</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>18</td><td class=small>2,299</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1153072">Princess Anathema</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>4</td><td class=small>865</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1153072">Princess Anathema</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Disco Bandit&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>4</td><td class=small>1,034</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1258638">GodsLittleHeathen</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Disco Bandit&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>5</td><td class=small>1,139</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=641726">Gunthar the Huge</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>7</td><td class=small>2,249</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1298882">fewyn</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Disco Bandit&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>552</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3281337">Nostus</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Sauceror&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>558</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3323767">SaulTheBoss</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Pastamancer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>10</td><td class=small>1,817</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3691215">chris yanthemup</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>5</td><td class=small>963</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=394715">The Garfather</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Sauceror&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>1</td><td class=small>333</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1119758">LordOpus</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>7</td><td class=small>1,483</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3127376">Smokeweedeverydayy</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>6</td><td class=small>1,473</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=651778">tcjellis</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>541</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1856704">BonJaglo</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Sauceror&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>682</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=651778">tcjellis</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>523</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3390309">skipnovak</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>12</td><td class=small>2,098</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1385639">Josim</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>766</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=651778">tcjellis</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>565</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2109704">Infopowerbroker</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>566</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1850933">Kulthozuer</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>399</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3672115">Rishi Sunak</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>6</td><td class=small>1,251</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3381718">SamhaineTsuke</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>14</td><td class=small>3,221</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3674775">cosmic_food</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>7</td><td class=small>1,531</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2109704">Infopowerbroker</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>589</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2912155">Pestero</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>585</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2158154">Viszarn</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Accordion Thief&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>12</td><td class=small>1,743</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=2270868">Hedgemonster</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>1,000</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=584803">erct657</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Sauceror&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>646</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=584803">erct657</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>512</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1931195">herocaim</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Disco Bandit&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>1,003</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1614456">Muscle Mctuffing Puff</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Disco Bandit&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>966</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=3607963">Jillstopher</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Hardcore &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Turtle Tamer&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>3</td><td class=small>651</td></tr><td class=small><b><a class=nounder href="showplayer.php?who=1741165">Grushvak</a></b>&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Normal &nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>Seal Clubber&nbsp;&nbsp;&nbsp;&nbsp;</td><td class=small>2</td><td class=small>654</td></tr></table></td></tr></table></center></td></tr><tr><td height=4></td></tr></table><p></center></td></tr></table></center></td></tr><tr><td height=4></td></tr></table><table width=95% cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>The Museum, First Floor</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><center><table cellpadding=0 cellspacing=0><tr><td colspan=6 width=500 height=100><img src=/images/otherimages/museum/museum_top.gif width=500 height=100 border=0></td></tr><tr><td width=50 height=400 rowspan=4><img src=/images/otherimages/museum/museum_left.gif width=50 height=400></td><td width=100 height=100><a href=museum.php?action=icehouse><img src=/images/otherimages/museum/musicehouse.gif width=100 height=100></a></td><td width=100 height=100><a href=museum.php?floor=1&place=leaderboards&whichboard=0><img src=/images/otherimages/museum/lbweird.gif width=100 height=100 border=0 alt="Weird Leaderboards" title="Weird Leaderboards"></a></td><td width=100 height=100><a href=museum.php?floor=1&place=leaderboards&whichboard=8><img src=/images/otherimages/museum/lbclandungeon.gif width=100 height=100 border=0 alt="Clan Dungeon Leaderboards" title="Clan Dungeon Leaderboards"></a></td><td width=100 height=100><img src=/images/otherimages/museum/museum_elevator.gif width=100 height=100 border=0 usemap="#elemap"></td><td width=50 height=400 rowspan=4><img src=/images/otherimages/museum/museum_right.gif width=50 height=400></td></tr><tr><td width=100 height=100><a href='museum.php?place=leaderboards&whichboard=900&floor=1' style='text-align:center;display: block; height: 100px; width: 100px'><div style='height:15px'></div><div style='margin-bottom: 2px'><div class="pp"><div><img alt="Elf Gratitude" title="Elf Gratitude" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/E.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/l.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/f.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/G.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/t.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/i.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/t.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/u.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /></div></div></div><div class="pp"><div><img alt="Leaderboards" title="Leaderboards" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/b.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div><img src="/images/otherimages/museum/lb.gif" alt="Elf Gratitude Leaderboards" /></a></td><td width=100 height=100><a href="machineart.php?browse=1"><img src=/images/otherimages/museum/aagsign.gif width=100 height=100 border=0 alt="Abstract Art Gallery" title="Abstract Art Gallery"></a></td><td width=100 height=100><a href="museum.php?place=collections"><img src="/images/otherimages/museum/collection.gif" width=100 height=100 border=0 alt="The Collection Collection" title="The Collection Collection"></a></td><td width=100 height=100><a href='museum.php?place=leaderboards&whichboard=51&floor=1' style='text-align:center;display: block; height: 100px; width: 100px'><div style='height:15px'></div><div style='margin-bottom: 2px'><div class="pp"><div><img alt="Shrunken Adventurer" title="Shrunken Adventurer" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/S.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/h.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/u.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/n.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/k.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/n.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/A.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/v.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/n.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/t.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/u.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /></div></div></div><div class="pp"><div><img alt="Leaderboards" title="Leaderboards" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/b.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div><img src="/images/otherimages/museum/lb.gif" alt="Shrunken Adventurer Leaderboards" /></a></td></tr><tr><td width=100 height=100><a href='museum.php?place=leaderboards&whichboard=47&floor=1' style='text-align:center;display: block; height: 100px; width: 100px'><div style='height:15px'></div><div style='margin-bottom: 2px'><div class="pp"><div><img alt="Journeyman" title="Journeyman" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/J.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/u.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/n.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/y.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/m.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/n.gif" height="10" border="0" /></div></div></div><div class="pp"><div><img alt="Leaderboards" title="Leaderboards" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/b.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div><img src="/images/otherimages/museum/lb.gif" alt="You Robot, Leaderboards" /></a></td><td width=100 height=100><a href='museum.php?place=leaderboards&whichboard=48&floor=1' style='text-align:center;display: block; height: 100px; width: 100px'><div style='height:15px'></div><div style='margin-bottom: 2px'><div class="pp"><div><img alt="Fall of the Dinos" title="Fall of the Dinos" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/F.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/l.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/l.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/f.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/t.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/h.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/D.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/i.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/n.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div></div><div class="pp"><div><img alt="Leaderboards" title="Leaderboards" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/b.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div><img src="/images/otherimages/museum/lb.gif" alt="You Robot, Leaderboards" /></a></td><td width=100 height=100><a href='museum.php?place=leaderboards&whichboard=49&floor=1' style='text-align:center;display: block; height: 100px; width: 100px'><div style='height:15px'></div><div style='margin-bottom: 2px'><div class="pp"><div><img alt="Shadows Over Loathing Leaderboards" title="Shadows Over Loathing Leaderboards" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/S.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/h.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/w.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/O.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/v.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/t.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/h.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/i.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/n.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/g.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/b.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div></div><img src="/images/otherimages/museum/lb.gif" alt="Avatar of Shadows Over Loathing Leaderboards" /></a></td><td width=100 height=100><a href='museum.php?place=leaderboards&whichboard=50&floor=1' style='text-align:center;display: block; height: 100px; width: 100px'><div style='height:15px'></div><div style='margin-bottom: 2px'><div class="pp"><div><img alt="Legacy of Loathing" title="Legacy of Loathing" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/g.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/c.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/y.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/f.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/t.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/h.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/i.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/n.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/g.gif" height="10" border="0" /></div></div></div><div class="pp"><div><img alt="Leaderboards" title="Leaderboards" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/b.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div><img src="/images/otherimages/museum/lb.gif" alt="You Robot, Leaderboards" /></a></td></tr><tr><td width=100 height=100><a href='museum.php?place=leaderboards&whichboard=53&floor=1' style='text-align:center;display: block; height: 100px; width: 100px'><div style='height:15px'></div><div style='margin-bottom: 2px'><div class="pp"><div><img alt="11TIHAU" title="11TIHAU" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/1.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/1.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/T.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/I.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/H.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/A.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/U.gif" height="10" border="0" /></div></div></div><div class="pp"><div><img alt="Leaderboards" title="Leaderboards" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/b.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div><img src="/images/otherimages/museum/lb.gif" alt="11TIHAU Leaderboards" /></a></td><td width=100 height=100><a href='museum.php?place=leaderboards&whichboard=52&floor=1' style='text-align:center;display: block; height: 100px; width: 100px'><div style='height:15px'></div><div style='margin-bottom: 2px'><div class="pp"><div><img alt="WereProf" title="WereProf" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/W.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/P.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/f.gif" height="10" border="0" /></div></div></div><div class="pp"><div><img alt="Leaderboards" title="Leaderboards" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/b.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div><img src="/images/otherimages/museum/lb.gif" alt="WereProf" /></a></td><td width=100 height=100><a href='museum.php?place=leaderboards&whichboard=54&floor=1' style='text-align:center;display: block; height: 100px; width: 100px'><div style='height:15px'></div><div style='margin-bottom: 2px'><div class="pp"><div><img alt="Avant Guard" title="Avant Guard" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/A.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/v.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/n.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/t.gif" height="10" border="0" style="margin-right: 4px"/></div><div><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/G.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/u.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /></div></div></div><div class="pp"><div><img alt="Leaderboards" title="Leaderboards" src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/L.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/e.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/b.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/o.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/a.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/r.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/d.gif" height="10" border="0" /><img alt='' src="https://d2uyhvukfffg5a.cloudfront.net/otherimages/zonefont/s.gif" height="10" border="0" /></div></div><img src="/images/otherimages/museum/lb.gif" alt="Avant Guard" /></a></td><td width=100 height=100><a href=museum.php?floor=1&place=leaderboards&whichboard=999><img src=/images/otherimages/museum/lbstandard.gif width=100 height=100 border=0 alt="Standard Ascension Leaderboards" title="Standard Ascension Leaderboards"></a></td></tr><tr><td colspan=6 height=100 width=500><A href=town.php><img src=/images/otherimages/museum/museum_bottom.gif width=500 height=100 border=0></a></td></tr></table><p><a href=town.php>Back to Seaside Town</a></center></td></tr></table></center></td></tr><tr><td height=4></td></tr></table></center><div id='menu' class='rcm'></div></body><script language="Javascript"> var notchat = true; var actions = { "sendmessage.php" : { "action" : 1, "title" : "Send Message", "arg" : "toid" }, "town_sendgift.php" : { "action" : 1, "title" : "Send Gift", "arg" : "towho" }, "makeoffer.php" : { "action" : 1, "title" : "Propose Trade", "arg" : "towho" }, "mallstore.php" : { "action" : 1, "title" : "Mall Store", "arg" : "whichstore" }, "/./curse.php" : { "action" : 1, "title" : "Throw TP", "arg" : "whichitem=1923&targetplayer" }, "/msg" : { "action" : 3, "useid" : true, "query" : "Enter message to send to %:" }}; </script><script language="Javascript" src="/images/scripts/rcm.20101215.js"></script><script src="/onfocus.1.js"></script></html>
@@ -0,0 +1,167 @@
1
+ <html><head>
2
+ <script language=Javascript>
3
+ <!--
4
+ if (parent.frames.length == -1) location.href="game.php";
5
+ top.charpane.location.href="charpane.php";
6
+ //-->
7
+ </script>
8
+ <script language=Javascript src="/images/scripts/keybinds.min.2.js"></script>
9
+ <script language=Javascript src="/images/scripts/window.20111231.js"></script>
10
+ <script language="javascript">function chatFocus(){if(top.chatpane.document.chatform.graf) top.chatpane.document.chatform.graf.focus();}
11
+ if (typeof defaultBind != 'undefined') { defaultBind(47, 2, chatFocus); defaultBind(190, 2, chatFocus);defaultBind(191, 2, chatFocus); defaultBind(47, 8, chatFocus);defaultBind(190, 8, chatFocus); defaultBind(191, 8, chatFocus); }</script><script language=Javascript src="/images/scripts/jquery-1.3.1.min.js"></script>
12
+ <script language=Javascript src="/images/scripts/window.js?foo=1"></script> <link rel="stylesheet" type="text/css" href="/images/styles.20230117d.css">
13
+ <style type='text/css'>
14
+ .faded {
15
+ zoom: 1;
16
+ filter: alpha(opacity=35);
17
+ opacity: 0.35;
18
+ -khtml-opacity: 0.35;
19
+ -moz-opacity: 0.35;
20
+ }
21
+ </style>
22
+
23
+ <script language="Javascript" src="/basics.js"></script><link rel="stylesheet" href="/basics.1.css" /></head>
24
+
25
+ <body>
26
+ <center><table width=95% cellspacing=0 cellpadding=0><tr><td style="color: white;" align=center bgcolor=blue><b>sweaty bill</b></td></tr><tr><td style="padding: 5px; border: 1px solid blue;"><center><table><tr><td><center><table><tr><td><div class='' style='position: relative'><img crossorigin="Anonymous" src="/images/otherimages/classav11_f.gif" width=60 height=100 border=0><img src="/images/otherimages/moustaches/17.png" style="position: absolute; top: 34px; left:12px; transform: rotate(7deg);" /></div></td><td valign=center><center><span style="position: relative;font-size: 200%"><b>sweaty bill</b> (#1515124)<br><div style="position: absolute; left: 250px; top: 87px"><img src="/images/otherimages/goldstart.png" height="30" width="30" /></div><div style="position: absolute; left: 189px; top: 102px"><img src="/images/otherimages/goldstart.png" height="30" width="30" /></div></span><span title='Bestowed by Beldur (#1046951)'>Farmed 15 Mr. As This Month</span></td><td valign=center align=center><a href=account_tattoos.php><img src="/images/otherimages/sigils/kgbtat.gif" alt="Tattoo: kgbtat" title="Tattoo: kgbtat" width=50 height=50 border=0></a></td></tr></table><table><tr><td colspan=2 height=1 bgcolor=black></td></tr><tr ><td align=right><b>Class:</b></td><td>Seal Clubber</td></tr><tr><td align=right><b>Points:</b></td><td>69 (+44)</td></tr><tr><td align=right><b>Sign:</b></td><td>The Platypus</td></tr><tr><td align=right><b>Muscle:</b></td><td><font color="blue">246</font> (30)</td></tr><tr><td align=right><b>Mysticality:</b></td><td><font color="blue">414</font> (129)</td></tr><tr><td align=right><b>Moxie:</b></td><td><font color="blue">118</font> (30)</td></tr><tr><td align=right><b>Cool:</b></td><td>&infin;</td></tr><tr><Td align=right><b><a class=nounder href="ascensionhistory.php?back=other&who=1515124">Ascensions</a>:</b></td><td>2,139</td></tr><tr><td align=right><b>Turns Played (total):</b></td><td>2,537,273</td></tr><tr><td align=right><b>Turns Played (this run):</b></td><td>0</td></tr><tr><td align=right><b>Trophies Collected:</b></td><td>39</td></tr><tr><td align=right><b>Tattoos Collected:</b></td><td>124</td></tr><tr><td align=right><b>Account Created:</b></td><td>November 09, 2007</td></tr><tr><td align=right><b>Last Login:</b></td><td>November 21, 2024</td></tr><tr><td align=right><b>Favorite Cheese:</b></td><td>Paneer</td></tr><tr><td align=right><b>Favorite Food:</b></td><td>FDKOL hotcakes </td></tr><tr><td align=right><b>Favorite Booze:</b></td><td>astral pilsner (11,597)</td></tr><tr><td align=right><b>Put a Ring On:</b></td><td><a href='showplayer.php?who=1197090'>gaUSiE</a></td></tr><tr><td colspan=2 height=1 bgcolor=black></td></tr></table><p><center>Witchess vs The World:</center><table><tr><td colspan=2 height=1 bgcolor=black></td></tr><td align="center"><table border="0"><tr><td align=right><b>Wins:</b></td><td>0</td></tr><tr><td align=right><b>Losses:</b></td><td>1</td></tr></table></td><tr><td colspan=2 height=1 bgcolor=black></td></tr></table><p><center>PvP:</center><table><tr><td colspan=2 height=1 bgcolor=black></td></tr><tr><td align=right><b>Fame:</b></td><td>2,079 (2,787 taken)</td></tr><tr><td align=right><b>Fame (Hardcore):</b></td><td>100 (0 taken)</td></tr><tr><td align=right><b>Winningness:</b></td><td>121</td></tr><tr><td align=right><b>PvP Allegiance:</b></td><td><a class=nounder href="showclan.php?whichclan=2046982453">Alliance from Hobopolis</a></td></tr><tr><td colspan=2 height=1 bgcolor=black></td></tr></table><p><center>PvP All-Time Best Ranks:</center><table><tr><td colspan=2 height=1 bgcolor=black></td></tr><tr><td align="center" valign="top"><i>Normal</i><table><tr><td align="right"><b>Fame:</b></td><td>29&nbsp;&nbsp;</td></tr><tr><td align="right"><b>Fame Taken:</b></td><td>8&nbsp;&nbsp;</td></tr><tr><td align="right"><b>Winningest:</b></td><td>25&nbsp;&nbsp;</td></tr></table></td><td align="center" valign="top"><i>Hardcore</i><table><tr><td align="right"><b>Winningest</b>:</td><td>13</td></tr></table></td></tr><tr><td colspan=2 height=1 bgcolor=black></td></tr></table><p><p><center>Equipment:</center><table><tr><td width='100' colspan=2 height=1 bgcolor=black></td></tr><tr ><td width=30 height=30><img src="/images/itemimages/vikinghat.gif" class=hand onClick='descitem(421476959, 1515124)'></td><td valign=center><b>norwhal helmet</b></td></tr><tr ><td width=30 height=30><img src="/images/itemimages/partymouse.gif" class=hand onClick='descitem(697608546, 1515124)'></td><td valign=center><b>Buddy Bjorn</b></td></tr><tr ><td width=30 height=30><img src="/images/itemimages/cardigan.gif" class=hand onClick='descitem(732556455, 1515124)'></td><td valign=center><b>LOV Eardigan</b></td></tr><tr ><td width=30 height=30><img src="/images/itemimages/may4sword.gif" class=hand onClick='descitem(651314979, 1515124)'></td><td valign=center><b>Fourth of May Cosplay Saber</b></td></tr><tr ><td width=30 height=30><img src="/images/itemimages/unbrella7.gif" class=hand onClick='descitem(712482724, 1515124)'></td><td valign=center><b>unbreakable umbrella</b></td></tr><tr ><td width=30 height=30><img src="/images/itemimages/sweats.gif" class=hand onClick='descitem(800334855, 1515124)'></td><td valign=center><b>designer sweatpants</b></td></tr><tr ><td width=30 height=30><img src="/images/itemimages/guzzlrtablet.gif" class=hand onClick='descitem(413321705, 1515124)'></td><td valign=center><b>Guzzlr tablet</b></td></tr><tr ><td width=30 height=30><img src="/images/itemimages/cincho.gif" class=hand onClick='descitem(408302806, 1515124)'></td><td valign=center><b>Cincho de Mayo</b></td></tr><tr ><td width=30 height=30><img src="/images/itemimages/barrelhoop.gif" class=hand onClick='descitem(855987487, 1515124)'></td><td valign=center><b>barrel hoop earring</b></td></tr><tr><td colspan=2 height=1 bgcolor=black></td></tr></table><p>Familiar:<Br><table><tr><td colspan=5 height=1 bgcolor=black></td></tr><tr><td><a href="showfamiliars.php?who=1515124"><img src="/images/itemimages/tottot.gif" width=30 height=30 border=0></a></td><td valign=center><b>Kendall</b>, the Trick-or-Treating Tot</td><td><td valign=center><b>(</b></td><td><img src="/images/itemimages/totstume4.gif" class=hand onClick='descitem(546137475,1515124)'></td><td valign=center><b>)</b></td></td></tr><tr><td colspan=5 height=1 bgcolor=black></td></tr></table><p> <script type="text/javascript">
27
+ $(document).ready(function () {
28
+ $('#toggleskillsokplease').click(function (e) {
29
+ e.preventDefault();
30
+ if ($(this).text().match(/View/)) {
31
+ $('tr.blahblah').show();
32
+ $(this).text('Hide Permanent Skills');
33
+ } else {
34
+ $('tr.blahblah').hide();
35
+ $(this).text('View Permanent Skills');
36
+ }
37
+ });
38
+ });
39
+ </script>
40
+ <style type="text/css"> .blahblah { display: none; } </style>
41
+ <div id="pskills">
42
+ <table>
43
+ <tr><td height=1 bgcolor=black></td></tr>
44
+ <tr><td align="center"><a href="#" id="toggleskillsokplease" class="" style="text-decoration: none; font-weight: bold">View Permanent Skills</a></td></tr>
45
+ <tr class="blahblah"><td><a onclick="javascript:skill(3011)">Spirit of Rigatoni</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4006)">Advanced Saucecrafting</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3017)">Flavour of Magic</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4015)">Impetuous Sauciness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3006)">Pastamastery</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(45)">Vent Rage Gland</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3010)">Leash of Linguini</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2014)">Amphibian Sympathy</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5006)">Mad Looting Skillz</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5014)">Advanced Cocktailcrafting</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2020)">Hero of the Half-Shell</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1016)">Pulverize</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5018)">Superhuman Cocktailcrafting</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(12)">Torso Awareness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6014)">The Ode to Booze</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6004)">The Moxious Madrigal</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6007)">The Magical Mojomuscular Melody</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3004)">Entangling Noodles</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2005)">Shieldbutt</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2021)">Tao of the Terrapin</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2009)">Empathy of the Newt</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2011)">Wisdom of the Elder Tortoises</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5017)">Smooth Movement</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2023)">Toss</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(10)">Powers of Observatiogn</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(14)">Cosmic Ugnderstanding</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3005)">Cannelloni Cannon</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3012)">Cannelloni Cocoon</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6015)">The Sonata of Sneakiness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6010)">Fat Leon's Phat Loot Lyric</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6017)">Ur-Kel's Aria of Annoyance</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6028)">Inigo's Incantation of Inspiration</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6016)">Carlweather's Cantata of Confrontation</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5024)">Kung Fu Hustler</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5010)">Overdeveloped Sense of Self Preservation</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6003)">Aloysius' Antiphon of Aptitude</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6012)">Jackasses' Symphony of Destruction</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4012)">Saucegeyser</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4011)">Master Saucier</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3022)">Candyblast</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4005)">Saucestorm</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1019)">Musk of the Moose</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6023)">Chorale of Companionship</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6026)">Donho's Bubbly Ballad</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6021)">Benetton's Medley of Diversity</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(90)">Deep Dark Visions</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(54)">Unaccompanied Miner</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6020)">The Ballad of Richie Thingfinder</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(88)">Singer's Faithful Ocelot</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4030)">Itchy Curse Finger</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4034)">Curse of Weaksauce</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4016)">Diminished Gag Reflex</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4007)">Elemental Saucesphere</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4039)">Saucemaven</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4018)">The Way of Sauce</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6033)">Accordion Appreciation</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6031)">Crab Claw Technique</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6032)">Accordion Bash</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6037)">Bawdy Refrain</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6043)">Mariachi Memory</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5025)">Deft Hands</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5015)">Ambidextrous Funkslinging</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(28)">Awesome Balls of Fire</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6030)">Cadenza</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(83)">Frigidalmatian</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4029)">Curse of Marinara</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2035)">Testudinal Teachings</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1018)">Northern Exposure</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1040)">Pride of the Puffin</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(89)">Drescher's Annoying Noise</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4010)">Intrinsic Spiciness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(58)">Fashionably Late</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4004)">Expert Panhandling</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4021)">Deep Saucery</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2038)">The Long View</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6035)">Five Finger Discount</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6038)">Thief Among the Honorable</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6041)">Master Accordion Master Thief</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6039)">Sticky Fingers</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6006)">The Polka of Plenty</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4017)">Irrepressible Spunk</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6040)">Cone of Zydeco</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6005)">Cletus's Canticle of Celerity</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6042)">Knowing Smile</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(131)">Garbage Nova</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4028)">Inner Sauce</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4027)">Soul Saucery</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3018)">Transcendental Noodlecraft</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3016)">Tolerance of the Kitchen</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3034)">Thrall Unit Tactics</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3008)">Weapon of the Pastalord</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3030)">Bringing Up the Rear</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3015)">Springy Fusilli</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3003)">Ravioli Shurikens</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3025)">Utensil Twist</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(125)">Rapid Prototyping</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(59)">Executive Narcolepsy</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6011)">The Psalm of Pointiness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(141)">Asbestos Heart</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5007)">Disco Nap</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5026)">Disco State of Mind</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5028)">That's Not a Knife</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5029)">Tricky Knifework</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5011)">Adventurer of Leisure</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5038)">Sensitive Fingers</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5034)">Disco Bravado</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5004)">Nimble Fingers</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5027)">Frantic Gyrations</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5039)">Disco Leer</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5032)">Disco Greed</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5030)">Flashy Dancer</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5005)">Disco Dance of Doom</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5008)">Disco Dance II: Electric Boogaloo</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(139)">Giant Growth</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4025)">Simmer</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4023)">K&auml;seso&szlig;esturm</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4008)">Jalape&ntilde;o Saucesphere</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1017)">Double-Fisted Skull Smashing</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1010)">Tongue of the Walrus</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1012)">Claws of the Walrus</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1008)">Fortitude of the Muskox</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1011)">Hide of the Walrus</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1009)">Audacity of the Otter</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(140)">Ancestral Recall</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3007)">Stuffed Mortar Shell</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3014)">Spirit of Ravioli</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6008)">The Power Ballad of the Arrowsmith</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6013)">Stevedave's Shanty of Superiority</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2)">Chronic Indigestion</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(15)">CLEESH</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6000)">Moxie of the Mariachi</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4035)">Wry Smile</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4014)">Saucy Salve</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4033)">Antibiotic Saucesphere</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(152)">Communism!</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(145)">Perfect Freeze</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(38)">Natural Born Scrabbler</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(39)">Thrift and Grift</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(41)">Marginally Insane</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6036)">Suspicious Gaze</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1015)">Rage of the Reindeer</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2040)">Patient Smile</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2016)">Cold-Blooded Fearlessness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2012)">Astral Shell</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2004)">Skin of the Leatherback</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2026)">Curiosity of Br'er Tarrypin</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2025)">Jingle Bells</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(151)">Shivering Monkey Technique</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(150)">Snokebomb</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(149)">Shattering Punch</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(144)">Calculate the Universe</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(155)">Steely-Eyed Squint</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(159)">Astute Angler</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(153)">Bow-Legged Swagger</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6009)">Brawnee's Anthem of Absorption</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(154)">Bend Hell</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(127)">Ruthless Efficiency</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(142)">Pyromania</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(133)">Rotten Memories</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(147)">Beardfreeze</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(113)">Grease Up</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(120)">Intimidating Mien</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(167)">Stack Lumps</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(166)">Sweet Synthesis</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(161)">Eldritch Intellect</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(53)">Summon Crimbo Candy</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(30)">Snowclone</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(32)">Eggsplosion</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(36)">Grease Lightning</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(42)">Raise Backup Dancer</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(60)">Lunch Break</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(137)">Dark Ritual</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6025)">Sing</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(163)">Gingerbread Mob Hit</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(168)">Evoke Eldritch Horror</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(158)">20/20 Vision</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(40)">Abs of Tin</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(126)">Mathematical Precision</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(129)">Speluck</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(164)">Fifteen Minutes of Flame</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(165)">Ceci N'Est Pas Un Chapeau</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(119)">Hypersane</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(87)">Walberg's Dim Bulb</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4031)">Curse of the Thousand Islands</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4009)">Wave of Sauce</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4000)">Sauce Contemplation</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4020)">Salsaball</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(173)">Disintegrate</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1028)">Cold Shoulder</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1003)">Thrust-Smack</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1029)">Wrath of the Wolverine</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1030)">Buoyancy of the Beluga</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1036)">Thirst of the Weasel</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1034)">Seething of the Snow Leopard</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1005)">Lunging Thrust-Smack</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1039)">Precision of the Penguin</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1035)">Ire of the Orca</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1014)">Batter Up!</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1038)">Northern Explosion</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2000)">Patience of the Tortoise</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2030)">Blessing of the War Snapper</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2007)">Ghostly Shell</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2036)">Pizza Lover</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2006)">Armorcraftiness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2028)">Shell Up</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2033)">Blessing of She-Who-Was</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2008)">Reptilian Fortitude</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2037)">Blessing of the Storm Tortoise</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2039)">Spirit Boon</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3023)">Stringozzi Serpent</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3027)">Bind Vampieroghi</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3028)">Arched Eyebrow of the Archmage</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3029)">Bind Vermincelli</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3037)">Bind Lasagmbie</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3039)">Bind Spice Ghost</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3036)">Subtle and Quick to Anger</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3031)">Bind Angel Hair Wisp</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3032)">Shield of the Pastalord</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5016)">Heart of Polyester</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5036)">Disco Dance 3: Back in the Habit</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5009)">Disco Fever</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5033)">Knife in the Dark</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(176)">Meteor Lore</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(175)">Eternal Flame</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(172)">Object Quasi-Permanence</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3000)">Manicotti Meditation</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1006)">Super-Advanced Meatsmithing</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1033)">Club Foot</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1000)">Seal Clubbing Frenzy</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1022)">Clobber</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1031)">Scowl of the Auk</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1004)">Lunge Smack</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3020)">Spaghetti Spear</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(170)">Quantum Movement</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(171)">5-D Earning Potential</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3033)">Bind Undead Elbow Macaroni</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3035)">Bind Penne Dreadful</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5035)">Disco Shank</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5021)">Suckerpunch</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5000)">Disco Aerobics</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1025)">Iron Palm Technique</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(115)">Alien Source Code</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2034)">Butts of Steel</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2024)">Summon Leviatuga</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2043)">Gallapagosian Mating Call</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6045)">Paul's Passionate Pop Song</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(11)">Gnefarious Pickpocketing</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(13)">Gnomish Hardigness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(177)">Expert Corner-Cutter</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1041)">Silent Hunter</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2042)">Quiet Determination</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6044)">Quiet Desperation</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5040)">Silent Knife</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4040)">Silent Treatment</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3038)">Wizard Squint</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3026)">Transcendent Al Dente</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3041)">Bind Spaghetti Elemental</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3042)">Quiet Judgement</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3009)">Lasagna Bandages</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3021)">Tempuramancy</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1007)">Blubber Up</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(195)">Lock Picking</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(130)">Olfactory Burnout</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(194)">Always Never Not Guzzling</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4026)">Icy Glare</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1043)">Blood Frenzy</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1032)">Furious Wallop</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1037)">Cavalcade of Fury</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(190)">Visit your Favorite Bird</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4042)">Blood Bubble</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4032)">Saucecicle</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(182)">Carol of the Bulls</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2044)">Blood Bond</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2003)">Headbutt</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2032)">Spirit Snap</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2015)">Kneebutt</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2031)">Spiky Shell</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(178)">Budget Conscious</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5023)">Stealth Mistletoe</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5003)">Disco Eye-Poke</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5012)">Disco Face Stab</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5031)">Disco Smirk</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5037)">Disco Inferno</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(183)">Carol of the Hells</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1042)">Get Big</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(189)">The Spirit of Taking</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4041)">Love Mixology</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(112)">Unoffendable</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(179)">Drinking to Drink</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6034)">Concerto de los Muertos</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1023)">Harpoon!</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1027)">Hibernate</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2010)">Tenacity of the Snapper</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2029)">Stiff Upper Lip</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4024)">Curse of Vichyssoise</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4003)">Stream of Sauce</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4037)">Sauce Monocle</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4038)">Blood Sugar Sauce Magic</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5022)">Salacious Cocktailcrafting</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6029)">Dissonant Riff</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(110)">Shrap</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3043)">Inscrutable Gaze</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(96)">Song of the North</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(94)">Splattersmash</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(187)">Prevent Scurvy and Sobriety</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(105)">Song of Sauce</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(102)">Shadow Noodles</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(196)">Comprehensive Cartography</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(157)">Brain Games</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(184)">Carol of the Thrills</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5041)">Acquire Rhinestones</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(43)">Creepy Lullaby</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(46)">Slimy Sinews</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(47)">Slimy Synapses</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(48)">Slimy Shoulders</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(75)">Summon &quot;Boner Battalion&quot;</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(111)">Psychokinetic Hug</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(181)">Army of Toddlers</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(197)">Long Winter's Nap</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(198)">Bowl Full of Jelly</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(199)">Ashes and Soot</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(200)">Eye and a Twist</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2041)">Turtle Power</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(201)">Dimples, How Merry!</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(202)">Chubby and Plump</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(92)">Club Earth</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(93)">Carbohydrate Cudgel</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(95)">Grab a Cold One</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(97)">Turtleini</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(98)">Sauceshell</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(99)">Conspiratorial Whispers</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(100)">Song of Slowness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(101)">Spaghetti Breakfast</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(103)">Song of Starch</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(104)">Splashdance</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(106)">Song of Bravado</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2027)">Spirit Vacation</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3019)">Fearful Fettucini</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(20)">Really Expensive Jewelrycrafting</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(203)">Emotionally Chipped</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4019)">Scarysauce</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(2022)">Spectral Snapper</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1020)">Snarl of the Timberwolf</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5019)">Tango of Terror</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6018)">Dirge of Dreadfulness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(136)">Healing Salve</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(138)">Lightning Bolt</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(132)">Dinsey Operations Expert</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(143)">Firegate</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(62)">Managerial Manipulation</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(29)">Conjure Relaxing Campfire</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(31)">Maximum Chill</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(37)">Inappropriate Backrub</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(33)">Mudbath</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(56)">Wassail</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(57)">Toynado</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(61)">Offensive Joke</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6022)">Elron's Explosive Etude</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6024)">Prelude of Precision</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(146)">Refusal to Freeze</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(3044)">Blood Bucatini</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(5042)">Blood Blade</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(44)">Rainbow Gravitation</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(188)">Implode Universe</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6027)">Cringle's Curative Carol</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(6046)">Bram's Bloody Bagatelle</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(148)">Frost Bite</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(4022)">Surge of Icing</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(63)">Natural Born Skeleton Killer</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(117)">Belch The Rainbow</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(1024)">Holiday Weight Gain</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(162)">Licorice Rope</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(114)">Sloppy Secrets</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(84)">Silent Slam</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(86)">Silent Slice</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(180)">Experience Safari</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(77)">Torment Plant</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(78)">Pinch Ghost</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(85)">Silent Squirt</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(79)">Tattle</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(186)">Tiki Mixology</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(80)">Thick-Skinned</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(205)">Dead Nostrils</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(81)">Chip on your Shoulder</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(107)">Summon Annoyance</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(206)">Ancient Crymbo Lore</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(121)">Summon Holiday Fun!</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(134)">Bear Essence</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(118)">Pirate Bellow</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(17047)">Mild Curse</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(210)">Crimbo Training: Track Switcher</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(212)">Crimbo Training: Waiter</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(215)">Crimbo Training: Night Watchman</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(217)">Crimbo Training: Graffiti Censor</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(209)">Crimbo Training: Concierge</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(214)">Crimbo Training: Dessert Steward</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(216)">Crimbo Training: Sanitation Consultant</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(211)">Crimbo Training: Bartender</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(213)">Crimbo Training: Coal Taster</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(208)">Crimbo Training: Passenger Greeter</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(207)">Crimbo Training: First Aid Technician</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(128)">Summon Carrot</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(225)">Secret Door Awareness</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(226)">Perpetrate Mild Evil</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(135)">Summon Kokomo Resort Pass</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(228)">Just the Facts</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(227)">Chitinous Soul</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(229)">Elf Guard Cooking</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(230)">Old-School Cocktailcrafting</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(231)">Elf Guard Extortion Techniques</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(232)">Fruit Recognition</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(233)">Elf Guard Relaxation Techniques</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onclick="javascript:skill(235)">Too Cool</a> (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Sugar Sheets (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Clip Art (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Smithsness (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Candy Heart (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Party Favor (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Love Song (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon BRICKOs (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Dice (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Resolutions (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Taffy (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Tasteful Items (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Alice's Army Cards (<b>HP</b>)</td></tr><tr class="blahblah"><td>Summon Confiscated Things (<b>HP</b>)</td></tr><tr class="blahblah"><td><a onClick='javascript:skill(19)'>Transcendent Olfaction</a> (<b>HP</b>)</td></tr><tr><td height=1 bgcolor=black></td></tr></table></div><p><table><tr><td colspan=2 height=1 bgcolor=black></td></tr><tr><td colspan=2>Clan: <b><a class=nounder href="showclan.php?whichclan=84165">Alliance From Heck</a></b><br>Title: <b>Secretly a Creepy Mask</b></td></tr><tr><td colspan=2 height=1 bgcolor=black></td></tr></table><p><table><tr><td colspan=2 height=1 bgcolor=black></td></tr><tr><td colspan=2>Store: <b><a class=nounder href="mallstore.php?whichstore=1515124">dear jick thagnks for implemegnting gname chagnges</a></b></td></tr><tr><td colspan=2 height=1 bgcolor=black></td></tr></table><p><table><tr><td colspan=2 height=1 bgcolor=black></td></tr><tr><td colspan=2>This player owns a <a class=nounder href="displaycollection.php?who=1515124"><b>Display Case</b></a> in the Museum</td></tr><tr><td colspan=2 height=1 bgcolor=black></td></tr></table><p><table><tr><td align="center">sweaty bill has carved a Jack o' Lantern:</center></td></tr><tr><td height=1 bgcolor=black></td></tr><tr><td align="center"><table cellpadding=0 cellspacing=0><tr><td colspan=3 width=120 height=30><img src=/images/otherimages/jacko/jackotop.gif width=120 height=30></td></tr><tr><td width=50 height=40><img src=/images/otherimages/jacko/jackoleft0.gif width=50 height=40 id="jopic_le"></td><td width=20 height=30><img src=/images/otherimages/jacko/jackomiddle0.gif width=20 height=40 id="jopic_no"></td><td width=50 height=40><img src=/images/otherimages/jacko/jackoright0.gif width=50 height=40 id="jopic_re"></td><tr><td colspan=3 width=120 height=50><img src=/images/otherimages/jacko/jackobottom0.gif width=120 height=50 id="jopic_mo"></td></tr></table></td></tr><tr><td height=1 bgcolor=black></td></tr></table><p><p><Center>Profile:</center><table width=70%><tr><td colspan=2 height=1 bgcolor=black></td></tr><tr><td align=right><b>Gender:</b></td><td>Male</td></tr><tr><td align=right><b>Location:</b></td><td>he/him</td></tr><tr><td align=right valign=top><b>Website:</b></td><td><a href="https://api.aventuristo.net/av-snapshot?u=sweaty+bill" target="_blank">https://api.aventuristo.net/av -snapshot?u=sweaty+bill</a></td></tr><tr><td align=right valign=top><b>Quote:</b></td><td>formerly phreddrickkv2</td></tr><tr><td colspan=2 height=1 bgcolor=black></td></tr></table><p><p><Center>Trophies:</center><table><tr><td height=1 bgcolor=black></td></tr><tr><td align=center><img src="/images/otherimages/trophy/not_wearing_any_pants.gif" width=100 height=100 alt="Pantsless!" title="Pantsless!">&nbsp;<img src="/images/otherimages/trophy/oh_the_horror.gif" width=100 height=100 alt="Tentacle Tickler" title="Tentacle Tickler">&nbsp;<img src="/images/otherimages/trophy/look_what_i_can_do.gif" width=100 height=100 alt="Trivially Skilled" title="Trivially Skilled">&nbsp;<img src="/images/otherimages/trophy/bastard_son_thereof.gif" width=100 height=100 alt="Kissing Maniac" title="Kissing Maniac">&nbsp;<img src="/images/otherimages/trophy/he_aint_heavy_hes_my_familiar.gif" width=100 height=100 alt="Black Hole Terrarium" title="Black Hole Terrarium">&nbsp;<br><img src="/images/otherimages/trophy/howd_you_do_that_man_thats_creepy.gif" width=100 height=100 alt="Eerily Skilled" title="Eerily Skilled">&nbsp;<img src="/images/otherimages/trophy/raggedy_annie_leibovitz.gif" width=100 height=100 alt="Professional Photographer" title="Professional Photographer">&nbsp;<img src="/images/otherimages/trophy/working_class_republican.gif" width=100 height=100 alt="You Do It To Yourself" title="You Do It To Yourself">&nbsp;<img src="/images/otherimages/trophy/jeff_was_right.gif" width=100 height=100 alt="Bringer of Storms" title="Bringer of Storms">&nbsp;</td></tR><tr><td height=1 bgcolor=black></td></tr></table><a href="sendmessage.php?toid=1515124">send message</a> / <a href="town_sendgift.php?towho=1515124">send gift</a> / <a href="makeoffer.php?towho=1515124">propose trade</a><br><a href="showplayer.php?pwd=84a6c4026305124d449b7a4bf4ef0807&who=1515124&addtocontact=true">add to contact list</a> / <a href="showplayer.php?pwd=84a6c4026305124d449b7a4bf4ef0807&who=1515124&addtoignore=true">add to ignore list</a></td></tr></table></center></td></tr><tr><td height=4></td></tr></table><div style='position: fixed; bottom: 0; left: 0; right: 0; top: 0; pointer-events: none' id="psnowballs"></div>
46
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/matter-js/0.19.0/matter.min.js" integrity="sha512-0z8URjGET6GWnS1xcgiLBZBzoaS8BNlKayfZyQNKz4IRp+s7CKXx0yz7Eco2+TcwoeMBa5KMwmTX7Kus7Fa5Uw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
47
+ <script>
48
+ var snow = function() {
49
+ var Engine = Matter.Engine,
50
+ Render = Matter.Render,
51
+ Runner = Matter.Runner,
52
+ Composites = Matter.Composites,
53
+ MouseConstraint = Matter.MouseConstraint,
54
+ Mouse = Matter.Mouse,
55
+ Composite = Matter.Composite,
56
+ Bodies = Matter.Bodies;
57
+
58
+ var engine = Engine.create(),
59
+ world = engine.world;
60
+
61
+ var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
62
+ var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
63
+
64
+ // create renderer
65
+ var render = Render.create({
66
+ element: document.getElementById("psnowballs"),
67
+ engine: engine,
68
+ options: {
69
+ width: width,
70
+ height: height,
71
+ showAngleIndicator: false,
72
+ wireframes: false,
73
+ background: 'transparent'
74
+ }
75
+ });
76
+
77
+ Render.run(render);
78
+
79
+ // create runner
80
+ var runner = Runner.create();
81
+ Runner.run(runner, engine);
82
+
83
+ var balls_left = 1;
84
+ var balls = [];
85
+ var do_ball_batch = function() {
86
+ var num = Math.min(balls_left, 69);
87
+ balls_left -= num;
88
+ for (var i = 0; i < num; i++) {
89
+ var ball = Bodies.circle(width/2 + (Math.random() * 100), Math.random() * 100, 50, {
90
+ density: 15.0,
91
+ friction: 1.5,
92
+ frictionStatic: 4.5,
93
+ render: {
94
+ sprite: {
95
+ texture: "/images/otherimages/snowball.png"
96
+ }
97
+ }
98
+ });
99
+ Matter.Body.setAngularVelocity(ball, Math.random() * 0.1 - 0.05);
100
+ balls.push(ball);
101
+ Composite.add(world, ball);
102
+ }
103
+ if (balls_left > 0) setTimeout(do_ball_batch, 7500);
104
+ }
105
+
106
+ Composite.add(world, [
107
+ // walls
108
+ Bodies.rectangle(width / 2, height+26, width * 0.75, 50,{ isStatic: true, angle: Math.PI/90, render: { visible: false }, friction: 1.5, frictionStatic: 4.5, restitution: 0.1 }), //floor
109
+ Bodies.rectangle(-350, height / 2, 50, height,{ isStatic: true, render: { visible: false } }), //left wall
110
+ Bodies.rectangle(width+350, height / 2, 50, height, { isStatic: true, render: { visible: false } }), //right wall
111
+ ]);
112
+ do_ball_batch();
113
+
114
+ document.body.addEventListener('click', function(event) {
115
+ // Get the position of the click event relative to the page
116
+ var clickX = event.pageX;
117
+ var clickY = event.pageY;
118
+
119
+ // Get the element and its position relative to the page
120
+ var element = document.getElementById('psnowballs');
121
+ var rect = element.getBoundingClientRect();
122
+ var elementX = rect.left + window.scrollX;
123
+ var elementY = rect.top + window.scrollY;
124
+
125
+ // Subtract the position of the element from the position of the click event
126
+ var insideX = clickX - elementX;
127
+ var insideY = clickY - elementY;
128
+ var mousePosition = { x: insideX, y: insideY };
129
+
130
+ var ballClicked = false;
131
+ for (var i = 0; i < balls.length; i++) {
132
+ if (Matter.Vertices.contains(balls[i].vertices, mousePosition)) {
133
+ Matter.Body.applyForce(balls[i], balls[i].position, {x: (Math.random() * 50000) - 25000, y: -50000.0});
134
+ ballClicked = true;
135
+ break;
136
+ }
137
+ }
138
+ if (ballClicked) {
139
+ event.preventDefault();
140
+ }
141
+ });
142
+
143
+ // fit the render viewport to the scene
144
+ Render.lookAt(render, {
145
+ min: { x: 0, y: 0 },
146
+ max: { x: width, y: height }
147
+ });
148
+
149
+ // context for MatterTools.Demo
150
+ return {
151
+ engine: engine,
152
+ runner: runner,
153
+ render: render,
154
+ canvas: render.canvas,
155
+ stop: function() {
156
+ Matter.Render.stop(render);
157
+ Matter.Runner.stop(runner);
158
+ }
159
+ };
160
+ };
161
+ document.addEventListener("DOMContentLoaded", snow);
162
+ </script>
163
+ <style>
164
+ body { padding-bottom: 150px; }
165
+ </style>
166
+
167
+ </center><div id='menu' class='rcm'></div></body><script language="Javascript"> var notchat = true; var actions = { "sendmessage.php" : { "action" : 1, "title" : "Send Message", "arg" : "toid" }, "town_sendgift.php" : { "action" : 1, "title" : "Send Gift", "arg" : "towho" }, "makeoffer.php" : { "action" : 1, "title" : "Propose Trade", "arg" : "towho" }, "mallstore.php" : { "action" : 1, "title" : "Mall Store", "arg" : "whichstore" }, "/./curse.php" : { "action" : 1, "title" : "Throw TP", "arg" : "whichitem=1923&targetplayer" }, "/msg" : { "action" : 3, "useid" : true, "query" : "Enter message to send to %:" }}; </script><script language="Javascript" src="/images/scripts/rcm.20101215.js"></script><script src="/onfocus.1.js"></script></html>
@@ -0,0 +1,12 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { loadFixture } from "../testUtils.js";
3
+ import { generateAvatarSvg } from "./avatar.js";
4
+
5
+ describe("Avatars", () => {
6
+ it("can parse an avatar with a beard", async () => {
7
+ const page = await loadFixture(__dirname, "showplayer_dsh.html");
8
+ const svg = await generateAvatarSvg(page);
9
+ expect(svg).toContain(`title="/images/otherimages/classav11_f.gif"`);
10
+ expect(svg).toContain(`title="/images/otherimages/moustaches/17.png"`);
11
+ });
12
+ });
@@ -1,8 +1,11 @@
1
- import { parse } from "node-html-parser";
2
- import { resolveKoLImage } from "./utils.js";
1
+ import { selectAll, selectOne } from "css-select";
2
+ import { parseDocument } from "htmlparser2";
3
+ import { Element } from "domhandler";
3
4
  import { imageSize } from "image-size";
4
5
  import { dedent } from "ts-dedent";
5
6
 
7
+ import { resolveKoLImage } from "./utils.js";
8
+
6
9
  export async function generateAvatarSvg(profile: string) {
7
10
  const header = profile.match(
8
11
  /<center><table><tr><td><center>.*?(<div.*?>.*?<\/div>).*?<b>([^>]*?)<\/b> \(#(\d+)\)<br>/,
@@ -11,18 +14,20 @@ export async function generateAvatarSvg(profile: string) {
11
14
 
12
15
  if (!blockHtml) return null;
13
16
 
14
- const block = parse(blockHtml).querySelector("div");
17
+ const document = parseDocument(blockHtml);
18
+ const block = selectOne("div", document) as Element | null;
15
19
 
16
20
  if (!block) return null;
17
21
 
18
22
  const ocrsColour =
19
- ["gold", "red"].find((k) => block.classList.contains(k)) ?? "black";
23
+ ["gold", "red"].find((k) => block.attribs.class.includes(k)) ?? "black";
20
24
 
21
25
  const images = [];
22
26
 
23
- for (const imgElement of block.querySelectorAll("img")) {
24
- const src = imgElement.getAttribute("src");
27
+ for (const imgElement of selectAll("img", block)) {
28
+ const src = imgElement.attribs.src;
25
29
  if (!src) continue;
30
+ const name = src;
26
31
 
27
32
  const result = await fetch(resolveKoLImage(src));
28
33
  const buffer = Buffer.from(await result.arrayBuffer());
@@ -31,13 +36,14 @@ export async function generateAvatarSvg(profile: string) {
31
36
 
32
37
  const href = `data:image/png;base64,${buffer.toString("base64")}`;
33
38
 
34
- const style = imgElement.getAttribute("style");
39
+ const style = imgElement.attribs.style;
35
40
 
36
41
  const top = Number(style?.match(/top: ?(-?\d+)px/i)?.[1] || "0");
37
42
  const left = Number(style?.match(/left: ?(-?\d+)px/i)?.[1] || "0");
38
43
  const rotate = Number(style?.match(/rotate\((-?\d+)deg\)/)?.[1] || "0");
39
44
 
40
45
  images.push({
46
+ name,
41
47
  href,
42
48
  top,
43
49
  left,
@@ -72,6 +78,7 @@ export async function generateAvatarSvg(profile: string) {
72
78
  (i) =>
73
79
  dedent`
74
80
  <image
81
+ title="${i.name}"
75
82
  filter="url(#colorMask)"
76
83
  href="${i.href}"
77
84
  width="${i.width}"
@@ -0,0 +1,44 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { loadFixture } from "../testUtils.js";
3
+ import { parseLeaderboard } from "./leaderboard.js";
4
+
5
+ describe("Leaderboards", () => {
6
+ it("can parse a regular path leaderboard", async () => {
7
+ const page = await loadFixture(__dirname, "leaderboard_wotsf.html");
8
+ const leaderboard = parseLeaderboard(page);
9
+
10
+ // Group name
11
+ expect(leaderboard.name).toBe(
12
+ "Way of the Surprising Fist (Frozen) Leaderboards",
13
+ );
14
+
15
+ // Hardcore and normal should both be detected, and no more.
16
+ expect(leaderboard.boards).toHaveLength(2);
17
+
18
+ // Hardcore
19
+ const hardcore = leaderboard.boards[0];
20
+ expect(hardcore.name).toBe(
21
+ "Fastest Hardcore Way of the Surprising Fist Ascensions",
22
+ );
23
+ expect(hardcore.runs).toHaveLength(35);
24
+ expect(hardcore.runs[0].player).toBe("Iron Bob (AT)");
25
+ expect(hardcore.runs[0].days).toBe("3");
26
+ expect(hardcore.runs[0].turns).toBe("712");
27
+ expect(hardcore.updated).toStrictEqual(
28
+ new Date("2024-11-21T02:34:30-07:00"),
29
+ );
30
+
31
+ // Softcore
32
+ const softcore = leaderboard.boards[1];
33
+ expect(softcore.name).toBe(
34
+ "Fastest Normal Way of the Surprising Fist Ascensions",
35
+ );
36
+ expect(softcore.runs).toHaveLength(35);
37
+ expect(softcore.runs[34].player).toBe("Jesusisagurl (SC)");
38
+ expect(softcore.runs[34].days).toBe("3");
39
+ expect(softcore.runs[34].turns).toBe("583");
40
+ expect(softcore.updated).toStrictEqual(
41
+ new Date("2024-11-21T02:34:31-07:00"),
42
+ );
43
+ });
44
+ });
@@ -1,5 +1,7 @@
1
- import xpath, { select } from "xpath";
2
- import { DOMParser, MIME_TYPE } from "@xmldom/xmldom";
1
+ import { selectAll, selectOne } from "css-select";
2
+ import { parseDocument } from "htmlparser2";
3
+ import { isComment, Text } from "domhandler";
4
+ import { innerText } from "domutils";
3
5
 
4
6
  export type LeaderboardInfo = {
5
7
  name: string;
@@ -18,47 +20,34 @@ type RunInfo = {
18
20
  turns: string;
19
21
  };
20
22
 
21
- const parser = new DOMParser({
22
- onError: (level, message) => {
23
- if (level === "fatalError") console.error(message);
24
- },
25
- });
26
-
27
- const selectMulti = (expression: string, node: Node) => {
28
- const selection = select(expression, node);
29
- if (Array.isArray(selection)) return selection;
30
- return selection instanceof Node ? [selection] : [];
31
- };
23
+ const blankNode = new Text("");
32
24
 
33
25
  export function parseLeaderboard(page: string): LeaderboardInfo {
34
- const doc = parser.parseFromString(page, MIME_TYPE.HTML);
35
- // @ts-expect-error see https://github.com/xmldom/xmldom/issues/724
36
- const [board, ...boards] = selectMulti("//table", doc);
26
+ const doc = parseDocument(page);
27
+ const [container, ...boards] = selectAll("table", doc);
37
28
 
38
29
  return {
39
- name: selectMulti(".//text()", board.firstChild!)
40
- .map((node) => node.nodeValue)
41
- .join("")
30
+ name: innerText(selectOne("tr", container) ?? blankNode)
42
31
  .replace(/\s+/g, " ")
43
32
  .trim(),
44
33
  boards: boards
45
34
  .slice(1)
46
- .filter(
47
- (board) =>
48
- selectMulti("./tr//text()", board)[0]?.nodeValue?.match(
49
- /^((Fast|Funn|B)est|Most (Goo|Elf))/,
50
- ) && selectMulti("./tr", board).length > 1,
51
- )
35
+ .filter((board) => {
36
+ if (selectAll(":scope > tr, :scope > tbody > tr", board).length <= 1)
37
+ return false;
38
+ const text = innerText(selectOne("tr", board) ?? blankNode);
39
+ return text.match(/^((Fast|Funn|B)est|Most (Goo|Elf))/);
40
+ })
52
41
  .map((subboard) => {
53
- const rows = selectMulti("./tr", subboard);
42
+ const rows = selectAll("tr", subboard);
54
43
 
55
44
  return {
56
- name: (selectMulti(".//text()", rows[0])[0]?.nodeValue || "").trim(),
57
- runs: selectMulti("./td//tr", rows[1])
45
+ name: innerText(rows[0]),
46
+ runs: selectAll("td tr", rows[1])
58
47
  .slice(2)
59
48
  .map((node) => {
60
- const rowText = selectMulti(".//text()", node).map((text) =>
61
- text.toString().replace(/&amp;nbsp;/g, ""),
49
+ const rowText = selectAll("td", node).map((col) =>
50
+ innerText(col).replace(/&amp;nbsp;/g, ""),
62
51
  );
63
52
  const hasTwoNumbers = !!parseInt(rowText[rowText.length - 2]);
64
53
  return {
@@ -73,9 +62,10 @@ export function parseLeaderboard(page: string): LeaderboardInfo {
73
62
  turns: rowText[rowText.length - 1].toString() || "0",
74
63
  };
75
64
  }),
76
- updated: xpath.isComment(subboard.nextSibling)
77
- ? new Date(subboard.nextSibling.data.slice(9, -1))
78
- : null,
65
+ updated:
66
+ subboard.nextSibling && isComment(subboard.nextSibling)
67
+ ? new Date(subboard.nextSibling.data.slice(9, -1))
68
+ : null,
79
69
  };
80
70
  }),
81
71
  };