Compare commits

...

9 Commits

Author SHA1 Message Date
maxswa
fd24890f67 v2.21.0 2025-02-24 19:09:05 -05:00
Max Swartwout
3ba434978a Merge pull request #103 from maxswa/dependabot/npm_and_yarn/cross-spawn-7.0.6
Bump cross-spawn from 7.0.3 to 7.0.6
2025-02-24 19:07:17 -05:00
Max Swartwout
44ecdf5434 Merge pull request #106 from evanw555/add-collections-titans
Add Collections Logged, Royal Titans
2025-02-24 19:06:56 -05:00
maxswa
99fc97f05e Fix csv parsing, tests. 2025-02-24 19:03:56 -05:00
Evan Williams
b3fc5846f3 Add Collections Logged, Royal Titans 2025-02-07 00:50:49 -08:00
dependabot[bot]
1deed9f450 Bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 22:43:06 +00:00
maxswa
0be3f0b636 v2.20.0 2024-09-25 12:11:27 -04:00
Max Swartwout
ec1ed53669 Merge pull request #102 from maxswa/varlamore-part-2
Add Amoxliatl, The Hueycoatl
2024-09-25 11:59:54 -04:00
maxswa
d0f5285470 Add Amoxliatl, The Hueycoatl 2024-09-25 11:56:09 -04:00
10 changed files with 1172 additions and 582 deletions

View File

@@ -92,17 +92,18 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
### Minigames
| Minigame | Param |
| ------------------------------- | :---------------: |
| Bounty Hunter (Legacy - Rogue) | `rogueBH` |
| Bounty Hunter (Legacy - Hunter) | `hunterBH` |
| Bounty Hunter (Rogue) | `rogueBHV2` |
| Bounty Hunter (Hunter) | `hunterBHV2` |
| LMS - Rank | `lastManStanding` |
| PvP Arena - Rank | `pvpArena` |
| Soul Wars Zeal | `soulWarsZeal` |
| Rifts closed | `riftsClosed` |
| Colosseum Glory | `colosseumGlory` |
| Minigame | Param |
| ------------------------------- | :-----------------: |
| Bounty Hunter (Legacy - Rogue) | `rogueBH` |
| Bounty Hunter (Legacy - Hunter) | `hunterBH` |
| Bounty Hunter (Rogue) | `rogueBHV2` |
| Bounty Hunter (Hunter) | `hunterBHV2` |
| LMS - Rank | `lastManStanding` |
| PvP Arena - Rank | `pvpArena` |
| Soul Wars Zeal | `soulWarsZeal` |
| Rifts closed | `riftsClosed` |
| Colosseum Glory | `colosseumGlory` |
| Collections Logged | `collectionsLogged` |
### Points
@@ -117,6 +118,7 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
| --------------------------------- | :----------------------------: |
| Abyssal Sire | `abyssalSire` |
| Alchemical Hydra | `alchemicalHydra` |
| Amoxliatl | `amoxliatl` |
| Araxxor | `araxxor` |
| Artio | `artio` |
| Barrows Chests | `barrows` |
@@ -161,7 +163,9 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
| Tempoross | `tempoross` |
| The Gauntlet | `gauntlet` |
| The Corrupted Gauntlet | `corruptedGauntlet` |
| The Hueycoatl | `hueycoatl` |
| The Leviathan | `leviathan` |
| The Royal Titans | `royalTitans` |
| The Whisperer | `whisperer` |
| Theatre Of Blood | `theatreOfBlood` |
| Theatre Of Blood: Hard Mode | `theatreOfBloodHardMode` |
@@ -203,6 +207,8 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
pvpArena: {},
soulWarsZeal: {},
riftsClosed: {},
colosseumGlory: {},
collectionsLogged: {},
bosses: {}
}
}

View File

