mirror of
https://github.com/maxswa/osrs-json-hiscores.git
synced 2025-10-15 10:19:04 +00:00
Compare commits
106 Commits
v2.0.0
...
add-guardi
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e77737f422 | ||
![]() |
3a72315498 | ||
![]() |
c1c9833ad0 | ||
![]() |
9fe03746e1 | ||
![]() |
66a4fb47a6 | ||
![]() |
83c44148a7 | ||
![]() |
44dea6b35c | ||
![]() |
0bf491638c | ||
![]() |
febca534b0 | ||
![]() |
8daee5c39b | ||
![]() |
f98cf8aaaa | ||
![]() |
5d9f6a6bac | ||
![]() |
8737b50a82 | ||
![]() |
1255e7e3d2 | ||
![]() |
f4135d0b0f | ||
![]() |
6135ff459c | ||
![]() |
9fb7e4cebc | ||
![]() |
11350b2444 | ||
![]() |
e0d6c5b20f | ||
![]() |
c8a4440ac3 | ||
![]() |
f3781cf142 | ||
![]() |
5fbc04217b | ||
![]() |
eb5d0ba49f | ||
![]() |
c68e3bebea | ||
![]() |
aa6fd6f39a | ||
![]() |
cc9aae8ced | ||
![]() |
12882b4e34 | ||
![]() |
b17a8b9299 | ||
![]() |
50f2c19257 | ||
![]() |
d892f8e67b | ||
![]() |
af5664ae6e | ||
![]() |
20c5c2f730 | ||
![]() |
04e59cff04 | ||
![]() |
ad2249ba76 | ||
![]() |
5c52bfd883 | ||
![]() |
947d994cdf | ||
![]() |
130446ab74 | ||
![]() |
f96e7e3e2d | ||
![]() |
90d66b6b2c | ||
![]() |
14cedb5877 | ||
![]() |
4703812b52 | ||
![]() |
a11ac96f68 | ||
![]() |
f97caa6a15 | ||
![]() |
e7e54741d2 | ||
![]() |
062e5e02b2 | ||
![]() |
ed7036f9c0 | ||
![]() |
74aba3e818 | ||
![]() |
09fe7ed539 | ||
![]() |
7a78e1ea0a | ||
![]() |
7a4163aed2 | ||
![]() |
85464d02fe | ||
![]() |
592d82f86b | ||
![]() |
a28a9e253e | ||
![]() |
0bd15f2402 | ||
![]() |
ed8ad51b4d | ||
![]() |
311ea88c61 | ||
![]() |
e056d052a5 | ||
![]() |
b230560442 | ||
![]() |
b2c6efecbd | ||
![]() |
e9f47b9f08 | ||
![]() |
3a6671d3d1 | ||
![]() |
a4065022d6 | ||
![]() |
163f4dd184 | ||
![]() |
e200a8d566 | ||
![]() |
89944ca8cc | ||
![]() |
29c76b4afb | ||
![]() |
e3e904a23f | ||
![]() |
0b96530a8e | ||
![]() |
175f945ab8 | ||
![]() |
6b31e8b08c | ||
![]() |
d097567a3c | ||
![]() |
be5c093cf7 | ||
![]() |
db72f0c57d | ||
![]() |
bd2ea21980 | ||
![]() |
d67837c161 | ||
![]() |
4aa6ad2752 | ||
![]() |
2f788fabf6 | ||
![]() |
0f5aea795c | ||
![]() |
7acb84e310 | ||
![]() |
9619bd2a2b | ||
![]() |
55abd9f800 | ||
![]() |
cf8a4cc26e | ||
![]() |
0f68c1995c | ||
![]() |
ae47df31f1 | ||
![]() |
7a3f3a0800 | ||
![]() |
b16e8ace6e | ||
![]() |
09f7805fd4 | ||
![]() |
939f4d2721 | ||
![]() |
a4577ffb2c | ||
![]() |
19ba7e2916 | ||
![]() |
7de2d9a95a | ||
![]() |
a143306519 | ||
![]() |
86b81abfd8 | ||
![]() |
8d065742d0 | ||
![]() |
eaa3d4a299 | ||
![]() |
a92fa7fffe | ||
![]() |
90f2939761 | ||
![]() |
12046246ef | ||
![]() |
adf73e59c4 | ||
![]() |
f2fcbad1c4 | ||
![]() |
0f47310814 | ||
![]() |
30530fde01 | ||
![]() |
2c0268939d | ||
![]() |
0142783d43 | ||
![]() |
468b43f66f | ||
![]() |
d5bbe2a169 |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.html linguist-vendored
|
28
.github/workflows/main.yml
vendored
Normal file
28
.github/workflows/main.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: borales/actions-yarn@v2.0.0
|
||||
with:
|
||||
cmd: install
|
||||
- uses: borales/actions-yarn@v2.0.0
|
||||
with:
|
||||
cmd: lint
|
||||
- uses: borales/actions-yarn@v2.0.0
|
||||
with:
|
||||
cmd: format
|
||||
- uses: borales/actions-yarn@v2.0.0
|
||||
with:
|
||||
cmd: build
|
||||
- uses: borales/actions-yarn@v2.0.0
|
||||
with:
|
||||
cmd: test
|
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"trailingComma": "es5",
|
||||
"tabWidth": 2,
|
||||
"semi": true,
|
||||
"singleQuote": true
|
||||
}
|
5
LICENSE
Normal file
5
LICENSE
Normal file
@@ -0,0 +1,5 @@
|
||||
Copyright 2021 maxswa
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
122
README.md
122
README.md
@@ -3,12 +3,13 @@
|
||||
[](https://www.npmjs.com/package/osrs-json-hiscores)
|
||||
[](https://npm-stat.com/charts.html?package=osrs-json-hiscores)
|
||||
[](https://github.com/maxswa/osrs-json-hiscores/blob/master/src/types.ts)
|
||||
[](https://github.com/maxswa/osrs-json-hiscores/actions/workflows/main.yml?query=branch%3Amain)
|
||||
|
||||
**The Oldschool Runescape API wrapper that does more!**
|
||||
**The Old School Runescape API wrapper that does more!**
|
||||
|
||||
## What it does
|
||||
|
||||
The official hiscores API for Oldschool Runescape (OSRS) returns CSV.
|
||||
The official hiscores API for Old School Runescape (OSRS) returns CSV.
|
||||
This wrapper converts it to json and provides extra information about the given player. By comparing player info it infers the player's game mode, as well as any previous modes (de-ultimated, de-ironed and/or died as a hardcore ironman).
|
||||
|
||||
Additional functions are provided that screen-scrape the OSRS leaderboards and return a list of players as json.
|
||||
@@ -50,8 +51,8 @@ Once you import it you can call the functions asynchronously:
|
||||
```javascript
|
||||
hiscores
|
||||
.getStats('Lynx Titan')
|
||||
.then(res => console.log(res))
|
||||
.catch(err => console.error(err));
|
||||
.then((res) => console.log(res))
|
||||
.catch((err) => console.error(err));
|
||||
```
|
||||
|
||||
If you are using TypeScript or transpiling your JS you can use ES6 syntax:
|
||||
@@ -78,13 +79,13 @@ const topPage = await getSkillPage('overall');
|
||||
| Tournament | `tournament` |
|
||||
| Leagues | `seasonal` |
|
||||
|
||||
`getSkillPage` and `getActivityPage` require a skill/activity and optionally a gamemode and page:
|
||||
`getSkillPage` and `getActivityPage` require a skill / activity and optionally a gamemode and page:
|
||||
|
||||
```javascript
|
||||
hiscores
|
||||
.getSkillPage('attack', 'main', 1)
|
||||
.then(res => console.log(res))
|
||||
.catch(err => console.error(err));
|
||||
.then((res) => console.log(res))
|
||||
.catch((err) => console.error(err));
|
||||
```
|
||||
|
||||
Activities consist of all levels of clue scrolls as well as minigames and bosses:
|
||||
@@ -108,54 +109,67 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
|
||||
| Bounty Hunter (Rogue) | `rogueBH` |
|
||||
| Bounty Hunter (Hunter) | `hunterBH` |
|
||||
| Last Man Standing | `lastManStanding` |
|
||||
| Soul Wars Zeal | `soulWarsZeal` |
|
||||
| Rifts Closed | `riftsClosed` |
|
||||
|
||||
### Leagues
|
||||
|
||||
| Activity | Param |
|
||||
| ------------- | :------------: |
|
||||
| League Points | `leaguePoints` |
|
||||
|
||||
### Bosses
|
||||
|
||||
| Boss Name | Param |
|
||||
| -------------------------------- | :----------------------------: |
|
||||
| Abyssal Sire | `abyssalSire` |
|
||||
| Alchemical Hydra | `alchemicalHydra` |
|
||||
| Barrows Chests | `barrows` |
|
||||
| Bryophyta | `bryophyta` |
|
||||
| Callisto | `callisto` |
|
||||
| Cerberus | `cerberus` |
|
||||
| Chambers Of Xeric | `chambersOfXeric` |
|
||||
| Chambers Of Xeric Challenge Mode | `chambersOfXericChallengeMode` |
|
||||
| Chaos Elemental | `chaosElemental` |
|
||||
| Chaos Fanatic | `chaosFanatic` |
|
||||
| Commander Zilyana | `commanderZilyana` |
|
||||
| Corporeal Beast | `corporealBeast` |
|
||||
| Crazy Archaeologist | `crazyArchaeologist` |
|
||||
| Dagannoth Prime | `dagannothPrime` |
|
||||
| Dagannoth Rex | `dagannothRex` |
|
||||
| Dagannoth Supreme | `dagannothSupreme` |
|
||||
| Deranged Archaeologist | `derangedArchaeologist` |
|
||||
| General Graardor | `generalGraardor` |
|
||||
| Giant Mole | `giantMole` |
|
||||
| Grotesque Guardians | `grotesqueGuardians` |
|
||||
| Hespori | `hespori` |
|
||||
| Kalphite Queen | `kalphiteQueen` |
|
||||
| King Black Dragon | `kingBlackDragon` |
|
||||
| Kraken | `kraken` |
|
||||
| Kreearra | `kreeArra` |
|
||||
| K'ril Tsutsaroth | `krilTsutsaroth` |
|
||||
| Mimic | `mimic` |
|
||||
| Obor | `obor` |
|
||||
| Sarachnis | `sarachnis` |
|
||||
| Scorpia | `scorpia` |
|
||||
| Skotizo | `skotizo` |
|
||||
| Gauntlet | `gauntlet` |
|
||||
| Corrupted Gauntlet | `corruptedGauntlet` |
|
||||
| Theatre Of Blood | `theatreOfBlood` |
|
||||
| Thermonuclear Smoke Devil | `thermonuclearSmokeDevil` |
|
||||
| TzKal-Zuk | `tzKalZuk` |
|
||||
| TzTok-Jad | `tzTokJad` |
|
||||
| Venenatis | `venenatis` |
|
||||
| Vetion | `vetion` |
|
||||
| Vorkath | `vorkath` |
|
||||
| Wintertodt | `wintertodt` |
|
||||
| Zalcano | `zalcano` |
|
||||
| Zulrah | `zulrah` |
|
||||
| Boss Name | Param |
|
||||
| --------------------------------- | :----------------------------: |
|
||||
| Abyssal Sire | `abyssalSire` |
|
||||
| Alchemical Hydra | `alchemicalHydra` |
|
||||
| Barrows Chests | `barrows` |
|
||||
| Bryophyta | `bryophyta` |
|
||||
| Callisto | `callisto` |
|
||||
| Cerberus | `cerberus` |
|
||||
| Chambers Of Xeric | `chambersOfXeric` |
|
||||
| Chambers Of Xeric: Challenge Mode | `chambersOfXericChallengeMode` |
|
||||
| Chaos Elemental | `chaosElemental` |
|
||||
| Chaos Fanatic | `chaosFanatic` |
|
||||
| Commander Zilyana | `commanderZilyana` |
|
||||
| Corporeal Beast | `corporealBeast` |
|
||||
| Crazy Archaeologist | `crazyArchaeologist` |
|
||||
| Dagannoth Prime | `dagannothPrime` |
|
||||
| Dagannoth Rex | `dagannothRex` |
|
||||
| Dagannoth Supreme | `dagannothSupreme` |
|
||||
| Deranged Archaeologist | `derangedArchaeologist` |
|
||||
| General Graardor | `generalGraardor` |
|
||||
| Giant Mole | `giantMole` |
|
||||
| Grotesque Guardians | `grotesqueGuardians` |
|
||||
| Hespori | `hespori` |
|
||||
| Kalphite Queen | `kalphiteQueen` |
|
||||
| King Black Dragon | `kingBlackDragon` |
|
||||
| Kraken | `kraken` |
|
||||
| Kreearra | `kreeArra` |
|
||||
| K'ril Tsutsaroth | `krilTsutsaroth` |
|
||||
| Mimic | `mimic` |
|
||||
| Nex | `nex` |
|
||||
| The Nightmare of Ashihama | `nightmare` |
|
||||
| Phosani's Nightmare | `phosanisNightmare` |
|
||||
| Obor | `obor` |
|
||||
| Sarachnis | `sarachnis` |
|
||||
| Scorpia | `scorpia` |
|
||||
| Skotizo | `skotizo` |
|
||||
| Tempoross | `tempoross` |
|
||||
| The Gauntlet | `gauntlet` |
|
||||
| The Corrupted Gauntlet | `corruptedGauntlet` |
|
||||
| Theatre Of Blood | `theatreOfBlood` |
|
||||
| Theatre Of Blood: Hard Mode | `theatreOfBloodHardMode` |
|
||||
| Thermonuclear Smoke Devil | `thermonuclearSmokeDevil` |
|
||||
| TzKal-Zuk | `tzKalZuk` |
|
||||
| TzTok-Jad | `tzTokJad` |
|
||||
| Venenatis | `venenatis` |
|
||||
| Vetion | `vetion` |
|
||||
| Vorkath | `vorkath` |
|
||||
| Wintertodt | `wintertodt` |
|
||||
| Zalcano | `zalcano` |
|
||||
| Zulrah | `zulrah` |
|
||||
|
||||
## What you'll get
|
||||
|
||||
@@ -179,6 +193,8 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
|
||||
leaguePoints: {},
|
||||
bountyHunter: {},
|
||||
lastManStanding: {},
|
||||
soulWarsZeal: {},
|
||||
riftsClosed: {},
|
||||
bosses: {}
|
||||
}
|
||||
}
|
||||
@@ -190,7 +206,7 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
|
||||
[
|
||||
{ rank: 1, name: 'Lynx Titan', level: 2277, xp: 4600000000, dead: false },
|
||||
{},
|
||||
{},
|
||||
{}
|
||||
// ...
|
||||
];
|
||||
```
|
||||
|
953
__tests__/attackTopPage.html
vendored
Normal file
953
__tests__/attackTopPage.html
vendored
Normal file
@@ -0,0 +1,953 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- saved from url=(0079)https://secure.runescape.com/m=hiscore_oldschool/overall?table=1#headerHiscores -->
|
||||
<html class="js svg websockets localstorage websocketsbinary sharedworkers webworkers classlist canvas video webgl csspointerevents progressbar meter fileinput inlinesvg supports datalistelem no-touchevents details indexeddb indexeddb-deletedatabase appearance backgroundcliptext borderimage boxsizing cssfilters flexbox flexboxlegacy no-flexboxtweener webp webp-alpha webp-animation webp-lossless videoautoplay dataworkers blobworkers" lang="en" data-whatinput="mouse" data-whatintent="mouse"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><script src="./attackTopPage_files/sdk.js" async="" crossorigin="anonymous"></script><script async="" src="./attackTopPage_files/gtm.js"></script><script src="./attackTopPage_files/Criciousand-meth-shake-Exit-be-till-in-ches-Shad" async=""></script>
|
||||
<link href="./attackTopPage_files/rsp777_basic-101.css" rel="stylesheet" type="text/css" media="all">
|
||||
|
||||
<script src="./attackTopPage_files/vendor-1.js"></script>
|
||||
<title>Old School Hiscores</title>
|
||||
<meta name="keywords" content="MMORPG, free RPG games online, online multiplayer, role-playing, massively multiplayer games, mmo, RuneScape, Jagex">
|
||||
<meta name="description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
|
||||
<link rel="icon" type="image/vnd.microsoft.icon" href="https://www.runescape.com/img/global/favicon.ico">
|
||||
<link rel="SHORTCUT ICON" href="https://www.runescape.com/img/global/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="https://www.runescape.com/img/global/mobile.png">
|
||||
<meta property="fb:app_id" content="174823375888281">
|
||||
|
||||
<meta property="og:title" content="Old School Hiscores">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="Old School RuneScape">
|
||||
<meta property="og:image" content="https://www.runescape.com/img/rsp777/social-share-fb.jpg?1">
|
||||
<meta property="og:url" content="https://www.runescape.com">
|
||||
<meta property="og:description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
<meta name="google-site-verification" content="RFtGg-G07XweT7nQe032HocvnRPhJAsdZqrq4NX_Op8">
|
||||
<meta itemprop="name" content="RuneScape">
|
||||
<meta itemprop="description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
<meta name="twitter:domain" content="Oldschool.RuneScape.com">
|
||||
<meta name="twitter:url" content="https://www.runescape.com">
|
||||
<meta name="twitter:title" content="Old School Hiscores">
|
||||
<meta name="twitter:description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
<meta name="twitter:image:src" content="https://www.runescape.com/img/rsp777/social-share.jpg?1">
|
||||
<meta name="twitter:site" content="@OldSchoolRS">
|
||||
<meta name="google-site-verification" content="pUwl5KYHKSZ6tbbgsR2wYNv1kbVmsYral3iFmijHTWM">
|
||||
<link href="./attackTopPage_files/rsp777_hiscore-105.css" rel="stylesheet" type="text/css" media="all">
|
||||
<style>
|
||||
|
||||
.leaguepoints:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_leaguepoints.png?2');
|
||||
}
|
||||
|
||||
.bountyhunterhunter:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_bountyhunterhunter.png?2');
|
||||
}
|
||||
|
||||
.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');
|
||||
}
|
||||
|
||||
.cluescrollsbeginner:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollsbeginner.png?2');
|
||||
}
|
||||
|
||||
.cluescrollseasy:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollseasy.png?2');
|
||||
}
|
||||
|
||||
.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');
|
||||
}
|
||||
|
||||
.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');
|
||||
}
|
||||
|
||||
.soulwarszeal:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_soulwarszeal.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');
|
||||
}
|
||||
|
||||
.nightmare:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_nightmare.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');
|
||||
}
|
||||
|
||||
.thermonuclearsmokedevil:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_thermonuclearsmokedevil.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');
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css" data-fbcssmodules="css:fb.css.base css:fb.css.dialog css:fb.css.iframewidget css:fb.css.customer_chat_plugin_iframe">.fb_hidden{position:absolute;top:-10000px;z-index:10001}.fb_reposition{overflow:hidden;position:relative}.fb_invisible{display:none}.fb_reset{background:none;border:0;border-spacing:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}.fb_reset>div{overflow:hidden}@keyframes fb_transform{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fb_animate{animation:fb_transform .3s forwards}
|
||||
.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}.fb_dialog_advanced{border-radius:8px;padding:10px}.fb_dialog_content{background:#fff;color:#373737}.fb_dialog_close_icon{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px}.fb_dialog_mobile .fb_dialog_close_icon{left:5px;right:auto;top:5px}.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}.fb_dialog_close_icon:hover{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent}.fb_dialog_close_icon:active{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent}.fb_dialog_iframe{line-height:0}.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #365899;color:#fff;font-size:14px;font-weight:bold;margin:0}.fb_dialog_content .dialog_title>span{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yd/r/Cou7n-nqK52.gif) no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}body.fb_hidden{height:100%;left:0;margin:0;overflow:visible;position:absolute;top:-10000px;transform:none;width:100%}.fb_dialog.fb_dialog_mobile.loading{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/ya/r/3rhSv5V8j3o.gif) white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}.fb_dialog.fb_dialog_mobile.loading.centered{background:none;height:auto;min-height:initial;min-width:initial;width:auto}.fb_dialog.fb_dialog_mobile.loading.centered #fb_dialog_loader_spinner{width:100%}.fb_dialog.fb_dialog_mobile.loading.centered .fb_dialog_content{background:none}.loading.centered #fb_dialog_loader_close{clear:both;color:#fff;display:block;font-size:18px;padding-top:20px}#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .4);bottom:0;left:0;min-height:100%;position:absolute;right:0;top:0;width:100%;z-index:10000}#fb-root #fb_dialog_ipad_overlay.hidden{display:none}.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}.fb_dialog_mobile .fb_dialog_iframe{position:sticky;top:0}.fb_dialog_content .dialog_header{background:linear-gradient(from(#738aba), to(#2c4987));border-bottom:1px solid;border-color:#043b87;box-shadow:white 0 1px 1px -1px inset;color:#fff;font:bold 14px Helvetica, sans-serif;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}.fb_dialog_content .dialog_header table{height:43px;width:100%}.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px}.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px}.fb_dialog_content .touchable_button{background:linear-gradient(from(#4267B2), to(#2a4887));background-clip:padding-box;border:1px solid #29487d;border-radius:3px;display:inline-block;line-height:18px;margin-top:3px;max-width:85px;padding:4px 12px;position:relative}.fb_dialog_content .dialog_header .touchable_button input{background:none;border:none;color:#fff;font:bold 12px Helvetica, sans-serif;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}.fb_dialog_content .dialog_content{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/y9/r/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #4a4a4a;border-bottom:0;border-top:0;height:150px}.fb_dialog_content .dialog_footer{background:#f5f6f7;border:1px solid #4a4a4a;border-top-color:#ccc;height:40px}#fb_dialog_loader_close{float:left}.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}#fb_dialog_loader_spinner{animation:rotateSpinner 1.2s linear infinite;background-color:transparent;background-image:url(https://static.xx.fbcdn.net/rsrc.php/v3/yD/r/t-wz8gw1xG1.png);background-position:50% 50%;background-repeat:no-repeat;height:24px;width:24px}@keyframes rotateSpinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
|
||||
.fb_iframe_widget{display:inline-block;position:relative}.fb_iframe_widget span{display:inline-block;position:relative;text-align:justify}.fb_iframe_widget iframe{position:absolute}.fb_iframe_widget_fluid_desktop,.fb_iframe_widget_fluid_desktop span,.fb_iframe_widget_fluid_desktop iframe{max-width:100%}.fb_iframe_widget_fluid_desktop iframe{min-width:220px;position:relative}.fb_iframe_widget_lift{z-index:1}.fb_iframe_widget_fluid{display:inline}.fb_iframe_widget_fluid span{width:100%}
|
||||
.fb_mpn_mobile_landing_page_slide_out{animation-duration:200ms;animation-name:fb_mpn_landing_page_slide_out;transition-timing-function:ease-in}.fb_mpn_mobile_landing_page_slide_out_from_left{animation-duration:200ms;animation-name:fb_mpn_landing_page_slide_out_from_left;transition-timing-function:ease-in}.fb_mpn_mobile_landing_page_slide_up{animation-duration:500ms;animation-name:fb_mpn_landing_page_slide_up;transition-timing-function:ease-in}.fb_mpn_mobile_bounce_in{animation-duration:300ms;animation-name:fb_mpn_bounce_in;transition-timing-function:ease-in}.fb_mpn_mobile_bounce_out{animation-duration:300ms;animation-name:fb_mpn_bounce_out;transition-timing-function:ease-in}.fb_mpn_mobile_bounce_out_v2{animation-duration:300ms;animation-name:fb_mpn_fade_out;transition-timing-function:ease-in}.fb_customer_chat_bounce_in_v2{animation-duration:300ms;animation-name:fb_bounce_in_v2;transition-timing-function:ease-in}.fb_customer_chat_bounce_in_from_left{animation-duration:300ms;animation-name:fb_bounce_in_from_left;transition-timing-function:ease-in}.fb_customer_chat_bounce_out_v2{animation-duration:300ms;animation-name:fb_bounce_out_v2;transition-timing-function:ease-in}.fb_customer_chat_bounce_out_from_left{animation-duration:300ms;animation-name:fb_bounce_out_from_left;transition-timing-function:ease-in}.fb_customer_chat_bubble_animated_no_badge{box-shadow:0 3px 12px rgba(0, 0, 0, .15);transition:box-shadow 150ms linear}.fb_customer_chat_bubble_animated_no_badge:hover{box-shadow:0 5px 24px rgba(0, 0, 0, .3)}.fb_customer_chat_bubble_animated_with_badge{box-shadow:-5px 4px 14px rgba(0, 0, 0, .15);transition:box-shadow 150ms linear}.fb_customer_chat_bubble_animated_with_badge:hover{box-shadow:-5px 8px 24px rgba(0, 0, 0, .2)}.fb_invisible_flow{display:inherit;height:0;overflow-x:hidden;width:0}.fb_new_ui_mobile_overlay_active{overflow:hidden}@keyframes fb_mpn_landing_page_slide_in{0%{border-radius:50%;margin:0 24px;width:60px}40%{border-radius:18px}100%{margin:0 12px;width:100% - 24px}}@keyframes fb_mpn_landing_page_slide_in_from_left{0%{border-radius:50%;left:12px;margin:0 24px;width:60px}40%{border-radius:18px}100%{left:12px;margin:0 12px;width:100% - 24px}}@keyframes fb_mpn_landing_page_slide_out{0%{margin:0 12px;width:100% - 24px}60%{border-radius:18px}100%{border-radius:50%;margin:0 24px;width:60px}}@keyframes fb_mpn_landing_page_slide_out_from_left{0%{left:12px;width:100% - 24px}60%{border-radius:18px}100%{border-radius:50%;left:12px;width:60px}}@keyframes fb_mpn_landing_page_slide_up{0%{bottom:0;opacity:0}100%{bottom:24px;opacity:1}}@keyframes fb_mpn_bounce_in{0%{opacity:.5;top:100%}100%{opacity:1;top:0}}@keyframes fb_mpn_fade_out{0%{bottom:30px;opacity:1}100%{bottom:0;opacity:0}}@keyframes fb_mpn_bounce_out{0%{opacity:1;top:0}100%{opacity:.5;top:100%}}@keyframes fb_bounce_in_v2{0%{opacity:0;transform:scale(0, 0);transform-origin:bottom right}50%{transform:scale(1.03, 1.03);transform-origin:bottom right}100%{opacity:1;transform:scale(1, 1);transform-origin:bottom right}}@keyframes fb_bounce_in_from_left{0%{opacity:0;transform:scale(0, 0);transform-origin:bottom left}50%{transform:scale(1.03, 1.03);transform-origin:bottom left}100%{opacity:1;transform:scale(1, 1);transform-origin:bottom left}}@keyframes fb_bounce_out_v2{0%{opacity:1;transform:scale(1, 1);transform-origin:bottom right}100%{opacity:0;transform:scale(0, 0);transform-origin:bottom right}}@keyframes fb_bounce_out_from_left{0%{opacity:1;transform:scale(1, 1);transform-origin:bottom left}100%{opacity:0;transform:scale(0, 0);transform-origin:bottom left}}@keyframes fb_bounce_out_v2_mobile_chat_started{0%{opacity:1;top:0}100%{opacity:0;top:20px}}@keyframes fb_customer_chat_bubble_bounce_in_animation{0%{bottom:6pt;opacity:0;transform:scale(0, 0);transform-origin:center}70%{bottom:18pt;opacity:1;transform:scale(1.2, 1.2)}100%{transform:scale(1, 1)}}@keyframes slideInFromBottom{0%{opacity:.1;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottomDelay{0%{opacity:0;transform:translateY(100%)}97%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}</style></head>
|
||||
<body id="body"><div id="fb-root" class="174823375888281 fb_reset"><script async="" src="./attackTopPage_files/sdk(1).js"></script><div style="position: absolute; top: -10000px; width: 0px; height: 0px;"><div></div></div></div>
|
||||
<div class="centerDiv">
|
||||
<div class="frame wide_e">
|
||||
<span style="float:right;"><a id="loginLink" href="https://secure.runescape.com/m=weblogin/loginform?theme=oldschool&mod=hiscore_oldschool&ssl=1&dest=overall?table=1">Log in</a></span>
|
||||
</div>
|
||||
<br>
|
||||
<div class="hiscoretitlebground">
|
||||
<div class="hiscoretitleframe">
|
||||
|
||||
<strong>Old School Hiscores</strong><br>
|
||||
<a href="https://oldschool.runescape.com/">Home</a>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div align="center">
|
||||
|
||||
<div class="ironman-nav">
|
||||
<span class="ironman-nav__option ironman-nav__option--current">Hiscores</span>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_ironman/">Ironman</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_ultimate/">Ultimate Ironman</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_hardcore_ironman/">Hardcore Ironman</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_deadman/">Deadman Mode</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_seasonal/">Leagues</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_tournament/">Tournament</a>
|
||||
</div>
|
||||
<div class="personal-hiscores">
|
||||
<nav class="personal-hiscores__side-banner">
|
||||
<div id="col1">
|
||||
<div id="headerCategory"></div>
|
||||
<a class="personal-hiscores__scroll-arrow personal-hiscores__scroll-arrow--up personal-hiscores__scroll-arrow--disabled" href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=1#" data-js-scroll="up">Up</a>
|
||||
<div id="contentCategory">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=0#headerHiscores" class=" Overall ">
|
||||
Overall
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=1#headerHiscores" class=" Attack ">
|
||||
Attack
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=2#headerHiscores" class=" Defence ">
|
||||
Defence
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=3#headerHiscores" class=" Strength ">
|
||||
Strength
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=4#headerHiscores" class=" Hitpoints ">
|
||||
Hitpoints
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=5#headerHiscores" class=" Ranged ">
|
||||
Ranged
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=6#headerHiscores" class=" Prayer ">
|
||||
Prayer
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=7#headerHiscores" class=" Magic ">
|
||||
Magic
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=8#headerHiscores" class=" Cooking ">
|
||||
Cooking
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=9#headerHiscores" class=" Woodcutting ">
|
||||
Woodcutting
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=10#headerHiscores" class=" Fletching ">
|
||||
Fletching
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=11#headerHiscores" class=" Fishing ">
|
||||
Fishing
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=12#headerHiscores" class=" Firemaking ">
|
||||
Firemaking
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=13#headerHiscores" class=" Crafting ">
|
||||
Crafting
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=14#headerHiscores" class=" Smithing ">
|
||||
Smithing
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=15#headerHiscores" class=" Mining ">
|
||||
Mining
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=16#headerHiscores" class=" Herblore ">
|
||||
Herblore
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=17#headerHiscores" class=" Agility ">
|
||||
Agility
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=18#headerHiscores" class=" Thieving ">
|
||||
Thieving
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=19#headerHiscores" class=" Slayer ">
|
||||
Slayer
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=20#headerHiscores" class=" Farming ">
|
||||
Farming
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=21#headerHiscores" class=" Runecraft ">
|
||||
Runecraft
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=22#headerHiscores" class=" Hunter ">
|
||||
Hunter
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=23#headerHiscores" class=" Construction ">
|
||||
Construction
|
||||
</a>
|
||||
<span style="color: #d9c27e;display: block;text-align: center;">----</span>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=1#headerHiscores" class="activity-link bountyhunterhunter">Bounty Hunter - Hunter</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=2#headerHiscores" class="activity-link bountyhunterrogue">Bounty Hunter - Rogue</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=3#headerHiscores" class="activity-link cluescrollsall">Clue Scrolls (all)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=4#headerHiscores" class="activity-link cluescrollsbeginner">Clue Scrolls (beginner)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=5#headerHiscores" class="activity-link cluescrollseasy">Clue Scrolls (easy)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=6#headerHiscores" class="activity-link cluescrollsmedium">Clue Scrolls (medium)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=7#headerHiscores" class="activity-link cluescrollshard">Clue Scrolls (hard)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=8#headerHiscores" class="activity-link cluescrollselite">Clue Scrolls (elite)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=9#headerHiscores" class="activity-link cluescrollsmaster">Clue Scrolls (master)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=10#headerHiscores" class="activity-link lmsrank">LMS - Rank</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=11#headerHiscores" class="activity-link soulwarszeal">Soul Wars Zeal</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=12#headerHiscores" class="activity-link abyssalsire">Abyssal Sire</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=13#headerHiscores" class="activity-link alchemicalhydra">Alchemical Hydra</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=14#headerHiscores" class="activity-link barrowschests">Barrows Chests</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=15#headerHiscores" class="activity-link bryophyta">Bryophyta</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=16#headerHiscores" class="activity-link callisto">Callisto</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=17#headerHiscores" class="activity-link cerberus">Cerberus</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=18#headerHiscores" class="activity-link chambersofxeric">Chambers of Xeric</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=19#headerHiscores" class="activity-link chambersofxericchallengemode">Chambers of Xeric: Challenge Mode</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=20#headerHiscores" class="activity-link chaoselemental">Chaos Elemental</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=21#headerHiscores" class="activity-link chaosfanatic">Chaos Fanatic</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=22#headerHiscores" class="activity-link commanderzilyana">Commander Zilyana</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=23#headerHiscores" class="activity-link corporealbeast">Corporeal Beast</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=24#headerHiscores" class="activity-link crazyarchaeologist">Crazy Archaeologist</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=25#headerHiscores" class="activity-link dagannothprime">Dagannoth Prime</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=26#headerHiscores" class="activity-link dagannothrex">Dagannoth Rex</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=27#headerHiscores" class="activity-link dagannothsupreme">Dagannoth Supreme</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=28#headerHiscores" class="activity-link derangedarchaeologist">Deranged Archaeologist</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=29#headerHiscores" class="activity-link generalgraardor">General Graardor</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=30#headerHiscores" class="activity-link giantmole">Giant Mole</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=31#headerHiscores" class="activity-link grotesqueguardians">Grotesque Guardians</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=32#headerHiscores" class="activity-link hespori">Hespori</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=33#headerHiscores" class="activity-link kalphitequeen">Kalphite Queen</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=34#headerHiscores" class="activity-link kingblackdragon">King Black Dragon</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=35#headerHiscores" class="activity-link kraken">Kraken</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=36#headerHiscores" class="activity-link kreearra">Kree'Arra</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=37#headerHiscores" class="activity-link kriltsutsaroth">K'ril Tsutsaroth</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=38#headerHiscores" class="activity-link mimic">Mimic</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=39#headerHiscores" class="activity-link nightmare">Nightmare</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=40#headerHiscores" class="activity-link obor">Obor</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=41#headerHiscores" class="activity-link sarachnis">Sarachnis</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=42#headerHiscores" class="activity-link scorpia">Scorpia</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=43#headerHiscores" class="activity-link skotizo">Skotizo</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=44#headerHiscores" class="activity-link tempoross">Tempoross</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=45#headerHiscores" class="activity-link thegauntlet">The Gauntlet</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=46#headerHiscores" class="activity-link thecorruptedgauntlet">The Corrupted Gauntlet</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=47#headerHiscores" class="activity-link theatreofblood">Theatre of Blood</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=48#headerHiscores" class="activity-link thermonuclearsmokedevil">Thermonuclear Smoke Devil</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=49#headerHiscores" class="activity-link tzkalzuk">TzKal-Zuk</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=50#headerHiscores" class="activity-link tztokjad">TzTok-Jad</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=51#headerHiscores" class="activity-link venenatis">Venenatis</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=52#headerHiscores" class="activity-link vetion">Vet'ion</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=53#headerHiscores" class="activity-link vorkath">Vorkath</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=54#headerHiscores" class="activity-link wintertodt">Wintertodt</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=55#headerHiscores" class="activity-link zalcano">Zalcano</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=56#headerHiscores" class="activity-link zulrah">Zulrah</a>
|
||||
</div>
|
||||
<a class="personal-hiscores__scroll-arrow personal-hiscores__scroll-arrow--down" href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=1#" data-js-scroll="down">Down</a>
|
||||
<div id="footerCategory"></div>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="personal-hiscores__table">
|
||||
<div id="col2">
|
||||
<div id="headerHiscores"></div>
|
||||
<div class="hiscoresHiddenBG">
|
||||
<div id="contentHiscores">
|
||||
<table>
|
||||
<caption>
|
||||
<img class="miniimg" src="./attackTopPage_files/skill_icon_attack1.gif">
|
||||
|
||||
|
||||
Attack
|
||||
Hiscores
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="right">Rank</th>
|
||||
<th class="left">Name</th>
|
||||
<th>Level</th><th class="right">XP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="60"></td>
|
||||
<td width="120"></td>
|
||||
<td width="70"></td><td width="100"></td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
1
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Heur">Heur</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
2
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Unohdettu2">Unohdettu2</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
3
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Drakon">Drakon</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
4
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Ame%A0Umehara">Ame Umehara</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
5
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Jakee">Jakee</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
6
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=L00OO00OO00l">L00OO00OO00l</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
7
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Howson">Howson</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Dr%A0PFAFF">Dr PFAFF</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
9
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Malt%A0Lickeys">Malt Lickeys</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
10
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Burned">Burned</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
11
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Blue%A0Limes">Blue Limes</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
12
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Mini%A0Finbarr">Mini Finbarr</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
13
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Unohdettu3">Unohdettu3</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
14
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Eslihero">Eslihero</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
15
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Lynx%A0Titan">Lynx Titan</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
16
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=AndrewWigins">AndrewWigins</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
17
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=iMelee">iMelee</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
18
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Portuguese">Portuguese</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
19
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=MarkoOSRS">MarkoOSRS</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
20
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Cairo">Cairo</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
21
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Hey%A0Jase">Hey Jase</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
22
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=H%A0D%A0M%A0P">H D M P</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
23
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Yumemi">Yumemi</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
24
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Fiiggy">Fiiggy</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
25
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Edgecrusher">Edgecrusher</a>
|
||||
</td>
|
||||
<td>
|
||||
99
|
||||
</td>
|
||||
<td class="right">
|
||||
200,000,000
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<nav class="personal-hiscores__pagination">
|
||||
<a class="personal-hiscores__pagination-arrow personal-hiscores__pagination-arrow--down" href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=1&page=2" title="Scroll down table">
|
||||
<img src="./attackTopPage_files/arrow_down.gif" alt="Scroll Down">
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footerHiscores"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="personal-hiscores__side-input">
|
||||
|
||||
|
||||
<form action="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal" method="post">
|
||||
<div class="smallBox">
|
||||
<p>
|
||||
<b>Search by name</b>
|
||||
<input class="text" maxlength="12" type="text" name="user1" value="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;">
|
||||
<input maxlength="12" type="submit" name="submit" value="Search">
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<form action="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=0" method="post">
|
||||
<div class="smallBox">
|
||||
<p>
|
||||
<b>Search by rank</b>
|
||||
<input class="text" maxlength="12" type="text" name="rank" value="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%; cursor: auto;">
|
||||
<input type="hidden" name="table" value="1">
|
||||
<input type="submit" name="submit" value="Search">
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<form action="https://secure.runescape.com/m=hiscore_oldschool/compare" method="post" class="compareForm">
|
||||
<div class="largeBox">
|
||||
<p>
|
||||
<b>Compare Users</b>
|
||||
<input class="text" maxlength="12" type="text" name="user1" value="" pattern="^[a-zA-Z0-9]+([ _-&nbsp;]{0,10}[0-9a-zA-Z]+)*$" title="player name" required="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;">
|
||||
<input class="text" maxlength="12" type="text" name="user2" value="" pattern="^[a-zA-Z0-9]+([ _-&nbsp;]{0,10}[0-9a-zA-Z]+)*$" title="player name" required="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;">
|
||||
<input type="submit" name="submit" value="Compare">
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<div class="largeBox">
|
||||
<div class="loginPrompt">
|
||||
<b>Friends Hiscores</b>
|
||||
To view personal<br>
|
||||
hiscores and compare<br>
|
||||
yourself to your friends<br>
|
||||
</div>
|
||||
<a href="https://secure.runescape.com/m=weblogin/oldschool_login?mod=hiscore_oldschool&ssl=0&dest=hiscorefriends_all" class="linkToFriends">Click here</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tandc">
|
||||
<a href="http://www.jagex.com/" target="_top"><img class="footer__jagex-img" src="./attackTopPage_files/jagex-logo-landscape.svg" alt="Jagex Software"></a>
|
||||
<p class="tandc__copy">This website and its contents are copyright <20> 1999 - 2021 Jagex Ltd, 220 Science Park, Cambridge, CB4 0WA, United Kingdom.<br>Use of this website is subject to our <a href="https://www.jagex.com/terms/terms.ws" target="_blank">Terms & Conditions</a> and <a href="https://www.jagex.com/privacy/privacy.ws" target="_blank">Privacy Policy</a>. <br><a href="https://www.jagex.com/terms/rules-of-old-school-runescape">Rules of Old School RuneScape</a> | <a href="https://www.jagex.com/terms/cookies.ws">Change Cookie Settings</a></p>
|
||||
<a class="osrsRSS" target="_BLANK" href="https://secure.runescape.com/m=news/latest_news.rss?oldschool=true"><img src="./attackTopPage_files/rss.png" title="OSRS RSS Feed" alt="OSRS RSS Feed"></a>
|
||||
</div> <script src="./attackTopPage_files/modernizr_3_0_0_min-100.js"></script>
|
||||
<script src="./attackTopPage_files/rsp777_basic-105.js"></script>
|
||||
<script src="./attackTopPage_files/rsp777_twitter-100.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
if ($("#fb-root").length == 0){
|
||||
$("body").prepend('<div id="fb-root" class="174823375888281"></div>');
|
||||
window.fbAsyncInit = function() {
|
||||
FB.init({
|
||||
appId: '174823375888281',
|
||||
status: false,
|
||||
cookie: true,
|
||||
xfbml: true,
|
||||
oauth: true,
|
||||
version: 'v2.8'
|
||||
});
|
||||
};
|
||||
(function() {
|
||||
var e = document.createElement('script');
|
||||
e.async = true;
|
||||
e.src = document.location.protocol + '//connect.facebook.net/en_US/sdk.js';
|
||||
document.getElementById('fb-root').appendChild(e);
|
||||
}());
|
||||
}
|
||||
</script>
|
||||
<a style="display:none" id="SNbuttonLink" class="thickbox"></a>
|
||||
<script type="text/javascript">
|
||||
function fbLoginRedirect(buttonName, loginUrl, destUrl, destStr, _target){
|
||||
$.getJSON('https://secure.runescape.com/m=sn-integration/checkLogin.ws?json=?', {"tps":0, "token":FB.getAuthResponse().accessToken, "expiry":FB.getAuthResponse().expiresIn, "signed":FB.getAuthResponse().signedRequest}, function(data) {
|
||||
if(typeof(_target) != 'undefined' && _target != '') $("#SNbuttonLink").attr('target',_target);
|
||||
if (data['sso']<0) {
|
||||
|
||||
|
||||
JAGEX.socialnetworks.SNNotification("There was a problem verifying your login. Please try again.");
|
||||
} else if (data['sso'].length > 1){
|
||||
|
||||
if(data['sna']>-1) {
|
||||
|
||||
|
||||
$("#SNbuttonLink").attr('href',loginUrl+'key='+data['sso']+'&tps=0&'+destStr+'&KeepThis=true&TB_iframe=true&height=500&width=560');
|
||||
|
||||
$("#SNbuttonLink").click();
|
||||
$("#TB_iframeContent").attr("allowTransparency", "true");
|
||||
|
||||
$("#TB_iframeContent").css("padding-left", "50px");
|
||||
|
||||
} else {
|
||||
|
||||
var loc = destUrl+'?key='+data['sso']+'?'+destStr;
|
||||
if(typeof(_target) != 'undefined' && _target != ''){
|
||||
window.parent.location = loc;
|
||||
}
|
||||
else {
|
||||
window.location = loc;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
|
||||
$("#SNbuttonLink").attr('href',loginUrl+destStr+'&KeepThis=true&TB_iframe=true&height=400&width=442');
|
||||
|
||||
$("#SNbuttonLink").click();
|
||||
$("#TB_iframeContent").attr("allowTransparency", "true");
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="./attackTopPage_files/plugins-100.js"></script>
|
||||
<script>
|
||||
var RESPONSIVE = RESPONSIVE || {};
|
||||
RESPONSIVE.constant = RESPONSIVE.constant || {};
|
||||
|
||||
|
||||
RESPONSIVE.constant.user = {
|
||||
language: 0,
|
||||
isLoggedIn: 0
|
||||
};
|
||||
|
||||
</script>
|
||||
<script type="text/javascript" src="./attackTopPage_files/gtm-100.js"></script>
|
||||
</div>
|
||||
|
||||
</body></html>
|
955
__tests__/b0atyNamePage.html
vendored
Normal file
955
__tests__/b0atyNamePage.html
vendored
Normal file
@@ -0,0 +1,955 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- saved from url=(0083)https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=0&user=b0aty -->
|
||||
<html class="js svg websockets localstorage websocketsbinary sharedworkers webworkers classlist canvas video webgl csspointerevents progressbar meter fileinput inlinesvg supports datalistelem no-touchevents details indexeddb indexeddb-deletedatabase appearance backgroundcliptext borderimage boxsizing cssfilters flexbox flexboxlegacy no-flexboxtweener webp webp-alpha webp-animation webp-lossless dataworkers blobworkers no-videoautoplay" lang="en" data-whatinput="mouse" data-whatintent="mouse"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><script src="./b0atyNamePage_files/sdk.js" async="" crossorigin="anonymous"></script><script async="" src="./b0atyNamePage_files/gtm.js"></script><script src="./b0atyNamePage_files/Criciousand-meth-shake-Exit-be-till-in-ches-Shad" async=""></script>
|
||||
<link href="./b0atyNamePage_files/rsp777_basic-101.css" rel="stylesheet" type="text/css" media="all">
|
||||
|
||||
<script src="./b0atyNamePage_files/vendor-1.js"></script>
|
||||
<title>Old School Hiscores</title>
|
||||
<meta name="keywords" content="MMORPG, free RPG games online, online multiplayer, role-playing, massively multiplayer games, mmo, RuneScape, Jagex">
|
||||
<meta name="description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
|
||||
<link rel="icon" type="image/vnd.microsoft.icon" href="https://www.runescape.com/img/global/favicon.ico">
|
||||
<link rel="SHORTCUT ICON" href="https://www.runescape.com/img/global/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="https://www.runescape.com/img/global/mobile.png">
|
||||
<meta property="fb:app_id" content="174823375888281">
|
||||
|
||||
<meta property="og:title" content="Old School Hiscores">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="Old School RuneScape">
|
||||
<meta property="og:image" content="https://www.runescape.com/img/rsp777/social-share-fb.jpg?1">
|
||||
<meta property="og:url" content="https://www.runescape.com">
|
||||
<meta property="og:description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
<meta name="google-site-verification" content="RFtGg-G07XweT7nQe032HocvnRPhJAsdZqrq4NX_Op8">
|
||||
<meta itemprop="name" content="RuneScape">
|
||||
<meta itemprop="description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
<meta name="twitter:domain" content="Oldschool.RuneScape.com">
|
||||
<meta name="twitter:url" content="https://www.runescape.com">
|
||||
<meta name="twitter:title" content="Old School Hiscores">
|
||||
<meta name="twitter:description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
<meta name="twitter:image:src" content="https://www.runescape.com/img/rsp777/social-share.jpg?1">
|
||||
<meta name="twitter:site" content="@OldSchoolRS">
|
||||
<meta name="google-site-verification" content="pUwl5KYHKSZ6tbbgsR2wYNv1kbVmsYral3iFmijHTWM">
|
||||
<link href="./b0atyNamePage_files/rsp777_hiscore-105.css" rel="stylesheet" type="text/css" media="all">
|
||||
<style>
|
||||
|
||||
.leaguepoints:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_leaguepoints.png?2');
|
||||
}
|
||||
|
||||
.bountyhunterhunter:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_bountyhunterhunter.png?2');
|
||||
}
|
||||
|
||||
.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');
|
||||
}
|
||||
|
||||
.cluescrollsbeginner:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollsbeginner.png?2');
|
||||
}
|
||||
|
||||
.cluescrollseasy:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollseasy.png?2');
|
||||
}
|
||||
|
||||
.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');
|
||||
}
|
||||
|
||||
.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');
|
||||
}
|
||||
|
||||
.soulwarszeal:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_soulwarszeal.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');
|
||||
}
|
||||
|
||||
.nightmare:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_nightmare.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');
|
||||
}
|
||||
|
||||
.thermonuclearsmokedevil:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_thermonuclearsmokedevil.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');
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css" data-fbcssmodules="css:fb.css.base css:fb.css.dialog css:fb.css.iframewidget css:fb.css.customer_chat_plugin_iframe">.fb_hidden{position:absolute;top:-10000px;z-index:10001}.fb_reposition{overflow:hidden;position:relative}.fb_invisible{display:none}.fb_reset{background:none;border:0;border-spacing:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}.fb_reset>div{overflow:hidden}@keyframes fb_transform{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fb_animate{animation:fb_transform .3s forwards}
|
||||
.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}.fb_dialog_advanced{border-radius:8px;padding:10px}.fb_dialog_content{background:#fff;color:#373737}.fb_dialog_close_icon{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px}.fb_dialog_mobile .fb_dialog_close_icon{left:5px;right:auto;top:5px}.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}.fb_dialog_close_icon:hover{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent}.fb_dialog_close_icon:active{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent}.fb_dialog_iframe{line-height:0}.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #365899;color:#fff;font-size:14px;font-weight:bold;margin:0}.fb_dialog_content .dialog_title>span{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yd/r/Cou7n-nqK52.gif) no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}body.fb_hidden{height:100%;left:0;margin:0;overflow:visible;position:absolute;top:-10000px;transform:none;width:100%}.fb_dialog.fb_dialog_mobile.loading{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/ya/r/3rhSv5V8j3o.gif) white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}.fb_dialog.fb_dialog_mobile.loading.centered{background:none;height:auto;min-height:initial;min-width:initial;width:auto}.fb_dialog.fb_dialog_mobile.loading.centered #fb_dialog_loader_spinner{width:100%}.fb_dialog.fb_dialog_mobile.loading.centered .fb_dialog_content{background:none}.loading.centered #fb_dialog_loader_close{clear:both;color:#fff;display:block;font-size:18px;padding-top:20px}#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .4);bottom:0;left:0;min-height:100%;position:absolute;right:0;top:0;width:100%;z-index:10000}#fb-root #fb_dialog_ipad_overlay.hidden{display:none}.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}.fb_dialog_mobile .fb_dialog_iframe{position:sticky;top:0}.fb_dialog_content .dialog_header{background:linear-gradient(from(#738aba), to(#2c4987));border-bottom:1px solid;border-color:#043b87;box-shadow:white 0 1px 1px -1px inset;color:#fff;font:bold 14px Helvetica, sans-serif;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}.fb_dialog_content .dialog_header table{height:43px;width:100%}.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px}.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px}.fb_dialog_content .touchable_button{background:linear-gradient(from(#4267B2), to(#2a4887));background-clip:padding-box;border:1px solid #29487d;border-radius:3px;display:inline-block;line-height:18px;margin-top:3px;max-width:85px;padding:4px 12px;position:relative}.fb_dialog_content .dialog_header .touchable_button input{background:none;border:none;color:#fff;font:bold 12px Helvetica, sans-serif;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}.fb_dialog_content .dialog_content{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/y9/r/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #4a4a4a;border-bottom:0;border-top:0;height:150px}.fb_dialog_content .dialog_footer{background:#f5f6f7;border:1px solid #4a4a4a;border-top-color:#ccc;height:40px}#fb_dialog_loader_close{float:left}.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}#fb_dialog_loader_spinner{animation:rotateSpinner 1.2s linear infinite;background-color:transparent;background-image:url(https://static.xx.fbcdn.net/rsrc.php/v3/yD/r/t-wz8gw1xG1.png);background-position:50% 50%;background-repeat:no-repeat;height:24px;width:24px}@keyframes rotateSpinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
|
||||
.fb_iframe_widget{display:inline-block;position:relative}.fb_iframe_widget span{display:inline-block;position:relative;text-align:justify}.fb_iframe_widget iframe{position:absolute}.fb_iframe_widget_fluid_desktop,.fb_iframe_widget_fluid_desktop span,.fb_iframe_widget_fluid_desktop iframe{max-width:100%}.fb_iframe_widget_fluid_desktop iframe{min-width:220px;position:relative}.fb_iframe_widget_lift{z-index:1}.fb_iframe_widget_fluid{display:inline}.fb_iframe_widget_fluid span{width:100%}
|
||||
.fb_mpn_mobile_landing_page_slide_out{animation-duration:200ms;animation-name:fb_mpn_landing_page_slide_out;transition-timing-function:ease-in}.fb_mpn_mobile_landing_page_slide_out_from_left{animation-duration:200ms;animation-name:fb_mpn_landing_page_slide_out_from_left;transition-timing-function:ease-in}.fb_mpn_mobile_landing_page_slide_up{animation-duration:500ms;animation-name:fb_mpn_landing_page_slide_up;transition-timing-function:ease-in}.fb_mpn_mobile_bounce_in{animation-duration:300ms;animation-name:fb_mpn_bounce_in;transition-timing-function:ease-in}.fb_mpn_mobile_bounce_out{animation-duration:300ms;animation-name:fb_mpn_bounce_out;transition-timing-function:ease-in}.fb_mpn_mobile_bounce_out_v2{animation-duration:300ms;animation-name:fb_mpn_fade_out;transition-timing-function:ease-in}.fb_customer_chat_bounce_in_v2{animation-duration:300ms;animation-name:fb_bounce_in_v2;transition-timing-function:ease-in}.fb_customer_chat_bounce_in_from_left{animation-duration:300ms;animation-name:fb_bounce_in_from_left;transition-timing-function:ease-in}.fb_customer_chat_bounce_out_v2{animation-duration:300ms;animation-name:fb_bounce_out_v2;transition-timing-function:ease-in}.fb_customer_chat_bounce_out_from_left{animation-duration:300ms;animation-name:fb_bounce_out_from_left;transition-timing-function:ease-in}.fb_customer_chat_bubble_animated_no_badge{box-shadow:0 3px 12px rgba(0, 0, 0, .15);transition:box-shadow 150ms linear}.fb_customer_chat_bubble_animated_no_badge:hover{box-shadow:0 5px 24px rgba(0, 0, 0, .3)}.fb_customer_chat_bubble_animated_with_badge{box-shadow:-5px 4px 14px rgba(0, 0, 0, .15);transition:box-shadow 150ms linear}.fb_customer_chat_bubble_animated_with_badge:hover{box-shadow:-5px 8px 24px rgba(0, 0, 0, .2)}.fb_invisible_flow{display:inherit;height:0;overflow-x:hidden;width:0}.fb_new_ui_mobile_overlay_active{overflow:hidden}@keyframes fb_mpn_landing_page_slide_in{0%{border-radius:50%;margin:0 24px;width:60px}40%{border-radius:18px}100%{margin:0 12px;width:100% - 24px}}@keyframes fb_mpn_landing_page_slide_in_from_left{0%{border-radius:50%;left:12px;margin:0 24px;width:60px}40%{border-radius:18px}100%{left:12px;margin:0 12px;width:100% - 24px}}@keyframes fb_mpn_landing_page_slide_out{0%{margin:0 12px;width:100% - 24px}60%{border-radius:18px}100%{border-radius:50%;margin:0 24px;width:60px}}@keyframes fb_mpn_landing_page_slide_out_from_left{0%{left:12px;width:100% - 24px}60%{border-radius:18px}100%{border-radius:50%;left:12px;width:60px}}@keyframes fb_mpn_landing_page_slide_up{0%{bottom:0;opacity:0}100%{bottom:24px;opacity:1}}@keyframes fb_mpn_bounce_in{0%{opacity:.5;top:100%}100%{opacity:1;top:0}}@keyframes fb_mpn_fade_out{0%{bottom:30px;opacity:1}100%{bottom:0;opacity:0}}@keyframes fb_mpn_bounce_out{0%{opacity:1;top:0}100%{opacity:.5;top:100%}}@keyframes fb_bounce_in_v2{0%{opacity:0;transform:scale(0, 0);transform-origin:bottom right}50%{transform:scale(1.03, 1.03);transform-origin:bottom right}100%{opacity:1;transform:scale(1, 1);transform-origin:bottom right}}@keyframes fb_bounce_in_from_left{0%{opacity:0;transform:scale(0, 0);transform-origin:bottom left}50%{transform:scale(1.03, 1.03);transform-origin:bottom left}100%{opacity:1;transform:scale(1, 1);transform-origin:bottom left}}@keyframes fb_bounce_out_v2{0%{opacity:1;transform:scale(1, 1);transform-origin:bottom right}100%{opacity:0;transform:scale(0, 0);transform-origin:bottom right}}@keyframes fb_bounce_out_from_left{0%{opacity:1;transform:scale(1, 1);transform-origin:bottom left}100%{opacity:0;transform:scale(0, 0);transform-origin:bottom left}}@keyframes fb_bounce_out_v2_mobile_chat_started{0%{opacity:1;top:0}100%{opacity:0;top:20px}}@keyframes fb_customer_chat_bubble_bounce_in_animation{0%{bottom:6pt;opacity:0;transform:scale(0, 0);transform-origin:center}70%{bottom:18pt;opacity:1;transform:scale(1.2, 1.2)}100%{transform:scale(1, 1)}}@keyframes slideInFromBottom{0%{opacity:.1;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottomDelay{0%{opacity:0;transform:translateY(100%)}97%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}</style></head>
|
||||
<body id="body"><div id="fb-root" class="174823375888281 fb_reset"><script async="" src="./b0atyNamePage_files/sdk(1).js"></script><div style="position: absolute; top: -10000px; width: 0px; height: 0px;"><div></div></div></div>
|
||||
<div class="centerDiv">
|
||||
<div class="frame wide_e">
|
||||
<span style="float:right;"><a id="loginLink" href="https://secure.runescape.com/m=weblogin/loginform?theme=oldschool&mod=hiscore_oldschool&ssl=1&dest=overall?category_type=0&user=b0aty">Log in</a></span>
|
||||
</div>
|
||||
<br>
|
||||
<div class="hiscoretitlebground">
|
||||
<div class="hiscoretitleframe">
|
||||
|
||||
<strong>Old School Hiscores</strong><br>
|
||||
<a href="https://oldschool.runescape.com/">Home</a>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div align="center">
|
||||
|
||||
<div class="ironman-nav">
|
||||
<span class="ironman-nav__option ironman-nav__option--current">Hiscores</span>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_ironman/">Ironman</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_ultimate/">Ultimate Ironman</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_hardcore_ironman/">Hardcore Ironman</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_deadman/">Deadman Mode</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_seasonal/">Leagues</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_tournament/">Tournament</a>
|
||||
</div>
|
||||
<div class="personal-hiscores">
|
||||
<nav class="personal-hiscores__side-banner">
|
||||
<div id="col1">
|
||||
<div id="headerCategory"></div>
|
||||
<a class="personal-hiscores__scroll-arrow personal-hiscores__scroll-arrow--up personal-hiscores__scroll-arrow--disabled" href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=0&user=b0aty#" data-js-scroll="up">Up</a>
|
||||
<div id="contentCategory">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=0&user=b0aty" class=" Overall ">
|
||||
Overall
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=1&user=b0aty" class=" Attack ">
|
||||
Attack
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=2&user=b0aty" class=" Defence ">
|
||||
Defence
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=3&user=b0aty" class=" Strength ">
|
||||
Strength
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=4&user=b0aty" class=" Hitpoints ">
|
||||
Hitpoints
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=5&user=b0aty" class=" Ranged ">
|
||||
Ranged
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=6&user=b0aty" class=" Prayer ">
|
||||
Prayer
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=7&user=b0aty" class=" Magic ">
|
||||
Magic
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=8&user=b0aty" class=" Cooking ">
|
||||
Cooking
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=9&user=b0aty" class=" Woodcutting ">
|
||||
Woodcutting
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=10&user=b0aty" class=" Fletching ">
|
||||
Fletching
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=11&user=b0aty" class=" Fishing ">
|
||||
Fishing
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=12&user=b0aty" class=" Firemaking ">
|
||||
Firemaking
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=13&user=b0aty" class=" Crafting ">
|
||||
Crafting
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=14&user=b0aty" class=" Smithing ">
|
||||
Smithing
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=15&user=b0aty" class=" Mining ">
|
||||
Mining
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=16&user=b0aty" class=" Herblore ">
|
||||
Herblore
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=17&user=b0aty" class=" Agility ">
|
||||
Agility
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=18&user=b0aty" class=" Thieving ">
|
||||
Thieving
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=19&user=b0aty" class=" Slayer ">
|
||||
Slayer
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=20&user=b0aty" class=" Farming ">
|
||||
Farming
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=21&user=b0aty" class=" Runecraft ">
|
||||
Runecraft
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=22&user=b0aty" class=" Hunter ">
|
||||
Hunter
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=23&user=b0aty" class=" Construction ">
|
||||
Construction
|
||||
</a>
|
||||
<span style="color: #d9c27e;display: block;text-align: center;">----</span>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=1&user=b0aty" class="activity-link bountyhunterhunter">Bounty Hunter - Hunter</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=2&user=b0aty" class="activity-link bountyhunterrogue">Bounty Hunter - Rogue</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=3&user=b0aty" class="activity-link cluescrollsall">Clue Scrolls (all)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=4&user=b0aty" class="activity-link cluescrollsbeginner">Clue Scrolls (beginner)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=5&user=b0aty" class="activity-link cluescrollseasy">Clue Scrolls (easy)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=6&user=b0aty" class="activity-link cluescrollsmedium">Clue Scrolls (medium)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=7&user=b0aty" class="activity-link cluescrollshard">Clue Scrolls (hard)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=8&user=b0aty" class="activity-link cluescrollselite">Clue Scrolls (elite)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=9&user=b0aty" class="activity-link cluescrollsmaster">Clue Scrolls (master)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=10&user=b0aty" class="activity-link lmsrank">LMS - Rank</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=11&user=b0aty" class="activity-link soulwarszeal">Soul Wars Zeal</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=12&user=b0aty" class="activity-link abyssalsire">Abyssal Sire</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=13&user=b0aty" class="activity-link alchemicalhydra">Alchemical Hydra</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=14&user=b0aty" class="activity-link barrowschests">Barrows Chests</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=15&user=b0aty" class="activity-link bryophyta">Bryophyta</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=16&user=b0aty" class="activity-link callisto">Callisto</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=17&user=b0aty" class="activity-link cerberus">Cerberus</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=18&user=b0aty" class="activity-link chambersofxeric">Chambers of Xeric</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=19&user=b0aty" class="activity-link chambersofxericchallengemode">Chambers of Xeric: Challenge Mode</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=20&user=b0aty" class="activity-link chaoselemental">Chaos Elemental</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=21&user=b0aty" class="activity-link chaosfanatic">Chaos Fanatic</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=22&user=b0aty" class="activity-link commanderzilyana">Commander Zilyana</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=23&user=b0aty" class="activity-link corporealbeast">Corporeal Beast</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=24&user=b0aty" class="activity-link crazyarchaeologist">Crazy Archaeologist</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=25&user=b0aty" class="activity-link dagannothprime">Dagannoth Prime</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=26&user=b0aty" class="activity-link dagannothrex">Dagannoth Rex</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=27&user=b0aty" class="activity-link dagannothsupreme">Dagannoth Supreme</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=28&user=b0aty" class="activity-link derangedarchaeologist">Deranged Archaeologist</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=29&user=b0aty" class="activity-link generalgraardor">General Graardor</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=30&user=b0aty" class="activity-link giantmole">Giant Mole</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=31&user=b0aty" class="activity-link grotesqueguardians">Grotesque Guardians</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=32&user=b0aty" class="activity-link hespori">Hespori</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=33&user=b0aty" class="activity-link kalphitequeen">Kalphite Queen</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=34&user=b0aty" class="activity-link kingblackdragon">King Black Dragon</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=35&user=b0aty" class="activity-link kraken">Kraken</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=36&user=b0aty" class="activity-link kreearra">Kree'Arra</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=37&user=b0aty" class="activity-link kriltsutsaroth">K'ril Tsutsaroth</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=38&user=b0aty" class="activity-link mimic">Mimic</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=39&user=b0aty" class="activity-link nightmare">Nightmare</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=40&user=b0aty" class="activity-link obor">Obor</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=41&user=b0aty" class="activity-link sarachnis">Sarachnis</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=42&user=b0aty" class="activity-link scorpia">Scorpia</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=43&user=b0aty" class="activity-link skotizo">Skotizo</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=44&user=b0aty" class="activity-link tempoross">Tempoross</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=45&user=b0aty" class="activity-link thegauntlet">The Gauntlet</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=46&user=b0aty" class="activity-link thecorruptedgauntlet">The Corrupted Gauntlet</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=47&user=b0aty" class="activity-link theatreofblood">Theatre of Blood</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=48&user=b0aty" class="activity-link thermonuclearsmokedevil">Thermonuclear Smoke Devil</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=49&user=b0aty" class="activity-link tzkalzuk">TzKal-Zuk</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=50&user=b0aty" class="activity-link tztokjad">TzTok-Jad</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=51&user=b0aty" class="activity-link venenatis">Venenatis</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=52&user=b0aty" class="activity-link vetion">Vet'ion</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=53&user=b0aty" class="activity-link vorkath">Vorkath</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=54&user=b0aty" class="activity-link wintertodt">Wintertodt</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=55&user=b0aty" class="activity-link zalcano">Zalcano</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=56&user=b0aty" class="activity-link zulrah">Zulrah</a>
|
||||
</div>
|
||||
<a class="personal-hiscores__scroll-arrow personal-hiscores__scroll-arrow--down" href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=0&user=b0aty#" data-js-scroll="down">Down</a>
|
||||
<div id="footerCategory"></div>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="personal-hiscores__table">
|
||||
<div id="col2">
|
||||
<div id="headerHiscores"></div>
|
||||
<div class="hiscoresHiddenBG">
|
||||
<div id="contentHiscores">
|
||||
<table>
|
||||
<caption>
|
||||
<img class="miniimg" src="./b0atyNamePage_files/blank.gif">
|
||||
|
||||
Overall
|
||||
Hiscores
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="right">Rank</th>
|
||||
<th class="left">Name</th>
|
||||
<th>Level</th><th class="right">XP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="60"></td>
|
||||
<td width="120"></td>
|
||||
<td width="70"></td><td width="100"></td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,576
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Skreecher">Skreecher</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
456,007,859
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,577
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Headlines%A0v2">Headlines v2</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
456,004,101
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,578
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Bald%A0Male">Bald Male</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,954,019
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,579
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Pennywise">Pennywise</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,939,160
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,580
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=zwolle%A00038">zwolle 0038</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,931,261
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,581
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Adios%A0luega">Adios luega</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,916,692
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,582
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Will%A0man">Will man</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,916,362
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,583
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=My%A0Coxy%A0Rekt">My Coxy Rekt</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,885,198
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,584
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Facehuntter">Facehuntter</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,852,905
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,585
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Wtf%A0Need%A0Yak">Wtf Need Yak</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,818,042
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,586
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Hakala">Hakala</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,817,635
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,587
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Mike%A0TheGuy">Mike TheGuy</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,798,477
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,588
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=microwave62">microwave62</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,716,336
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,589
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=PCCZ">PCCZ</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,706,491
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,590
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=CK9">CK9</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,704,723
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,591
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Flavaaaaa">Flavaaaaa</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,685,632
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,592
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=LoliElie">LoliElie</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,659,464
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,593
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Give%A0Advice">Give Advice</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,653,828
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,594
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=danzing">danzing</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,651,024
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,595
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=EVScape">EVScape</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,634,426
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,596
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=rakete">rakete</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,623,918
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,597
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Bear%A0MaxYmum">Bear MaxYmum</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,618,823
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
<span style="color:#AA0022;">8,598</span>
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=B0aty"><span style="color:#AA0022;">B0aty</span></a>
|
||||
</td>
|
||||
<td>
|
||||
<span style="color:#AA0022;">2,277</span>
|
||||
</td>
|
||||
<td class="right">
|
||||
<span color="#AA0022">455,618,480</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,599
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Alt%A0Huss">Alt Huss</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,613,721
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8,600
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Blak%A0Mk">Blak Mk</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
455,609,237
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<nav class="personal-hiscores__pagination">
|
||||
<a class="personal-hiscores__pagination-arrow personal-hiscores__pagination-arrow--up" href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=0&page=343" title="Scroll up table">
|
||||
<img src="./b0atyNamePage_files/arrow_up.gif" alt="Scroll Up">
|
||||
</a>
|
||||
<a class="personal-hiscores__pagination-arrow personal-hiscores__pagination-arrow--down" href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=0&page=345" title="Scroll down table">
|
||||
<img src="./b0atyNamePage_files/arrow_down.gif" alt="Scroll Down">
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footerHiscores"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="personal-hiscores__side-input">
|
||||
|
||||
|
||||
<form action="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal" method="post">
|
||||
<div class="smallBox">
|
||||
<p>
|
||||
<b>Search by name</b>
|
||||
<input class="text" maxlength="12" type="text" name="user1" value="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;">
|
||||
<input maxlength="12" type="submit" name="submit" value="Search">
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<form action="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=0" method="post">
|
||||
<div class="smallBox">
|
||||
<p>
|
||||
<b>Search by rank</b>
|
||||
<input class="text" maxlength="12" type="text" name="rank" value="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;">
|
||||
<input type="hidden" name="table" value="0">
|
||||
<input type="submit" name="submit" value="Search">
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<form action="https://secure.runescape.com/m=hiscore_oldschool/compare" method="post" class="compareForm">
|
||||
<div class="largeBox">
|
||||
<p>
|
||||
<b>Compare Users</b>
|
||||
<input class="text" maxlength="12" type="text" name="user1" value="" pattern="^[a-zA-Z0-9]+([ _-&nbsp;]{0,10}[0-9a-zA-Z]+)*$" title="player name" required="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%; cursor: auto;">
|
||||
<input class="text" maxlength="12" type="text" name="user2" value="" pattern="^[a-zA-Z0-9]+([ _-&nbsp;]{0,10}[0-9a-zA-Z]+)*$" title="player name" required="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%; cursor: pointer;">
|
||||
<input type="submit" name="submit" value="Compare">
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<div class="largeBox">
|
||||
<div class="loginPrompt">
|
||||
<b>Friends Hiscores</b>
|
||||
To view personal<br>
|
||||
hiscores and compare<br>
|
||||
yourself to your friends<br>
|
||||
</div>
|
||||
<a href="https://secure.runescape.com/m=weblogin/oldschool_login?mod=hiscore_oldschool&ssl=0&dest=hiscorefriends_all" class="linkToFriends">Click here</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tandc">
|
||||
<a href="http://www.jagex.com/" target="_top"><img class="footer__jagex-img" src="./b0atyNamePage_files/jagex-logo-landscape.svg" alt="Jagex Software"></a>
|
||||
<p class="tandc__copy">This website and its contents are copyright <20> 1999 - 2021 Jagex Ltd, 220 Science Park, Cambridge, CB4 0WA, United Kingdom.<br>Use of this website is subject to our <a href="https://www.jagex.com/terms/terms.ws" target="_blank">Terms & Conditions</a> and <a href="https://www.jagex.com/privacy/privacy.ws" target="_blank">Privacy Policy</a>. <br><a href="https://www.jagex.com/terms/rules-of-old-school-runescape">Rules of Old School RuneScape</a> | <a href="https://www.jagex.com/terms/cookies.ws">Change Cookie Settings</a></p>
|
||||
<a class="osrsRSS" target="_BLANK" href="https://secure.runescape.com/m=news/latest_news.rss?oldschool=true"><img src="./b0atyNamePage_files/rss.png" title="OSRS RSS Feed" alt="OSRS RSS Feed"></a>
|
||||
</div> <script src="./b0atyNamePage_files/modernizr_3_0_0_min-100.js"></script>
|
||||
<script src="./b0atyNamePage_files/rsp777_basic-105.js"></script>
|
||||
<script src="./b0atyNamePage_files/rsp777_twitter-100.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
if ($("#fb-root").length == 0){
|
||||
$("body").prepend('<div id="fb-root" class="174823375888281"></div>');
|
||||
window.fbAsyncInit = function() {
|
||||
FB.init({
|
||||
appId: '174823375888281',
|
||||
status: false,
|
||||
cookie: true,
|
||||
xfbml: true,
|
||||
oauth: true,
|
||||
version: 'v2.8'
|
||||
});
|
||||
};
|
||||
(function() {
|
||||
var e = document.createElement('script');
|
||||
e.async = true;
|
||||
e.src = document.location.protocol + '//connect.facebook.net/en_US/sdk.js';
|
||||
document.getElementById('fb-root').appendChild(e);
|
||||
}());
|
||||
}
|
||||
</script>
|
||||
<a style="display:none" id="SNbuttonLink" class="thickbox"></a>
|
||||
<script type="text/javascript">
|
||||
function fbLoginRedirect(buttonName, loginUrl, destUrl, destStr, _target){
|
||||
$.getJSON('https://secure.runescape.com/m=sn-integration/checkLogin.ws?json=?', {"tps":0, "token":FB.getAuthResponse().accessToken, "expiry":FB.getAuthResponse().expiresIn, "signed":FB.getAuthResponse().signedRequest}, function(data) {
|
||||
if(typeof(_target) != 'undefined' && _target != '') $("#SNbuttonLink").attr('target',_target);
|
||||
if (data['sso']<0) {
|
||||
|
||||
|
||||
JAGEX.socialnetworks.SNNotification("There was a problem verifying your login. Please try again.");
|
||||
} else if (data['sso'].length > 1){
|
||||
|
||||
if(data['sna']>-1) {
|
||||
|
||||
|
||||
$("#SNbuttonLink").attr('href',loginUrl+'key='+data['sso']+'&tps=0&'+destStr+'&KeepThis=true&TB_iframe=true&height=500&width=560');
|
||||
|
||||
$("#SNbuttonLink").click();
|
||||
$("#TB_iframeContent").attr("allowTransparency", "true");
|
||||
|
||||
$("#TB_iframeContent").css("padding-left", "50px");
|
||||
|
||||
} else {
|
||||
|
||||
var loc = destUrl+'?key='+data['sso']+'?'+destStr;
|
||||
if(typeof(_target) != 'undefined' && _target != ''){
|
||||
window.parent.location = loc;
|
||||
}
|
||||
else {
|
||||
window.location = loc;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
|
||||
$("#SNbuttonLink").attr('href',loginUrl+destStr+'&KeepThis=true&TB_iframe=true&height=400&width=442');
|
||||
|
||||
$("#SNbuttonLink").click();
|
||||
$("#TB_iframeContent").attr("allowTransparency", "true");
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="./b0atyNamePage_files/plugins-100.js"></script>
|
||||
<script>
|
||||
var RESPONSIVE = RESPONSIVE || {};
|
||||
RESPONSIVE.constant = RESPONSIVE.constant || {};
|
||||
|
||||
|
||||
RESPONSIVE.constant.user = {
|
||||
language: 0,
|
||||
isLoggedIn: 0
|
||||
};
|
||||
|
||||
</script>
|
||||
<script type="text/javascript" src="./b0atyNamePage_files/gtm-100.js"></script>
|
||||
</div>
|
||||
|
||||
</body></html>
|
@@ -1,3 +1,6 @@
|
||||
import axios from 'axios';
|
||||
import { readFileSync } from 'fs';
|
||||
|
||||
import {
|
||||
parseStats,
|
||||
getSkillPage,
|
||||
@@ -5,186 +8,270 @@ import {
|
||||
getStatsByGamemode,
|
||||
getRSNFormat,
|
||||
Stats,
|
||||
getPlayerTableURL,
|
||||
getSkillPageURL,
|
||||
getStatsURL,
|
||||
BOSSES,
|
||||
INVALID_FORMAT_ERROR
|
||||
} from '../src/index';
|
||||
|
||||
const B0ATY_NAME = 'B0ATY';
|
||||
const B0ATY_FORMATTED_NAME = 'B0aty';
|
||||
const LYNX_TITAN_SPACE_NAME = 'lYnX tiTaN';
|
||||
const LYNX_TITAN_UNDERSCORE_NAME = 'lYnX_tiTaN';
|
||||
const LYNX_TITAN_HYPHEN_NAME = 'lYnX-tiTaN';
|
||||
const LYNX_TITAN_FORMATTED_NAME = 'Lynx Titan';
|
||||
|
||||
const attackTopPage = readFileSync(`${__dirname}/attackTopPage.html`, 'utf8');
|
||||
const b0atyNamePage = readFileSync(`${__dirname}/b0atyNamePage.html`, 'utf8');
|
||||
const lynxTitanStats = readFileSync(`${__dirname}/lynxTitanStats.csv`, 'utf8');
|
||||
const lynxTitanNamePage = readFileSync(
|
||||
`${__dirname}/lynxTitanNamePage.html`,
|
||||
'utf8'
|
||||
);
|
||||
|
||||
jest.spyOn(axios, 'get').mockImplementation((url) => {
|
||||
const lynxUrls = [
|
||||
getPlayerTableURL('main', LYNX_TITAN_SPACE_NAME),
|
||||
getPlayerTableURL('main', LYNX_TITAN_UNDERSCORE_NAME),
|
||||
getPlayerTableURL('main', LYNX_TITAN_HYPHEN_NAME)
|
||||
];
|
||||
if (lynxUrls.includes(url)) {
|
||||
return Promise.resolve({ data: lynxTitanNamePage });
|
||||
}
|
||||
if (getPlayerTableURL('main', B0ATY_NAME) === url) {
|
||||
return Promise.resolve({ data: b0atyNamePage });
|
||||
}
|
||||
if (getSkillPageURL('main', 'attack', 1) === url) {
|
||||
return Promise.resolve({ data: attackTopPage });
|
||||
}
|
||||
if (getStatsURL('main', LYNX_TITAN_FORMATTED_NAME) === url) {
|
||||
return Promise.resolve({ status: 200, data: lynxTitanStats });
|
||||
}
|
||||
throw new Error(`No mock response for URL: ${url}`);
|
||||
});
|
||||
|
||||
test('Parse CSV to json', () => {
|
||||
const csv = `40258,2063,218035714
|
||||
20554, 99, 21102621
|
||||
39059, 99, 15364425
|
||||
14245, 99, 26556827
|
||||
19819, 99, 33511407
|
||||
27857, 99, 25774115
|
||||
44278, 91, 6081159
|
||||
40110, 99, 15128024
|
||||
178948, 90, 5347474
|
||||
175463, 81, 2355494
|
||||
138677, 90, 5356303
|
||||
77587, 91, 5904710
|
||||
158478, 85, 3570485
|
||||
93958, 83, 2684426
|
||||
39179, 88, 4425107
|
||||
138406, 77, 1591377
|
||||
33399, 90, 5866307
|
||||
1794, 99, 15057674
|
||||
45551, 91, 6363261
|
||||
121165, 90, 5748493
|
||||
89460, 88, 4624078
|
||||
53099, 80, 2008229
|
||||
169127, 73, 1067670
|
||||
115543, 82, 2546048
|
||||
-1, -1
|
||||
-1, -1
|
||||
-1, -1
|
||||
24817, 476
|
||||
212728, 1
|
||||
94827, 20
|
||||
59099, 74
|
||||
24642, 231
|
||||
5206, 99
|
||||
6293, 51
|
||||
32875, 500
|
||||
374,2780
|
||||
934,3000
|
||||
1936,1452
|
||||
4919,23
|
||||
101,4038
|
||||
152,334
|
||||
6153,133
|
||||
4501,250
|
||||
6806,603
|
||||
const csv = `246,2277,1338203419
|
||||
615,99,77438259
|
||||
428,99,69176307
|
||||
425,99,115218641
|
||||
138,99,181425111
|
||||
160,99,169725807
|
||||
97,99,50666171
|
||||
144,99,93155913
|
||||
2108,99,53198880
|
||||
5750,99,19589494
|
||||
295,99,76386488
|
||||
1304,99,32252994
|
||||
847,99,54325931
|
||||
534,99,26379932
|
||||
7213,99,13246799
|
||||
2475,99,18161285
|
||||
1837,99,14746134
|
||||
668,99,23961670
|
||||
3841,99,17970837
|
||||
265,99,56230978
|
||||
821,99,62123353
|
||||
169,99,43127930
|
||||
810,99,37688883
|
||||
92,99,32005622
|
||||
23423,478
|
||||
99831,23
|
||||
89912,37
|
||||
32,12148
|
||||
3105,76
|
||||
1997,505
|
||||
127,4259
|
||||
361,915
|
||||
392,250
|
||||
1,6143
|
||||
4814,898
|
||||
37,225
|
||||
23,467
|
||||
382,2780
|
||||
944,3000
|
||||
1981,1452
|
||||
4981,23
|
||||
888,1046
|
||||
613,4856
|
||||
102,4038
|
||||
156,334
|
||||
6240,133
|
||||
4569,250
|
||||
6893,603
|
||||
1,17798
|
||||
9160,125
|
||||
1021,2802
|
||||
4295,1655
|
||||
959,2951
|
||||
10009,1
|
||||
1271,2407
|
||||
378,4669
|
||||
543,1567
|
||||
6003,94
|
||||
263,2897
|
||||
4000,1277
|
||||
41016,1477
|
||||
617,2391
|
||||
9320,125
|
||||
1030,2802
|
||||
4342,1655
|
||||
966,2951
|
||||
10151,1
|
||||
1288,2407
|
||||
377,4669
|
||||
545,1567
|
||||
6083,94
|
||||
264,2897
|
||||
4052,1277
|
||||
41643,1477
|
||||
625,2391
|
||||
120,2981
|
||||
1,109
|
||||
99,39002
|
||||
3,22666
|
||||
2,84
|
||||
26,323
|
||||
198,1101
|
||||
81,3404
|
||||
5027,61
|
||||
201,1101
|
||||
82,3404
|
||||
5085,61
|
||||
18823,23
|
||||
63,375
|
||||
2845,6
|
||||
6913,138
|
||||
3999,2000
|
||||
484,8
|
||||
957,47
|
||||
10987,223
|
||||
1923,272
|
||||
8484,1340
|
||||
599,1694
|
||||
12489,435
|
||||
3810,4583`;
|
||||
2870,6
|
||||
6984,138
|
||||
23,923141
|
||||
4043,2000
|
||||
489,8
|
||||
967,47
|
||||
11155,223
|
||||
1940,272
|
||||
8623,1340
|
||||
605,1694
|
||||
-1,-1
|
||||
3867,4583`;
|
||||
|
||||
const expectedOutput: Stats = {
|
||||
skills: {
|
||||
overall: { rank: 40258, level: 2063, xp: 218035714 },
|
||||
attack: { rank: 20554, level: 99, xp: 21102621 },
|
||||
defence: { rank: 39059, level: 99, xp: 15364425 },
|
||||
strength: { rank: 14245, level: 99, xp: 26556827 },
|
||||
hitpoints: { rank: 19819, level: 99, xp: 33511407 },
|
||||
ranged: { rank: 27857, level: 99, xp: 25774115 },
|
||||
prayer: { rank: 44278, level: 91, xp: 6081159 },
|
||||
magic: { rank: 40110, level: 99, xp: 15128024 },
|
||||
cooking: { rank: 178948, level: 90, xp: 5347474 },
|
||||
woodcutting: { rank: 175463, level: 81, xp: 2355494 },
|
||||
fletching: { rank: 138677, level: 90, xp: 5356303 },
|
||||
fishing: { rank: 77587, level: 91, xp: 5904710 },
|
||||
firemaking: { rank: 158478, level: 85, xp: 3570485 },
|
||||
crafting: { rank: 93958, level: 83, xp: 2684426 },
|
||||
smithing: { rank: 39179, level: 88, xp: 4425107 },
|
||||
mining: { rank: 138406, level: 77, xp: 1591377 },
|
||||
herblore: { rank: 33399, level: 90, xp: 5866307 },
|
||||
agility: { rank: 1794, level: 99, xp: 15057674 },
|
||||
thieving: { rank: 45551, level: 91, xp: 6363261 },
|
||||
slayer: { rank: 121165, level: 90, xp: 5748493 },
|
||||
farming: { rank: 89460, level: 88, xp: 4624078 },
|
||||
runecraft: { rank: 53099, level: 80, xp: 2008229 },
|
||||
hunter: { rank: 169127, level: 73, xp: 1067670 },
|
||||
construction: { rank: 115543, level: 82, xp: 2546048 },
|
||||
overall: { rank: 246, level: 2277, xp: 1338203419 },
|
||||
attack: { rank: 615, level: 99, xp: 77438259 },
|
||||
defence: { rank: 428, level: 99, xp: 69176307 },
|
||||
strength: { rank: 425, level: 99, xp: 115218641 },
|
||||
hitpoints: { rank: 138, level: 99, xp: 181425111 },
|
||||
ranged: { rank: 160, level: 99, xp: 169725807 },
|
||||
prayer: { rank: 97, level: 99, xp: 50666171 },
|
||||
magic: { rank: 144, level: 99, xp: 93155913 },
|
||||
cooking: { rank: 2108, level: 99, xp: 53198880 },
|
||||
woodcutting: { rank: 5750, level: 99, xp: 19589494 },
|
||||
fletching: { rank: 295, level: 99, xp: 76386488 },
|
||||
fishing: { rank: 1304, level: 99, xp: 32252994 },
|
||||
firemaking: { rank: 847, level: 99, xp: 54325931 },
|
||||
crafting: { rank: 534, level: 99, xp: 26379932 },
|
||||
smithing: { rank: 7213, level: 99, xp: 13246799 },
|
||||
mining: { rank: 2475, level: 99, xp: 18161285 },
|
||||
herblore: { rank: 1837, level: 99, xp: 14746134 },
|
||||
agility: { rank: 668, level: 99, xp: 23961670 },
|
||||
thieving: { rank: 3841, level: 99, xp: 17970837 },
|
||||
slayer: { rank: 265, level: 99, xp: 56230978 },
|
||||
farming: { rank: 821, level: 99, xp: 62123353 },
|
||||
runecraft: { rank: 169, level: 99, xp: 43127930 },
|
||||
hunter: { rank: 810, level: 99, xp: 37688883 },
|
||||
construction: { rank: 92, level: 99, xp: 32005622 }
|
||||
},
|
||||
leaguePoints: { rank: -1, score: -1 },
|
||||
leaguePoints: { rank: 23423, score: 478 },
|
||||
bountyHunter: {
|
||||
rogue: { rank: -1, score: -1 },
|
||||
hunter: { rank: -1, score: -1 },
|
||||
hunter: { rank: 99831, score: 23 },
|
||||
rogue: { rank: 89912, score: 37 }
|
||||
},
|
||||
lastManStanding: { rank: 32875, score: 500 },
|
||||
lastManStanding: { rank: 4814, score: 898 },
|
||||
soulWarsZeal: { rank: 37, score: 225 },
|
||||
riftsClosed: { rank: 23, score: 467 },
|
||||
clues: {
|
||||
all: { rank: 24817, score: 476 },
|
||||
beginner: { rank: 212728, score: 1 },
|
||||
easy: { rank: 94827, score: 20 },
|
||||
medium: { rank: 59099, score: 74 },
|
||||
hard: { rank: 24642, score: 231 },
|
||||
elite: { rank: 5206, score: 99 },
|
||||
master: { rank: 6293, score: 51 },
|
||||
all: { rank: 32, score: 12148 },
|
||||
beginner: { rank: 3105, score: 76 },
|
||||
easy: { rank: 1997, score: 505 },
|
||||
medium: { rank: 127, score: 4259 },
|
||||
hard: { rank: 361, score: 915 },
|
||||
elite: { rank: 392, score: 250 },
|
||||
master: { rank: 1, score: 6143 }
|
||||
},
|
||||
bosses: {
|
||||
abyssalSire: { rank: 374, score: 2780 },
|
||||
alchemicalHydra: { rank: 934, score: 3000 },
|
||||
barrows: { rank: 1936, score: 1452 },
|
||||
bryophyta: { rank: 4919, score: 23 },
|
||||
callisto: { rank: -1, score: -1 },
|
||||
cerberus: { rank: -1, score: -1 },
|
||||
chambersOfXeric: { rank: 101, score: 4038 },
|
||||
chambersOfXericChallengeMode: { rank: 152, score: 334 },
|
||||
chaosElemental: { rank: 6153, score: 133 },
|
||||
chaosFanatic: { rank: 4501, score: 250 },
|
||||
commanderZilyana: { rank: 6806, score: 603 },
|
||||
abyssalSire: { rank: 382, score: 2780 },
|
||||
alchemicalHydra: { rank: 944, score: 3000 },
|
||||
barrows: { rank: 1981, score: 1452 },
|
||||
bryophyta: { rank: 4981, score: 23 },
|
||||
callisto: { rank: 888, score: 1046 },
|
||||
cerberus: { rank: 613, score: 4856 },
|
||||
chambersOfXeric: { rank: 102, score: 4038 },
|
||||
chambersOfXericChallengeMode: { rank: 156, score: 334 },
|
||||
chaosElemental: { rank: 6240, score: 133 },
|
||||
chaosFanatic: { rank: 4569, score: 250 },
|
||||
commanderZilyana: { rank: 6893, score: 603 },
|
||||
corporealBeast: { rank: 1, score: 17798 },
|
||||
crazyArchaeologist: { rank: 9160, score: 125 },
|
||||
dagannothPrime: { rank: 1021, score: 2802 },
|
||||
dagannothRex: { rank: 4295, score: 1655 },
|
||||
dagannothSupreme: { rank: 959, score: 2951 },
|
||||
derangedArchaeologist: { rank: 10009, score: 1 },
|
||||
generalGraardor: { rank: 1271, score: 2407 },
|
||||
giantMole: { rank: 378, score: 4669 },
|
||||
grotesqueGuardians: { rank: 543, score: 1567 },
|
||||
hespori: { rank: 6003, score: 94 },
|
||||
kalphiteQueen: { rank: 263, score: 2897 },
|
||||
kingBlackDragon: { rank: 4000, score: 1277 },
|
||||
kraken: { rank: 41016, score: 1477 },
|
||||
kreeArra: { rank: 617, score: 2391 },
|
||||
crazyArchaeologist: { rank: 9320, score: 125 },
|
||||
dagannothPrime: { rank: 1030, score: 2802 },
|
||||
dagannothRex: { rank: 4342, score: 1655 },
|
||||
dagannothSupreme: { rank: 966, score: 2951 },
|
||||
derangedArchaeologist: { rank: 10151, score: 1 },
|
||||
generalGraardor: { rank: 1288, score: 2407 },
|
||||
giantMole: { rank: 377, score: 4669 },
|
||||
grotesqueGuardians: { rank: 545, score: 1567 },
|
||||
hespori: { rank: 6083, score: 94 },
|
||||
kalphiteQueen: { rank: 264, score: 2897 },
|
||||
kingBlackDragon: { rank: 4052, score: 1277 },
|
||||
kraken: { rank: 41643, score: 1477 },
|
||||
kreeArra: { rank: 625, score: 2391 },
|
||||
krilTsutsaroth: { rank: 120, score: 2981 },
|
||||
mimic: { rank: 1, score: 109 },
|
||||
nex: { rank: 99, score: 39002 },
|
||||
nightmare: { rank: 3, score: 22666 },
|
||||
phosanisNightmare: { rank: 2, score: 84 },
|
||||
obor: { rank: 26, score: 323 },
|
||||
sarachnis: { rank: 198, score: 1101 },
|
||||
scorpia: { rank: 81, score: 3404 },
|
||||
skotizo: { rank: 5027, score: 61 },
|
||||
sarachnis: { rank: 201, score: 1101 },
|
||||
scorpia: { rank: 82, score: 3404 },
|
||||
skotizo: { rank: 5085, score: 61 },
|
||||
tempoross: { rank: 18823, score: 23 },
|
||||
gauntlet: { rank: 63, score: 375 },
|
||||
corruptedGauntlet: { rank: 2845, score: 6 },
|
||||
theatreOfBlood: { rank: 6913, score: 138 },
|
||||
thermonuclearSmokeDevil: { rank: 3999, score: 2000 },
|
||||
tzKalZuk: { rank: 484, score: 8 },
|
||||
tzTokJad: { rank: 957, score: 47 },
|
||||
venenatis: { rank: 10987, score: 223 },
|
||||
vetion: { rank: 1923, score: 272 },
|
||||
vorkath: { rank: 8484, score: 1340 },
|
||||
wintertodt: { rank: 599, score: 1694 },
|
||||
zalcano: { rank: 12489, score: 435 },
|
||||
zulrah: { rank: 3810, score: 4583 },
|
||||
},
|
||||
corruptedGauntlet: { rank: 2870, score: 6 },
|
||||
theatreOfBlood: { rank: 6984, score: 138 },
|
||||
theatreOfBloodHardMode: { rank: 23, score: 923141 },
|
||||
thermonuclearSmokeDevil: { rank: 4043, score: 2000 },
|
||||
tzKalZuk: { rank: 489, score: 8 },
|
||||
tzTokJad: { rank: 967, score: 47 },
|
||||
venenatis: { rank: 11155, score: 223 },
|
||||
vetion: { rank: 1940, score: 272 },
|
||||
vorkath: { rank: 8623, score: 1340 },
|
||||
wintertodt: { rank: 605, score: 1694 },
|
||||
zalcano: { rank: -1, score: -1 },
|
||||
zulrah: { rank: 3867, score: 4583 }
|
||||
}
|
||||
};
|
||||
|
||||
expect(parseStats(csv)).toStrictEqual(expectedOutput);
|
||||
});
|
||||
|
||||
test('Get name format', async () => {
|
||||
jest.setTimeout(30000);
|
||||
const data = await getRSNFormat('lYnX tiTaN');
|
||||
expect(data).toBe('Lynx Titan');
|
||||
test('Parse CSV with unknown activity', () => {
|
||||
const statsWithUnknownActivity = `${lynxTitanStats}
|
||||
-1,-1`;
|
||||
expect(() => parseStats(statsWithUnknownActivity)).toThrow(
|
||||
INVALID_FORMAT_ERROR
|
||||
);
|
||||
});
|
||||
|
||||
test('Parse invalid CSV', () => {
|
||||
expect(() => parseStats('invalid')).toThrow(INVALID_FORMAT_ERROR);
|
||||
});
|
||||
|
||||
describe('Get name format', () => {
|
||||
it('gets a name with a space', async () => {
|
||||
const data = await getRSNFormat(LYNX_TITAN_SPACE_NAME);
|
||||
expect(data).toBe(LYNX_TITAN_FORMATTED_NAME);
|
||||
});
|
||||
it('gets a name with an underscore', async () => {
|
||||
const data = await getRSNFormat(LYNX_TITAN_UNDERSCORE_NAME);
|
||||
expect(data).toBe(LYNX_TITAN_FORMATTED_NAME);
|
||||
});
|
||||
it('gets a name with a hyphen', async () => {
|
||||
const data = await getRSNFormat(LYNX_TITAN_HYPHEN_NAME);
|
||||
expect(data).toBe(LYNX_TITAN_FORMATTED_NAME);
|
||||
});
|
||||
it('gets a name with a number', async () => {
|
||||
const data = await getRSNFormat(B0ATY_NAME);
|
||||
expect(data).toBe(B0ATY_FORMATTED_NAME);
|
||||
});
|
||||
it('throws an error for a name with invalid characters', async () => {
|
||||
await expect(getRSNFormat('b&aty')).rejects.toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
test('Get attack top page', async () => {
|
||||
jest.setTimeout(30000);
|
||||
const data = await getSkillPage('attack');
|
||||
expect(data).toMatchObject([
|
||||
{
|
||||
@@ -192,176 +279,181 @@ test('Get attack top page', async () => {
|
||||
rank: 1,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 2,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 3,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false
|
||||
},
|
||||
{ name: 'Drakon', rank: 3, level: 99, xp: 200000000, dead: false },
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 4,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 5,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 6,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 7,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 8,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 9,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 10,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 11,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 12,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 13,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 14,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 15,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 16,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 17,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 18,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 19,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 20,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 21,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 22,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 23,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 24,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
dead: false
|
||||
},
|
||||
{
|
||||
name: expect.any(String),
|
||||
rank: 25,
|
||||
level: 99,
|
||||
xp: 200000000,
|
||||
dead: false,
|
||||
},
|
||||
dead: false
|
||||
}
|
||||
]);
|
||||
});
|
||||
|
||||
test('Get non-existant player', async () => {
|
||||
jest.setTimeout(30000);
|
||||
getStats('fishy').catch(err => {
|
||||
test('Get non-existent player', async () => {
|
||||
getStats('fishy').catch((err) => {
|
||||
if (err.response) {
|
||||
expect(err.response.status).toBe(404);
|
||||
}
|
||||
@@ -369,8 +461,10 @@ test('Get non-existant player', async () => {
|
||||
});
|
||||
|
||||
test('Get stats by gamemode', async () => {
|
||||
jest.setTimeout(30000);
|
||||
const { skills } = await getStatsByGamemode('Lynx Titan');
|
||||
const { skills, bosses } = await getStatsByGamemode(
|
||||
LYNX_TITAN_FORMATTED_NAME
|
||||
);
|
||||
|
||||
expect(skills).toMatchObject({
|
||||
overall: { rank: expect.any(Number), level: 2277, xp: 4600000000 },
|
||||
attack: { rank: expect.any(Number), level: 99, xp: 200000000 },
|
||||
@@ -395,6 +489,11 @@ test('Get stats by gamemode', async () => {
|
||||
farming: { rank: expect.any(Number), level: 99, xp: 200000000 },
|
||||
runecraft: { rank: expect.any(Number), level: 99, xp: 200000000 },
|
||||
hunter: { rank: expect.any(Number), level: 99, xp: 200000000 },
|
||||
construction: { rank: expect.any(Number), level: 99, xp: 200000000 },
|
||||
construction: { rank: expect.any(Number), level: 99, xp: 200000000 }
|
||||
});
|
||||
|
||||
const bossKeys = Object.keys(bosses);
|
||||
expect(bossKeys).toStrictEqual(BOSSES);
|
||||
|
||||
expect.assertions(2);
|
||||
});
|
||||
|
952
__tests__/lynxTitanNamePage.html
vendored
Normal file
952
__tests__/lynxTitanNamePage.html
vendored
Normal file
@@ -0,0 +1,952 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- saved from url=(0090)https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=0&user=lynx%20titan -->
|
||||
<html class="js svg websockets localstorage websocketsbinary sharedworkers webworkers classlist canvas video webgl csspointerevents progressbar meter fileinput inlinesvg supports datalistelem no-touchevents details indexeddb indexeddb-deletedatabase appearance backgroundcliptext borderimage boxsizing cssfilters flexbox flexboxlegacy no-flexboxtweener webp webp-alpha webp-animation webp-lossless dataworkers blobworkers no-videoautoplay" lang="en" data-whatinput="mouse" data-whatintent="mouse"><!--<![endif]--><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><script src="./lynxTitanNamePage_files/sdk.js" async="" crossorigin="anonymous"></script><script async="" src="./lynxTitanNamePage_files/gtm.js"></script><script src="./lynxTitanNamePage_files/Criciousand-meth-shake-Exit-be-till-in-ches-Shad" async=""></script>
|
||||
<link href="./lynxTitanNamePage_files/rsp777_basic-101.css" rel="stylesheet" type="text/css" media="all">
|
||||
|
||||
<script src="./lynxTitanNamePage_files/vendor-1.js"></script>
|
||||
<title>Old School Hiscores</title>
|
||||
<meta name="keywords" content="MMORPG, free RPG games online, online multiplayer, role-playing, massively multiplayer games, mmo, RuneScape, Jagex">
|
||||
<meta name="description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
|
||||
<link rel="icon" type="image/vnd.microsoft.icon" href="https://www.runescape.com/img/global/favicon.ico">
|
||||
<link rel="SHORTCUT ICON" href="https://www.runescape.com/img/global/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="https://www.runescape.com/img/global/mobile.png">
|
||||
<meta property="fb:app_id" content="174823375888281">
|
||||
|
||||
<meta property="og:title" content="Old School Hiscores">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="Old School RuneScape">
|
||||
<meta property="og:image" content="https://www.runescape.com/img/rsp777/social-share-fb.jpg?1">
|
||||
<meta property="og:url" content="https://www.runescape.com">
|
||||
<meta property="og:description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
<meta name="google-site-verification" content="RFtGg-G07XweT7nQe032HocvnRPhJAsdZqrq4NX_Op8">
|
||||
<meta itemprop="name" content="RuneScape">
|
||||
<meta itemprop="description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
<meta name="twitter:domain" content="Oldschool.RuneScape.com">
|
||||
<meta name="twitter:url" content="https://www.runescape.com">
|
||||
<meta name="twitter:title" content="Old School Hiscores">
|
||||
<meta name="twitter:description" content="If you're a RuneScape veteran hungry for nostalgia, get stuck right in to Old School RuneScape. Sign up for membership and re-live the adventure.">
|
||||
<meta name="twitter:image:src" content="https://www.runescape.com/img/rsp777/social-share.jpg?1">
|
||||
<meta name="twitter:site" content="@OldSchoolRS">
|
||||
<meta name="google-site-verification" content="pUwl5KYHKSZ6tbbgsR2wYNv1kbVmsYral3iFmijHTWM">
|
||||
<link href="./lynxTitanNamePage_files/rsp777_hiscore-105.css" rel="stylesheet" type="text/css" media="all">
|
||||
<style>
|
||||
|
||||
.leaguepoints:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_leaguepoints.png?2');
|
||||
}
|
||||
|
||||
.bountyhunterhunter:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_bountyhunterhunter.png?2');
|
||||
}
|
||||
|
||||
.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');
|
||||
}
|
||||
|
||||
.cluescrollsbeginner:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollsbeginner.png?2');
|
||||
}
|
||||
|
||||
.cluescrollseasy:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_cluescrollseasy.png?2');
|
||||
}
|
||||
|
||||
.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');
|
||||
}
|
||||
|
||||
.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');
|
||||
}
|
||||
|
||||
.soulwarszeal:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_soulwarszeal.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');
|
||||
}
|
||||
|
||||
.nightmare:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_nightmare.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');
|
||||
}
|
||||
|
||||
.thermonuclearsmokedevil:before {
|
||||
content: url('https://www.runescape.com/img/rsp777/game_icon_thermonuclearsmokedevil.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');
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css" data-fbcssmodules="css:fb.css.base css:fb.css.dialog css:fb.css.iframewidget css:fb.css.customer_chat_plugin_iframe">.fb_hidden{position:absolute;top:-10000px;z-index:10001}.fb_reposition{overflow:hidden;position:relative}.fb_invisible{display:none}.fb_reset{background:none;border:0;border-spacing:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}.fb_reset>div{overflow:hidden}@keyframes fb_transform{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fb_animate{animation:fb_transform .3s forwards}
|
||||
.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}.fb_dialog_advanced{border-radius:8px;padding:10px}.fb_dialog_content{background:#fff;color:#373737}.fb_dialog_close_icon{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px}.fb_dialog_mobile .fb_dialog_close_icon{left:5px;right:auto;top:5px}.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}.fb_dialog_close_icon:hover{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent}.fb_dialog_close_icon:active{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent}.fb_dialog_iframe{line-height:0}.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #365899;color:#fff;font-size:14px;font-weight:bold;margin:0}.fb_dialog_content .dialog_title>span{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/yd/r/Cou7n-nqK52.gif) no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}body.fb_hidden{height:100%;left:0;margin:0;overflow:visible;position:absolute;top:-10000px;transform:none;width:100%}.fb_dialog.fb_dialog_mobile.loading{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/ya/r/3rhSv5V8j3o.gif) white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}.fb_dialog.fb_dialog_mobile.loading.centered{background:none;height:auto;min-height:initial;min-width:initial;width:auto}.fb_dialog.fb_dialog_mobile.loading.centered #fb_dialog_loader_spinner{width:100%}.fb_dialog.fb_dialog_mobile.loading.centered .fb_dialog_content{background:none}.loading.centered #fb_dialog_loader_close{clear:both;color:#fff;display:block;font-size:18px;padding-top:20px}#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .4);bottom:0;left:0;min-height:100%;position:absolute;right:0;top:0;width:100%;z-index:10000}#fb-root #fb_dialog_ipad_overlay.hidden{display:none}.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}.fb_dialog_mobile .fb_dialog_iframe{position:sticky;top:0}.fb_dialog_content .dialog_header{background:linear-gradient(from(#738aba), to(#2c4987));border-bottom:1px solid;border-color:#043b87;box-shadow:white 0 1px 1px -1px inset;color:#fff;font:bold 14px Helvetica, sans-serif;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}.fb_dialog_content .dialog_header table{height:43px;width:100%}.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px}.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px}.fb_dialog_content .touchable_button{background:linear-gradient(from(#4267B2), to(#2a4887));background-clip:padding-box;border:1px solid #29487d;border-radius:3px;display:inline-block;line-height:18px;margin-top:3px;max-width:85px;padding:4px 12px;position:relative}.fb_dialog_content .dialog_header .touchable_button input{background:none;border:none;color:#fff;font:bold 12px Helvetica, sans-serif;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}.fb_dialog_content .dialog_content{background:url(https://static.xx.fbcdn.net/rsrc.php/v3/y9/r/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #4a4a4a;border-bottom:0;border-top:0;height:150px}.fb_dialog_content .dialog_footer{background:#f5f6f7;border:1px solid #4a4a4a;border-top-color:#ccc;height:40px}#fb_dialog_loader_close{float:left}.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}#fb_dialog_loader_spinner{animation:rotateSpinner 1.2s linear infinite;background-color:transparent;background-image:url(https://static.xx.fbcdn.net/rsrc.php/v3/yD/r/t-wz8gw1xG1.png);background-position:50% 50%;background-repeat:no-repeat;height:24px;width:24px}@keyframes rotateSpinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
|
||||
.fb_iframe_widget{display:inline-block;position:relative}.fb_iframe_widget span{display:inline-block;position:relative;text-align:justify}.fb_iframe_widget iframe{position:absolute}.fb_iframe_widget_fluid_desktop,.fb_iframe_widget_fluid_desktop span,.fb_iframe_widget_fluid_desktop iframe{max-width:100%}.fb_iframe_widget_fluid_desktop iframe{min-width:220px;position:relative}.fb_iframe_widget_lift{z-index:1}.fb_iframe_widget_fluid{display:inline}.fb_iframe_widget_fluid span{width:100%}
|
||||
.fb_mpn_mobile_landing_page_slide_out{animation-duration:200ms;animation-name:fb_mpn_landing_page_slide_out;transition-timing-function:ease-in}.fb_mpn_mobile_landing_page_slide_out_from_left{animation-duration:200ms;animation-name:fb_mpn_landing_page_slide_out_from_left;transition-timing-function:ease-in}.fb_mpn_mobile_landing_page_slide_up{animation-duration:500ms;animation-name:fb_mpn_landing_page_slide_up;transition-timing-function:ease-in}.fb_mpn_mobile_bounce_in{animation-duration:300ms;animation-name:fb_mpn_bounce_in;transition-timing-function:ease-in}.fb_mpn_mobile_bounce_out{animation-duration:300ms;animation-name:fb_mpn_bounce_out;transition-timing-function:ease-in}.fb_mpn_mobile_bounce_out_v2{animation-duration:300ms;animation-name:fb_mpn_fade_out;transition-timing-function:ease-in}.fb_customer_chat_bounce_in_v2{animation-duration:300ms;animation-name:fb_bounce_in_v2;transition-timing-function:ease-in}.fb_customer_chat_bounce_in_from_left{animation-duration:300ms;animation-name:fb_bounce_in_from_left;transition-timing-function:ease-in}.fb_customer_chat_bounce_out_v2{animation-duration:300ms;animation-name:fb_bounce_out_v2;transition-timing-function:ease-in}.fb_customer_chat_bounce_out_from_left{animation-duration:300ms;animation-name:fb_bounce_out_from_left;transition-timing-function:ease-in}.fb_customer_chat_bubble_animated_no_badge{box-shadow:0 3px 12px rgba(0, 0, 0, .15);transition:box-shadow 150ms linear}.fb_customer_chat_bubble_animated_no_badge:hover{box-shadow:0 5px 24px rgba(0, 0, 0, .3)}.fb_customer_chat_bubble_animated_with_badge{box-shadow:-5px 4px 14px rgba(0, 0, 0, .15);transition:box-shadow 150ms linear}.fb_customer_chat_bubble_animated_with_badge:hover{box-shadow:-5px 8px 24px rgba(0, 0, 0, .2)}.fb_invisible_flow{display:inherit;height:0;overflow-x:hidden;width:0}.fb_new_ui_mobile_overlay_active{overflow:hidden}@keyframes fb_mpn_landing_page_slide_in{0%{border-radius:50%;margin:0 24px;width:60px}40%{border-radius:18px}100%{margin:0 12px;width:100% - 24px}}@keyframes fb_mpn_landing_page_slide_in_from_left{0%{border-radius:50%;left:12px;margin:0 24px;width:60px}40%{border-radius:18px}100%{left:12px;margin:0 12px;width:100% - 24px}}@keyframes fb_mpn_landing_page_slide_out{0%{margin:0 12px;width:100% - 24px}60%{border-radius:18px}100%{border-radius:50%;margin:0 24px;width:60px}}@keyframes fb_mpn_landing_page_slide_out_from_left{0%{left:12px;width:100% - 24px}60%{border-radius:18px}100%{border-radius:50%;left:12px;width:60px}}@keyframes fb_mpn_landing_page_slide_up{0%{bottom:0;opacity:0}100%{bottom:24px;opacity:1}}@keyframes fb_mpn_bounce_in{0%{opacity:.5;top:100%}100%{opacity:1;top:0}}@keyframes fb_mpn_fade_out{0%{bottom:30px;opacity:1}100%{bottom:0;opacity:0}}@keyframes fb_mpn_bounce_out{0%{opacity:1;top:0}100%{opacity:.5;top:100%}}@keyframes fb_bounce_in_v2{0%{opacity:0;transform:scale(0, 0);transform-origin:bottom right}50%{transform:scale(1.03, 1.03);transform-origin:bottom right}100%{opacity:1;transform:scale(1, 1);transform-origin:bottom right}}@keyframes fb_bounce_in_from_left{0%{opacity:0;transform:scale(0, 0);transform-origin:bottom left}50%{transform:scale(1.03, 1.03);transform-origin:bottom left}100%{opacity:1;transform:scale(1, 1);transform-origin:bottom left}}@keyframes fb_bounce_out_v2{0%{opacity:1;transform:scale(1, 1);transform-origin:bottom right}100%{opacity:0;transform:scale(0, 0);transform-origin:bottom right}}@keyframes fb_bounce_out_from_left{0%{opacity:1;transform:scale(1, 1);transform-origin:bottom left}100%{opacity:0;transform:scale(0, 0);transform-origin:bottom left}}@keyframes fb_bounce_out_v2_mobile_chat_started{0%{opacity:1;top:0}100%{opacity:0;top:20px}}@keyframes fb_customer_chat_bubble_bounce_in_animation{0%{bottom:6pt;opacity:0;transform:scale(0, 0);transform-origin:center}70%{bottom:18pt;opacity:1;transform:scale(1.2, 1.2)}100%{transform:scale(1, 1)}}@keyframes slideInFromBottom{0%{opacity:.1;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottomDelay{0%{opacity:0;transform:translateY(100%)}97%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}</style></head>
|
||||
<body id="body"><div id="fb-root" class="174823375888281 fb_reset"><script async="" src="./lynxTitanNamePage_files/sdk(1).js"></script><div style="position: absolute; top: -10000px; width: 0px; height: 0px;"><div></div></div></div>
|
||||
<div class="centerDiv">
|
||||
<div class="frame wide_e">
|
||||
<span style="float:right;"><a id="loginLink" href="https://secure.runescape.com/m=weblogin/loginform?theme=oldschool&mod=hiscore_oldschool&ssl=1&dest=overall?category_type=0&user=lynx%20titan">Log in</a></span>
|
||||
</div>
|
||||
<br>
|
||||
<div class="hiscoretitlebground">
|
||||
<div class="hiscoretitleframe">
|
||||
|
||||
<strong>Old School Hiscores</strong><br>
|
||||
<a href="https://oldschool.runescape.com/">Home</a>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div align="center">
|
||||
|
||||
<div class="ironman-nav">
|
||||
<span class="ironman-nav__option ironman-nav__option--current">Hiscores</span>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_ironman/">Ironman</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_ultimate/">Ultimate Ironman</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_hardcore_ironman/">Hardcore Ironman</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_deadman/">Deadman Mode</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_seasonal/">Leagues</a>
|
||||
<a class="ironman-nav__option" href="https://secure.runescape.com/m=hiscore_oldschool_tournament/">Tournament</a>
|
||||
</div>
|
||||
<div class="personal-hiscores">
|
||||
<nav class="personal-hiscores__side-banner">
|
||||
<div id="col1">
|
||||
<div id="headerCategory"></div>
|
||||
<a class="personal-hiscores__scroll-arrow personal-hiscores__scroll-arrow--up personal-hiscores__scroll-arrow--disabled" href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=0&user=lynx%20titan#" data-js-scroll="up">Up</a>
|
||||
<div id="contentCategory">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=0&user=lynx%20titan" class=" Overall ">
|
||||
Overall
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=1&user=lynx%20titan" class=" Attack ">
|
||||
Attack
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=2&user=lynx%20titan" class=" Defence ">
|
||||
Defence
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=3&user=lynx%20titan" class=" Strength ">
|
||||
Strength
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=4&user=lynx%20titan" class=" Hitpoints ">
|
||||
Hitpoints
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=5&user=lynx%20titan" class=" Ranged ">
|
||||
Ranged
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=6&user=lynx%20titan" class=" Prayer ">
|
||||
Prayer
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=7&user=lynx%20titan" class=" Magic ">
|
||||
Magic
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=8&user=lynx%20titan" class=" Cooking ">
|
||||
Cooking
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=9&user=lynx%20titan" class=" Woodcutting ">
|
||||
Woodcutting
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=10&user=lynx%20titan" class=" Fletching ">
|
||||
Fletching
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=11&user=lynx%20titan" class=" Fishing ">
|
||||
Fishing
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=12&user=lynx%20titan" class=" Firemaking ">
|
||||
Firemaking
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=13&user=lynx%20titan" class=" Crafting ">
|
||||
Crafting
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=14&user=lynx%20titan" class=" Smithing ">
|
||||
Smithing
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=15&user=lynx%20titan" class=" Mining ">
|
||||
Mining
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=16&user=lynx%20titan" class=" Herblore ">
|
||||
Herblore
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=17&user=lynx%20titan" class=" Agility ">
|
||||
Agility
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=18&user=lynx%20titan" class=" Thieving ">
|
||||
Thieving
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=19&user=lynx%20titan" class=" Slayer ">
|
||||
Slayer
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=20&user=lynx%20titan" class=" Farming ">
|
||||
Farming
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=21&user=lynx%20titan" class=" Runecraft ">
|
||||
Runecraft
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=22&user=lynx%20titan" class=" Hunter ">
|
||||
Hunter
|
||||
</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=23&user=lynx%20titan" class=" Construction ">
|
||||
Construction
|
||||
</a>
|
||||
<span style="color: #d9c27e;display: block;text-align: center;">----</span>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=1&user=lynx%20titan" class="activity-link bountyhunterhunter">Bounty Hunter - Hunter</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=2&user=lynx%20titan" class="activity-link bountyhunterrogue">Bounty Hunter - Rogue</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=3&user=lynx%20titan" class="activity-link cluescrollsall">Clue Scrolls (all)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=4&user=lynx%20titan" class="activity-link cluescrollsbeginner">Clue Scrolls (beginner)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=5&user=lynx%20titan" class="activity-link cluescrollseasy">Clue Scrolls (easy)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=6&user=lynx%20titan" class="activity-link cluescrollsmedium">Clue Scrolls (medium)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=7&user=lynx%20titan" class="activity-link cluescrollshard">Clue Scrolls (hard)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=8&user=lynx%20titan" class="activity-link cluescrollselite">Clue Scrolls (elite)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=9&user=lynx%20titan" class="activity-link cluescrollsmaster">Clue Scrolls (master)</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=10&user=lynx%20titan" class="activity-link lmsrank">LMS - Rank</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=11&user=lynx%20titan" class="activity-link soulwarszeal">Soul Wars Zeal</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=12&user=lynx%20titan" class="activity-link abyssalsire">Abyssal Sire</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=13&user=lynx%20titan" class="activity-link alchemicalhydra">Alchemical Hydra</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=14&user=lynx%20titan" class="activity-link barrowschests">Barrows Chests</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=15&user=lynx%20titan" class="activity-link bryophyta">Bryophyta</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=16&user=lynx%20titan" class="activity-link callisto">Callisto</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=17&user=lynx%20titan" class="activity-link cerberus">Cerberus</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=18&user=lynx%20titan" class="activity-link chambersofxeric">Chambers of Xeric</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=19&user=lynx%20titan" class="activity-link chambersofxericchallengemode">Chambers of Xeric: Challenge Mode</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=20&user=lynx%20titan" class="activity-link chaoselemental">Chaos Elemental</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=21&user=lynx%20titan" class="activity-link chaosfanatic">Chaos Fanatic</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=22&user=lynx%20titan" class="activity-link commanderzilyana">Commander Zilyana</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=23&user=lynx%20titan" class="activity-link corporealbeast">Corporeal Beast</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=24&user=lynx%20titan" class="activity-link crazyarchaeologist">Crazy Archaeologist</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=25&user=lynx%20titan" class="activity-link dagannothprime">Dagannoth Prime</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=26&user=lynx%20titan" class="activity-link dagannothrex">Dagannoth Rex</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=27&user=lynx%20titan" class="activity-link dagannothsupreme">Dagannoth Supreme</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=28&user=lynx%20titan" class="activity-link derangedarchaeologist">Deranged Archaeologist</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=29&user=lynx%20titan" class="activity-link generalgraardor">General Graardor</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=30&user=lynx%20titan" class="activity-link giantmole">Giant Mole</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=31&user=lynx%20titan" class="activity-link grotesqueguardians">Grotesque Guardians</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=32&user=lynx%20titan" class="activity-link hespori">Hespori</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=33&user=lynx%20titan" class="activity-link kalphitequeen">Kalphite Queen</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=34&user=lynx%20titan" class="activity-link kingblackdragon">King Black Dragon</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=35&user=lynx%20titan" class="activity-link kraken">Kraken</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=36&user=lynx%20titan" class="activity-link kreearra">Kree'Arra</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=37&user=lynx%20titan" class="activity-link kriltsutsaroth">K'ril Tsutsaroth</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=38&user=lynx%20titan" class="activity-link mimic">Mimic</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=39&user=lynx%20titan" class="activity-link nightmare">Nightmare</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=40&user=lynx%20titan" class="activity-link obor">Obor</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=41&user=lynx%20titan" class="activity-link sarachnis">Sarachnis</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=42&user=lynx%20titan" class="activity-link scorpia">Scorpia</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=43&user=lynx%20titan" class="activity-link skotizo">Skotizo</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=44&user=lynx%20titan" class="activity-link tempoross">Tempoross</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=45&user=lynx%20titan" class="activity-link thegauntlet">The Gauntlet</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=46&user=lynx%20titan" class="activity-link thecorruptedgauntlet">The Corrupted Gauntlet</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=47&user=lynx%20titan" class="activity-link theatreofblood">Theatre of Blood</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=48&user=lynx%20titan" class="activity-link thermonuclearsmokedevil">Thermonuclear Smoke Devil</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=49&user=lynx%20titan" class="activity-link tzkalzuk">TzKal-Zuk</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=50&user=lynx%20titan" class="activity-link tztokjad">TzTok-Jad</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=51&user=lynx%20titan" class="activity-link venenatis">Venenatis</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=52&user=lynx%20titan" class="activity-link vetion">Vet'ion</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=53&user=lynx%20titan" class="activity-link vorkath">Vorkath</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=54&user=lynx%20titan" class="activity-link wintertodt">Wintertodt</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=55&user=lynx%20titan" class="activity-link zalcano">Zalcano</a>
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=1&table=56&user=lynx%20titan" class="activity-link zulrah">Zulrah</a>
|
||||
</div>
|
||||
<a class="personal-hiscores__scroll-arrow personal-hiscores__scroll-arrow--down" href="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=0&user=lynx%20titan#" data-js-scroll="down">Down</a>
|
||||
<div id="footerCategory"></div>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="personal-hiscores__table">
|
||||
<div id="col2">
|
||||
<div id="headerHiscores"></div>
|
||||
<div class="hiscoresHiddenBG">
|
||||
<div id="contentHiscores">
|
||||
<table>
|
||||
<caption>
|
||||
<img class="miniimg" src="./lynxTitanNamePage_files/blank.gif">
|
||||
|
||||
Overall
|
||||
Hiscores
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="right">Rank</th>
|
||||
<th class="left">Name</th>
|
||||
<th>Level</th><th class="right">XP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="60"></td>
|
||||
<td width="120"></td>
|
||||
<td width="70"></td><td width="100"></td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
<span style="color:#AA0022;">1</span>
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Lynx%A0Titan"><span style="color:#AA0022;">Lynx Titan</span></a>
|
||||
</td>
|
||||
<td>
|
||||
<span style="color:#AA0022;">2,277</span>
|
||||
</td>
|
||||
<td class="right">
|
||||
<span color="#AA0022">4,600,000,000</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
2
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Hey%A0Jase">Hey Jase</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
3
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=ShawnBay">ShawnBay</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
4
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=senZe">senZe</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
5
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Tomdabom">Tomdabom</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
6
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Karma">Karma</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
7
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Harmony">Harmony</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
8
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=DedWilson">DedWilson</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
9
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=GodTormentor">GodTormentor</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
10
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Vinny">Vinny</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
11
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=borsi">borsi</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
12
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Brundeen">Brundeen</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
13
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Aziz">Aziz</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
14
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Eeli">Eeli</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
15
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=baile%A0y">baile y</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,600,000,000
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
16
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Dumbfounded">Dumbfounded</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,578,922,635
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
17
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Dan%A0Gleesac">Dan Gleesac</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,533,050,279
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
18
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=blind%A0idiot">blind idiot</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,522,080,162
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
19
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=he%20box%20jonge">he box jonge</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,511,571,769
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
20
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Oskar">Oskar</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,488,710,108
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
21
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Randalicious">Randalicious</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,431,024,107
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
22
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Gustav">Gustav</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,414,384,551
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
23
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Capt%A0King">Capt King</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,366,733,065
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
24
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Joonas">Joonas</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,318,668,761
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="personal-hiscores__row">
|
||||
<td class="right">
|
||||
25
|
||||
</td>
|
||||
<td class="left">
|
||||
<a href="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal?user1=Killzone">Killzone</a>
|
||||
</td>
|
||||
<td>
|
||||
2,277
|
||||
</td>
|
||||
<td class="right">
|
||||
4,289,590,389
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<nav class="personal-hiscores__pagination">
|
||||
<a class="personal-hiscores__pagination-arrow personal-hiscores__pagination-arrow--down" href="https://secure.runescape.com/m=hiscore_oldschool/overall?table=0&page=2" title="Scroll down table">
|
||||
<img src="./lynxTitanNamePage_files/arrow_down.gif" alt="Scroll Down">
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footerHiscores"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="personal-hiscores__side-input">
|
||||
|
||||
|
||||
<form action="https://secure.runescape.com/m=hiscore_oldschool/hiscorepersonal" method="post">
|
||||
<div class="smallBox">
|
||||
<p>
|
||||
<b>Search by name</b>
|
||||
<input class="text" maxlength="12" type="text" name="user1" value="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;">
|
||||
<input maxlength="12" type="submit" name="submit" value="Search">
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<form action="https://secure.runescape.com/m=hiscore_oldschool/overall?category_type=0" method="post">
|
||||
<div class="smallBox">
|
||||
<p>
|
||||
<b>Search by rank</b>
|
||||
<input class="text" maxlength="12" type="text" name="rank" value="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;">
|
||||
<input type="hidden" name="table" value="0">
|
||||
<input type="submit" name="submit" value="Search">
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<form action="https://secure.runescape.com/m=hiscore_oldschool/compare" method="post" class="compareForm">
|
||||
<div class="largeBox">
|
||||
<p>
|
||||
<b>Compare Users</b>
|
||||
<input class="text" maxlength="12" type="text" name="user1" value="" pattern="^[a-zA-Z0-9]+([ _-&nbsp;]{0,10}[0-9a-zA-Z]+)*$" title="player name" required="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;">
|
||||
<input class="text" maxlength="12" type="text" name="user2" value="" pattern="^[a-zA-Z0-9]+([ _-&nbsp;]{0,10}[0-9a-zA-Z]+)*$" title="player name" required="" autocomplete="off" style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAr1JREFUWAndVzuLIkEQrhmVVUHROwPvzkTWDRbF28BgjW7xVxwY+gfEYCNBA6PL/AsGx8UbLQayZqKJayIILshytyiogbIY+LiquelGx3F80INwDUNXV1V/9fWrukcCLIVC4ct8Pv+B4t1qtfpMOlFFkqQ/iPVktVrvs9nsby2upAZ/xsAftUaRbSQyRBJftSRkGrnZwWkgFEOd5Y1xydi629CY29iKJYtecyP+erFoBs5a/m8C19fXkMlkgOpdxdQZCIfD4Ha7gepdxVQCePaVuKzWI2EqAb2AWt0GgYuLC7i8vASv16v1g1NtW0AahZW1PR4PpFIpcLlcsFwu4eHhAZrNpmI+1cawjWo+A7e3t0pwcpZlGRKJBO93qo0DGAicgIGPqSZOoFarwWQyUYLRElQqFR74VBsHMBCkXC63YnbaaIFAAEajEYzHY6ZWaiPbhuOeBh7JN3Spqu+D1w0Ce/oKNSOREZK44UsgFP0AMLwZP9D74GwEVI7feB44gLShSz6fN7STsVQqwcvLC/fDWfh07hkAYTOgPTU0TLvdDg6HQxnxYrGAwWDAR88EYQSKxSLD5HUymYSrqyul3W63YTqdchsTZDwO9G4XXnw+H4RCIY7baDS4vC7QHnhaV4iS4/E4sHdAv9+HXq+nCy1TRkLHoa71RKXT6YRoNMp71+t1LmsFmf5U6I8FSfwUtRyxWAxsNpsSazabQavV0sbl7X9vJt7cL6zfHXreFosF0uk0v9rpInt8fNRzVXTC80AkEuHBMdHArs3HGAknQJuPlW63C8Oh8fYSSiAYDILf72fx946eHI9ORLhR3yiH8yhrAiUdlu3e39+h0+msWbdFwjqaAMJU8fu+DQdQLpeVT8+2Q1c9egnUvDHaAXiwGkdPD5L7owlg3njFjjcI8Ium8OCIqiP1ob6EQVh/AVA3+XEhdOWMAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%;">
|
||||
<input type="submit" name="submit" value="Compare">
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<div class="largeBox">
|
||||
<div class="loginPrompt">
|
||||
<b>Friends Hiscores</b>
|
||||
To view personal<br>
|
||||
hiscores and compare<br>
|
||||
yourself to your friends<br>
|
||||
</div>
|
||||
<a href="https://secure.runescape.com/m=weblogin/oldschool_login?mod=hiscore_oldschool&ssl=0&dest=hiscorefriends_all" class="linkToFriends">Click here</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tandc">
|
||||
<a href="http://www.jagex.com/" target="_top"><img class="footer__jagex-img" src="./lynxTitanNamePage_files/jagex-logo-landscape.svg" alt="Jagex Software"></a>
|
||||
<p class="tandc__copy">This website and its contents are copyright <20> 1999 - 2021 Jagex Ltd, 220 Science Park, Cambridge, CB4 0WA, United Kingdom.<br>Use of this website is subject to our <a href="https://www.jagex.com/terms/terms.ws" target="_blank">Terms & Conditions</a> and <a href="https://www.jagex.com/privacy/privacy.ws" target="_blank">Privacy Policy</a>. <br><a href="https://www.jagex.com/terms/rules-of-old-school-runescape">Rules of Old School RuneScape</a> | <a href="https://www.jagex.com/terms/cookies.ws">Change Cookie Settings</a></p>
|
||||
<a class="osrsRSS" target="_BLANK" href="https://secure.runescape.com/m=news/latest_news.rss?oldschool=true"><img src="./lynxTitanNamePage_files/rss.png" title="OSRS RSS Feed" alt="OSRS RSS Feed"></a>
|
||||
</div> <script src="./lynxTitanNamePage_files/modernizr_3_0_0_min-100.js"></script>
|
||||
<script src="./lynxTitanNamePage_files/rsp777_basic-105.js"></script>
|
||||
<script src="./lynxTitanNamePage_files/rsp777_twitter-100.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
if ($("#fb-root").length == 0){
|
||||
$("body").prepend('<div id="fb-root" class="174823375888281"></div>');
|
||||
window.fbAsyncInit = function() {
|
||||
FB.init({
|
||||
appId: '174823375888281',
|
||||
status: false,
|
||||
cookie: true,
|
||||
xfbml: true,
|
||||
oauth: true,
|
||||
version: 'v2.8'
|
||||
});
|
||||
};
|
||||
(function() {
|
||||
var e = document.createElement('script');
|
||||
e.async = true;
|
||||
e.src = document.location.protocol + '//connect.facebook.net/en_US/sdk.js';
|
||||
document.getElementById('fb-root').appendChild(e);
|
||||
}());
|
||||
}
|
||||
</script>
|
||||
<a style="display:none" id="SNbuttonLink" class="thickbox"></a>
|
||||
<script type="text/javascript">
|
||||
function fbLoginRedirect(buttonName, loginUrl, destUrl, destStr, _target){
|
||||
$.getJSON('https://secure.runescape.com/m=sn-integration/checkLogin.ws?json=?', {"tps":0, "token":FB.getAuthResponse().accessToken, "expiry":FB.getAuthResponse().expiresIn, "signed":FB.getAuthResponse().signedRequest}, function(data) {
|
||||
if(typeof(_target) != 'undefined' && _target != '') $("#SNbuttonLink").attr('target',_target);
|
||||
if (data['sso']<0) {
|
||||
|
||||
|
||||
JAGEX.socialnetworks.SNNotification("There was a problem verifying your login. Please try again.");
|
||||
} else if (data['sso'].length > 1){
|
||||
|
||||
if(data['sna']>-1) {
|
||||
|
||||
|
||||
$("#SNbuttonLink").attr('href',loginUrl+'key='+data['sso']+'&tps=0&'+destStr+'&KeepThis=true&TB_iframe=true&height=500&width=560');
|
||||
|
||||
$("#SNbuttonLink").click();
|
||||
$("#TB_iframeContent").attr("allowTransparency", "true");
|
||||
|
||||
$("#TB_iframeContent").css("padding-left", "50px");
|
||||
|
||||
} else {
|
||||
|
||||
var loc = destUrl+'?key='+data['sso']+'?'+destStr;
|
||||
if(typeof(_target) != 'undefined' && _target != ''){
|
||||
window.parent.location = loc;
|
||||
}
|
||||
else {
|
||||
window.location = loc;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
|
||||
$("#SNbuttonLink").attr('href',loginUrl+destStr+'&KeepThis=true&TB_iframe=true&height=400&width=442');
|
||||
|
||||
$("#SNbuttonLink").click();
|
||||
$("#TB_iframeContent").attr("allowTransparency", "true");
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="./lynxTitanNamePage_files/plugins-100.js"></script>
|
||||
<script>
|
||||
var RESPONSIVE = RESPONSIVE || {};
|
||||
RESPONSIVE.constant = RESPONSIVE.constant || {};
|
||||
|
||||
|
||||
RESPONSIVE.constant.user = {
|
||||
language: 0,
|
||||
isLoggedIn: 0
|
||||
};
|
||||
|
||||
</script>
|
||||
<script type="text/javascript" src="./lynxTitanNamePage_files/gtm-100.js"></script>
|
||||
</div>
|
||||
|
||||
</body></html>
|
85
__tests__/lynxTitanStats.csv
Normal file
85
__tests__/lynxTitanStats.csv
Normal file
@@ -0,0 +1,85 @@
|
||||
1,2277,4600000000
|
||||
15,99,200000000
|
||||
28,99,200000000
|
||||
18,99,200000000
|
||||
7,99,200000000
|
||||
8,99,200000000
|
||||
11,99,200000000
|
||||
32,99,200000000
|
||||
159,99,200000000
|
||||
15,99,200000000
|
||||
12,99,200000000
|
||||
9,99,200000000
|
||||
48,99,200000000
|
||||
4,99,200000000
|
||||
3,99,200000000
|
||||
25,99,200000000
|
||||
5,99,200000000
|
||||
23,99,200000000
|
||||
12,99,200000000
|
||||
2,99,200000000
|
||||
19,99,200000000
|
||||
7,99,200000000
|
||||
4,99,200000000
|
||||
4,99,200000000
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
347584,22
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
||||
-1,-1
|
Can't render this file because it has a wrong number of fields in line 25.
|
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"transform": {
|
||||
"^.+\\.(t|j)sx?$": "ts-jest"
|
||||
},
|
||||
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
|
||||
"moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json", "node"]
|
||||
}
|
93
package.json
93
package.json
@@ -1,17 +1,18 @@
|
||||
{
|
||||
"name": "osrs-json-hiscores",
|
||||
"version": "2.0.0",
|
||||
"description": "The Oldschool Runescape API wrapper that does more!",
|
||||
"version": "2.7.0",
|
||||
"description": "The Old School Runescape API wrapper that does more!",
|
||||
"main": "lib/index.js",
|
||||
"types": "lib/index.d.ts",
|
||||
"files": [
|
||||
"lib/**/*"
|
||||
],
|
||||
"scripts": {
|
||||
"dev": "watch 'yarn run build' src",
|
||||
"dev": "yarn build --watch",
|
||||
"build": "tsc",
|
||||
"format": "prettier --write \"src/**/*.ts\"",
|
||||
"test": "jest --config jestconfig.json",
|
||||
"lint": "eslint --fix \"src/**/*.ts\"",
|
||||
"test": "jest",
|
||||
"prepublish": "yarn run build",
|
||||
"release": "np"
|
||||
},
|
||||
@@ -35,21 +36,79 @@
|
||||
"url": "https://github.com/maxswa/osrs-json-hiscores/issues"
|
||||
},
|
||||
"homepage": "https://github.com/maxswa/osrs-json-hiscores#readme",
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{ts}": [
|
||||
"eslint --fix",
|
||||
"prettier --write",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"eslintConfig": {
|
||||
"root": true,
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"project": "./tsconfig.eslint.json"
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint"
|
||||
],
|
||||
"extends": [
|
||||
"eslint-config-airbnb-typescript",
|
||||
"prettier"
|
||||
],
|
||||
"ignorePatterns": [
|
||||
"**/@types/*"
|
||||
]
|
||||
},
|
||||
"prettier": {
|
||||
"trailingComma": "none",
|
||||
"tabWidth": 2,
|
||||
"semi": true,
|
||||
"singleQuote": true
|
||||
},
|
||||
"jest": {
|
||||
"transform": {
|
||||
"^.+\\.(t|j)sx?$": "ts-jest"
|
||||
},
|
||||
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
|
||||
"moduleFileExtensions": [
|
||||
"ts",
|
||||
"tsx",
|
||||
"js",
|
||||
"jsx",
|
||||
"json",
|
||||
"node"
|
||||
],
|
||||
"testEnvironment": "node"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.19.0",
|
||||
"cheerio": "^1.0.0-rc.3"
|
||||
"axios": "^0.21.1",
|
||||
"jsdom": "^16.3.0",
|
||||
"useragent-generator": "^1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/cheerio": "^0.22.11",
|
||||
"@types/jest": "^24.0.14",
|
||||
"jest": "^24.8.0",
|
||||
"np": "^5.0.3",
|
||||
"prettier": "^1.19.1",
|
||||
"ts-jest": "^24.0.2",
|
||||
"tslint": "^5.17.0",
|
||||
"tslint-config-airbnb": "^5.11.1",
|
||||
"tslint-config-prettier": "^1.18.0",
|
||||
"typescript": "^3.5.2",
|
||||
"watch": "^1.0.2"
|
||||
"@types/jest": "^26.0.21",
|
||||
"@types/jsdom": "^16.2.3",
|
||||
"@typescript-eslint/eslint-plugin": "^4.19.0",
|
||||
"@typescript-eslint/parser": "^4.19.0",
|
||||
"eslint": "^7.22.0",
|
||||
"eslint-config-airbnb-typescript": "^12.3.1",
|
||||
"eslint-config-prettier": "^8.1.0",
|
||||
"eslint-plugin-import": "^2.22.1",
|
||||
"eslint-plugin-jsx-a11y": "^6.4.1",
|
||||
"eslint-plugin-react": "^7.23.1",
|
||||
"eslint-plugin-react-hooks": "^4.2.0",
|
||||
"husky": "^5.2.0",
|
||||
"jest": "^26.6.3",
|
||||
"lint-staged": "^10.5.4",
|
||||
"np": "6.5.0",
|
||||
"prettier": "^2.2.1",
|
||||
"ts-jest": "^26.5.4",
|
||||
"typescript": "^4.2.3"
|
||||
}
|
||||
}
|
||||
|
109
src/@types/useragent-generator.d.ts
vendored
Normal file
109
src/@types/useragent-generator.d.ts
vendored
Normal file
@@ -0,0 +1,109 @@
|
||||
declare module 'useragent-generator' {
|
||||
/** *****************
|
||||
* Google Chrome *
|
||||
/****************** */
|
||||
export function chrome(
|
||||
opt: number | string | { version: string; os?: string }
|
||||
): string;
|
||||
export namespace chrome {
|
||||
function androidPhone(
|
||||
opt:
|
||||
| number
|
||||
| string
|
||||
| { version: string; androidVersion?: string; device?: string }
|
||||
): string;
|
||||
function androidTablet(
|
||||
opt:
|
||||
| number
|
||||
| string
|
||||
| { version: string; androidVersion?: string; device?: string }
|
||||
): string;
|
||||
function androidWebview(
|
||||
opt:
|
||||
| number
|
||||
| string
|
||||
| { androidVersion: string; chromeVersion?: string; device?: string }
|
||||
): string;
|
||||
function chromecast(opt: number | string | { version: string }): string;
|
||||
function iOS(
|
||||
opt:
|
||||
| number
|
||||
| string
|
||||
| { iOSVersion: string; chromeVersion?: string; device?: string }
|
||||
): string;
|
||||
}
|
||||
export function chromium(
|
||||
opt: number | string | { version: string; os?: string }
|
||||
): string;
|
||||
/** ************
|
||||
* Firefox *
|
||||
/************* */
|
||||
export function firefox(
|
||||
opt: number | string | { version: string; os?: string }
|
||||
): string;
|
||||
export namespace firefox {
|
||||
function androidPhone(
|
||||
opt:
|
||||
| number
|
||||
| string
|
||||
| { version: string; androidVersion?: string; device?: string }
|
||||
): string;
|
||||
function androidTablet(
|
||||
opt:
|
||||
| number
|
||||
| string
|
||||
| { version: string; androidVersion?: string; device?: string }
|
||||
): string;
|
||||
function iOS(
|
||||
opt: number | string | { iOSVersion: string; device?: string }
|
||||
): string;
|
||||
}
|
||||
/** ***********
|
||||
* Safari *
|
||||
/************ */
|
||||
export function safari(
|
||||
opt: number | string | { version: string; os?: string }
|
||||
): string;
|
||||
export namespace safari {
|
||||
function iOS(
|
||||
opt:
|
||||
| number
|
||||
| string
|
||||
| { iOSVersion: string; safariVersion?: string; device?: string }
|
||||
): string;
|
||||
function iOSWebview(
|
||||
opt:
|
||||
| number
|
||||
| string
|
||||
| { iOSVersion: string; safariVersion?: string; device?: string }
|
||||
): string;
|
||||
}
|
||||
/** ********************
|
||||
* Internet Explorer *
|
||||
/********************* */
|
||||
export function ie(
|
||||
opt: number | string | { version: string; os?: string }
|
||||
): string;
|
||||
export namespace ie {
|
||||
function windowsPhone(
|
||||
opt: number | string | { version: string; device?: string }
|
||||
): string;
|
||||
}
|
||||
/** *******************
|
||||
* Microsoft Edge *
|
||||
/******************** */
|
||||
export function edge(
|
||||
opt:
|
||||
| number
|
||||
| string
|
||||
| { version: string; chromeVersion?: string; os?: string }
|
||||
): string;
|
||||
/** *********************
|
||||
* Search Engine Bots *
|
||||
/********************** */
|
||||
export function googleBot(
|
||||
opt?: number | string | { version?: string }
|
||||
): string;
|
||||
export function bingBot(opt?: number | string | { version?: string }): string;
|
||||
export function yahooBot(): string;
|
||||
}
|
335
src/hiscores.ts
335
src/hiscores.ts
@@ -1,5 +1,4 @@
|
||||
import axios from 'axios';
|
||||
import * as cheerio from 'cheerio';
|
||||
import { JSDOM } from 'jsdom';
|
||||
import {
|
||||
Player,
|
||||
Activity,
|
||||
@@ -13,8 +12,7 @@ import {
|
||||
PlayerSkillRow,
|
||||
ActivityName,
|
||||
PlayerActivityRow,
|
||||
Bosses,
|
||||
Boss,
|
||||
Bosses
|
||||
} from './types';
|
||||
import {
|
||||
getStatsURL,
|
||||
@@ -28,9 +26,146 @@ import {
|
||||
numberFromElement,
|
||||
rsnFromElement,
|
||||
getActivityPageURL,
|
||||
httpGet,
|
||||
BOSSES,
|
||||
INVALID_FORMAT_ERROR,
|
||||
EXTRA_ACTIVITY_COUNT
|
||||
} from './utils';
|
||||
|
||||
/**
|
||||
* Screen scrapes the hiscores to get the formatted rsn of a player.
|
||||
*
|
||||
* @param rsn Username of the player.
|
||||
* @returns Formatted version of the rsn.
|
||||
*/
|
||||
export async function getRSNFormat(rsn: string): Promise<string> {
|
||||
if (typeof rsn !== 'string') {
|
||||
throw Error('RSN must be a string');
|
||||
} else if (!/^[a-zA-Z0-9 _-]+$/.test(rsn)) {
|
||||
throw Error('RSN contains invalid character');
|
||||
} else if (rsn.length > 12 || rsn.length < 1) {
|
||||
throw Error('RSN must be between 1 and 12 characters');
|
||||
}
|
||||
|
||||
const url = getPlayerTableURL('main', rsn);
|
||||
try {
|
||||
const response = await httpGet(url);
|
||||
const dom = new JSDOM(response.data);
|
||||
const spans = dom.window.document.querySelectorAll(
|
||||
'span[style="color:#AA0022;"]'
|
||||
);
|
||||
if (spans.length >= 2) {
|
||||
const nameSpan = spans[1];
|
||||
return rsnFromElement(nameSpan);
|
||||
}
|
||||
throw Error('Player not found');
|
||||
} catch {
|
||||
throw Error('Player not found');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses CSV string of raw stats and returns a stats object.
|
||||
*
|
||||
* @param csv Raw CSV from the official OSRS API.
|
||||
* @returns Parsed stats object.
|
||||
*/
|
||||
export function parseStats(csv: string): Stats {
|
||||
const splitCSV = csv
|
||||
.split('\n')
|
||||
.filter((entry) => !!entry)
|
||||
.map((stat) => stat.split(','));
|
||||
|
||||
if (
|
||||
splitCSV.length !==
|
||||
SKILLS.length +
|
||||
BH_MODES.length +
|
||||
CLUES.length +
|
||||
BOSSES.length +
|
||||
EXTRA_ACTIVITY_COUNT
|
||||
) {
|
||||
throw Error(INVALID_FORMAT_ERROR);
|
||||
}
|
||||
|
||||
const skillObjects: Skill[] = splitCSV
|
||||
.filter((stat) => stat.length === 3)
|
||||
.map((stat) => {
|
||||
const [rank, level, xp] = stat;
|
||||
const skill: Skill = {
|
||||
rank: parseInt(rank, 10),
|
||||
level: parseInt(level, 10),
|
||||
xp: parseInt(xp, 10)
|
||||
};
|
||||
return skill;
|
||||
});
|
||||
|
||||
const activityObjects: Activity[] = splitCSV
|
||||
.filter((stat) => stat.length === 2)
|
||||
.map((stat) => {
|
||||
const [rank, score] = stat;
|
||||
const activity: Activity = {
|
||||
rank: parseInt(rank, 10),
|
||||
score: parseInt(score, 10)
|
||||
};
|
||||
return activity;
|
||||
});
|
||||
|
||||
const [leaguePoints] = activityObjects.splice(0, 1);
|
||||
const bhObjects = activityObjects.splice(0, BH_MODES.length);
|
||||
const clueObjects = activityObjects.splice(0, CLUES.length);
|
||||
const [lastManStanding, soulWarsZeal, riftsClosed] = activityObjects.splice(
|
||||
0,
|
||||
3
|
||||
);
|
||||
const bossObjects = activityObjects.splice(0, BOSSES.length);
|
||||
|
||||
const skills: Skills = skillObjects.reduce<Skills>((prev, curr, index) => {
|
||||
const newSkills = { ...prev };
|
||||
newSkills[SKILLS[index]] = curr;
|
||||
return newSkills;
|
||||
}, {} as Skills);
|
||||
|
||||
const bountyHunter: BH = bhObjects.reduce<BH>((prev, curr, index) => {
|
||||
const newBH = { ...prev };
|
||||
newBH[BH_MODES[index]] = curr;
|
||||
return newBH;
|
||||
}, {} as BH);
|
||||
|
||||
const clues: Clues = clueObjects.reduce<Clues>((prev, curr, index) => {
|
||||
const newClues = { ...prev };
|
||||
newClues[CLUES[index]] = curr;
|
||||
return newClues;
|
||||
}, {} as Clues);
|
||||
|
||||
const bosses: Bosses = bossObjects.reduce<Bosses>((prev, curr, index) => {
|
||||
const newBosses = { ...prev };
|
||||
newBosses[BOSSES[index]] = curr;
|
||||
return newBosses;
|
||||
}, {} as Bosses);
|
||||
|
||||
const stats: Stats = {
|
||||
skills,
|
||||
leaguePoints,
|
||||
bountyHunter,
|
||||
lastManStanding,
|
||||
soulWarsZeal,
|
||||
riftsClosed,
|
||||
clues,
|
||||
bosses
|
||||
};
|
||||
|
||||
return stats;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches stats from the OSRS API and consolidates the info into a player object.
|
||||
*
|
||||
* **Note:** This function will make up to 5 separate network requests.
|
||||
* As such, it is highly subject to the performance of the official OSRS API.
|
||||
*
|
||||
* @param rsn Username of the player.
|
||||
* @returns Player object.
|
||||
*/
|
||||
export async function getStats(rsn: string): Promise<Player> {
|
||||
if (typeof rsn !== 'string') {
|
||||
throw Error('RSN must be a string');
|
||||
@@ -40,23 +175,23 @@ export async function getStats(rsn: string): Promise<Player> {
|
||||
throw Error('RSN must be between 1 and 12 characters');
|
||||
}
|
||||
|
||||
const mainRes = await axios(getStatsURL('main', rsn));
|
||||
const mainRes = await httpGet(getStatsURL('main', rsn));
|
||||
if (mainRes.status === 200) {
|
||||
const otherResponses = await Promise.all([
|
||||
axios(getStatsURL('ironman', rsn)).catch(err => err),
|
||||
axios(getStatsURL('hardcore', rsn)).catch(err => err),
|
||||
axios(getStatsURL('ultimate', rsn)).catch(err => err),
|
||||
getRSNFormat(rsn),
|
||||
httpGet(getStatsURL('ironman', rsn)).catch((err) => err),
|
||||
httpGet(getStatsURL('hardcore', rsn)).catch((err) => err),
|
||||
httpGet(getStatsURL('ultimate', rsn)).catch((err) => err),
|
||||
getRSNFormat(rsn).catch(() => undefined)
|
||||
]);
|
||||
|
||||
const [ironRes, hcRes, ultRes, formattedName] = otherResponses;
|
||||
|
||||
const player: Player = {
|
||||
name: formattedName,
|
||||
name: formattedName ?? rsn,
|
||||
mode: 'main',
|
||||
dead: false,
|
||||
deulted: false,
|
||||
deironed: false,
|
||||
deironed: false
|
||||
};
|
||||
player.main = parseStats(mainRes.data);
|
||||
|
||||
@@ -108,6 +243,13 @@ export async function getStats(rsn: string): Promise<Player> {
|
||||
throw Error('Player not found');
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches stats from the OSRS API and returns them as an object.
|
||||
*
|
||||
* @param rsn Username of the player.
|
||||
* @param mode Gamemode to fetch ranks for.
|
||||
* @returns Stats object.
|
||||
*/
|
||||
export async function getStatsByGamemode(
|
||||
rsn: string,
|
||||
mode: Gamemode = 'main'
|
||||
@@ -121,7 +263,7 @@ export async function getStatsByGamemode(
|
||||
} else if (!GAMEMODES.includes(mode)) {
|
||||
throw Error('Invalid game mode');
|
||||
}
|
||||
const response = await axios(getStatsURL(mode, rsn));
|
||||
const response = await httpGet(getStatsURL(mode, rsn));
|
||||
if (response.status !== 200) {
|
||||
throw Error('Player not found');
|
||||
}
|
||||
@@ -144,27 +286,40 @@ export async function getSkillPage(
|
||||
}
|
||||
const url = getSkillPageURL(mode, skill, page);
|
||||
|
||||
const response = await axios(url);
|
||||
const $ = cheerio.load(response.data);
|
||||
const playersHTML = $('.personal-hiscores__row').toArray();
|
||||
const response = await httpGet(url);
|
||||
const dom = new JSDOM(response.data);
|
||||
const playersHTML = dom.window.document.querySelectorAll(
|
||||
'.personal-hiscores__row'
|
||||
);
|
||||
|
||||
const players: PlayerSkillRow[] = playersHTML.map(row => {
|
||||
const cells = row.children.filter(el => el.name === 'td');
|
||||
const [rankEl, nameCell, levelEl, xpEl] = cells;
|
||||
const [nameEl] = nameCell.children.filter(el => el.name === 'a');
|
||||
const players: PlayerSkillRow[] = [];
|
||||
playersHTML.forEach((row) => {
|
||||
const rankEl = row.querySelector('td');
|
||||
const nameEl = row.querySelector('td a');
|
||||
const levelEl = row.querySelector('td.left + td');
|
||||
const xpEl = row.querySelector('td.left + td + td');
|
||||
const isDead = !!row.querySelector('td img');
|
||||
|
||||
return {
|
||||
players.push({
|
||||
name: rsnFromElement(nameEl),
|
||||
rank: numberFromElement(rankEl),
|
||||
level: numberFromElement(levelEl),
|
||||
xp: numberFromElement(xpEl),
|
||||
dead: nameCell.children.length === 4,
|
||||
};
|
||||
dead: isDead
|
||||
});
|
||||
});
|
||||
|
||||
return players;
|
||||
}
|
||||
|
||||
/**
|
||||
* Screen scrapes a hiscores page of an activity or boss and returns an array of up to 25 players.
|
||||
*
|
||||
* @param activity Name of the activity or boss to fetch hiscores for.
|
||||
* @param mode Gamemode to fetch ranks for.
|
||||
* @param page Page number.
|
||||
* @returns Array of `PlayerActivityRow` objects.
|
||||
*/
|
||||
export async function getActivityPage(
|
||||
activity: ActivityName,
|
||||
mode: Gamemode = 'main',
|
||||
@@ -179,134 +334,26 @@ export async function getActivityPage(
|
||||
}
|
||||
const url = getActivityPageURL(mode, activity, page);
|
||||
|
||||
const response = await axios(url);
|
||||
const $ = cheerio.load(response.data);
|
||||
const playersHTML = $('.personal-hiscores__row').toArray();
|
||||
const response = await httpGet(url);
|
||||
const dom = new JSDOM(response.data);
|
||||
const playersHTML = dom.window.document.querySelectorAll(
|
||||
'.personal-hiscores__row'
|
||||
);
|
||||
|
||||
const players: PlayerActivityRow[] = playersHTML.map(row => {
|
||||
const cells = row.children.filter(el => el.name === 'td');
|
||||
const [rankEl, nameCell, scoreEl] = cells;
|
||||
const [nameEl] = nameCell.children.filter(el => el.name === 'a');
|
||||
const players: PlayerActivityRow[] = [];
|
||||
playersHTML.forEach((row) => {
|
||||
const rankEl = row.querySelector('td');
|
||||
const nameEl = row.querySelector('td a');
|
||||
const scoreEl = row.querySelector('td.left + td');
|
||||
const isDead = !!row.querySelector('td img');
|
||||
|
||||
return {
|
||||
players.push({
|
||||
name: rsnFromElement(nameEl),
|
||||
rank: numberFromElement(rankEl),
|
||||
score: numberFromElement(scoreEl),
|
||||
dead: nameCell.children.length === 4,
|
||||
};
|
||||
dead: isDead
|
||||
});
|
||||
});
|
||||
|
||||
return players;
|
||||
}
|
||||
|
||||
export async function getRSNFormat(rsn: string): Promise<string> {
|
||||
if (typeof rsn !== 'string') {
|
||||
throw Error('RSN must be a string');
|
||||
} else if (!/^[a-zA-Z0-9 _]+$/.test(rsn)) {
|
||||
throw Error('RSN contains invalid character');
|
||||
} else if (rsn.length > 12 || rsn.length < 1) {
|
||||
throw Error('RSN must be between 1 and 12 characters');
|
||||
}
|
||||
|
||||
const url = getPlayerTableURL('main', rsn);
|
||||
try {
|
||||
const response = await axios(url);
|
||||
const $ = cheerio.load(response.data);
|
||||
const rawName = $('[style="color:#AA0022;"]')[1].children[0].data;
|
||||
if (rawName) {
|
||||
return rawName.replace(/\uFFFD/g, ' ');
|
||||
}
|
||||
throw Error('Player not found');
|
||||
} catch {
|
||||
throw Error('Player not found');
|
||||
}
|
||||
}
|
||||
|
||||
export function parseStats(csv: string): Stats {
|
||||
const splitCSV = csv
|
||||
.split('\n')
|
||||
.filter(entry => !!entry)
|
||||
.map(stat => stat.split(','));
|
||||
|
||||
const skillObjects: Skill[] = splitCSV
|
||||
.filter(stat => stat.length === 3)
|
||||
.map(stat => {
|
||||
const [rank, level, xp] = stat;
|
||||
const skill: Skill = {
|
||||
rank: parseInt(rank, 10),
|
||||
level: parseInt(level, 10),
|
||||
xp: parseInt(xp, 10),
|
||||
};
|
||||
return skill;
|
||||
});
|
||||
|
||||
const activityObjects: Activity[] = splitCSV
|
||||
.filter(stat => stat.length === 2)
|
||||
.map(stat => {
|
||||
const [rank, score] = stat;
|
||||
const activity: Activity = {
|
||||
rank: parseInt(rank, 10),
|
||||
score: parseInt(score, 10),
|
||||
};
|
||||
return activity;
|
||||
});
|
||||
|
||||
const [leaguePoints] = activityObjects.splice(0, 1);
|
||||
const bhObjects = activityObjects.splice(0, BH_MODES.length);
|
||||
const clueObjects = activityObjects.splice(0, CLUES.length);
|
||||
const [lastManStanding] = activityObjects.splice(0, 1);
|
||||
const bossObjects = activityObjects.splice(0, BOSSES.length);
|
||||
|
||||
const skills: Skills = skillObjects.reduce<Skills>((prev, curr, index) => {
|
||||
const newSkills = { ...prev };
|
||||
newSkills[SKILLS[index]] = curr;
|
||||
return newSkills;
|
||||
}, {} as Skills);
|
||||
|
||||
const bountyHunter: BH = bhObjects.reduce<BH>((prev, curr, index) => {
|
||||
const newBH = { ...prev };
|
||||
newBH[BH_MODES[index]] = curr;
|
||||
return newBH;
|
||||
}, {} as BH);
|
||||
|
||||
const clues: Clues = clueObjects.reduce<Clues>((prev, curr, index) => {
|
||||
const newClues = { ...prev };
|
||||
newClues[CLUES[index]] = curr;
|
||||
return newClues;
|
||||
}, {} as Clues);
|
||||
|
||||
// TODO Remove as soon as Jagex's API is fixed
|
||||
const brokenBosses: Boss[] = ['callisto', 'cerberus'];
|
||||
const TEMPBOSSES: Boss[] = BOSSES.reduce<Boss[]>(
|
||||
(prev, curr) => (brokenBosses.includes(curr) ? prev : [...prev, curr]),
|
||||
[]
|
||||
);
|
||||
|
||||
const bosses: Bosses = bossObjects.reduce<Bosses>((prev, curr, index) => {
|
||||
const newBosses = { ...prev };
|
||||
|
||||
// TODO Remove as soon as Jagex's API is fixed
|
||||
if (BOSSES[index] === brokenBosses[0]) {
|
||||
brokenBosses.forEach(broken => {
|
||||
newBosses[broken] = {
|
||||
rank: -1,
|
||||
score: -1,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
newBosses[TEMPBOSSES[index]] = curr;
|
||||
return newBosses;
|
||||
}, {} as Bosses);
|
||||
|
||||
const stats: Stats = {
|
||||
skills,
|
||||
leaguePoints,
|
||||
bountyHunter,
|
||||
lastManStanding,
|
||||
clues,
|
||||
bosses,
|
||||
};
|
||||
|
||||
return stats;
|
||||
}
|
||||
|
10
src/types.ts
10
src/types.ts
@@ -89,13 +89,18 @@ export type Boss =
|
||||
| 'kreeArra'
|
||||
| 'krilTsutsaroth'
|
||||
| 'mimic'
|
||||
| 'nex'
|
||||
| 'nightmare'
|
||||
| 'phosanisNightmare'
|
||||
| 'obor'
|
||||
| 'sarachnis'
|
||||
| 'scorpia'
|
||||
| 'skotizo'
|
||||
| 'tempoross'
|
||||
| 'gauntlet'
|
||||
| 'corruptedGauntlet'
|
||||
| 'theatreOfBlood'
|
||||
| 'theatreOfBloodHardMode'
|
||||
| 'thermonuclearSmokeDevil'
|
||||
| 'tzKalZuk'
|
||||
| 'tzTokJad'
|
||||
@@ -109,9 +114,12 @@ export type Boss =
|
||||
export type Bosses = { [Type in Boss]: Activity };
|
||||
|
||||
export type ActivityName =
|
||||
| 'leaguePoints'
|
||||
| 'hunterBH'
|
||||
| 'rogueBH'
|
||||
| 'lastManStanding'
|
||||
| 'soulWarsZeal'
|
||||
| 'riftsClosed'
|
||||
| 'allClues'
|
||||
| 'beginnerClues'
|
||||
| 'easyClues'
|
||||
@@ -127,6 +135,8 @@ export interface Stats {
|
||||
leaguePoints: Activity;
|
||||
bountyHunter: BH;
|
||||
lastManStanding: Activity;
|
||||
soulWarsZeal: Activity;
|
||||
riftsClosed: Activity;
|
||||
bosses: Bosses;
|
||||
}
|
||||
export type Modes = { [M in Gamemode]?: Stats };
|
||||
|
@@ -4,10 +4,10 @@ import {
|
||||
ClueType,
|
||||
Gamemode,
|
||||
SkillName,
|
||||
ActivityName,
|
||||
ActivityName
|
||||
} from '../types';
|
||||
|
||||
export const BASE_URL = 'http://services.runescape.com/m=hiscore_oldschool';
|
||||
export const BASE_URL = 'https://secure.runescape.com/m=hiscore_oldschool';
|
||||
export const STATS_URL = 'index_lite.ws?player=';
|
||||
export const SCORES_URL = 'overall.ws?';
|
||||
|
||||
@@ -22,7 +22,7 @@ export const GAMEMODE_URL: GamemodeUrl = {
|
||||
ultimate: `${BASE_URL}_ultimate/`,
|
||||
deadman: `${BASE_URL}_deadman/`,
|
||||
seasonal: `${BASE_URL}_seasonal/`,
|
||||
tournament: `${BASE_URL}_tournament/`,
|
||||
tournament: `${BASE_URL}_tournament/`
|
||||
};
|
||||
export const SKILLS: SkillName[] = [
|
||||
'overall',
|
||||
@@ -48,7 +48,7 @@ export const SKILLS: SkillName[] = [
|
||||
'farming',
|
||||
'runecraft',
|
||||
'hunter',
|
||||
'construction',
|
||||
'construction'
|
||||
];
|
||||
export const CLUES: ClueType[] = [
|
||||
'all',
|
||||
@@ -57,21 +57,9 @@ export const CLUES: ClueType[] = [
|
||||
'medium',
|
||||
'hard',
|
||||
'elite',
|
||||
'master',
|
||||
];
|
||||
export const BH_MODES: BHType[] = ['rogue', 'hunter'];
|
||||
export const ACTIVITIES: ActivityName[] = [
|
||||
'hunterBH',
|
||||
'rogueBH',
|
||||
'lastManStanding',
|
||||
'allClues',
|
||||
'beginnerClues',
|
||||
'easyClues',
|
||||
'mediumClues',
|
||||
'hardClues',
|
||||
'eliteClues',
|
||||
'masterClues',
|
||||
'master'
|
||||
];
|
||||
export const BH_MODES: BHType[] = ['hunter', 'rogue'];
|
||||
export const GAMEMODES: Gamemode[] = [
|
||||
'main',
|
||||
'ironman',
|
||||
@@ -79,7 +67,7 @@ export const GAMEMODES: Gamemode[] = [
|
||||
'ultimate',
|
||||
'deadman',
|
||||
'seasonal',
|
||||
'tournament',
|
||||
'tournament'
|
||||
];
|
||||
export const BOSSES: Boss[] = [
|
||||
'abyssalSire',
|
||||
@@ -109,13 +97,18 @@ export const BOSSES: Boss[] = [
|
||||
'kreeArra',
|
||||
'krilTsutsaroth',
|
||||
'mimic',
|
||||
'nex',
|
||||
'nightmare',
|
||||
'phosanisNightmare',
|
||||
'obor',
|
||||
'sarachnis',
|
||||
'scorpia',
|
||||
'skotizo',
|
||||
'tempoross',
|
||||
'gauntlet',
|
||||
'corruptedGauntlet',
|
||||
'theatreOfBlood',
|
||||
'theatreOfBloodHardMode',
|
||||
'thermonuclearSmokeDevil',
|
||||
'tzKalZuk',
|
||||
'tzTokJad',
|
||||
@@ -124,7 +117,23 @@ export const BOSSES: Boss[] = [
|
||||
'vorkath',
|
||||
'wintertodt',
|
||||
'zalcano',
|
||||
'zulrah',
|
||||
'zulrah'
|
||||
];
|
||||
export const ACTIVITIES: ActivityName[] = [
|
||||
'leaguePoints',
|
||||
'hunterBH',
|
||||
'rogueBH',
|
||||
'allClues',
|
||||
'beginnerClues',
|
||||
'easyClues',
|
||||
'mediumClues',
|
||||
'hardClues',
|
||||
'eliteClues',
|
||||
'masterClues',
|
||||
'lastManStanding',
|
||||
'soulWarsZeal',
|
||||
'riftsClosed',
|
||||
...BOSSES
|
||||
];
|
||||
|
||||
export type FormattedBossNames = {
|
||||
@@ -159,13 +168,18 @@ export const FORMATTED_BOSS_NAMES: FormattedBossNames = {
|
||||
kreeArra: "Kree'Arra",
|
||||
krilTsutsaroth: "K'ril Tsutsaroth",
|
||||
mimic: 'Mimic',
|
||||
nex: 'Nex',
|
||||
nightmare: 'The Nightmare of Ashihama',
|
||||
phosanisNightmare: "Phosani's Nightmare",
|
||||
obor: 'Obor',
|
||||
sarachnis: 'Sarachnis',
|
||||
scorpia: 'Scorpia',
|
||||
skotizo: 'Skotizo',
|
||||
tempoross: 'Tempoross',
|
||||
gauntlet: 'The Gauntlet',
|
||||
corruptedGauntlet: 'The Corrupted Gauntlet',
|
||||
theatreOfBlood: 'Theatre of Blood',
|
||||
theatreOfBloodHardMode: 'Theatre of Blood: Hard Mode',
|
||||
thermonuclearSmokeDevil: 'Thermonuclear Smoke Devil',
|
||||
tzKalZuk: 'TzKal-Zuk',
|
||||
tzTokJad: 'TzTok-Jad',
|
||||
@@ -174,7 +188,7 @@ export const FORMATTED_BOSS_NAMES: FormattedBossNames = {
|
||||
vorkath: 'Vorkath',
|
||||
wintertodt: 'Wintertodt',
|
||||
zalcano: 'Zalcano',
|
||||
zulrah: 'Zulrah',
|
||||
zulrah: 'Zulrah'
|
||||
};
|
||||
|
||||
export type FormattedSkillNames = {
|
||||
@@ -205,7 +219,7 @@ export const FORMATTED_SKILL_NAMES: FormattedSkillNames = {
|
||||
farming: 'Farming',
|
||||
runecraft: 'Runecraft',
|
||||
hunter: 'Hunter',
|
||||
construction: 'Construction',
|
||||
construction: 'Construction'
|
||||
};
|
||||
|
||||
export type FormattedClueNames = {
|
||||
@@ -219,7 +233,7 @@ export const FORMATTED_CLUE_NAMES: FormattedClueNames = {
|
||||
medium: 'Clue Scrolls (medium)',
|
||||
hard: 'Clue Scrolls (hard)',
|
||||
elite: 'Clue Scrolls (elite)',
|
||||
master: 'Clue Scrolls (master)',
|
||||
master: 'Clue Scrolls (master)'
|
||||
};
|
||||
|
||||
export type FormattedBHNames = {
|
||||
@@ -228,8 +242,17 @@ export type FormattedBHNames = {
|
||||
|
||||
export const FORMATTED_BH_NAMES: FormattedBHNames = {
|
||||
rogue: 'Bounty Hunter - Rogue',
|
||||
hunter: 'Bounty Hunter - Hunter',
|
||||
hunter: 'Bounty Hunter - Hunter'
|
||||
};
|
||||
|
||||
export const FORMATTED_LMS = 'Last Man Standing';
|
||||
export const FORMATTED_SOUL_WARS = 'Soul Wars Zeal';
|
||||
export const FORMATTED_LEAGUE_POINTS = 'League Points';
|
||||
export const FORMATTED_RIFTS_CLOSED = 'Rifts Closed';
|
||||
|
||||
/**
|
||||
* Count of activities not including bosses, bounty hunter, or clues.
|
||||
*/
|
||||
export const EXTRA_ACTIVITY_COUNT = 4;
|
||||
|
||||
export const INVALID_FORMAT_ERROR = 'Invalid hiscores format';
|
||||
|
@@ -1,20 +1,44 @@
|
||||
import axios from 'axios';
|
||||
import * as ua from 'useragent-generator';
|
||||
import { Gamemode, SkillName, ActivityName } from '../types';
|
||||
import {
|
||||
GAMEMODE_URL,
|
||||
STATS_URL,
|
||||
SCORES_URL,
|
||||
SKILLS,
|
||||
ACTIVITIES,
|
||||
ACTIVITIES
|
||||
} from './constants';
|
||||
|
||||
/**
|
||||
* Will generate a stats URL for the official OSRS API.
|
||||
*
|
||||
* @param gamemode Gamemode to fetch ranks for.
|
||||
* @param rsn Username of the player.
|
||||
* @returns Encoded stats URL.
|
||||
*/
|
||||
export const getStatsURL = (gamemode: Gamemode, rsn: string) =>
|
||||
`${GAMEMODE_URL[gamemode]}${STATS_URL}${encodeURIComponent(rsn)}`;
|
||||
|
||||
/**
|
||||
* Will generate a player table URL for the official OSRS hiscores website.
|
||||
*
|
||||
* @param gamemode Gamemode to fetch ranks for.
|
||||
* @param rsn Username of the player.
|
||||
* @returns Encoded player table URL.
|
||||
*/
|
||||
export const getPlayerTableURL = (gamemode: Gamemode, rsn: string) =>
|
||||
`${GAMEMODE_URL[gamemode]}${SCORES_URL}table=0&user=${encodeURIComponent(
|
||||
rsn
|
||||
)}`;
|
||||
|
||||
/**
|
||||
* Will generate a skill table URL for the official OSRS hiscores website.
|
||||
*
|
||||
* @param gamemode Gamemode to fetch ranks for.
|
||||
* @param skill Skill to fetch ranks for.
|
||||
* @param page Page number.
|
||||
* @returns
|
||||
*/
|
||||
export const getSkillPageURL = (
|
||||
gamemode: Gamemode,
|
||||
skill: SkillName,
|
||||
@@ -24,6 +48,14 @@ export const getSkillPageURL = (
|
||||
skill
|
||||
)}&page=${page}`;
|
||||
|
||||
/**
|
||||
* Will generate an activity table URL for the official OSRS hiscores website.
|
||||
*
|
||||
* @param gamemode Gamemode to fetch ranks for.
|
||||
* @param activity Activity or boss to fetch ranks for.
|
||||
* @param page Page number.
|
||||
* @returns
|
||||
*/
|
||||
export const getActivityPageURL = (
|
||||
gamemode: Gamemode,
|
||||
activity: ActivityName,
|
||||
@@ -35,13 +67,39 @@ export const getActivityPageURL = (
|
||||
activity
|
||||
)}&page=${page}`;
|
||||
|
||||
export const numberFromElement = (el: CheerioElement) => {
|
||||
const innerText = el.firstChild.data;
|
||||
const number = innerText ? innerText.replace(/[\n|,]/g, '') : '-1';
|
||||
/**
|
||||
* Extracts a number from an OSRS hiscores table cell element.
|
||||
*
|
||||
* @param el OSRS hiscores table cell element.
|
||||
* @returns Number parsed from cell text.
|
||||
*/
|
||||
export const numberFromElement = (el: Element | null) => {
|
||||
const { innerHTML } = el ?? {};
|
||||
const number = innerHTML?.replace(/[\n|,]/g, '') ?? '-1';
|
||||
return parseInt(number, 10);
|
||||
};
|
||||
|
||||
export const rsnFromElement = (el: CheerioElement) => {
|
||||
const innerText = el.firstChild.data;
|
||||
return innerText ? innerText.replace(/\uFFFD/g, ' ') : '';
|
||||
/**
|
||||
* Extracts a RSN from an OSRS hiscores table cell element.
|
||||
*
|
||||
* @param el OSRS hiscores table cell element.
|
||||
* @returns RSN parsed from cell text.
|
||||
*/
|
||||
export const rsnFromElement = (el: Element | null) => {
|
||||
const { innerHTML } = el ?? {};
|
||||
return innerHTML?.replace(/\uFFFD/g, ' ') ?? '';
|
||||
};
|
||||
|
||||
/**
|
||||
* Will run an Axios `GET` request against a given URL after injecting a `User-Agent` header.
|
||||
*
|
||||
* @param url URL to run a `GET` request against.
|
||||
* @returns Axios response.
|
||||
*/
|
||||
export const httpGet = (url: string) =>
|
||||
axios.get(url, {
|
||||
headers: {
|
||||
// without User-Agent header requests may be rejected by DDoS protection mechanism
|
||||
'User-Agent': ua.firefox(80)
|
||||
}
|
||||
});
|
||||
|
11
tsconfig.eslint.json
Normal file
11
tsconfig.eslint.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es5",
|
||||
"module": "commonjs",
|
||||
"declaration": true,
|
||||
"outDir": "./lib",
|
||||
"strict": true
|
||||
},
|
||||
"include": ["src", "**/__tests__/*"],
|
||||
"exclude": ["node_modules"]
|
||||
}
|
@@ -4,7 +4,12 @@
|
||||
"module": "commonjs",
|
||||
"declaration": true,
|
||||
"outDir": "./lib",
|
||||
"strict": true
|
||||
"strict": true,
|
||||
"lib": ["ES2015", "DOM", "DOM.Iterable"],
|
||||
"typeRoots": [
|
||||
"./node_modules/@types",
|
||||
"./src/@types"
|
||||
]
|
||||
},
|
||||
"include": ["src"],
|
||||
"exclude": ["node_modules", "**/__tests__/*"]
|
||||
|
20
tslint.json
20
tslint.json
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"extends": ["tslint-config-airbnb", "tslint-config-prettier"],
|
||||
"rules": {
|
||||
"import-name": false,
|
||||
"indent": [true, "spaces", 2],
|
||||
"max-line-length": [true, 120],
|
||||
"ter-arrow-parens": [false],
|
||||
"strict-boolean-expressions": [false],
|
||||
"variable-name": [false],
|
||||
"semicolon": [true, "always", "ignore-bound-class-methods"],
|
||||
"prefer-array-literal": [false],
|
||||
"quotemark": [
|
||||
true,
|
||||
"single",
|
||||
"jsx-double",
|
||||
"avoid-escape",
|
||||
"avoid-template"
|
||||
]
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user