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

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

View File

@@ -1,104 +1,108 @@
2130,2277,1102428578 2210,2277,1150073045
22624,99,32956104 23988,99,33320012
3574,99,47147957 3114,99,51215128
1226,99,200000000 1203,99,200000000
1454,99,180249986 1372,99,196290925
3112,99,155438899 3458,99,159426771
2533,99,17520811 2746,99,17744970
2078,99,84629930 2031,99,91566360
150276,99,13378420 161852,99,13386665
23833,99,19182079 25801,99,19461878
61715,99,13456926 64826,99,13473417
24604,99,16672148 26528,99,16672481
19900,99,19161337 20829,99,19483653
53450,99,14082613 58378,99,14103220
12063,99,16553015 13188,99,16573909
32871,99,14985851 36283,99,15061037
39747,99,13346314 17137,99,14670565
8390,99,15771711 8751,99,16169665
55848,99,14322777 60803,99,14390315
1723,99,52832158 1718,99,57850681
2107,99,101923913 2117,99,110369178
5301,99,22739376 5540,99,22739567
20087,99,18044758 22326,99,18052465
1301,99,18031495 1467,99,18050183
-1,-1 -1,-1
-1,-1 -1,-1
32847,10 38135,10
16567,3 19368,3
147262,8 146220,8
101823,7 100923,7
382,9739 433,9802
1265,825 1542,825
131,6000 158,6000
2401,1606 2572,1606
43386,311 47979,311
799,460 1081,460
945,537 880,600
5531,5516 4258,6785
-1,-1 -1,-1
7538,14780 7596,14780
6781,1060 8124,1060
6880,43487 10438,43487
3193,2192 1114,1155
2932,4796 3497,2192
37,111 3204,4796
44605,143 1087,984
4023,1830 2230,2328
238149,5 51533,143
47139,293 4243,1830
98811,58 256985,5
10766,2657 54424,293
200557,34 114691,58
1735,692 11700,2657
23548,215 211708,34
43337,116 1779,736
61439,287 24958,215
2859,2000 46504,116
53841,106 66096,287
18420,1078 3133,2000
23824,1062 26682,198
18418,1088 19337,1078
85908,25 25021,1062
6077,1320 19290,1088
21980,1228 89474,25
76561,477 7535,1320
774,3642 23251,1228
7917,281 82016,477
2313,2046 876,3642
52832,580 7073,310
64296,2899 2476,2046
4205,1740 55411,580
2681,1444 68801,2899
3424,324 4608,1740
523,48 3079,1444
35420,626 8344,324
4162,749 540,53
5046,500 38395,626
1218,217 4176,749
21243,379 5519,500
40733,249 1394,217
53931,91 26127,379
4870,1245 49730,249
174877,29 57206,91
2122,49 6106,1245
3471,1569 185920,29
50947,273 3232,49
236110,7 4276,1569
102423,201 57314,273
10174,666 256794,7
665,2072 113862,201
23177,310 1969,538
1967,419 12346,671
8495,3066 5606,149
122123,37 550,2450
240,1537 25557,310
7756,7 1391,538
140561,8 9325,3066
4736,2113 131996,37
249,7096 214,1720
89194,51 8902,7
15067,2780 148385,8
975929,62 6120,2113
196393,25 287,7096
227062,340 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 37,225
25,1110 25,1110
7827,43249 7827,43249
1114,1155
382,2780 382,2780
944,3000 944,3000
561,398429
37,111 37,111
704,892 704,892
1981,1452 1981,1452
@@ -149,7 +151,9 @@ test('Parse CSV to json', () => {
18823,23 18823,23
63,375 63,375
2870,6 2870,6
891,9102
2871,7 2871,7
5606,149
2872,8 2872,8
6984,138 6984,138
23,923141 23,923141
@@ -206,6 +210,7 @@ test('Parse CSV to json', () => {
soulWarsZeal: { rank: 37, score: 225 }, soulWarsZeal: { rank: 37, score: 225 },
riftsClosed: { rank: 25, score: 1110 }, riftsClosed: { rank: 25, score: 1110 },
colosseumGlory: { rank: 7827, score: 43249 }, colosseumGlory: { rank: 7827, score: 43249 },
collectionsLogged: { rank: 1114, score: 1155 },
clues: { clues: {
all: { rank: 32, score: 12148 }, all: { rank: 32, score: 12148 },
beginner: { rank: 3105, score: 76 }, beginner: { rank: 3105, score: 76 },
@@ -218,6 +223,7 @@ test('Parse CSV to json', () => {
bosses: { bosses: {
abyssalSire: { rank: 382, score: 2780 }, abyssalSire: { rank: 382, score: 2780 },
alchemicalHydra: { rank: 944, score: 3000 }, alchemicalHydra: { rank: 944, score: 3000 },
amoxliatl: { rank: 561, score: 398429 },
araxxor: { rank: 37, score: 111 }, araxxor: { rank: 37, score: 111 },
artio: { rank: 704, score: 892 }, artio: { rank: 704, score: 892 },
barrows: { rank: 1981, score: 1452 }, barrows: { rank: 1981, score: 1452 },
@@ -262,7 +268,9 @@ test('Parse CSV to json', () => {
tempoross: { rank: 18823, score: 23 }, tempoross: { rank: 18823, score: 23 },
gauntlet: { rank: 63, score: 375 }, gauntlet: { rank: 63, score: 375 },
corruptedGauntlet: { rank: 2870, score: 6 }, corruptedGauntlet: { rank: 2870, score: 6 },
hueycoatl: { rank: 891, score: 9102 },
leviathan: { rank: 2871, score: 7 }, leviathan: { rank: 2871, score: 7 },
royalTitans: { rank: 5606, score: 149 },
whisperer: { rank: 2872, score: 8 }, whisperer: { rank: 2872, score: 8 },
theatreOfBlood: { rank: 6984, score: 138 }, theatreOfBlood: { rank: 6984, score: 138 },
theatreOfBloodHardMode: { rank: 23, score: 923141 }, theatreOfBloodHardMode: { rank: 23, score: 923141 },

View File

@@ -1,14 +1,68 @@
{ {
"skills": [ "skills": [
{ "id": 0, "name": "Overall", "rank": 1, "level": 2277, "xp": 4600000000 }, {
{ "id": 1, "name": "Attack", "rank": 15, "level": 99, "xp": 200000000 }, "id": 0,
{ "id": 2, "name": "Defence", "rank": 28, "level": 99, "xp": 200000000 }, "name": "Overall",
{ "id": 3, "name": "Strength", "rank": 18, "level": 99, "xp": 200000000 }, "rank": 1,
{ "id": 4, "name": "Hitpoints", "rank": 7, "level": 99, "xp": 200000000 }, "level": 2277,
{ "id": 5, "name": "Ranged", "rank": 8, "level": 99, "xp": 200000000 }, "xp": 4600000000
{ "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": 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, "id": 9,
"name": "Woodcutting", "name": "Woodcutting",
@@ -16,8 +70,20 @@
"level": 99, "level": 99,
"xp": 200000000 "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, "id": 12,
"name": "Firemaking", "name": "Firemaking",
@@ -25,16 +91,76 @@
"level": 99, "level": 99,
"xp": 200000000 "xp": 200000000
}, },
{ "id": 13, "name": "Crafting", "rank": 4, "level": 99, "xp": 200000000 }, {
{ "id": 14, "name": "Smithing", "rank": 3, "level": 99, "xp": 200000000 }, "id": 13,
{ "id": 15, "name": "Mining", "rank": 24, "level": 99, "xp": 200000000 }, "name": "Crafting",
{ "id": 16, "name": "Herblore", "rank": 5, "level": 99, "xp": 200000000 }, "rank": 4,
{ "id": 17, "name": "Agility", "rank": 24, "level": 99, "xp": 200000000 }, "level": 99,
{ "id": 18, "name": "Thieving", "rank": 12, "level": 99, "xp": 200000000 }, "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": 14,
{ "id": 22, "name": "Hunter", "rank": 4, "level": 99, "xp": 200000000 }, "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, "id": 23,
"name": "Construction", "name": "Construction",
@@ -44,10 +170,30 @@
} }
], ],
"activities": [ "activities": [
{ "id": 0, "name": "League Points", "rank": -1, "score": -1 }, {
{ "id": 1, "name": "Deadman Points", "rank": -1, "score": -1 }, "id": 0,
{ "id": 2, "name": "Bounty Hunter - Hunter", "rank": -1, "score": -1 }, "name": "League Points",
{ "id": 3, "name": "Bounty Hunter - Rogue", "rank": -1, "score": -1 }, "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, "id": 4,
"name": "Bounty Hunter (Legacy) - Hunter", "name": "Bounty Hunter (Legacy) - Hunter",
@@ -60,94 +206,473 @@
"rank": -1, "rank": -1,
"score": -1 "score": -1
}, },
{ "id": 6, "name": "Clue Scrolls (all)", "rank": 832420, "score": 22 }, {
{ "id": 7, "name": "Clue Scrolls (beginner)", "rank": -1, "score": -1 }, "id": 6,
{ "id": 8, "name": "Clue Scrolls (easy)", "rank": -1, "score": -1 }, "name": "Clue Scrolls (all)",
{ "id": 9, "name": "Clue Scrolls (medium)", "rank": -1, "score": -1 }, "rank": 937868,
{ "id": 10, "name": "Clue Scrolls (hard)", "rank": 517091, "score": 22 }, "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": 7,
{ "id": 14, "name": "PvP Arena - Rank", "rank": -1, "score": -1 }, "name": "Clue Scrolls (beginner)",
{ "id": 15, "name": "Soul Wars Zeal", "rank": -1, "score": -1 }, "rank": -1,
{ "id": 16, "name": "Rifts closed", "rank": -1, "score": -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": 8,
{ "id": 20, "name": "Araxxor", "rank": -1, "score": -1 }, "name": "Clue Scrolls (easy)",
{ "id": 20, "name": "Artio", "rank": -1, "score": -1 }, "rank": -1,
{ "id": 21, "name": "Barrows Chests", "rank": -1, "score": -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": 9,
{ "id": 25, "name": "Cerberus", "rank": -1, "score": -1 }, "name": "Clue Scrolls (medium)",
{ "id": 26, "name": "Chambers of Xeric", "rank": -1, "score": -1 }, "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, "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", "name": "Chambers of Xeric: Challenge Mode",
"rank": -1, "rank": -1,
"score": -1 "score": -1
}, },
{ "id": 28, "name": "Chaos Elemental", "rank": -1, "score": -1 }, {
{ "id": 29, "name": "Chaos Fanatic", "rank": -1, "score": -1 }, "id": 31,
{ "id": 30, "name": "Commander Zilyana", "rank": -1, "score": -1 }, "name": "Chaos Elemental",
{ "id": 31, "name": "Corporeal Beast", "rank": -1, "score": -1 }, "rank": -1,
{ "id": 32, "name": "Crazy Archaeologist", "rank": -1, "score": -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": 32,
{ "id": 36, "name": "Deranged Archaeologist", "rank": -1, "score": -1 }, "name": "Chaos Fanatic",
{ "id": 37, "name": "Duke Sucellus", "rank": -1, "score": -1 }, "rank": -1,
{ "id": 38, "name": "General Graardor", "rank": -1, "score": -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": 33,
{ "id": 42, "name": "Kalphite Queen", "rank": -1, "score": -1 }, "name": "Commander Zilyana",
{ "id": 43, "name": "King Black Dragon", "rank": -1, "score": -1 }, "rank": -1,
{ "id": 44, "name": "Kraken", "rank": -1, "score": -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": 34,
{ "id": 48, "name": "Mimic", "rank": -1, "score": -1 }, "name": "Corporeal Beast",
{ "id": 49, "name": "Nex", "rank": -1, "score": -1 }, "rank": -1,
{ "id": 50, "name": "Nightmare", "rank": -1, "score": -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": 35,
{ "id": 54, "name": "Sarachnis", "rank": -1, "score": -1 }, "name": "Crazy Archaeologist",
{ "id": 55, "name": "Scorpia", "rank": -1, "score": -1 }, "rank": -1,
{ "id": 56, "name": "Scurrius", "rank": -1, "score": -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": 36,
{ "id": 60, "name": "Tempoross", "rank": -1, "score": -1 }, "name": "Dagannoth Prime",
{ "id": 61, "name": "The Gauntlet", "rank": -1, "score": -1 }, "rank": -1,
{ "id": 62, "name": "The Corrupted Gauntlet", "rank": -1, "score": -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": 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, "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", "name": "Theatre of Blood: Hard Mode",
"rank": -1, "rank": -1,
"score": -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", "name": "Tombs of Amascut: Expert Mode",
"rank": -1, "rank": -1,
"score": -1 "score": -1
}, },
{ "id": 70, "name": "TzKal-Zuk", "rank": -1, "score": -1 }, {
{ "id": 71, "name": "TzTok-Jad", "rank": 251, "score": 186 }, "id": 75,
{ "id": 72, "name": "Vardorvis", "rank": -1, "score": -1 }, "name": "TzKal-Zuk",
{ "id": 73, "name": "Venenatis", "rank": -1, "score": -1 }, "rank": -1,
{ "id": 74, "name": "Vet'ion", "rank": -1, "score": -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": 76,
{ "id": 78, "name": "Zulrah", "rank": -1, "score": -1 } "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", "name": "osrs-json-hiscores",
"version": "2.19.0", "version": "2.21.0",
"description": "The Old School Runescape API wrapper that does more!", "description": "The Old School Runescape API wrapper that does more!",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

View File

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

View File

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

View File

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

View File

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