Add Colosseum Glory, Lunar Chests, Sol Heredit

This commit is contained in:
maxswa
2024-03-20 19:18:35 -04:00
parent 3b502cb7cf
commit 6adcb02545
9 changed files with 316 additions and 286 deletions

View File

@@ -102,6 +102,7 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
| PvP Arena - Rank | `pvpArena` | | PvP Arena - Rank | `pvpArena` |
| Soul Wars Zeal | `soulWarsZeal` | | Soul Wars Zeal | `soulWarsZeal` |
| Rifts closed | `riftsClosed` | | Rifts closed | `riftsClosed` |
| Colosseum Glory | `colosseumGlory` |
### Points ### Points
@@ -143,6 +144,7 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
| Kraken | `kraken` | | Kraken | `kraken` |
| Kreearra | `kreeArra` | | Kreearra | `kreeArra` |
| K'ril Tsutsaroth | `krilTsutsaroth` | | K'ril Tsutsaroth | `krilTsutsaroth` |
| Lunar Chests | `lunarChests` |
| Mimic | `mimic` | | Mimic | `mimic` |
| Nex | `nex` | | Nex | `nex` |
| Nightmare | `nightmare` | | Nightmare | `nightmare` |
@@ -153,6 +155,7 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
| Scorpia | `scorpia` | | Scorpia | `scorpia` |
| Scurrius | `scurrius` | | Scurrius | `scurrius` |
| Skotizo | `skotizo` | | Skotizo | `skotizo` |
| Sol Heredit | `solHeredit` |
| Spindel | `spindel` | | Spindel | `spindel` |
| Tempoross | `tempoross` | | Tempoross | `tempoross` |
| The Gauntlet | `gauntlet` | | The Gauntlet | `gauntlet` |

View File

@@ -1,100 +1,103 @@
3745,2277,840426611 2910,2277,943515557
24080,99,30276246 24996,99,30606377
9559,99,31228199 4759,99,40283500
2212,99,143599407 1523,99,171953134
3550,99,123248914 2244,99,147696928
6564,99,109953707 5929,99,118171038
4244,99,15144846 4560,99,15170201
4107,99,57072224 2503,99,71406360
135556,99,13353511 141823,99,13354119
25855,99,16903268 22348,99,18680181
53472,99,13456850 56125,99,13456850
22453,99,16654917 23026,99,16655688
17690,99,19118307 18672,99,19123987
45816,99,14059776 48108,99,14072560
10409,99,16530015 10956,99,16552060
27702,99,14765145 27980,99,14967150
39430,99,13235063 40661,99,13252766
6722,99,15754877 7114,99,15760818
51813,99,14023027 53839,99,14058762
5324,99,33835543 5352,99,34669574
3154,99,69527777 2456,99,84892847
4719,99,22733384 4849,99,22734071
15135,99,17952893 16368,99,17968711
1089,99,17998715 1147,99,18027875
-1,-1 -1,-1
-1,-1 -1,-1
26164,10 28384,10
12886,3 14076,3
148658,8 148183,8
103161,7 102684,7
377,9556 338,9641
862,825 1002,825
148,6000 114,6000
2153,1606 2246,1606
42107,298 44261,298
504,459 603,460
1816,368 1238,452
14701,2521 15827,2521
-1,-1 -1,-1
6776,14780 7898,14780
4773,1060 5421,1060
2741,2192 7,24522
90203,594 2902,2192
29573,143 94883,594
3668,1830 34000,143
206778,5 3834,1830
32897,293 218428,5
64112,58 36717,293
18492,1905 74959,58
178941,34 19421,1905
2379,501 186551,34
82902,50 2571,515
147358,26 85921,50
51973,287 154580,26
2377,2000 54677,287
147406,41 2586,2000
32225,707 153371,41
42229,698 33154,707
32212,714 43433,698
79605,25 33088,714
9517,688 81968,25
19125,1228 12249,731
65849,474 20424,1228
2080,2140 70188,474
16433,182 2248,2140
2006,2046 11128,226
48575,580 2117,2046
115056,1908 50095,580
10406,920 120438,1908
2196,1444 10997,920
1005,33 2326,1444
28413,620
4157,744
4261,500
993,217
21848,251
66260,119
108898,26
23958,90
373975,9
2005,1569
40001,273
192608,7
78367,201
5679,583
478,1760
22932,250
15059,7
7161,3066
101555,35
610,933
15733,2
-1,-1 -1,-1
2051,2078 700,40
194,7096 31471,626
69260,51 4119,749
14039,2780 4349,500
876367,62 1078,217
165341,25 20126,301
226318,275 70523,119
114632,26
2945,1245
385801,9
-1,-1
2412,1569
43814,273
207949,7
86335,201
7905,601
732,1783
21039,310
4949,192
7584,3066
109360,36
160,1500
6733,7
131888,8
3128,2113
209,7096
75591,51
15167,2780
911570,62
173436,25
233645,275
Can't render this file because it has a wrong number of fields in line 25.

View File