@@ -1,104 +1,108 @@
2130,2277,1102428578
22624,99,32956104
3574,99,47147957
1226,99,200000000
1454,99,180249986
3112,99,155438899
2533,99,17520811
2078,99,84629930
150276,99,13378420
23833,99,19182079
61715,99,13456926
24604,99,16672148
19900,99,19161337
53450,99,14082613
12063,99,16553015
32871,99,14985851
39747,99,13346314
8390,99,15771711
55848,99,14322777
1723,99,52832158
2107,99,101923913
5301,99,22739376
20087,99,18044758
1301,99,18031495
2210,2277,1150073045
23988,99,33320012
3114,99,51215128
1203,99,200000000
1372,99,196290925
3458,99,159426771
2746,99,17744970
2031,99,91566360
161852,99,13386665
25801,99,19461878
64826,99,13473417
26528,99,16672481
20829,99,19483653
58378,99,14103220
13188,99,16573909
36283,99,15061037
17137,99,14670565
8751,99,16169665
60803,99,14390315
1718,99,57850681
2117,99,110369178
5540,99,22739567
22326,99,18052465
1467,99,18050183
-1,-1
-1,-1
32847,10
16567,3
147262,8
101823,7
382,9739
1265,825
131,6000
2401,1606
43386,311
799,460
945,537
5531,5516
38135,10
19368,3
146220,8
100923,7
433,9802
1542,825
158,6000
2572,1606
47979,311
1081,460
880,600
4258,6785
-1,-1
7538,14780
6781,1060
6880,43487
3193,2192
2932,4796
37,111
44605,143
4023,1830
238149,5
47139,293
98811,58
10766,2657
200557,34
1735,692
23548,215
43337,116
61439,287
2859,2000
53841,106
18420,1078
23824,1062
18418,1088
85908,25
6077,1320
21980,1228
76561,477
774,3642
7917,281
2313,2046
52832,580
64296,2899
4205,1740
2681,1444
3424,324
523,48
35420,626
4162,749
5046,500
1218,217
21243,379
40733,249
53931,91
4870,1245
174877,29
2122,49
3471,1569
50947,273
236110,7
102423,201
10174,666
665,2072
23177,310
1967,419
8495,3066
122123,37
240,1537
7756,7
140561,8
4736,2113
249,7096
89194,51
15067,2780
975929,62
196393,25
227062,340
7596,14780
8124,1060
10438,43487
1114,1155
3497,2192
3204,4796
1087,984
2230,2328
51533,143
4243,1830
256985,5
54424,293
114691,58
11700,2657
211708,34
1779,736
24958,215
46504,116
66096,287
3133,2000
26682,198
19337,1078
25021,1062
19290,1088
89474,25
7535,1320
23251,1228
82016,477
876,3642
7073,310
2476,2046
55411,580
68801,2899
4608,1740
3079,1444
8344,324
540,53
38395,626
4176,749
5519,500
1394,217
26127,379
49730,249
57206,91
6106,1245
185920,29
3232,49
4276,1569
57314,273
256794,7
113862,201
1969,538
12346,671
5606,149
550,2450
25557,310
1391,538
9325,3066
131996,37
214,1720
8902,7
148385,8
6120,2113
287,7096
97368,51
15591,2780
1000405,67
213696,25
240082,340
Can't render this file because it has a wrong number of fields in line 25.

File diff suppressed because it is too large Load Diff

View File

