osrs-json-hiscores 2.24.1 → 2.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,237 +1,239 @@
1
- # OSRS .json Hiscores
2
-
3
- [![npm](https://img.shields.io/npm/v/osrs-json-hiscores.svg?style=flat-square)](https://www.npmjs.com/package/osrs-json-hiscores)
4
- [![downloads](https://img.shields.io/npm/dm/osrs-json-hiscores.svg?style=flat-square)](https://npm-stat.com/charts.html?package=osrs-json-hiscores)
5
- [![types](https://img.shields.io/npm/types/osrs-json-hiscores.svg?style=flat-square)](https://github.com/maxswa/osrs-json-hiscores/blob/master/src/types.ts)
6
- [![build](https://img.shields.io/github/actions/workflow/status/maxswa/osrs-json-hiscores/main.yml?style=flat-square&branch=main)](https://github.com/maxswa/osrs-json-hiscores/actions/workflows/main.yml?query=branch%3Amain)
7
-
8
- **The Old School RuneScape API wrapper that does more!**
9
-
10
- ## What it does
11
-
12
- The official hiscores API for Old School RuneScape (OSRS) can return CSV or a simple JSON array.
13
- This wrapper converts the hiscores data into a more usable JSON object 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).
14
-
15
- Additional functions are provided that screen-scrape the OSRS leaderboards and return a list of players as json. Also simple utility functions are provided to fetch the raw responses from Jagex's APIs, if desired.
16
-
17
- `osrs-json-hiscores` has TypeScript support, with full definitions for all functions and custom data types.
18
-
19
- ---
20
-
21
- ### ⚠ Disclaimer ⚠
22
-
23
- Jagex does not provide `Access-Control-Allow-Origin` headers in their responses. This means that [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) will block all browser requests to their hiscores API. In order to get around this, osrs-json-hiscores needs to be installed on the server side and exposed to the front end via a simple API. Here is an example of this in use: [codesandbox.io/s/osrs-json-hiscores-demo](https://codesandbox.io/s/osrs-json-hiscores-demo-qz656)
24
-
25
- TLDR: You cannot use this library directly in your client side app e.g. React or Vue, you must set up a server which uses this lib internally and have your client fetch data from your server.
26
-
27
- ---
28
-
29
- ## Installation
30
-
31
- With npm:
32
-
33
- ```
34
- $ npm install osrs-json-hiscores
35
- ```
36
-
37
- With Yarn:
38
-
39
- ```
40
- $ yarn add osrs-json-hiscores
41
- ```
42
-
43
- ## How to use
44
-
45
- Install the package and then import it into your project:
46
-
47
- ```typescript
48
- import { getStatsByGamemode, getSkillPage } from 'osrs-json-hiscores';
49
- ```
50
-
51
- Once you import it you can call the functions asynchronously:
52
-
53
- ```typescript
54
- const stats = await getStatsByGamemode('Lynx Titan');
55
- const topPage = await getSkillPage('overall');
56
- ```
57
-
58
- `getStats` will return a full player object with gamemode.
59
- `getStatsByGameMode` will return a stats object and accepts a gamemode parameter:
60
-
61
- | Game mode | Param |
62
- | ---------------- | :----------: |
63
- | Regular | `main` |
64
- | Ironman | `ironman` |
65
- | Hardcore Ironman | `hardcore` |
66
- | Ultimate Ironman | `ultimate` |
67
- | Deadman Mode | `deadman` |
68
- | Tournament | `tournament` |
69
- | Leagues | `seasonal` |
70
-
71
- `getSkillPage` and `getActivityPage` require a skill / activity and optionally a gamemode and page:
72
-
73
- ```typescript
74
- getSkillPage('attack', 'main', 1)
75
- .then((res) => console.log(res))
76
- .catch((err) => console.error(err));
77
- ```
78
-
79
- Activities consist of all levels of clue scrolls as well as minigames and bosses:
80
-
81
- ### Clue Scrolls
82
-
83
- | Type | Param |
84
- | -------- | :-------------: |
85
- | All | `allClues` |
86
- | Beginner | `beginnerClues` |
87
- | Easy | `easyClues` |
88
- | Medium | `mediumClues` |
89
- | Hard | `hardClues` |
90
- | Elite | `eliteClues` |
91
- | Master | `masterClues` |
92
-
93
- ### Minigames
94
-
95
- | Minigame | Param |
96
- | ------------------------------- | :-----------------: |
97
- | Bounty Hunter (Legacy - Rogue) | `rogueBH` |
98
- | Bounty Hunter (Legacy - Hunter) | `hunterBH` |
99
- | Bounty Hunter (Rogue) | `rogueBHV2` |
100
- | Bounty Hunter (Hunter) | `hunterBHV2` |
101
- | LMS - Rank | `lastManStanding` |
102
- | PvP Arena - Rank | `pvpArena` |
103
- | Soul Wars Zeal | `soulWarsZeal` |
104
- | Rifts closed | `riftsClosed` |
105
- | Colosseum Glory | `colosseumGlory` |
106
- | Collections Logged | `collectionsLogged` |
107
-
108
- ### Points
109
-
110
- | Activity | Param |
111
- | -------------- | :-------------: |
112
- | League Points | `leaguePoints` |
113
- | Deadman Points | `deadmanPoints` |
114
-
115
- ### Bosses
116
-
117
- | Boss Name | Param |
118
- | --------------------------------- | :----------------------------: |
119
- | Abyssal Sire | `abyssalSire` |
120
- | Alchemical Hydra | `alchemicalHydra` |
121
- | Amoxliatl | `amoxliatl` |
122
- | Araxxor | `araxxor` |
123
- | Artio | `artio` |
124
- | Barrows Chests | `barrows` |
125
- | Bryophyta | `bryophyta` |
126
- | Callisto | `callisto` |
127
- | Calvar'ion | `calvarion` |
128
- | Cerberus | `cerberus` |
129
- | Chambers Of Xeric | `chambersOfXeric` |
130
- | Chambers Of Xeric: Challenge Mode | `chambersOfXericChallengeMode` |
131
- | Chaos Elemental | `chaosElemental` |
132
- | Chaos Fanatic | `chaosFanatic` |
133
- | Commander Zilyana | `commanderZilyana` |
134
- | Corporeal Beast | `corporealBeast` |
135
- | Crazy Archaeologist | `crazyArchaeologist` |
136
- | Dagannoth Prime | `dagannothPrime` |
137
- | Dagannoth Rex | `dagannothRex` |
138
- | Dagannoth Supreme | `dagannothSupreme` |
139
- | Deranged Archaeologist | `derangedArchaeologist` |
140
- | Doom of Mokhaiotl | `doomOfMokhaiotl` |
141
- | Duke Sucellus | `dukeSucellus` |
142
- | General Graardor | `generalGraardor` |
143
- | Giant Mole | `giantMole` |
144
- | Grotesque Guardians | `grotesqueGuardians` |
145
- | Hespori | `hespori` |
146
- | Kalphite Queen | `kalphiteQueen` |
147
- | King Black Dragon | `kingBlackDragon` |
148
- | Kraken | `kraken` |
149
- | Kreearra | `kreeArra` |
150
- | K'ril Tsutsaroth | `krilTsutsaroth` |
151
- | Lunar Chests | `lunarChests` |
152
- | Mimic | `mimic` |
153
- | Nex | `nex` |
154
- | Nightmare | `nightmare` |
155
- | Phosani's Nightmare | `phosanisNightmare` |
156
- | Obor | `obor` |
157
- | Phantom Muspah | `phantomMuspah` |
158
- | Sarachnis | `sarachnis` |
159
- | Scorpia | `scorpia` |
160
- | Scurrius | `scurrius` |
161
- | Skotizo | `skotizo` |
162
- | Sol Heredit | `solHeredit` |
163
- | Spindel | `spindel` |
164
- | Tempoross | `tempoross` |
165
- | The Gauntlet | `gauntlet` |
166
- | The Corrupted Gauntlet | `corruptedGauntlet` |
167
- | The Hueycoatl | `hueycoatl` |
168
- | The Leviathan | `leviathan` |
169
- | The Royal Titans | `royalTitans` |
170
- | The Whisperer | `whisperer` |
171
- | Theatre Of Blood | `theatreOfBlood` |
172
- | Theatre Of Blood: Hard Mode | `theatreOfBloodHardMode` |
173
- | Thermonuclear Smoke Devil | `thermonuclearSmokeDevil` |
174
- | Tombs of Amascut | `tombsOfAmascut` |
175
- | Tombs of Amascut: Expert Mode | `tombsOfAmascutExpertMode` |
176
- | TzKal-Zuk | `tzKalZuk` |
177
- | TzTok-Jad | `tzTokJad` |
178
- | Vardorvis | `vardorvis` |
179
- | Venenatis | `venenatis` |
180
- | Vetion | `vetion` |
181
- | Vorkath | `vorkath` |
182
- | Wintertodt | `wintertodt` |
183
- | Yama | `yama` |
184
- | Zalcano | `zalcano` |
185
- | Zulrah | `zulrah` |
186
-
187
- ## What you'll get
188
-
189
- `getStats` returns a player object that looks like this:
190
-
191
- ```typescript
192
- {
193
- name: 'Lynx Titan',
194
- mode: 'main',
195
- dead: false,
196
- deulted: false,
197
- deironed: false,
198
- main: {
199
- skills: {
200
- overall: {rank: 1, level: 2277, xp: 4600000000},
201
- attack: {},
202
- defence: {},
203
- // ...
204
- },
205
- clues: {},
206
- leaguePoints: {},
207
- bountyHunter: {},
208
- lastManStanding: {},
209
- pvpArena: {},
210
- soulWarsZeal: {},
211
- riftsClosed: {},
212
- colosseumGlory: {},
213
- collectionsLogged: {},
214
- bosses: {}
215
- }
216
- }
217
- ```
218
-
219
- `getSkillPage` returns and array of 25 players (This represents a page on the hiscores):
220
-
221
- ```typescript
222
- [
223
- { rank: 1, name: 'Lynx Titan', level: 2277, xp: 4600000000, dead: false },
224
- {},
225
- {}
226
- // ...
227
- ];
228
- ```
229
-
230
- ## Helpful Extras
231
-
232
- Get the properly formatted name of any skill, boss, clue or other activity:
233
-
234
- ```typescript
235
- // kril === "K'ril Tsutsaroth"
236
- const kril = FORMATTED_BOSS_NAMES['krilTsutsaroth'];
237
- ```
1
+ # OSRS .json Hiscores
2
+
3
+ [![npm](https://img.shields.io/npm/v/osrs-json-hiscores.svg?style=flat-square)](https://www.npmjs.com/package/osrs-json-hiscores)
4
+ [![downloads](https://img.shields.io/npm/dm/osrs-json-hiscores.svg?style=flat-square)](https://npm-stat.com/charts.html?package=osrs-json-hiscores)
5
+ [![types](https://img.shields.io/npm/types/osrs-json-hiscores.svg?style=flat-square)](https://github.com/maxswa/osrs-json-hiscores/blob/master/src/types.ts)
6
+ [![build](https://img.shields.io/github/actions/workflow/status/maxswa/osrs-json-hiscores/main.yml?style=flat-square&branch=main)](https://github.com/maxswa/osrs-json-hiscores/actions/workflows/main.yml?query=branch%3Amain)
7
+
8
+ **The Old School RuneScape API wrapper that does more!**
9
+
10
+ ## What it does
11
+
12
+ The official hiscores API for Old School RuneScape (OSRS) can return CSV or a simple JSON array.
13
+ This wrapper converts the hiscores data into a more usable JSON object 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).
14
+
15
+ Additional functions are provided that screen-scrape the OSRS leaderboards and return a list of players as json. Also simple utility functions are provided to fetch the raw responses from Jagex's APIs, if desired.
16
+
17
+ `osrs-json-hiscores` has TypeScript support, with full definitions for all functions and custom data types.
18
+
19
+ ---
20
+
21
+ ### ⚠ Disclaimer ⚠
22
+
23
+ Jagex does not provide `Access-Control-Allow-Origin` headers in their responses. This means that [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) will block all browser requests to their hiscores API. In order to get around this, osrs-json-hiscores needs to be installed on the server side and exposed to the front end via a simple API. Here is an example of this in use: [codesandbox.io/s/osrs-json-hiscores-demo](https://codesandbox.io/s/osrs-json-hiscores-demo-qz656)
24
+
25
+ TLDR: You cannot use this library directly in your client side app e.g. React or Vue, you must set up a server which uses this lib internally and have your client fetch data from your server.
26
+
27
+ ---
28
+
29
+ ## Installation
30
+
31
+ With npm:
32
+
33
+ ```
34
+ $ npm install osrs-json-hiscores
35
+ ```
36
+
37
+ With Yarn:
38
+
39
+ ```
40
+ $ yarn add osrs-json-hiscores
41
+ ```
42
+
43
+ ## How to use
44
+
45
+ Install the package and then import it into your project:
46
+
47
+ ```typescript
48
+ import { getStatsByGamemode, getSkillPage } from 'osrs-json-hiscores';
49
+ ```
50
+
51
+ Once you import it you can call the functions asynchronously:
52
+
53
+ ```typescript
54
+ const stats = await getStatsByGamemode('Lynx Titan');
55
+ const topPage = await getSkillPage('overall');
56
+ ```
57
+
58
+ `getStats` will return a full player object with gamemode.
59
+ `getStatsByGameMode` will return a stats object and accepts a gamemode parameter:
60
+
61
+ | Game mode | Param |
62
+ | ---------------- | :----------: |
63
+ | Regular | `main` |
64
+ | Ironman | `ironman` |
65
+ | Hardcore Ironman | `hardcore` |
66
+ | Ultimate Ironman | `ultimate` |
67
+ | Deadman Mode | `deadman` |
68
+ | Tournament | `tournament` |
69
+ | Leagues | `seasonal` |
70
+
71
+ `getSkillPage` and `getActivityPage` require a skill / activity and optionally a gamemode and page:
72
+
73
+ ```typescript
74
+ getSkillPage('attack', 'main', 1)
75
+ .then((res) => console.log(res))
76
+ .catch((err) => console.error(err));
77
+ ```
78
+
79
+ Activities consist of all levels of clue scrolls as well as minigames and bosses:
80
+
81
+ ### Clue Scrolls
82
+
83
+ | Type | Param |
84
+ | -------- | :-------------: |
85
+ | All | `allClues` |
86
+ | Beginner | `beginnerClues` |
87
+ | Easy | `easyClues` |
88
+ | Medium | `mediumClues` |
89
+ | Hard | `hardClues` |
90
+ | Elite | `eliteClues` |
91
+ | Master | `masterClues` |
92
+
93
+ ### Minigames
94
+
95
+ | Minigame | Param |
96
+ | ------------------------------- | :-----------------: |
97
+ | Bounty Hunter (Legacy - Rogue) | `rogueBH` |
98
+ | Bounty Hunter (Legacy - Hunter) | `hunterBH` |
99
+ | Bounty Hunter (Rogue) | `rogueBHV2` |
100
+ | Bounty Hunter (Hunter) | `hunterBHV2` |
101
+ | LMS - Rank | `lastManStanding` |
102
+ | PvP Arena - Rank | `pvpArena` |
103
+ | Soul Wars Zeal | `soulWarsZeal` |
104
+ | Rifts closed | `riftsClosed` |
105
+ | Colosseum Glory | `colosseumGlory` |
106
+ | Collections Logged | `collectionsLogged` |
107
+
108
+ ### Points
109
+
110
+ | Activity | Param |
111
+ | -------------- | :-------------: |
112
+ | League Points | `leaguePoints` |
113
+ | Deadman Points | `deadmanPoints` |
114
+
115
+ ### Bosses
116
+
117
+ | Boss Name | Param |
118
+ | --------------------------------- | :----------------------------: |
119
+ | Abyssal Sire | `abyssalSire` |
120
+ | Alchemical Hydra | `alchemicalHydra` |
121
+ | Amoxliatl | `amoxliatl` |
122
+ | Araxxor | `araxxor` |
123
+ | Artio | `artio` |
124
+ | Barrows Chests | `barrows` |
125
+ | Brutus | `brutus` |
126
+ | Bryophyta | `bryophyta` |
127
+ | Callisto | `callisto` |
128
+ | Calvar'ion | `calvarion` |
129
+ | Cerberus | `cerberus` |
130
+ | Chambers Of Xeric | `chambersOfXeric` |
131
+ | Chambers Of Xeric: Challenge Mode | `chambersOfXericChallengeMode` |
132
+ | Chaos Elemental | `chaosElemental` |
133
+ | Chaos Fanatic | `chaosFanatic` |
134
+ | Commander Zilyana | `commanderZilyana` |
135
+ | Corporeal Beast | `corporealBeast` |
136
+ | Crazy Archaeologist | `crazyArchaeologist` |
137
+ | Dagannoth Prime | `dagannothPrime` |
138
+ | Dagannoth Rex | `dagannothRex` |
139
+ | Dagannoth Supreme | `dagannothSupreme` |
140
+ | Deranged Archaeologist | `derangedArchaeologist` |
141
+ | Doom of Mokhaiotl | `doomOfMokhaiotl` |
142
+ | Duke Sucellus | `dukeSucellus` |
143
+ | General Graardor | `generalGraardor` |
144
+ | Giant Mole | `giantMole` |
145
+ | Grotesque Guardians | `grotesqueGuardians` |
146
+ | Hespori | `hespori` |
147
+ | Kalphite Queen | `kalphiteQueen` |
148
+ | King Black Dragon | `kingBlackDragon` |
149
+ | Kraken | `kraken` |
150
+ | Kreearra | `kreeArra` |
151
+ | K'ril Tsutsaroth | `krilTsutsaroth` |
152
+ | Lunar Chests | `lunarChests` |
153
+ | Mimic | `mimic` |
154
+ | Maggot King | `maggotKing` |
155
+ | Nex | `nex` |
156
+ | Nightmare | `nightmare` |
157
+ | Phosani's Nightmare | `phosanisNightmare` |
158
+ | Obor | `obor` |
159
+ | Phantom Muspah | `phantomMuspah` |
160
+ | Sarachnis | `sarachnis` |
161
+ | Scorpia | `scorpia` |
162
+ | Scurrius | `scurrius` |
163
+ | Skotizo | `skotizo` |
164
+ | Sol Heredit | `solHeredit` |
165
+ | Spindel | `spindel` |
166
+ | Tempoross | `tempoross` |
167
+ | The Gauntlet | `gauntlet` |
168
+ | The Corrupted Gauntlet | `corruptedGauntlet` |
169
+ | The Hueycoatl | `hueycoatl` |
170
+ | The Leviathan | `leviathan` |
171
+ | The Royal Titans | `royalTitans` |
172
+ | The Whisperer | `whisperer` |
173
+ | Theatre Of Blood | `theatreOfBlood` |
174
+ | Theatre Of Blood: Hard Mode | `theatreOfBloodHardMode` |
175
+ | Thermonuclear Smoke Devil | `thermonuclearSmokeDevil` |
176
+ | Tombs of Amascut | `tombsOfAmascut` |
177
+ | Tombs of Amascut: Expert Mode | `tombsOfAmascutExpertMode` |
178
+ | TzKal-Zuk | `tzKalZuk` |
179
+ | TzTok-Jad | `tzTokJad` |
180
+ | Vardorvis | `vardorvis` |
181
+ | Venenatis | `venenatis` |
182
+ | Vetion | `vetion` |
183
+ | Vorkath | `vorkath` |
184
+ | Wintertodt | `wintertodt` |
185
+ | Yama | `yama` |
186
+ | Zalcano | `zalcano` |
187
+ | Zulrah | `zulrah` |
188
+
189
+ ## What you'll get
190
+
191
+ `getStats` returns a player object that looks like this:
192
+
193
+ ```typescript
194
+ {
195
+ name: 'Lynx Titan',
196
+ mode: 'main',
197
+ dead: false,
198
+ deulted: false,
199
+ deironed: false,
200
+ main: {
201
+ skills: {
202
+ overall: {rank: 1, level: 2277, xp: 4600000000},
203
+ attack: {},
204
+ defence: {},
205
+ // ...
206
+ },
207
+ clues: {},
208
+ leaguePoints: {},
209
+ bountyHunter: {},
210
+ lastManStanding: {},
211
+ pvpArena: {},
212
+ soulWarsZeal: {},
213
+ riftsClosed: {},
214
+ colosseumGlory: {},
215
+ collectionsLogged: {},
216
+ bosses: {}
217
+ }
218
+ }
219
+ ```
220
+
221
+ `getSkillPage` returns and array of 25 players (This represents a page on the hiscores):
222
+
223
+ ```typescript
224
+ [
225
+ { rank: 1, name: 'Lynx Titan', level: 2277, xp: 4600000000, dead: false },
226
+ {},
227
+ {}
228
+ // ...
229
+ ];
230
+ ```
231
+
232
+ ## Helpful Extras
233
+
234
+ Get the properly formatted name of any skill, boss, clue or other activity:
235
+
236
+ ```typescript
237
+ // kril === "K'ril Tsutsaroth"
238
+ const kril = FORMATTED_BOSS_NAMES['krilTsutsaroth'];
239
+ ```
@@ -16,9 +16,9 @@ export declare const BH_MODES: readonly ["hunterV2", "rogueV2", "hunter", "rogue
16
16
  export type BHType = (typeof BH_MODES)[number];
17
17
  export declare const GAMEMODES: readonly ["main", "ironman", "hardcore", "ultimate", "deadman", "seasonal", "tournament", "skiller", "oneDefence", "freshStart"];
18
18
  export type Gamemode = (typeof GAMEMODES)[number];
19
- export declare const BOSSES: readonly ["abyssalSire", "alchemicalHydra", "amoxliatl", "araxxor", "artio", "barrows", "bryophyta", "callisto", "calvarion", "cerberus", "chambersOfXeric", "chambersOfXericChallengeMode", "chaosElemental", "chaosFanatic", "commanderZilyana", "corporealBeast", "crazyArchaeologist", "dagannothPrime", "dagannothRex", "dagannothSupreme", "derangedArchaeologist", "doomOfMokhaiotl", "dukeSucellus", "generalGraardor", "giantMole", "grotesqueGuardians", "hespori", "kalphiteQueen", "kingBlackDragon", "kraken", "kreeArra", "krilTsutsaroth", "lunarChests", "mimic", "nex", "nightmare", "phosanisNightmare", "obor", "phantomMuspah", "sarachnis", "scorpia", "scurrius", "shellbaneGryphon", "skotizo", "solHeredit", "spindel", "tempoross", "gauntlet", "corruptedGauntlet", "hueycoatl", "leviathan", "royalTitans", "whisperer", "theatreOfBlood", "theatreOfBloodHardMode", "thermonuclearSmokeDevil", "tombsOfAmascut", "tombsOfAmascutExpertMode", "tzKalZuk", "tzTokJad", "vardorvis", "venenatis", "vetion", "vorkath", "wintertodt", "yama", "zalcano", "zulrah"];
19
+ export declare const BOSSES: readonly ["abyssalSire", "alchemicalHydra", "amoxliatl", "araxxor", "artio", "barrows", "brutus", "bryophyta", "callisto", "calvarion", "cerberus", "chambersOfXeric", "chambersOfXericChallengeMode", "chaosElemental", "chaosFanatic", "commanderZilyana", "corporealBeast", "crazyArchaeologist", "dagannothPrime", "dagannothRex", "dagannothSupreme", "derangedArchaeologist", "doomOfMokhaiotl", "dukeSucellus", "generalGraardor", "giantMole", "grotesqueGuardians", "hespori", "kalphiteQueen", "kingBlackDragon", "kraken", "kreeArra", "krilTsutsaroth", "lunarChests", "mimic", "maggotKing", "nex", "nightmare", "phosanisNightmare", "obor", "phantomMuspah", "sarachnis", "scorpia", "scurrius", "shellbaneGryphon", "skotizo", "solHeredit", "spindel", "tempoross", "gauntlet", "corruptedGauntlet", "hueycoatl", "leviathan", "royalTitans", "whisperer", "theatreOfBlood", "theatreOfBloodHardMode", "thermonuclearSmokeDevil", "tombsOfAmascut", "tombsOfAmascutExpertMode", "tzKalZuk", "tzTokJad", "vardorvis", "venenatis", "vetion", "vorkath", "wintertodt", "yama", "zalcano", "zulrah"];
20
20
  export type Boss = (typeof BOSSES)[number];
21
- export declare const ACTIVITIES: readonly ["leaguePoints", "deadmanPoints", "hunterBHV2", "rogueBHV2", "hunterBH", "rogueBH", "allClues", "beginnerClues", "easyClues", "mediumClues", "hardClues", "eliteClues", "masterClues", "lastManStanding", "pvpArena", "soulWarsZeal", "riftsClosed", "colosseumGlory", "collectionsLogged", "abyssalSire", "alchemicalHydra", "amoxliatl", "araxxor", "artio", "barrows", "bryophyta", "callisto", "calvarion", "cerberus", "chambersOfXeric", "chambersOfXericChallengeMode", "chaosElemental", "chaosFanatic", "commanderZilyana", "corporealBeast", "crazyArchaeologist", "dagannothPrime", "dagannothRex", "dagannothSupreme", "derangedArchaeologist", "doomOfMokhaiotl", "dukeSucellus", "generalGraardor", "giantMole", "grotesqueGuardians", "hespori", "kalphiteQueen", "kingBlackDragon", "kraken", "kreeArra", "krilTsutsaroth", "lunarChests", "mimic", "nex", "nightmare", "phosanisNightmare", "obor", "phantomMuspah", "sarachnis", "scorpia", "scurrius", "shellbaneGryphon", "skotizo", "solHeredit", "spindel", "tempoross", "gauntlet", "corruptedGauntlet", "hueycoatl", "leviathan", "royalTitans", "whisperer", "theatreOfBlood", "theatreOfBloodHardMode", "thermonuclearSmokeDevil", "tombsOfAmascut", "tombsOfAmascutExpertMode", "tzKalZuk", "tzTokJad", "vardorvis", "venenatis", "vetion", "vorkath", "wintertodt", "yama", "zalcano", "zulrah"];
21
+ export declare const ACTIVITIES: readonly ["leaguePoints", "deadmanPoints", "hunterBHV2", "rogueBHV2", "hunterBH", "rogueBH", "allClues", "beginnerClues", "easyClues", "mediumClues", "hardClues", "eliteClues", "masterClues", "lastManStanding", "pvpArena", "soulWarsZeal", "riftsClosed", "colosseumGlory", "collectionsLogged", "abyssalSire", "alchemicalHydra", "amoxliatl", "araxxor", "artio", "barrows", "brutus", "bryophyta", "callisto", "calvarion", "cerberus", "chambersOfXeric", "chambersOfXericChallengeMode", "chaosElemental", "chaosFanatic", "commanderZilyana", "corporealBeast", "crazyArchaeologist", "dagannothPrime", "dagannothRex", "dagannothSupreme", "derangedArchaeologist", "doomOfMokhaiotl", "dukeSucellus", "generalGraardor", "giantMole", "grotesqueGuardians", "hespori", "kalphiteQueen", "kingBlackDragon", "kraken", "kreeArra", "krilTsutsaroth", "lunarChests", "mimic", "maggotKing", "nex", "nightmare", "phosanisNightmare", "obor", "phantomMuspah", "sarachnis", "scorpia", "scurrius", "shellbaneGryphon", "skotizo", "solHeredit", "spindel", "tempoross", "gauntlet", "corruptedGauntlet", "hueycoatl", "leviathan", "royalTitans", "whisperer", "theatreOfBlood", "theatreOfBloodHardMode", "thermonuclearSmokeDevil", "tombsOfAmascut", "tombsOfAmascutExpertMode", "tzKalZuk", "tzTokJad", "vardorvis", "venenatis", "vetion", "vorkath", "wintertodt", "yama", "zalcano", "zulrah"];
22
22
  export type ActivityName = (typeof ACTIVITIES)[number];
23
23
  export type FormattedBossNames = {
24
24
  [key in Boss]: string;
@@ -99,6 +99,7 @@ exports.BOSSES = [
99
99
  'araxxor',
100
100
  'artio',
101
101
  'barrows',
102
+ 'brutus',
102
103
  'bryophyta',
103
104
  'callisto',
104
105
  'calvarion',
@@ -127,6 +128,7 @@ exports.BOSSES = [
127
128
  'krilTsutsaroth',
128
129
  'lunarChests',
129
130
  'mimic',
131
+ 'maggotKing',
130
132
  'nex',
131
133
  'nightmare',
132
134
  'phosanisNightmare',
@@ -190,6 +192,7 @@ exports.FORMATTED_BOSS_NAMES = {
190
192
  araxxor: 'Araxxor',
191
193
  artio: 'Artio',
192
194
  barrows: 'Barrows Chests',
195
+ brutus: 'Brutus',
193
196
  bryophyta: 'Bryophyta',
194
197
  callisto: 'Callisto',
195
198
  calvarion: "Calvar'ion",
@@ -218,6 +221,7 @@ exports.FORMATTED_BOSS_NAMES = {
218
221
  krilTsutsaroth: "K'ril Tsutsaroth",
219
222
  lunarChests: 'Lunar Chests',
220
223
  mimic: 'Mimic',
224
+ maggotKing: 'Maggot King',
221
225
  nex: 'Nex',
222
226
  nightmare: 'Nightmare',
223
227
  phosanisNightmare: "Phosani's Nightmare",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "osrs-json-hiscores",
3
- "version": "2.24.1",
3
+ "version": "2.26.0",
4
4
  "description": "The Old School Runescape API wrapper that does more!",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",