@@ -3,200 +3,203 @@
{ {
"id": 0, "id": 0,
"name": "Overall", "name": "Overall",
"rank": 3745, "rank": 2910,
"level": 2277, "level": 2277,
"xp": 840426611 "xp": 943515557
}, },
{ "id": 1, "name": "Attack", "rank": 24080, "level": 99, "xp": 30276246 }, { "id": 1, "name": "Attack", "rank": 24996, "level": 99, "xp": 30606377 },
{ "id": 2, "name": "Defence", "rank": 9559, "level": 99, "xp": 31228199 }, { "id": 2, "name": "Defence", "rank": 4759, "level": 99, "xp": 40283500 },
{ "id": 3, "name": "Strength", "rank": 2212, "level": 99, "xp": 143599407 }, { "id": 3, "name": "Strength", "rank": 1523, "level": 99, "xp": 171953134 },
{ {
"id": 4, "id": 4,
"name": "Hitpoints", "name": "Hitpoints",
"rank": 3550, "rank": 2244,
"level": 99, "level": 99,
"xp": 123248914 "xp": 147696928
}, },
{ "id": 5, "name": "Ranged", "rank": 6564, "level": 99, "xp": 109953707 }, { "id": 5, "name": "Ranged", "rank": 5929, "level": 99, "xp": 118171038 },
{ "id": 6, "name": "Prayer", "rank": 4244, "level": 99, "xp": 15144846 }, { "id": 6, "name": "Prayer", "rank": 4560, "level": 99, "xp": 15170201 },
{ "id": 7, "name": "Magic", "rank": 4107, "level": 99, "xp": 57072224 }, { "id": 7, "name": "Magic", "rank": 2503, "level": 99, "xp": 71406360 },
{ "id": 8, "name": "Cooking", "rank": 135556, "level": 99, "xp": 13353511 }, { "id": 8, "name": "Cooking", "rank": 141823, "level": 99, "xp": 13354119 },
{ {
"id": 9, "id": 9,
"name": "Woodcutting", "name": "Woodcutting",
"rank": 25855, "rank": 22348,
"level": 99, "level": 99,
"xp": 16903268 "xp": 18680181
}, },
{ {
"id": 10, "id": 10,
"name": "Fletching", "name": "Fletching",
"rank": 53472, "rank": 56125,
"level": 99, "level": 99,
"xp": 13456850 "xp": 13456850
}, },
{ "id": 11, "name": "Fishing", "rank": 22453, "level": 99, "xp": 16654917 }, { "id": 11, "name": "Fishing", "rank": 23026, "level": 99, "xp": 16655688 },
{ {
"id": 12, "id": 12,
"name": "Firemaking", "name": "Firemaking",
"rank": 17690, "rank": 18672,
"level": 99, "level": 99,
"xp": 19118307 "xp": 19123987
}, },
{ {
"id": 13, "id": 13,
"name": "Crafting", "name": "Crafting",
"rank": 45816, "rank": 48108,
"level": 99, "level": 99,
"xp": 14059776 "xp": 14072560
}, },
{ {
"id": 14, "id": 14,
"name": "Smithing", "name": "Smithing",
"rank": 10409, "rank": 10956,
"level": 99, "level": 99,
"xp": 16530015 "xp": 16552060
}, },
{ "id": 15, "name": "Mining", "rank": 27702, "level": 99, "xp": 14765145 }, { "id": 15, "name": "Mining", "rank": 27980, "level": 99, "xp": 14967150 },
{ {
"id": 16, "id": 16,
"name": "Herblore", "name": "Herblore",
"rank": 39430, "rank": 40661,
"level": 99, "level": 99,
"xp": 13235063 "xp": 13252766
}, },
{ "id": 17, "name": "Agility", "rank": 6722, "level": 99, "xp": 15754877 }, { "id": 17, "name": "Agility", "rank": 7114, "level": 99, "xp": 15760818 },
{ {
"id": 18, "id": 18,
"name": "Thieving", "name": "Thieving",
"rank": 51813, "rank": 53839,
"level": 99, "level": 99,
"xp": 14023027 "xp": 14058762
}, },
{ "id": 19, "name": "Slayer", "rank": 5324, "level": 99, "xp": 33835543 }, { "id": 19, "name": "Slayer", "rank": 5352, "level": 99, "xp": 34669574 },
{ "id": 20, "name": "Farming", "rank": 3154, "level": 99, "xp": 69527777 }, { "id": 20, "name": "Farming", "rank": 2456, "level": 99, "xp": 84892847 },
{ {
"id": 21, "id": 21,
"name": "Runecraft", "name": "Runecraft",
"rank": 4719, "rank": 4849,
"level": 99, "level": 99,
"xp": 22733384 "xp": 22734071
}, },
{ "id": 22, "name": "Hunter", "rank": 15135, "level": 99, "xp": 17952893 }, { "id": 22, "name": "Hunter", "rank": 16368, "level": 99, "xp": 17968711 },
{ {
"id": 23, "id": 23,
"name": "Construction", "name": "Construction",
"rank": 1089, "rank": 1147,
"level": 99, "level": 99,
"xp": 17998715 "xp": 18027875
} }
], ],
"activities": [ "activities": [
{ "id": 0, "name": "League Points", "rank": -1, "score": -1 }, { "id": 0, "name": "League Points", "rank": -1, "score": -1 },
{ "id": 1, "name": "Deadman Points", "rank": -1, "score": -1 }, { "id": 1, "name": "Deadman Points", "rank": -1, "score": -1 },
{ "id": 2, "name": "Bounty Hunter - Hunter", "rank": 26164, "score": 10 }, { "id": 2, "name": "Bounty Hunter - Hunter", "rank": 28384, "score": 10 },
{ "id": 3, "name": "Bounty Hunter - Rogue", "rank": 12886, "score": 3 }, { "id": 3, "name": "Bounty Hunter - Rogue", "rank": 14076, "score": 3 },
{ {
"id": 4, "id": 4,
"name": "Bounty Hunter (Legacy) - Hunter", "name": "Bounty Hunter (Legacy) - Hunter",
"rank": 148658, "rank": 148183,
"score": 8 "score": 8
}, },
{ {
"id": 5, "id": 5,
"name": "Bounty Hunter (Legacy) - Rogue", "name": "Bounty Hunter (Legacy) - Rogue",
"rank": 103161, "rank": 102684,
"score": 7 "score": 7
}, },
{ "id": 6, "name": "Clue Scrolls (all)", "rank": 377, "score": 9556 }, { "id": 6, "name": "Clue Scrolls (all)", "rank": 338, "score": 9641 },
{ "id": 7, "name": "Clue Scrolls (beginner)", "rank": 862, "score": 825 }, { "id": 7, "name": "Clue Scrolls (beginner)", "rank": 1002, "score": 825 },
{ "id": 8, "name": "Clue Scrolls (easy)", "rank": 148, "score": 6000 }, { "id": 8, "name": "Clue Scrolls (easy)", "rank": 114, "score": 6000 },
{ "id": 9, "name": "Clue Scrolls (medium)", "rank": 2153, "score": 1606 }, { "id": 9, "name": "Clue Scrolls (medium)", "rank": 2246, "score": 1606 },
{ "id": 10, "name": "Clue Scrolls (hard)", "rank": 42107, "score": 298 }, { "id": 10, "name": "Clue Scrolls (hard)", "rank": 44261, "score": 298 },
{ "id": 11, "name": "Clue Scrolls (elite)", "rank": 504, "score": 459 }, { "id": 11, "name": "Clue Scrolls (elite)", "rank": 603, "score": 460 },
{ "id": 12, "name": "Clue Scrolls (master)", "rank": 1816, "score": 368 }, { "id": 12, "name": "Clue Scrolls (master)", "rank": 1238, "score": 452 },
{ "id": 13, "name": "LMS - Rank", "rank": 14701, "score": 2521 }, { "id": 13, "name": "LMS - Rank", "rank": 15827, "score": 2521 },
{ "id": 14, "name": "PvP Arena - Rank", "rank": -1, "score": -1 }, { "id": 14, "name": "PvP Arena - Rank", "rank": -1, "score": -1 },
{ "id": 15, "name": "Soul Wars Zeal", "rank": 6776, "score": 14780 }, { "id": 15, "name": "Soul Wars Zeal", "rank": 7898, "score": 14780 },
{ "id": 16, "name": "Rifts closed", "rank": 4773, "score": 1060 }, { "id": 16, "name": "Rifts closed", "rank": 5421, "score": 1060 },
{ "id": 17, "name": "Abyssal Sire", "rank": 2741, "score": 2192 }, { "id": 17, "name": "Colosseum Glory", "rank": 7, "score": 24522 },
{ "id": 18, "name": "Alchemical Hydra", "rank": 90203, "score": 594 }, { "id": 18, "name": "Abyssal Sire", "rank": 2902, "score": 2192 },
{ "id": 19, "name": "Artio", "rank": 29573, "score": 143 }, { "id": 19, "name": "Alchemical Hydra", "rank": 94883, "score": 594 },
{ "id": 20, "name": "Barrows Chests", "rank": 3668, "score": 1830 }, { "id": 20, "name": "Artio", "rank": 34000, "score": 143 },
{ "id": 21, "name": "Bryophyta", "rank": 206778, "score": 5 }, { "id": 21, "name": "Barrows Chests", "rank": 3834, "score": 1830 },
{ "id": 22, "name": "Callisto", "rank": 32897, "score": 293 }, { "id": 22, "name": "Bryophyta", "rank": 218428, "score": 5 },
{ "id": 23, "name": "Calvar'ion", "rank": 64112, "score": 58 }, { "id": 23, "name": "Callisto", "rank": 36717, "score": 293 },
{ "id": 24, "name": "Cerberus", "rank": 18492, "score": 1905 }, { "id": 24, "name": "Calvar'ion", "rank": 74959, "score": 58 },
{ "id": 25, "name": "Chambers of Xeric", "rank": 178941, "score": 34 }, { "id": 25, "name": "Cerberus", "rank": 19421, "score": 1905 },
{ "id": 26, "name": "Chambers of Xeric", "rank": 186551, "score": 34 },
{ {
"id": 26, "id": 27,
"name": "Chambers of Xeric: Challenge Mode", "name": "Chambers of Xeric: Challenge Mode",
"rank": 2379, "rank": 2571,
"score": 501 "score": 515
}, },
{ "id": 27, "name": "Chaos Elemental", "rank": 82902, "score": 50 }, { "id": 28, "name": "Chaos Elemental", "rank": 85921, "score": 50 },
{ "id": 28, "name": "Chaos Fanatic", "rank": 147358, "score": 26 }, { "id": 29, "name": "Chaos Fanatic", "rank": 154580, "score": 26 },
{ "id": 29, "name": "Commander Zilyana", "rank": 51973, "score": 287 }, { "id": 30, "name": "Commander Zilyana", "rank": 54677, "score": 287 },
{ "id": 30, "name": "Corporeal Beast", "rank": 2377, "score": 2000 }, { "id": 31, "name": "Corporeal Beast", "rank": 2586, "score": 2000 },
{ "id": 31, "name": "Crazy Archaeologist", "rank": 147406, "score": 41 }, { "id": 32, "name": "Crazy Archaeologist", "rank": 153371, "score": 41 },
{ "id": 32, "name": "Dagannoth Prime", "rank": 32225, "score": 707 }, { "id": 33, "name": "Dagannoth Prime", "rank": 33154, "score": 707 },
{ "id": 33, "name": "Dagannoth Rex", "rank": 42229, "score": 698 }, { "id": 34, "name": "Dagannoth Rex", "rank": 43433, "score": 698 },
{ "id": 34, "name": "Dagannoth Supreme", "rank": 32212, "score": 714 }, { "id": 35, "name": "Dagannoth Supreme", "rank": 33088, "score": 714 },
{ "id": 35, "name": "Deranged Archaeologist", "rank": 79605, "score": 25 }, { "id": 36, "name": "Deranged Archaeologist", "rank": 81968, "score": 25 },
{ "id": 36, "name": "Duke Sucellus", "rank": 9517, "score": 688 }, { "id": 37, "name": "Duke Sucellus", "rank": 12249, "score": 731 },
{ "id": 37, "name": "General Graardor", "rank": 19125, "score": 1228 }, { "id": 38, "name": "General Graardor", "rank": 20424, "score": 1228 },
{ "id": 38, "name": "Giant Mole", "rank": 65849, "score": 474 }, { "id": 39, "name": "Giant Mole", "rank": 70188, "score": 474 },
{ "id": 39, "name": "Grotesque Guardians", "rank": 2080, "score": 2140 }, { "id": 40, "name": "Grotesque Guardians", "rank": 2248, "score": 2140 },
{ "id": 40, "name": "Hespori", "rank": 16433, "score": 182 }, { "id": 41, "name": "Hespori", "rank": 11128, "score": 226 },
{ "id": 41, "name": "Kalphite Queen", "rank": 2006, "score": 2046 }, { "id": 42, "name": "Kalphite Queen", "rank": 2117, "score": 2046 },
{ "id": 42, "name": "King Black Dragon", "rank": 48575, "score": 580 }, { "id": 43, "name": "King Black Dragon", "rank": 50095, "score": 580 },
{ "id": 43, "name": "Kraken", "rank": 115056, "score": 1908 }, { "id": 44, "name": "Kraken", "rank": 120438, "score": 1908 },
{ "id": 44, "name": "Kree'Arra", "rank": 10406, "score": 920 }, { "id": 45, "name": "Kree'Arra", "rank": 10997, "score": 920 },
{ "id": 45, "name": "K'ril Tsutsaroth", "rank": 2196, "score": 1444 }, { "id": 46, "name": "K'ril Tsutsaroth", "rank": 2326, "score": 1444 },
{ "id": 46, "name": "Mimic", "rank": 1005, "score": 33 }, { "id": 47, "name": "Lunar Chests", "rank": -1, "score": -1 },
{ "id": 47, "name": "Nex", "rank": 28413, "score": 620 }, { "id": 48, "name": "Mimic", "rank": 700, "score": 40 },
{ "id": 48, "name": "Nightmare", "rank": 4157, "score": 744 }, { "id": 49, "name": "Nex", "rank": 31471, "score": 626 },
{ "id": 49, "name": "Phosani's Nightmare", "rank": 4261, "score": 500 }, { "id": 50, "name": "Nightmare", "rank": 4119, "score": 749 },
{ "id": 50, "name": "Obor", "rank": 993, "score": 217 }, { "id": 51, "name": "Phosani's Nightmare", "rank": 4349, "score": 500 },
{ "id": 51, "name": "Phantom Muspah", "rank": 21848, "score": 251 }, { "id": 52, "name": "Obor", "rank": 1078, "score": 217 },
{ "id": 52, "name": "Sarachnis", "rank": 66260, "score": 119 }, { "id": 53, "name": "Phantom Muspah", "rank": 20126, "score": 301 },
{ "id": 53, "name": "Scorpia", "rank": 108898, "score": 26 }, { "id": 54, "name": "Sarachnis", "rank": 70523, "score": 119 },
{ "id": 54, "name": "Scurrius", "rank": 23958, "score": 90 }, { "id": 55, "name": "Scorpia", "rank": 114632, "score": 26 },
{ "id": 55, "name": "Skotizo", "rank": 373975, "score": 9 }, { "id": 56, "name": "Scurrius", "rank": 2945, "score": 1245 },
{ "id": 56, "name": "Spindel", "rank": 2005, "score": 1569 }, { "id": 57, "name": "Skotizo", "rank": 385801, "score": 9 },
{ "id": 57, "name": "Tempoross", "rank": 40001, "score": 273 }, { "id": 58, "name": "Sol Heredit", "rank": -1, "score": -1 },
{ "id": 58, "name": "The Gauntlet", "rank": 192608, "score": 7 }, { "id": 59, "name": "Spindel", "rank": 2412, "score": 1569 },
{ "id": 59, "name": "The Corrupted Gauntlet", "rank": 78367, "score": 201 }, { "id": 60, "name": "Tempoross", "rank": 43814, "score": 273 },
{ "id": 60, "name": "The Leviathan", "rank": 5679, "score": 583 }, { "id": 61, "name": "The Gauntlet", "rank": 207949, "score": 7 },
{ "id": 61, "name": "The Whisperer", "rank": 478, "score": 1760 }, { "id": 62, "name": "The Corrupted Gauntlet", "rank": 86335, "score": 201 },
{ "id": 62, "name": "Theatre of Blood", "rank": 22932, "score": 250 }, { "id": 63, "name": "The Leviathan", "rank": 7905, "score": 601 },
{ { "id": 64, "name": "The Whisperer", "rank": 732, "score": 1783 },
"id": 63, { "id": 65, "name": "Theatre of Blood", "rank": 21039, "score": 310 },
"name": "Theatre of Blood: Hard Mode",
"rank": 15059,
"score": 7
},
{
"id": 64,
"name": "Thermonuclear Smoke Devil",
"rank": 7161,
"score": 3066
},
{ "id": 65, "name": "Tombs of Amascut", "rank": 101555, "score": 35 },
{ {
"id": 66, "id": 66,
"name": "Tombs of Amascut: Expert Mode", "name": "Theatre of Blood: Hard Mode",
"rank": 610, "rank": 4949,
"score": 933 "score": 192
}, },
{ "id": 67, "name": "TzKal-Zuk", "rank": 15733, "score": 2 }, {
{ "id": 68, "name": "TzTok-Jad", "rank": -1, "score": -1 }, "id": 67,
{ "id": 69, "name": "Vardorvis", "rank": 2051, "score": 2078 }, "name": "Thermonuclear Smoke Devil",
{ "id": 70, "name": "Venenatis", "rank": 194, "score": 7096 }, "rank": 7584,
{ "id": 71, "name": "Vet'ion", "rank": 69260, "score": 51 }, "score": 3066
{ "id": 72, "name": "Vorkath", "rank": 14039, "score": 2780 }, },
{ "id": 73, "name": "Wintertodt", "rank": 876367, "score": 62 }, { "id": 68, "name": "Tombs of Amascut", "rank": 109360, "score": 36 },
{ "id": 74, "name": "Zalcano", "rank": 165341, "score": 25 }, {
{ "id": 75, "name": "Zulrah", "rank": 226318, "score": 275 } "id": 69,
"name": "Tombs of Amascut: Expert Mode",
"rank": 160,
"score": 1500
},
{ "id": 70, "name": "TzKal-Zuk", "rank": 6733, "score": 7 },
{ "id": 71, "name": "TzTok-Jad", "rank": 131888, "score": 8 },
{ "id": 72, "name": "Vardorvis", "rank": 3128, "score": 2113 },
{ "id": 73, "name": "Venenatis", "rank": 209, "score": 7096 },
{ "id": 74, "name": "Vet'ion", "rank": 75591, "score": 51 },
{ "id": 75, "name": "Vorkath", "rank": 15167, "score": 2780 },
{ "id": 76, "name": "Wintertodt", "rank": 911570, "score": 62 },
{ "id": 77, "name": "Zalcano", "rank": 173436, "score": 25 },
{ "id": 78, "name": "Zulrah", "rank": 233645, "score": 275 }
] ]
} }