@@ -103,8 +103,10 @@ test('Parse CSV to json', () => {
37,225
25,1110
7827,43249
1114,1155
382,2780
944,3000
561,398429
37,111
704,892
1981,1452
@@ -149,7 +151,9 @@ test('Parse CSV to json', () => {
18823,23
63,375
2870,6
891,9102
2871,7
5606,149
2872,8
6984,138
23,923141
@@ -206,6 +210,7 @@ test('Parse CSV to json', () => {
soulWarsZeal: { rank: 37, score: 225 },
riftsClosed: { rank: 25, score: 1110 },
colosseumGlory: { rank: 7827, score: 43249 },
collectionsLogged: { rank: 1114, score: 1155 },
clues: {
all: { rank: 32, score: 12148 },
beginner: { rank: 3105, score: 76 },
@@ -218,6 +223,7 @@ test('Parse CSV to json', () => {
bosses: {
abyssalSire: { rank: 382, score: 2780 },
alchemicalHydra: { rank: 944, score: 3000 },
amoxliatl: { rank: 561, score: 398429 },
araxxor: { rank: 37, score: 111 },
artio: { rank: 704, score: 892 },
barrows: { rank: 1981, score: 1452 },
@@ -262,7 +268,9 @@ test('Parse CSV to json', () => {
tempoross: { rank: 18823, score: 23 },
gauntlet: { rank: 63, score: 375 },
corruptedGauntlet: { rank: 2870, score: 6 },
hueycoatl: { rank: 891, score: 9102 },
leviathan: { rank: 2871, score: 7 },
royalTitans: { rank: 5606, score: 149 },
whisperer: { rank: 2872, score: 8 },
theatreOfBlood: { rank: 6984, score: 138 },
theatreOfBloodHardMode: { rank: 23, score: 923141 },

View File

@@ -1,14 +1,68 @@
{
"skills": [
{ "id": 0, "name": "Overall", "rank": 1, "level": 2277, "xp": 4600000000 },
{ "id": 1, "name": "Attack", "rank": 15, "level": 99, "xp": 200000000 },
{ "id": 2, "name": "Defence", "rank": 28, "level": 99, "xp": 200000000 },
{ "id": 3, "name": "Strength", "rank": 18, "level": 99, "xp": 200000000 },
{ "id": 4, "name": "Hitpoints", "rank": 7, "level": 99, "xp": 200000000 },
{ "id": 5, "name": "Ranged", "rank": 8, "level": 99, "xp": 200000000 },
{ "id": 6, "name": "Prayer", "rank": 11, "level": 99, "xp": 200000000 },
{ "id": 7, "name": "Magic", "rank": 30, "level": 99, "xp": 200000000 },
{ "id": 8, "name": "Cooking", "rank": 154, "level": 99, "xp": 200000000 },
{
"id": 0,
"name": "Overall",
"rank": 1,
"level": 2277,
"xp": 4600000000
},
{
"id": 1,
"name": "Attack",
"rank": 15,
"level": 99,
"xp": 200000000
},
{
"id": 2,
"name": "Defence",
"rank": 28,
"level": 99,
"xp": 200000000
},
{
"id": 3,
"name": "Strength",
"rank": 18,
"level": 99,
"xp": 200000000
},
{
"id": 4,
"name": "Hitpoints",
"rank": 7,
"level": 99,
"xp": 200000000
},
{
"id": 5,
"name": "Ranged",
"rank": 8,
"level": 99,
"xp": 200000000
},
{
"id": 6,
"name": "Prayer",
"rank": 11,
"level": 99,
"xp": 200000000
},
{
"id": 7,
"name": "Magic",
"rank": 30,
"level": 99,
"xp": 200000000
},
{
"id": 8,
"name": "Cooking",
"rank": 149,
"level": 99,
"xp": 200000000
},
{
"id": 9,
"name": "Woodcutting",
@@ -16,8 +70,20 @@
"level": 99,
"xp": 200000000
},
{ "id": 10, "name": "Fletching", "rank": 12, "level": 99, "xp": 200000000 },
{ "id": 11, "name": "Fishing", "rank": 9, "level": 99, "xp": 200000000 },
{
"id": 10,
"name": "Fletching",
"rank": 12,
"level": 99,
"xp": 200000000
},
{
"id": 11,
"name": "Fishing",
"rank": 9,
"level": 99,
"xp": 200000000
},
{
"id": 12,
"name": "Firemaking",
@@ -25,16 +91,76 @@
"level": 99,
"xp": 200000000
},
{ "id": 13, "name": "Crafting", "rank": 4, "level": 99, "xp": 200000000 },
{ "id": 14, "name": "Smithing", "rank": 3, "level": 99, "xp": 200000000 },
{ "id": 15, "name": "Mining", "rank": 24, "level": 99, "xp": 200000000 },
{ "id": 16, "name": "Herblore", "rank": 5, "level": 99, "xp": 200000000 },
{ "id": 17, "name": "Agility", "rank": 24, "level": 99, "xp": 200000000 },
{ "id": 18, "name": "Thieving", "rank": 12, "level": 99, "xp": 200000000 },
{ "id": 19, "name": "Slayer", "rank": 2, "level": 99, "xp": 200000000 },
{ "id": 20, "name": "Farming", "rank": 19, "level": 99, "xp": 200000000 },
{ "id": 21, "name": "Runecraft", "rank": 6, "level": 99, "xp": 200000000 },
{ "id": 22, "name": "Hunter", "rank": 4, "level": 99, "xp": 200000000 },
{
"id": 13,
"name": "Crafting",
"rank": 4,
"level": 99,
"xp": 200000000
},
{
"id": 14,
"name": "Smithing",
"rank": 3,
"level": 99,
"xp": 200000000
},
{
"id": 15,
"name": "Mining",
"rank": 23,
"level": 99,
"xp": 200000000
},
{
"id": 16,
"name": "Herblore",
"rank": 5,
"level": 99,
"xp": 200000000
},
{
"id": 17,
"name": "Agility",
"rank": 24,
"level": 99,
"xp": 200000000
},
{
"id": 18,
"name": "Thieving",
"rank": 12,
"level": 99,
"xp": 200000000
},
{
"id": 19,
"name": "Slayer",
"rank": 2,
"level": 99,
"xp": 200000000
},
{
"id": 20,
"name": "Farming",
"rank": 19,
"level": 99,
"xp": 200000000
},
{
"id": 21,
"name": "Runecraft",
"rank": 6,
"level": 99,
"xp": 200000000
},
{
"id": 22,
"name": "Hunter",
"rank": 3,
"level": 99,
"xp": 200000000
},
{
"id": 23,
"name": "Construction",
@@ -44,10 +170,30 @@
}
],
"activities": [
{ "id": 0, "name": "League Points", "rank": -1, "score": -1 },
{ "id": 1, "name": "Deadman Points", "rank": -1, "score": -1 },
{ "id": 2, "name": "Bounty Hunter - Hunter", "rank": -1, "score": -1 },
{ "id": 3, "name": "Bounty Hunter - Rogue", "rank": -1, "score": -1 },
{
"id": 0,
"name": "League Points",
"rank": -1,
"score": -1
},
{
"id": 1,
"name": "Deadman Points",
"rank": -1,
"score": -1
},
{
"id": 2,
"name": "Bounty Hunter - Hunter",
"rank": -1,
"score": -1
},
{
"id": 3,
"name": "Bounty Hunter - Rogue",
"rank": -1,
"score": -1
},
{
"id": 4,
"name": "Bounty Hunter (Legacy) - Hunter",
@@ -60,94 +206,473 @@
"rank": -1,
"score": -1
},
{ "id": 6, "name": "Clue Scrolls (all)", "rank": 832420, "score": 22 },
{ "id": 7, "name": "Clue Scrolls (beginner)", "rank": -1, "score": -1 },
{ "id": 8, "name": "Clue Scrolls (easy)", "rank": -1, "score": -1 },
{ "id": 9, "name": "Clue Scrolls (medium)", "rank": -1, "score": -1 },
{ "id": 10, "name": "Clue Scrolls (hard)", "rank": 517091, "score": 22 },
{ "id": 11, "name": "Clue Scrolls (elite)", "rank": -1, "score": -1 },
{ "id": 12, "name": "Clue Scrolls (master)", "rank": -1, "score": -1 },
{ "id": 13, "name": "LMS - Rank", "rank": -1, "score": -1 },
{ "id": 14, "name": "PvP Arena - Rank", "rank": -1, "score": -1 },
{ "id": 15, "name": "Soul Wars Zeal", "rank": -1, "score": -1 },
{ "id": 16, "name": "Rifts closed", "rank": -1, "score": -1 },
{ "id": 17, "name": "Colosseum Glory", "rank": -1, "score": -1 },
{ "id": 18, "name": "Abyssal Sire", "rank": -1, "score": -1 },
{ "id": 19, "name": "Alchemical Hydra", "rank": -1, "score": -1 },
{ "id": 20, "name": "Araxxor", "rank": -1, "score": -1 },
{ "id": 20, "name": "Artio", "rank": -1, "score": -1 },
{ "id": 21, "name": "Barrows Chests", "rank": -1, "score": -1 },
{ "id": 22, "name": "Bryophyta", "rank": -1, "score": -1 },
{ "id": 23, "name": "Callisto", "rank": -1, "score": -1 },
{ "id": 24, "name": "Calvar'ion", "rank": -1, "score": -1 },
{ "id": 25, "name": "Cerberus", "rank": -1, "score": -1 },
{ "id": 26, "name": "Chambers of Xeric", "rank": -1, "score": -1 },
{
"id": 6,
"name": "Clue Scrolls (all)",
"rank": 937868,
"score": 22
},
{
"id": 7,
"name": "Clue Scrolls (beginner)",
"rank": -1,
"score": -1
},
{
"id": 8,
"name": "Clue Scrolls (easy)",
"rank": -1,
"score": -1
},
{
"id": 9,
"name": "Clue Scrolls (medium)",
"rank": -1,
"score": -1
},
{
"id": 10,
"name": "Clue Scrolls (hard)",
"rank": 578038,
"score": 22
},
{
"id": 11,
"name": "Clue Scrolls (elite)",
"rank": -1,
"score": -1
},
{
"id": 12,
"name": "Clue Scrolls (master)",
"rank": -1,
"score": -1
},
{
"id": 13,
"name": "LMS - Rank",
"rank": -1,
"score": -1
},
{
"id": 14,
"name": "PvP Arena - Rank",
"rank": -1,
"score": -1
},
{
"id": 15,
"name": "Soul Wars Zeal",
"rank": -1,
"score": -1
},
{
"id": 16,
"name": "Rifts closed",
"rank": -1,
"score": -1
},
{
"id": 17,
"name": "Colosseum Glory",
"rank": -1,
"score": -1
},
{
"id": 18,
"name": "Collections Logged",
"rank": -1,
"score": -1
},
{
"id": 19,
"name": "Abyssal Sire",
"rank": -1,
"score": -1
},
{
"id": 20,
"name": "Alchemical Hydra",
"rank": -1,
"score": -1
},
{
"id": 21,
"name": "Amoxliatl",
"rank": -1,
"score": -1
},
{
"id": 22,
"name": "Araxxor",
"rank": -1,
"score": -1
},
{
"id": 23,
"name": "Artio",
"rank": -1,
"score": -1
},
{
"id": 24,
"name": "Barrows Chests",
"rank": -1,
"score": -1
},
{
"id": 25,
"name": "Bryophyta",
"rank": -1,
"score": -1
},
{
"id": 26,
"name": "Callisto",
"rank": -1,
"score": -1
},
{
"id": 27,
"name": "Calvar'ion",
"rank": -1,
"score": -1
},
{
"id": 28,
"name": "Cerberus",
"rank": -1,
"score": -1
},
{
"id": 29,
"name": "Chambers of Xeric",
"rank": -1,
"score": -1
},
{
"id": 30,
"name": "Chambers of Xeric: Challenge Mode",
"rank": -1,
"score": -1
},
{ "id": 28, "name": "Chaos Elemental", "rank": -1, "score": -1 },
{ "id": 29, "name": "Chaos Fanatic", "rank": -1, "score": -1 },
{ "id": 30, "name": "Commander Zilyana", "rank": -1, "score": -1 },
{ "id": 31, "name": "Corporeal Beast", "rank": -1, "score": -1 },
{ "id": 32, "name": "Crazy Archaeologist", "rank": -1, "score": -1 },
{ "id": 33, "name": "Dagannoth Prime", "rank": -1, "score": -1 },
{ "id": 34, "name": "Dagannoth Rex", "rank": -1, "score": -1 },
{ "id": 35, "name": "Dagannoth Supreme", "rank": -1, "score": -1 },
{ "id": 36, "name": "Deranged Archaeologist", "rank": -1, "score": -1 },
{ "id": 37, "name": "Duke Sucellus", "rank": -1, "score": -1 },
{ "id": 38, "name": "General Graardor", "rank": -1, "score": -1 },
{ "id": 39, "name": "Giant Mole", "rank": -1, "score": -1 },
{ "id": 40, "name": "Grotesque Guardians", "rank": -1, "score": -1 },
{ "id": 41, "name": "Hespori", "rank": -1, "score": -1 },
{ "id": 42, "name": "Kalphite Queen", "rank": -1, "score": -1 },
{ "id": 43, "name": "King Black Dragon", "rank": -1, "score": -1 },
{ "id": 44, "name": "Kraken", "rank": -1, "score": -1 },
{ "id": 45, "name": "Kree'Arra", "rank": -1, "score": -1 },
{ "id": 46, "name": "K'ril Tsutsaroth", "rank": -1, "score": -1 },
{ "id": 47, "name": "Lunar Chests", "rank": -1, "score": -1 },
{ "id": 48, "name": "Mimic", "rank": -1, "score": -1 },
{ "id": 49, "name": "Nex", "rank": -1, "score": -1 },
{ "id": 50, "name": "Nightmare", "rank": -1, "score": -1 },
{ "id": 51, "name": "Phosani's Nightmare", "rank": -1, "score": -1 },
{ "id": 52, "name": "Obor", "rank": -1, "score": -1 },
{ "id": 53, "name": "Phantom Muspah", "rank": -1, "score": -1 },
{ "id": 54, "name": "Sarachnis", "rank": -1, "score": -1 },
{ "id": 55, "name": "Scorpia", "rank": -1, "score": -1 },
{ "id": 56, "name": "Scurrius", "rank": -1, "score": -1 },
{ "id": 57, "name": "Skotizo", "rank": -1, "score": -1 },
{ "id": 58, "name": "Sol Heredit", "rank": -1, "score": -1 },
{ "id": 59, "name": "Spindel", "rank": -1, "score": -1 },
{ "id": 60, "name": "Tempoross", "rank": -1, "score": -1 },
{ "id": 61, "name": "The Gauntlet", "rank": -1, "score": -1 },
{ "id": 62, "name": "The Corrupted Gauntlet", "rank": -1, "score": -1 },
{ "id": 63, "name": "The Leviathan", "rank": -1, "score": -1 },
{ "id": 64, "name": "The Whisperer", "rank": -1, "score": -1 },
{ "id": 65, "name": "Theatre of Blood", "rank": -1, "score": -1 },
{
"id": 31,
"name": "Chaos Elemental",
"rank": -1,
"score": -1
},
{
"id": 32,
"name": "Chaos Fanatic",
"rank": -1,
"score": -1
},
{
"id": 33,
"name": "Commander Zilyana",
"rank": -1,
"score": -1
},
{
"id": 34,
"name": "Corporeal Beast",
"rank": -1,
"score": -1
},
{
"id": 35,
"name": "Crazy Archaeologist",
"rank": -1,
"score": -1
},
{
"id": 36,
"name": "Dagannoth Prime",
"rank": -1,
"score": -1
},
{
"id": 37,
"name": "Dagannoth Rex",
"rank": -1,
"score": -1
},
{
"id": 38,
"name": "Dagannoth Supreme",
"rank": -1,
"score": -1
},
{
"id": 39,
"name": "Deranged Archaeologist",
"rank": -1,
"score": -1
},
{
"id": 40,
"name": "Duke Sucellus",
"rank": -1,
"score": -1
},
{
"id": 41,
"name": "General Graardor",
"rank": -1,
"score": -1
},
{
"id": 42,
"name": "Giant Mole",
"rank": -1,
"score": -1
},
{
"id": 43,
"name": "Grotesque Guardians",
"rank": -1,
"score": -1
},
{
"id": 44,
"name": "Hespori",
"rank": -1,
"score": -1
},
{
"id": 45,
"name": "Kalphite Queen",
"rank": -1,
"score": -1
},
{
"id": 46,
"name": "King Black Dragon",
"rank": -1,
"score": -1
},
{
"id": 47,
"name": "Kraken",
"rank": -1,
"score": -1
},
{
"id": 48,
"name": "Kree'Arra",
"rank": -1,
"score": -1
},
{
"id": 49,
"name": "K'ril Tsutsaroth",
"rank": -1,
"score": -1
},
{
"id": 50,
"name": "Lunar Chests",
"rank": -1,
"score": -1
},
{
"id": 51,
"name": "Mimic",
"rank": -1,
"score": -1
},
{
"id": 52,
"name": "Nex",
"rank": -1,
"score": -1
},
{
"id": 53,
"name": "Nightmare",
"rank": -1,
"score": -1
},
{
"id": 54,
"name": "Phosani's Nightmare",
"rank": -1,
"score": -1
},
{
"id": 55,
"name": "Obor",
"rank": -1,
"score": -1
},
{
"id": 56,
"name": "Phantom Muspah",
"rank": -1,
"score": -1
},
{
"id": 57,
"name": "Sarachnis",
"rank": -1,
"score": -1
},
{
"id": 58,
"name": "Scorpia",
"rank": -1,
"score": -1
},
{
"id": 59,
"name": "Scurrius",
"rank": -1,
"score": -1
},
{
"id": 60,
"name": "Skotizo",
"rank": -1,
"score": -1
},
{
"id": 61,
"name": "Sol Heredit",
"rank": -1,
"score": -1
},
{
"id": 62,
"name": "Spindel",
"rank": -1,
"score": -1
},
{
"id": 63,
"name": "Tempoross",
"rank": -1,
"score": -1
},
{
"id": 64,
"name": "The Gauntlet",
"rank": -1,
"score": -1
},
{
"id": 65,
"name": "The Corrupted Gauntlet",
"rank": -1,
"score": -1
},
{
"id": 66,
"name": "The Hueycoatl",
"rank": -1,
"score": -1
},
{
"id": 67,
"name": "The Leviathan",
"rank": -1,
"score": -1
},
{
"id": 68,
"name": "The Royal Titans",
"rank": -1,
"score": -1
},
{
"id": 69,
"name": "The Whisperer",
"rank": -1,
"score": -1
},
{
"id": 70,
"name": "Theatre of Blood",
"rank": -1,
"score": -1
},
{
"id": 71,
"name": "Theatre of Blood: Hard Mode",
"rank": -1,
"score": -1
},
{ "id": 67, "name": "Thermonuclear Smoke Devil", "rank": -1, "score": -1 },
{ "id": 68, "name": "Tombs of Amascut", "rank": -1, "score": -1 },
{
"id": 69,
"id": 72,
"name": "Thermonuclear Smoke Devil",
"rank": -1,
"score": -1
},
{
"id": 73,
"name": "Tombs of Amascut",
"rank": -1,
"score": -1
},
{
"id": 74,
"name": "Tombs of Amascut: Expert Mode",
"rank": -1,
"score": -1
},
{ "id": 70, "name": "TzKal-Zuk", "rank": -1, "score": -1 },
{ "id": 71, "name": "TzTok-Jad", "rank": 251, "score": 186 },
{ "id": 72, "name": "Vardorvis", "rank": -1, "score": -1 },
{ "id": 73, "name": "Venenatis", "rank": -1, "score": -1 },
{ "id": 74, "name": "Vet'ion", "rank": -1, "score": -1 },
{ "id": 75, "name": "Vorkath", "rank": -1, "score": -1 },
{ "id": 76, "name": "Wintertodt", "rank": -1, "score": -1 },
{ "id": 77, "name": "Zalcano", "rank": -1, "score": -1 },
{ "id": 78, "name": "Zulrah", "rank": -1, "score": -1 }
{
"id": 75,
"name": "TzKal-Zuk",
"rank": -1,
"score": -1
},
{
"id": 76,
"name": "TzTok-Jad",
"rank": 317,
"score": 186
},
{
"id": 77,
"name": "Vardorvis",
"rank": -1,
"score": -1
},
{
"id": 78,
"name": "Venenatis",
"rank": -1,
"score": -1
},
{
"id": 79,
"name": "Vet'ion",
"rank": -1,
"score": -1
},
{
"id": 80,
"name": "Vorkath",
"rank": -1,
"score": -1
},
{
"id": 81,
"name": "Wintertodt",
"rank": -1,
"score": -1
},
{
"id": 82,
"name": "Zalcano",
"rank": -1,
"score": -1
},
{
"id": 83,
"name": "Zulrah",
"rank": -1,
"score": -1
}
]
}

View File

@@ -1,6 +1,6 @@
{
"name": "osrs-json-hiscores",
"version": "2.19.0",
"version": "2.21.0",
"description": "The Old School Runescape API wrapper that does more!",
"main": "lib/index.js",
"types": "lib/index.d.ts",

View File

@@ -45,7 +45,8 @@ import {
FORMATTED_SOUL_WARS,
FORMATTED_RIFTS_CLOSED,
FORMATTED_DEADMAN_POINTS,
FORMATTED_COLOSSEUM_GLORY
FORMATTED_COLOSSEUM_GLORY,
FORMATTED_COLLECTIONS_LOGGED
} from './utils';
/**
@@ -164,6 +165,7 @@ export function parseJsonStats(json: HiscoresResponse): Stats {
const soulWarsZeal = getActivity(FORMATTED_SOUL_WARS);
const riftsClosed = getActivity(FORMATTED_RIFTS_CLOSED);
const colosseumGlory = getActivity(FORMATTED_COLOSSEUM_GLORY);
const collectionsLogged = getActivity(FORMATTED_COLLECTIONS_LOGGED);
const stats: Stats = {
skills,
@@ -175,6 +177,7 @@ export function parseJsonStats(json: HiscoresResponse): Stats {
soulWarsZeal,
riftsClosed,
colosseumGlory,
collectionsLogged,
clues,
bosses
};
@@ -224,8 +227,14 @@ export function parseStats(csv: string): Stats {
const [leaguePoints, deadmanPoints] = activityObjects.splice(0, 2);
const bhObjects = activityObjects.splice(0, BH_MODES.length);
const clueObjects = activityObjects.splice(0, CLUES.length);
const [lastManStanding, pvpArena, soulWarsZeal, riftsClosed, colosseumGlory] =
activityObjects.splice(0, 5);
const [
lastManStanding,
pvpArena,
soulWarsZeal,
riftsClosed,
colosseumGlory,
collectionsLogged
] = activityObjects.splice(0, 6);
const bossObjects = activityObjects.splice(0, BOSSES.length);
const skills: Skills = skillObjects.reduce<Skills>((prev, curr, index) => {
@@ -262,6 +271,7 @@ export function parseStats(csv: string): Stats {
soulWarsZeal,
riftsClosed,
colosseumGlory,
collectionsLogged,
clues,
bosses
};

View File

@@ -69,6 +69,7 @@ export type BH = { [Type in BHType]: Activity };
export type Boss =
| 'abyssalSire'
| 'alchemicalHydra'
| 'amoxliatl'
| 'araxxor'
| 'artio'
| 'barrows'
@@ -113,7 +114,9 @@ export type Boss =
| 'tempoross'
| 'gauntlet'
| 'corruptedGauntlet'
| 'hueycoatl'
| 'leviathan'
| 'royalTitans'
| 'whisperer'
| 'theatreOfBlood'
| 'theatreOfBloodHardMode'
@@ -151,6 +154,7 @@ export type ActivityName =
| 'eliteClues'
| 'masterClues'
| 'colosseumGlory'
| 'collectionsLogged'
| Boss;
export interface Stats {
@@ -170,6 +174,7 @@ export interface Stats {
soulWarsZeal: Activity;
riftsClosed: Activity;
colosseumGlory: Activity;
collectionsLogged: Activity;
bosses: Bosses;
}
export type Modes = { [M in Gamemode]?: Stats };

View File

@@ -76,6 +76,7 @@ export const GAMEMODES: Gamemode[] = [
export const BOSSES: Boss[] = [
'abyssalSire',
'alchemicalHydra',
'amoxliatl',
'araxxor',
'artio',
'barrows',
@@ -120,7 +121,9 @@ export const BOSSES: Boss[] = [
'tempoross',
'gauntlet',
'corruptedGauntlet',
'hueycoatl',
'leviathan',
'royalTitans',
'whisperer',
'theatreOfBlood',
'theatreOfBloodHardMode',
@@ -156,6 +159,7 @@ export const ACTIVITIES: ActivityName[] = [
'soulWarsZeal',
'riftsClosed',
'colosseumGlory',
'collectionsLogged',
...BOSSES
];
@@ -166,6 +170,7 @@ export type FormattedBossNames = {
export const FORMATTED_BOSS_NAMES: FormattedBossNames = {
abyssalSire: 'Abyssal Sire',
alchemicalHydra: 'Alchemical Hydra',
amoxliatl: 'Amoxliatl',
araxxor: 'Araxxor',
artio: 'Artio',
barrows: 'Barrows Chests',
@@ -210,7 +215,9 @@ export const FORMATTED_BOSS_NAMES: FormattedBossNames = {
tempoross: 'Tempoross',
gauntlet: 'The Gauntlet',
corruptedGauntlet: 'The Corrupted Gauntlet',
hueycoatl: 'The Hueycoatl',
leviathan: 'The Leviathan',
royalTitans: 'The Royal Titans',
whisperer: 'The Whisperer',
theatreOfBlood: 'Theatre of Blood',
theatreOfBloodHardMode: 'Theatre of Blood: Hard Mode',
@@ -291,6 +298,7 @@ export const FORMATTED_LEAGUE_POINTS = 'League Points';
export const FORMATTED_DEADMAN_POINTS = 'Deadman Points';
export const FORMATTED_RIFTS_CLOSED = 'Rifts closed';
export const FORMATTED_COLOSSEUM_GLORY = 'Colosseum Glory';
export const FORMATTED_COLLECTIONS_LOGGED = 'Collections Logged';
export const INVALID_FORMAT_ERROR = 'Invalid hiscores format';
export const PLAYER_NOT_FOUND_ERROR = 'Player not found';

View File

@@ -1729,9 +1729,9 @@ cosmiconfig@^7.0.0:
yaml "^1.10.0"
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
version "7.0.6"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
dependencies:
path-key "^3.1.0"
shebang-command "^2.0.0"