diff --git a/__tests__/attackTopPage.html b/__tests__/attackTopPage.html
index 5feee3a..dcc3217 100644
--- a/__tests__/attackTopPage.html
+++ b/__tests__/attackTopPage.html
@@ -1,953 +1,1393 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Old School Hiscores
+
+
-
-Old School Hiscores
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ .bountyhunterhunter:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_bountyhunterhunter.png?2');
+ }
-
Old School Hiscores
-
Home
-
-
-
-
+ .bountyhunterrogue:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_bountyhunterrogue.png?2');
+ }
-
-
-
-
-
-
-
-
-
-
-
-
+ .cluescrollsall:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollsall.png?2');
+ }
-Attack
-Hiscores
-
-
-
-Rank |
-Name |
-Level | XP |
-
-
-
-
- |
- |
- | |
-
-
-
-1
- |
-
-Heur
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-2
- |
-
-Unohdettu2
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-3
- |
-
-Drakon
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-4
- |
-
-Ame Umehara
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-5
- |
-
-Jakee
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-6
- |
-
-L00OO00OO00l
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-7
- |
-
-Howson
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-8
- |
-
-Dr PFAFF
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-9
- |
-
-Malt Lickeys
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-10
- |
-
-Burned
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-11
- |
-
-Blue Limes
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-12
- |
-
-Mini Finbarr
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-13
- |
-
-Unohdettu3
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-14
- |
-
-Eslihero
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-15
- |
-
-Lynx Titan
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-16
- |
-
-AndrewWigins
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-17
- |
-
-iMelee
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-18
- |
-
-Portuguese
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-19
- |
-
-MarkoOSRS
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-20
- |
-
-Cairo
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-21
- |
-
-Hey Jase
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-22
- |
-
-H D M P
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-23
- |
-
-Yumemi
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-24
- |
-
-Fiiggy
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-25
- |
-
-Edgecrusher
- |
-
-99
- |
-
-200,000,000
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ .cluescrollshard:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollshard.png?2');
+ }
-
-
-
-
-
-
-
+ .cluescrollselite:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollselite.png?2');
+ }
-
\ No newline at end of file
+ .cluescrollsmaster:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollsmaster.png?2');
+ }
+
+ .lmsrank:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_lmsrank.png?2');
+ }
+
+ .pvparenarank:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_pvparenarank.png?2');
+ }
+
+ .soulwarszeal:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_soulwarszeal.png?2');
+ }
+
+ .riftsclosed:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_riftsclosed.png?2');
+ }
+
+ .abyssalsire:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_abyssalsire.png?2');
+ }
+
+ .alchemicalhydra:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_alchemicalhydra.png?2');
+ }
+
+ .barrowschests:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_barrowschests.png?2');
+ }
+
+ .bryophyta:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_bryophyta.png?2');
+ }
+
+ .callisto:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_callisto.png?2');
+ }
+
+ .cerberus:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cerberus.png?2');
+ }
+
+ .chambersofxeric:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chambersofxeric.png?2');
+ }
+
+ .chambersofxericchallengemode:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chambersofxericchallengemode.png?2');
+ }
+
+ .chaoselemental:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chaoselemental.png?2');
+ }
+
+ .chaosfanatic:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chaosfanatic.png?2');
+ }
+
+ .commanderzilyana:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_commanderzilyana.png?2');
+ }
+
+ .corporealbeast:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_corporealbeast.png?2');
+ }
+
+ .crazyarchaeologist:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_crazyarchaeologist.png?2');
+ }
+
+ .dagannothprime:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_dagannothprime.png?2');
+ }
+
+ .dagannothrex:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_dagannothrex.png?2');
+ }
+
+ .dagannothsupreme:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_dagannothsupreme.png?2');
+ }
+
+ .derangedarchaeologist:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_derangedarchaeologist.png?2');
+ }
+
+ .generalgraardor:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_generalgraardor.png?2');
+ }
+
+ .giantmole:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_giantmole.png?2');
+ }
+
+ .grotesqueguardians:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_grotesqueguardians.png?2');
+ }
+
+ .hespori:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_hespori.png?2');
+ }
+
+ .kalphitequeen:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kalphitequeen.png?2');
+ }
+
+ .kingblackdragon:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kingblackdragon.png?2');
+ }
+
+ .kraken:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kraken.png?2');
+ }
+
+ .kreearra:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kreearra.png?2');
+ }
+
+ .kriltsutsaroth:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kriltsutsaroth.png?2');
+ }
+
+ .mimic:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_mimic.png?2');
+ }
+
+ .nex:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_nex.png?2');
+ }
+
+ .nightmare:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_nightmare.png?2');
+ }
+
+ .phosanisnightmare:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_phosanisnightmare.png?2');
+ }
+
+ .obor:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_obor.png?2');
+ }
+
+ .sarachnis:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_sarachnis.png?2');
+ }
+
+ .scorpia:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_scorpia.png?2');
+ }
+
+ .skotizo:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_skotizo.png?2');
+ }
+
+ .tempoross:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tempoross.png?2');
+ }
+
+ .thegauntlet:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_thegauntlet.png?2');
+ }
+
+ .thecorruptedgauntlet:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_thecorruptedgauntlet.png?2');
+ }
+
+ .theatreofblood:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_theatreofblood.png?2');
+ }
+
+ .theatreofbloodhardmode:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_theatreofbloodhardmode.png?2');
+ }
+
+ .thermonuclearsmokedevil:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_thermonuclearsmokedevil.png?2');
+ }
+
+ .tombsofamascut:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tombsofamascut.png?2');
+ }
+
+ .tombsofamascutexpertmode:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tombsofamascutexpertmode.png?2');
+ }
+
+ .tzkalzuk:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tzkalzuk.png?2');
+ }
+
+ .tztokjad:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tztokjad.png?2');
+ }
+
+ .venenatis:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_venenatis.png?2');
+ }
+
+ .vetion:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_vetion.png?2');
+ }
+
+ .vorkath:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_vorkath.png?2');
+ }
+
+ .wintertodt:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_wintertodt.png?2');
+ }
+
+ .zalcano:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_zalcano.png?2');
+ }
+
+ .zulrah:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_zulrah.png?2');
+ }
+
+
+
+
+
+
+
+
+
Old School Hiscores
+
Home
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Attack Hiscores
+
+
+
+ Rank |
+ Name |
+ Level |
+ XP |
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+ 1 |
+
+ Tai
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 2 |
+
+ Unohdettu2
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 3 |
+
+ Drakon
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 4 |
+
+ Ame Umehara
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 5 |
+
+ Jakee
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 6 |
+
+ Aravt
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 7 |
+
+ Howson
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 8 |
+
+ Dr PFAFF
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 9 |
+
+ Lickeys
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 10 |
+
+ Burned
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 11 |
+
+ Blue Limes
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 12 |
+
+ Mini Aurelia
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 13 |
+
+ Unohdettu3
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 14 |
+
+ Eslihero
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 15 |
+
+ Lynx Titan
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 16 |
+
+ AndrewWigins
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 17 |
+
+ iMelee
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 18 |
+
+ Portuguese
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 19 |
+
+ MarkoOSRS
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 20 |
+
+ Cairo
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 21 |
+
+ Hey Jase
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 22 |
+
+ H D M P
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 23 |
+
+ Yumemi
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 24 |
+
+ Fiiggy
+ |
+ 99 |
+ 200,000,000 |
+
+
+ 25 |
+
+ Edgecrusher
+ |
+ 99 |
+ 200,000,000 |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/__tests__/b0atyNamePage.html b/__tests__/b0atyNamePage.html
index bc17ad8..7e5980c 100644
--- a/__tests__/b0atyNamePage.html
+++ b/__tests__/b0atyNamePage.html
@@ -1,955 +1,1435 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Old School Hiscores
+
+
-
-Old School Hiscores
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ .bountyhunterhunter:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_bountyhunterhunter.png?2');
+ }
-
Old School Hiscores
-
Home
-
-
-
-
+ .bountyhunterrogue:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_bountyhunterrogue.png?2');
+ }
-
-
-
-
-
-
-
-
-
-
-
-
-Overall
-Hiscores
-
-
-
-Rank |
-Name |
-Level | XP |
-
-
-
-
- |
- |
- | |
-
-
-
-8,576
- |
-
-Skreecher
- |
-
-2,277
- |
-
-456,007,859
- |
-
-
-
-8,577
- |
-
-Headlines v2
- |
-
-2,277
- |
-
-456,004,101
- |
-
-
-
-8,578
- |
-
-Bald Male
- |
-
-2,277
- |
-
-455,954,019
- |
-
-
-
-8,579
- |
-
-Pennywise
- |
-
-2,277
- |
-
-455,939,160
- |
-
-
-
-8,580
- |
-
-zwolle 0038
- |
-
-2,277
- |
-
-455,931,261
- |
-
-
-
-8,581
- |
-
-Adios luega
- |
-
-2,277
- |
-
-455,916,692
- |
-
-
-
-8,582
- |
-
-Will man
- |
-
-2,277
- |
-
-455,916,362
- |
-
-
-
-8,583
- |
-
-My Coxy Rekt
- |
-
-2,277
- |
-
-455,885,198
- |
-
-
-
-8,584
- |
-
-Facehuntter
- |
-
-2,277
- |
-
-455,852,905
- |
-
-
-
-8,585
- |
-
-Wtf Need Yak
- |
-
-2,277
- |
-
-455,818,042
- |
-
-
-
-8,586
- |
-
-Hakala
- |
-
-2,277
- |
-
-455,817,635
- |
-
-
-
-8,587
- |
-
-Mike TheGuy
- |
-
-2,277
- |
-
-455,798,477
- |
-
-
-
-8,588
- |
-
-microwave62
- |
-
-2,277
- |
-
-455,716,336
- |
-
-
-
-8,589
- |
-
-PCCZ
- |
-
-2,277
- |
-
-455,706,491
- |
-
-
-
-8,590
- |
-
-CK9
- |
-
-2,277
- |
-
-455,704,723
- |
-
-
-
-8,591
- |
-
-Flavaaaaa
- |
-
-2,277
- |
-
-455,685,632
- |
-
-
-
-8,592
- |
-
-LoliElie
- |
-
-2,277
- |
-
-455,659,464
- |
-
-
-
-8,593
- |
-
-Give Advice
- |
-
-2,277
- |
-
-455,653,828
- |
-
-
-
-8,594
- |
-
-danzing
- |
-
-2,277
- |
-
-455,651,024
- |
-
-
-
-8,595
- |
-
-EVScape
- |
-
-2,277
- |
-
-455,634,426
- |
-
-
-
-8,596
- |
-
-rakete
- |
-
-2,277
- |
-
-455,623,918
- |
-
-
-
-8,597
- |
-
-Bear MaxYmum
- |
-
-2,277
- |
-
-455,618,823
- |
-
-
-
-8,598
- |
-
-B0aty
- |
-
-2,277
- |
-
-455,618,480
- |
-
-
-
-8,599
- |
-
-Alt Huss
- |
-
-2,277
- |
-
-455,613,721
- |
-
-
-
-8,600
- |
-
-Blak Mk
- |
-
-2,277
- |
-
-455,609,237
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ .cluescrollsmedium:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollsmedium.png?2');
+ }
-
-
-
-
-
-
-
+ .cluescrollshard:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollshard.png?2');
+ }
-
\ No newline at end of file
+ .cluescrollselite:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollselite.png?2');
+ }
+
+ .cluescrollsmaster:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollsmaster.png?2');
+ }
+
+ .lmsrank:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_lmsrank.png?2');
+ }
+
+ .pvparenarank:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_pvparenarank.png?2');
+ }
+
+ .soulwarszeal:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_soulwarszeal.png?2');
+ }
+
+ .riftsclosed:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_riftsclosed.png?2');
+ }
+
+ .abyssalsire:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_abyssalsire.png?2');
+ }
+
+ .alchemicalhydra:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_alchemicalhydra.png?2');
+ }
+
+ .barrowschests:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_barrowschests.png?2');
+ }
+
+ .bryophyta:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_bryophyta.png?2');
+ }
+
+ .callisto:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_callisto.png?2');
+ }
+
+ .cerberus:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cerberus.png?2');
+ }
+
+ .chambersofxeric:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chambersofxeric.png?2');
+ }
+
+ .chambersofxericchallengemode:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chambersofxericchallengemode.png?2');
+ }
+
+ .chaoselemental:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chaoselemental.png?2');
+ }
+
+ .chaosfanatic:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chaosfanatic.png?2');
+ }
+
+ .commanderzilyana:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_commanderzilyana.png?2');
+ }
+
+ .corporealbeast:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_corporealbeast.png?2');
+ }
+
+ .crazyarchaeologist:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_crazyarchaeologist.png?2');
+ }
+
+ .dagannothprime:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_dagannothprime.png?2');
+ }
+
+ .dagannothrex:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_dagannothrex.png?2');
+ }
+
+ .dagannothsupreme:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_dagannothsupreme.png?2');
+ }
+
+ .derangedarchaeologist:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_derangedarchaeologist.png?2');
+ }
+
+ .generalgraardor:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_generalgraardor.png?2');
+ }
+
+ .giantmole:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_giantmole.png?2');
+ }
+
+ .grotesqueguardians:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_grotesqueguardians.png?2');
+ }
+
+ .hespori:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_hespori.png?2');
+ }
+
+ .kalphitequeen:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kalphitequeen.png?2');
+ }
+
+ .kingblackdragon:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kingblackdragon.png?2');
+ }
+
+ .kraken:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kraken.png?2');
+ }
+
+ .kreearra:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kreearra.png?2');
+ }
+
+ .kriltsutsaroth:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kriltsutsaroth.png?2');
+ }
+
+ .mimic:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_mimic.png?2');
+ }
+
+ .nex:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_nex.png?2');
+ }
+
+ .nightmare:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_nightmare.png?2');
+ }
+
+ .phosanisnightmare:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_phosanisnightmare.png?2');
+ }
+
+ .obor:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_obor.png?2');
+ }
+
+ .sarachnis:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_sarachnis.png?2');
+ }
+
+ .scorpia:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_scorpia.png?2');
+ }
+
+ .skotizo:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_skotizo.png?2');
+ }
+
+ .tempoross:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tempoross.png?2');
+ }
+
+ .thegauntlet:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_thegauntlet.png?2');
+ }
+
+ .thecorruptedgauntlet:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_thecorruptedgauntlet.png?2');
+ }
+
+ .theatreofblood:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_theatreofblood.png?2');
+ }
+
+ .theatreofbloodhardmode:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_theatreofbloodhardmode.png?2');
+ }
+
+ .thermonuclearsmokedevil:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_thermonuclearsmokedevil.png?2');
+ }
+
+ .tombsofamascut:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tombsofamascut.png?2');
+ }
+
+ .tombsofamascutexpertmode:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tombsofamascutexpertmode.png?2');
+ }
+
+ .tzkalzuk:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tzkalzuk.png?2');
+ }
+
+ .tztokjad:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tztokjad.png?2');
+ }
+
+ .venenatis:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_venenatis.png?2');
+ }
+
+ .vetion:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_vetion.png?2');
+ }
+
+ .vorkath:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_vorkath.png?2');
+ }
+
+ .wintertodt:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_wintertodt.png?2');
+ }
+
+ .zalcano:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_zalcano.png?2');
+ }
+
+ .zulrah:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_zulrah.png?2');
+ }
+
+
+
+
+
+
+
+
+
Old School Hiscores
+
Home
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Overall Hiscores
+
+
+
+ Rank |
+ Name |
+ Level |
+ XP |
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+ 5,701 |
+
+ Samzy
+ |
+ 2,277 |
+ 636,441,185 |
+
+
+ 5,702 |
+
+ Tardagan
+ |
+ 2,277 |
+ 636,433,009 |
+
+
+ 5,703 |
+
+ Hip Fe Hop
+ |
+ 2,277 |
+ 636,385,401 |
+
+
+ 5,704 |
+
+ Bottatrice
+ |
+ 2,277 |
+ 636,321,940 |
+
+
+ 5,705 |
+
+ Drummerz
+ |
+ 2,277 |
+ 636,297,517 |
+
+
+ 5,706 |
+
+ Juice W RL D
+ |
+ 2,277 |
+ 636,276,241 |
+
+
+ 5,707 |
+
+ Keplunk
+ |
+ 2,277 |
+ 636,149,486 |
+
+
+ 5,708 |
+
+ Skold
+ |
+ 2,277 |
+ 636,061,776 |
+
+
+ 5,709 |
+
+ JF Kennedy
+ |
+ 2,277 |
+ 636,036,948 |
+
+
+ 5,710 |
+
+ High Hustler
+ |
+ 2,277 |
+ 636,011,504 |
+
+
+ 5,711 |
+
+ B0aty
+ |
+ 2,277 |
+ 635,951,789 |
+
+
+ 5,712 |
+
+ P ockets
+ |
+ 2,277 |
+ 635,919,528 |
+
+
+ 5,713 |
+
+ EliteScaper
+ |
+ 2,277 |
+ 635,884,647 |
+
+
+ 5,714 |
+
+ billy69bob12
+ |
+ 2,277 |
+ 635,827,944 |
+
+
+ 5,715 |
+
+ Fade zz
+ |
+ 2,277 |
+ 635,794,591 |
+
+
+ 5,716 |
+
+ Chaboul
+ |
+ 2,277 |
+ 635,772,037 |
+
+
+ 5,717 |
+
+ A damm
+ |
+ 2,277 |
+ 635,767,131 |
+
+
+ 5,718 |
+
+ dkgodspeed
+ |
+ 2,277 |
+ 635,757,039 |
+
+
+ 5,719 |
+
+ YeastyVagg
+ |
+ 2,277 |
+ 635,730,729 |
+
+
+ 5,720 |
+
+ Bargli
+ |
+ 2,277 |
+ 635,696,767 |
+
+
+ 5,721 |
+
+ Sir Sven
+ |
+ 2,277 |
+ 635,671,798 |
+
+
+ 5,722 |
+
+ HyAcey
+ |
+ 2,277 |
+ 635,669,810 |
+
+
+ 5,723 |
+
+ Tysonn
+ |
+ 2,277 |
+ 635,660,909 |
+
+
+ 5,724 |
+
+ Lieven
+ |
+ 2,277 |
+ 635,654,448 |
+
+
+ 5,725 |
+
+ Redbull Od
+ |
+ 2,277 |
+ 635,632,180 |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/__tests__/lynxTitanNamePage.html b/__tests__/lynxTitanNamePage.html
index ce0e7a4..dc50a23 100644
--- a/__tests__/lynxTitanNamePage.html
+++ b/__tests__/lynxTitanNamePage.html
@@ -1,956 +1,1391 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Old School Hiscores
+
+
-
-Old School Hiscores
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ .bountyhunterrogue:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_bountyhunterrogue.png?2');
+ }
-
Old School Hiscores
-
Home
-
-
-
-
+ .cluescrollsall:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollsall.png?2');
+ }
-
-
-
-
-
-
-
-
-
-
-
-
-Overall
-Hiscores
-
-
-
-Rank |
-Name |
-Level | XP |
-
-
-
-
- |
- |
- | |
-
-
-
-1
- |
-
-Lynx Titan
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-2
- |
-
-Hey Jase
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-3
- |
-
-ShawnBay
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-4
- |
-
-senZe
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-5
- |
-
-Tomdabom
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-6
- |
-
-Karma
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-7
- |
-
-Harmony
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-8
- |
-
-DedWilson
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-9
- |
-
-GodTormentor
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-10
- |
-
-Vinny
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-11
- |
-
-borsi
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-12
- |
-
-Brundeen
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-13
- |
-
-Aziz
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-14
- |
-
-Eeli
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-15
- |
-
-baile y
- |
-
-2,277
- |
-
-4,600,000,000
- |
-
-
-
-16
- |
-
-Dumbfounded
- |
-
-2,277
- |
-
-4,578,922,635
- |
-
-
-
-17
- |
-
-Dan Gleesac
- |
-
-2,277
- |
-
-4,533,050,279
- |
-
-
-
-18
- |
-
-blind idiot
- |
-
-2,277
- |
-
-4,522,080,162
- |
-
-
-
-19
- |
-
-he box jonge
- |
-
-2,277
- |
-
-4,511,571,769
- |
-
-
-
-20
- |
-
-Oskar
- |
-
-2,277
- |
-
-4,488,710,108
- |
-
-
-
-21
- |
-
-Randalicious
- |
-
-2,277
- |
-
-4,431,024,107
- |
-
-
-
-22
- |
-
-Gustav
- |
-
-2,277
- |
-
-4,414,384,551
- |
-
-
-
-23
- |
-
-Capt King
- |
-
-2,277
- |
-
-4,366,733,065
- |
-
-
-
-24
- |
-
-Joonas
- |
-
-2,277
- |
-
-4,318,668,761
- |
-
-
-
-25
- |
-
-Killzone
- |
-
-2,277
- |
-
-4,289,590,389
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ .cluescrollshard:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollshard.png?2');
+ }
-
-
-
-
-
-
-
+ .cluescrollselite:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollselite.png?2');
+ }
-
\ No newline at end of file
+ .cluescrollsmaster:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollsmaster.png?2');
+ }
+
+ .lmsrank:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_lmsrank.png?2');
+ }
+
+ .pvparenarank:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_pvparenarank.png?2');
+ }
+
+ .soulwarszeal:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_soulwarszeal.png?2');
+ }
+
+ .riftsclosed:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_riftsclosed.png?2');
+ }
+
+ .abyssalsire:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_abyssalsire.png?2');
+ }
+
+ .alchemicalhydra:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_alchemicalhydra.png?2');
+ }
+
+ .barrowschests:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_barrowschests.png?2');
+ }
+
+ .bryophyta:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_bryophyta.png?2');
+ }
+
+ .callisto:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_callisto.png?2');
+ }
+
+ .cerberus:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_cerberus.png?2');
+ }
+
+ .chambersofxeric:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chambersofxeric.png?2');
+ }
+
+ .chambersofxericchallengemode:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chambersofxericchallengemode.png?2');
+ }
+
+ .chaoselemental:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chaoselemental.png?2');
+ }
+
+ .chaosfanatic:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_chaosfanatic.png?2');
+ }
+
+ .commanderzilyana:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_commanderzilyana.png?2');
+ }
+
+ .corporealbeast:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_corporealbeast.png?2');
+ }
+
+ .crazyarchaeologist:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_crazyarchaeologist.png?2');
+ }
+
+ .dagannothprime:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_dagannothprime.png?2');
+ }
+
+ .dagannothrex:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_dagannothrex.png?2');
+ }
+
+ .dagannothsupreme:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_dagannothsupreme.png?2');
+ }
+
+ .derangedarchaeologist:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_derangedarchaeologist.png?2');
+ }
+
+ .generalgraardor:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_generalgraardor.png?2');
+ }
+
+ .giantmole:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_giantmole.png?2');
+ }
+
+ .grotesqueguardians:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_grotesqueguardians.png?2');
+ }
+
+ .hespori:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_hespori.png?2');
+ }
+
+ .kalphitequeen:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kalphitequeen.png?2');
+ }
+
+ .kingblackdragon:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kingblackdragon.png?2');
+ }
+
+ .kraken:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kraken.png?2');
+ }
+
+ .kreearra:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kreearra.png?2');
+ }
+
+ .kriltsutsaroth:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_kriltsutsaroth.png?2');
+ }
+
+ .mimic:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_mimic.png?2');
+ }
+
+ .nex:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_nex.png?2');
+ }
+
+ .nightmare:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_nightmare.png?2');
+ }
+
+ .phosanisnightmare:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_phosanisnightmare.png?2');
+ }
+
+ .obor:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_obor.png?2');
+ }
+
+ .sarachnis:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_sarachnis.png?2');
+ }
+
+ .scorpia:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_scorpia.png?2');
+ }
+
+ .skotizo:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_skotizo.png?2');
+ }
+
+ .tempoross:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tempoross.png?2');
+ }
+
+ .thegauntlet:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_thegauntlet.png?2');
+ }
+
+ .thecorruptedgauntlet:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_thecorruptedgauntlet.png?2');
+ }
+
+ .theatreofblood:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_theatreofblood.png?2');
+ }
+
+ .theatreofbloodhardmode:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_theatreofbloodhardmode.png?2');
+ }
+
+ .thermonuclearsmokedevil:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_thermonuclearsmokedevil.png?2');
+ }
+
+ .tombsofamascut:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tombsofamascut.png?2');
+ }
+
+ .tombsofamascutexpertmode:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tombsofamascutexpertmode.png?2');
+ }
+
+ .tzkalzuk:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tzkalzuk.png?2');
+ }
+
+ .tztokjad:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_tztokjad.png?2');
+ }
+
+ .venenatis:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_venenatis.png?2');
+ }
+
+ .vetion:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_vetion.png?2');
+ }
+
+ .vorkath:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_vorkath.png?2');
+ }
+
+ .wintertodt:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_wintertodt.png?2');
+ }
+
+ .zalcano:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_zalcano.png?2');
+ }
+
+ .zulrah:before {
+ content: url('https://www.runescape.com/img/rsp777/game_icon_zulrah.png?2');
+ }
+
+
+
+
+
+
+
+
+
Old School Hiscores
+
Home
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Overall Hiscores
+
+
+
+ Rank |
+ Name |
+ Level |
+ XP |
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+ 1 |
+
+ Lynx Titan
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 2 |
+
+ Hey Jase
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 3 |
+
+ ShawnBay
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 4 |
+
+ senZe
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 5 |
+
+ Tomdabom
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 6 |
+
+ Karma
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 7 |
+
+ Harmony
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 8 |
+
+ DedWilson
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 9 |
+
+ GodTormentor
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 10 |
+
+ Vinny
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 11 |
+
+ borsi
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 12 |
+
+ Brundeen
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 13 |
+
+ Aziz
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 14 |
+
+ Eeli
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 15 |
+
+ baile y
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 16 |
+
+ Dumbfounded
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 17 |
+
+ Dan Gleesac
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 18 |
+
+ blind idiot
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 19 |
+
+ he box jonge
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 20 |
+
+ Gustav
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 21 |
+
+ moksi
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 22 |
+
+ Randalicious
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 23 |
+
+ Killzone
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 24 |
+
+ Hiddy
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+ 25 |
+
+ Kudos
+ |
+ 2,277 |
+ 4,600,000,000 |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/hiscores.ts b/src/hiscores.ts
index 8bcc88d..6edadf2 100644
--- a/src/hiscores.ts
+++ b/src/hiscores.ts
@@ -50,12 +50,11 @@ export async function getRSNFormat(rsn: string): Promise {
try {
const response = await httpGet(url);
const dom = new JSDOM(response.data);
- const spans = dom.window.document.querySelectorAll(
- 'span[style="color:#AA0022;"]'
+ const anchor = dom.window.document.querySelector(
+ '.personal-hiscores__row.personal-hiscores__row--type-highlight a'
);
- if (spans.length >= 2) {
- const nameSpan = spans[1];
- return rsnFromElement(nameSpan);
+ if (anchor) {
+ return rsnFromElement(anchor);
}
throw Error('Player not found');
} catch {
@@ -75,7 +74,10 @@ export function parseStats(csv: string): Stats {
.filter((entry) => !!entry)
.map((stat) => stat.split(','));
- if (splitCSV.length !== SKILLS.length + BH_MODES.length + CLUES.length + BOSSES.length + 5) {
+ if (
+ splitCSV.length !==
+ SKILLS.length + BH_MODES.length + CLUES.length + BOSSES.length + 5
+ ) {
throw Error(INVALID_FORMAT_ERROR);
}
@@ -105,7 +107,12 @@ export function parseStats(csv: string): Stats {
const [leaguePoints] = activityObjects.splice(0, 1);
const bhObjects = activityObjects.splice(0, BH_MODES.length);
const clueObjects = activityObjects.splice(0, CLUES.length);
- const [lastManStanding, pvpArena, soulWarsZeal, riftsClosed] = activityObjects.splice(0, 4);
+ const [
+ lastManStanding,
+ pvpArena,
+ soulWarsZeal,
+ riftsClosed
+ ] = activityObjects.splice(0, 4);
const bossObjects = activityObjects.splice(0, BOSSES.length);
const skills: Skills = skillObjects.reduce((prev, curr, index) => {