View File

@@ -102,6 +102,7 @@ test('Parse CSV to json', () => {
13,4057 13,4057
37,225 37,225
25,1110 25,1110
7827,43249
382,2780 382,2780
944,3000 944,3000
704,892 704,892
@@ -131,6 +132,7 @@ test('Parse CSV to json', () => {
41643,1477 41643,1477
625,2391 625,2391
120,2981 120,2981
54,2958
1,109 1,109
99,39002 99,39002
3,22666 3,22666
@@ -141,6 +143,7 @@ test('Parse CSV to json', () => {
82,3404 82,3404
555,7079 555,7079
5085,61 5085,61
8731,1423
678,903 678,903
18823,23 18823,23
63,375 63,375
@@ -201,6 +204,7 @@ test('Parse CSV to json', () => {
pvpArena: { rank: 13, score: 4057 }, pvpArena: { rank: 13, score: 4057 },
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 },
clues: { clues: {
all: { rank: 32, score: 12148 }, all: { rank: 32, score: 12148 },
beginner: { rank: 3105, score: 76 }, beginner: { rank: 3105, score: 76 },
@@ -240,6 +244,7 @@ test('Parse CSV to json', () => {
kraken: { rank: 41643, score: 1477 }, kraken: { rank: 41643, score: 1477 },
kreeArra: { rank: 625, score: 2391 }, kreeArra: { rank: 625, score: 2391 },
krilTsutsaroth: { rank: 120, score: 2981 }, krilTsutsaroth: { rank: 120, score: 2981 },
lunarChests: { rank: 54, score: 2958 },
mimic: { rank: 1, score: 109 }, mimic: { rank: 1, score: 109 },
nex: { rank: 99, score: 39002 }, nex: { rank: 99, score: 39002 },
nightmare: { rank: 3, score: 22666 }, nightmare: { rank: 3, score: 22666 },
@@ -250,6 +255,7 @@ test('Parse CSV to json', () => {
scorpia: { rank: 82, score: 3404 }, scorpia: { rank: 82, score: 3404 },
scurrius: { rank: 555, score: 7079 }, scurrius: { rank: 555, score: 7079 },
skotizo: { rank: 5085, score: 61 }, skotizo: { rank: 5085, score: 61 },
solHeredit: { rank: 8731, score: 1423 },
spindel: { rank: 678, score: 903 }, spindel: { rank: 678, score: 903 },
tempoross: { rank: 18823, score: 23 }, tempoross: { rank: 18823, score: 23 },
gauntlet: { rank: 63, score: 375 }, gauntlet: { rank: 63, score: 375 },

View File

@@ -7,8 +7,8 @@
{ "id": 4, "name": "Hitpoints", "rank": 7, "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": 5, "name": "Ranged", "rank": 8, "level": 99, "xp": 200000000 },
{ "id": 6, "name": "Prayer", "rank": 11, "level": 99, "xp": 200000000 }, { "id": 6, "name": "Prayer", "rank": 11, "level": 99, "xp": 200000000 },
{ "id": 7, "name": "Magic", "rank": 31, "level": 99, "xp": 200000000 }, { "id": 7, "name": "Magic", "rank": 30, "level": 99, "xp": 200000000 },
{ "id": 8, "name": "Cooking", "rank": 155, "level": 99, "xp": 200000000 }, { "id": 8, "name": "Cooking", "rank": 154, "level": 99, "xp": 200000000 },
{ {
"id": 9, "id": 9,
"name": "Woodcutting", "name": "Woodcutting",
@@ -60,89 +60,93 @@
"rank": -1, "rank": -1,
"score": -1 "score": -1
}, },
{ "id": 6, "name": "Clue Scrolls (all)", "rank": 805212, "score": 22 }, { "id": 6, "name": "Clue Scrolls (all)", "rank": 832420, "score": 22 },
{ "id": 7, "name": "Clue Scrolls (beginner)", "rank": -1, "score": -1 }, { "id": 7, "name": "Clue Scrolls (beginner)", "rank": -1, "score": -1 },
{ "id": 8, "name": "Clue Scrolls (easy)", "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": 9, "name": "Clue Scrolls (medium)", "rank": -1, "score": -1 },
{ "id": 10, "name": "Clue Scrolls (hard)", "rank": 502504, "score": 22 }, { "id": 10, "name": "Clue Scrolls (hard)", "rank": 517091, "score": 22 },
{ "id": 11, "name": "Clue Scrolls (elite)", "rank": -1, "score": -1 }, { "id": 11, "name": "Clue Scrolls (elite)", "rank": -1, "score": -1 },
{ "id": 12, "name": "Clue Scrolls (master)", "rank": -1, "score": -1 }, { "id": 12, "name": "Clue Scrolls (master)", "rank": -1, "score": -1 },
{ "id": 13, "name": "LMS - Rank", "rank": -1, "score": -1 }, { "id": 13, "name": "LMS - Rank", "rank": -1, "score": -1 },
{ "id": 14, "name": "PvP Arena - 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": 15, "name": "Soul Wars Zeal", "rank": -1, "score": -1 },
{ "id": 16, "name": "Rifts closed", "rank": -1, "score": -1 }, { "id": 16, "name": "Rifts closed", "rank": -1, "score": -1 },
{ "id": 17, "name": "Abyssal Sire", "rank": -1, "score": -1 }, { "id": 17, "name": "Colosseum Glory", "rank": -1, "score": -1 },
{ "id": 18, "name": "Alchemical Hydra", "rank": -1, "score": -1 }, { "id": 18, "name": "Abyssal Sire", "rank": -1, "score": -1 },
{ "id": 19, "name": "Artio", "rank": -1, "score": -1 }, { "id": 19, "name": "Alchemical Hydra", "rank": -1, "score": -1 },
{ "id": 20, "name": "Barrows Chests", "rank": -1, "score": -1 }, { "id": 20, "name": "Artio", "rank": -1, "score": -1 },
{ "id": 21, "name": "Bryophyta", "rank": -1, "score": -1 }, { "id": 21, "name": "Barrows Chests", "rank": -1, "score": -1 },
{ "id": 22, "name": "Callisto", "rank": -1, "score": -1 }, { "id": 22, "name": "Bryophyta", "rank": -1, "score": -1 },
{ "id": 23, "name": "Calvar'ion", "rank": -1, "score": -1 }, { "id": 23, "name": "Callisto", "rank": -1, "score": -1 },
{ "id": 24, "name": "Cerberus", "rank": -1, "score": -1 }, { "id": 24, "name": "Calvar'ion", "rank": -1, "score": -1 },
{ "id": 25, "name": "Chambers of Xeric", "rank": -1, "score": -1 }, { "id": 25, "name": "Cerberus", "rank": -1, "score": -1 },
{ "id": 26, "name": "Chambers of Xeric", "rank": -1, "score": -1 },
{ {
"id": 26, "id": 27,
"name": "Chambers of Xeric: Challenge Mode", "name": "Chambers of Xeric: Challenge Mode",
"rank": -1, "rank": -1,
"score": -1 "score": -1
}, },
{ "id": 27, "name": "Chaos Elemental", "rank": -1, "score": -1 }, { "id": 28, "name": "Chaos Elemental", "rank": -1, "score": -1 },
{ "id": 28, "name": "Chaos Fanatic", "rank": -1, "score": -1 }, { "id": 29, "name": "Chaos Fanatic", "rank": -1, "score": -1 },
{ "id": 29, "name": "Commander Zilyana", "rank": -1, "score": -1 }, { "id": 30, "name": "Commander Zilyana", "rank": -1, "score": -1 },
{ "id": 30, "name": "Corporeal Beast", "rank": -1, "score": -1 }, { "id": 31, "name": "Corporeal Beast", "rank": -1, "score": -1 },
{ "id": 31, "name": "Crazy Archaeologist", "rank": -1, "score": -1 }, { "id": 32, "name": "Crazy Archaeologist", "rank": -1, "score": -1 },
{ "id": 32, "name": "Dagannoth Prime", "rank": -1, "score": -1 }, { "id": 33, "name": "Dagannoth Prime", "rank": -1, "score": -1 },
{ "id": 33, "name": "Dagannoth Rex", "rank": -1, "score": -1 }, { "id": 34, "name": "Dagannoth Rex", "rank": -1, "score": -1 },
{ "id": 34, "name": "Dagannoth Supreme", "rank": -1, "score": -1 }, { "id": 35, "name": "Dagannoth Supreme", "rank": -1, "score": -1 },
{ "id": 35, "name": "Deranged Archaeologist", "rank": -1, "score": -1 }, { "id": 36, "name": "Deranged Archaeologist", "rank": -1, "score": -1 },
{ "id": 36, "name": "Duke Sucellus", "rank": -1, "score": -1 }, { "id": 37, "name": "Duke Sucellus", "rank": -1, "score": -1 },
{ "id": 37, "name": "General Graardor", "rank": -1, "score": -1 }, { "id": 38, "name": "General Graardor", "rank": -1, "score": -1 },
{ "id": 38, "name": "Giant Mole", "rank": -1, "score": -1 }, { "id": 39, "name": "Giant Mole", "rank": -1, "score": -1 },
{ "id": 39, "name": "Grotesque Guardians", "rank": -1, "score": -1 }, { "id": 40, "name": "Grotesque Guardians", "rank": -1, "score": -1 },
{ "id": 40, "name": "Hespori", "rank": -1, "score": -1 }, { "id": 41, "name": "Hespori", "rank": -1, "score": -1 },
{ "id": 41, "name": "Kalphite Queen", "rank": -1, "score": -1 }, { "id": 42, "name": "Kalphite Queen", "rank": -1, "score": -1 },
{ "id": 42, "name": "King Black Dragon", "rank": -1, "score": -1 }, { "id": 43, "name": "King Black Dragon", "rank": -1, "score": -1 },
{ "id": 43, "name": "Kraken", "rank": -1, "score": -1 }, { "id": 44, "name": "Kraken", "rank": -1, "score": -1 },
{ "id": 44, "name": "Kree'Arra", "rank": -1, "score": -1 }, { "id": 45, "name": "Kree'Arra", "rank": -1, "score": -1 },
{ "id": 45, "name": "K'ril Tsutsaroth", "rank": -1, "score": -1 }, { "id": 46, "name": "K'ril Tsutsaroth", "rank": -1, "score": -1 },
{ "id": 46, "name": "Mimic", "rank": -1, "score": -1 }, { "id": 47, "name": "Lunar Chests", "rank": -1, "score": -1 },
{ "id": 47, "name": "Nex", "rank": -1, "score": -1 }, { "id": 48, "name": "Mimic", "rank": -1, "score": -1 },
{ "id": 48, "name": "Nightmare", "rank": -1, "score": -1 }, { "id": 49, "name": "Nex", "rank": -1, "score": -1 },
{ "id": 49, "name": "Phosani's Nightmare", "rank": -1, "score": -1 }, { "id": 50, "name": "Nightmare", "rank": -1, "score": -1 },
{ "id": 50, "name": "Obor", "rank": -1, "score": -1 }, { "id": 51, "name": "Phosani's Nightmare", "rank": -1, "score": -1 },
{ "id": 51, "name": "Phantom Muspah", "rank": -1, "score": -1 }, { "id": 52, "name": "Obor", "rank": -1, "score": -1 },
{ "id": 52, "name": "Sarachnis", "rank": -1, "score": -1 }, { "id": 53, "name": "Phantom Muspah", "rank": -1, "score": -1 },
{ "id": 53, "name": "Scorpia", "rank": -1, "score": -1 }, { "id": 54, "name": "Sarachnis", "rank": -1, "score": -1 },
{ "id": 54, "name": "Skotizo", "rank": -1, "score": -1 }, { "id": 55, "name": "Scorpia", "rank": -1, "score": -1 },
{ "id": 55, "name": "Spindel", "rank": -1, "score": -1 }, { "id": 56, "name": "Scurrius", "rank": -1, "score": -1 },
{ "id": 56, "name": "Tempoross", "rank": -1, "score": -1 }, { "id": 57, "name": "Skotizo", "rank": -1, "score": -1 },
{ "id": 57, "name": "The Gauntlet", "rank": -1, "score": -1 }, { "id": 58, "name": "Sol Heredit", "rank": -1, "score": -1 },
{ "id": 58, "name": "The Corrupted Gauntlet", "rank": -1, "score": -1 }, { "id": 59, "name": "Spindel", "rank": -1, "score": -1 },
{ "id": 59, "name": "The Leviathan", "rank": -1, "score": -1 }, { "id": 60, "name": "Tempoross", "rank": -1, "score": -1 },
{ "id": 60, "name": "The Whisperer", "rank": -1, "score": -1 }, { "id": 61, "name": "The Gauntlet", "rank": -1, "score": -1 },
{ "id": 61, "name": "Theatre of Blood", "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": 62, "id": 66,
"name": "Theatre of Blood: Hard Mode", "name": "Theatre of Blood: Hard Mode",
"rank": -1, "rank": -1,
"score": -1 "score": -1
}, },
{ "id": 63, "name": "Thermonuclear Smoke Devil", "rank": -1, "score": -1 }, { "id": 67, "name": "Thermonuclear Smoke Devil", "rank": -1, "score": -1 },
{ "id": 64, "name": "Tombs of Amascut", "rank": -1, "score": -1 }, { "id": 68, "name": "Tombs of Amascut", "rank": -1, "score": -1 },
{ {
"id": 65, "id": 69,
"name": "Tombs of Amascut: Expert Mode", "name": "Tombs of Amascut: Expert Mode",
"rank": -1, "rank": -1,
"score": -1 "score": -1
}, },
{ "id": 66, "name": "TzKal-Zuk", "rank": -1, "score": -1 }, { "id": 70, "name": "TzKal-Zuk", "rank": -1, "score": -1 },
{ "id": 67, "name": "TzTok-Jad", "rank": 225, "score": 186 }, { "id": 71, "name": "TzTok-Jad", "rank": 251, "score": 186 },
{ "id": 68, "name": "Vardorvis", "rank": -1, "score": -1 }, { "id": 72, "name": "Vardorvis", "rank": -1, "score": -1 },
{ "id": 69, "name": "Venenatis", "rank": -1, "score": -1 }, { "id": 73, "name": "Venenatis", "rank": -1, "score": -1 },
{ "id": 70, "name": "Vet'ion", "rank": -1, "score": -1 }, { "id": 74, "name": "Vet'ion", "rank": -1, "score": -1 },
{ "id": 71, "name": "Vorkath", "rank": -1, "score": -1 }, { "id": 75, "name": "Vorkath", "rank": -1, "score": -1 },
{ "id": 72, "name": "Wintertodt", "rank": -1, "score": -1 }, { "id": 76, "name": "Wintertodt", "rank": -1, "score": -1 },
{ "id": 73, "name": "Zalcano", "rank": -1, "score": -1 }, { "id": 77, "name": "Zalcano", "rank": -1, "score": -1 },
{ "id": 74, "name": "Zulrah", "rank": -1, "score": -1 } { "id": 78, "name": "Zulrah", "rank": -1, "score": -1 }
] ]
} }

View File

@@ -44,7 +44,8 @@ import {
FORMATTED_PVP_ARENA, FORMATTED_PVP_ARENA,
FORMATTED_SOUL_WARS, FORMATTED_SOUL_WARS,
FORMATTED_RIFTS_CLOSED, FORMATTED_RIFTS_CLOSED,
FORMATTED_DEADMAN_POINTS FORMATTED_DEADMAN_POINTS,
FORMATTED_COLOSSEUM_GLORY
} from './utils'; } from './utils';
/** /**
@@ -162,6 +163,7 @@ export function parseJsonStats(json: HiscoresResponse): Stats {
const pvpArena = getActivity(FORMATTED_PVP_ARENA); const pvpArena = getActivity(FORMATTED_PVP_ARENA);
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 stats: Stats = { const stats: Stats = {
skills, skills,
@@ -172,6 +174,7 @@ export function parseJsonStats(json: HiscoresResponse): Stats {
pvpArena, pvpArena,
soulWarsZeal, soulWarsZeal,
riftsClosed, riftsClosed,
colosseumGlory,
clues, clues,
bosses bosses
}; };
@@ -221,8 +224,8 @@ 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] = const [lastManStanding, pvpArena, soulWarsZeal, riftsClosed, colosseumGlory] =
activityObjects.splice(0, 4); activityObjects.splice(0, 5);
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) => {
@@ -258,6 +261,7 @@ export function parseStats(csv: string): Stats {
pvpArena, pvpArena,
soulWarsZeal, soulWarsZeal,
riftsClosed, riftsClosed,
colosseumGlory,
clues, clues,
bosses bosses
}; };

View File

@@ -96,6 +96,7 @@ export type Boss =
| 'kraken' | 'kraken'
| 'kreeArra' | 'kreeArra'
| 'krilTsutsaroth' | 'krilTsutsaroth'
| 'lunarChests'
| 'mimic' | 'mimic'
| 'nex' | 'nex'
| 'nightmare' | 'nightmare'
@@ -106,6 +107,7 @@ export type Boss =
| 'scorpia' | 'scorpia'
| 'scurrius' | 'scurrius'
| 'skotizo' | 'skotizo'
| 'solHeredit'
| 'spindel' | 'spindel'
| 'tempoross' | 'tempoross'
| 'gauntlet' | 'gauntlet'
@@ -147,6 +149,7 @@ export type ActivityName =
| 'hardClues' | 'hardClues'
| 'eliteClues' | 'eliteClues'
| 'masterClues' | 'masterClues'
| 'colosseumGlory'
| Boss; | Boss;
export interface Stats { export interface Stats {
@@ -165,6 +168,7 @@ export interface Stats {
pvpArena: Activity; pvpArena: Activity;
soulWarsZeal: Activity; soulWarsZeal: Activity;
riftsClosed: Activity; riftsClosed: Activity;
colosseumGlory: Activity;
bosses: Bosses; bosses: Bosses;
} }
export type Modes = { [M in Gamemode]?: Stats }; export type Modes = { [M in Gamemode]?: Stats };

View File

@@ -103,6 +103,7 @@ export const BOSSES: Boss[] = [
'kraken', 'kraken',
'kreeArra', 'kreeArra',
'krilTsutsaroth', 'krilTsutsaroth',
'lunarChests',
'mimic', 'mimic',
'nex', 'nex',
'nightmare', 'nightmare',
@@ -113,6 +114,7 @@ export const BOSSES: Boss[] = [
'scorpia', 'scorpia',
'scurrius', 'scurrius',
'skotizo', 'skotizo',
'solHeredit',
'spindel', 'spindel',
'tempoross', 'tempoross',
'gauntlet', 'gauntlet',
@@ -152,6 +154,7 @@ export const ACTIVITIES: ActivityName[] = [
'pvpArena', 'pvpArena',
'soulWarsZeal', 'soulWarsZeal',
'riftsClosed', 'riftsClosed',
'colosseumGlory',
...BOSSES ...BOSSES
]; ];
@@ -189,6 +192,7 @@ export const FORMATTED_BOSS_NAMES: FormattedBossNames = {
kraken: 'Kraken', kraken: 'Kraken',
kreeArra: "Kree'Arra", kreeArra: "Kree'Arra",
krilTsutsaroth: "K'ril Tsutsaroth", krilTsutsaroth: "K'ril Tsutsaroth",
lunarChests: 'Lunar Chests',
mimic: 'Mimic', mimic: 'Mimic',
nex: 'Nex', nex: 'Nex',
nightmare: 'Nightmare', nightmare: 'Nightmare',
@@ -199,6 +203,7 @@ export const FORMATTED_BOSS_NAMES: FormattedBossNames = {
scorpia: 'Scorpia', scorpia: 'Scorpia',
scurrius: 'Scurrius', scurrius: 'Scurrius',
skotizo: 'Skotizo', skotizo: 'Skotizo',
solHeredit: 'Sol Heredit',
spindel: 'Spindel', spindel: 'Spindel',
tempoross: 'Tempoross', tempoross: 'Tempoross',
gauntlet: 'The Gauntlet', gauntlet: 'The Gauntlet',
@@ -283,6 +288,7 @@ export const FORMATTED_SOUL_WARS = 'Soul Wars Zeal';
export const FORMATTED_LEAGUE_POINTS = 'League Points'; 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 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

@@ -6,10 +6,7 @@
"outDir": "./lib", "outDir": "./lib",
"strict": true, "strict": true,
"lib": ["ES2015", "DOM", "DOM.Iterable"], "lib": ["ES2015", "DOM", "DOM.Iterable"],
"typeRoots": [ "typeRoots": ["./node_modules/@types", "./src/@types"]
"./node_modules/@types",
"./src/@types"
]
}, },
"include": ["src"], "include": ["src"],
"exclude": ["node_modules", "**/__tests__/*"] "exclude": ["node_modules", "**/__tests__/*"]