Merge pull request #90 from maxswa/deadman-points

Add Deadman Points
This commit is contained in:
Max Swartwout
2023-12-17 20:16:28 -05:00
committed by GitHub
11 changed files with 3782 additions and 4522 deletions

View File

@@ -115,11 +115,12 @@ Activities consist of all levels of clue scrolls as well as minigames and bosses
| Soul Wars Zeal | `soulWarsZeal` |
| Rifts closed | `riftsClosed` |
### Leagues
### Points
| Activity | Param |
| ------------- | :------------: |
| -------------- | :-------------: |
| League Points | `leaguePoints` |
| Deadman Points | `deadmanPoints` |
### Bosses

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,98 +1,99 @@
3923,2277,792976020
23024,99,29963318
12244,99,28197154
2261,99,134139762
4074,99,112054504
7166,99,101083246
3747,99,15110682
4516,99,50824811
126288,99,13353110
24800,99,16366466
49293,99,13453226
20784,99,16654289
16376,99,19114676
42069,99,14055874
9305,99,16527135
25135,99,14657869
35831,99,13233130
6197,99,15739327
48215,99,13963265
4786,99,33830972
3402,99,62531484
4314,99,22733194
14826,99,17399368
1009,99,17989158
3745,2277,840426611
24080,99,30276246
9559,99,31228199
2212,99,143599407
3550,99,123248914
6564,99,109953707
4244,99,15144846
4107,99,57072224
135556,99,13353511
25855,99,16903268
53472,99,13456850
22453,99,16654917
17690,99,19118307
45816,99,14059776
10409,99,16530015
27702,99,14765145
39430,99,13235063
6722,99,15754877
51813,99,14023027
5324,99,33835543
3154,99,69527777
4719,99,22733384
15135,99,17952893
1089,99,17998715
-1,-1
22270,10
10481,3
149217,8
103672,7
253,9508
713,825
71,6000
1943,1600
42364,287
467,436
1634,360
12937,2521
-1,-1
5222,14780
3007,1060
2578,2192
84703,594
19500,143
3335,1830
191697,5
27457,293
43607,58
17384,1905
171607,33
2074,501
78908,50
135830,26
48781,287
2112,2000
138748,41
31297,707
40908,698
31273,714
76034,25
2391,688
17409,1228
60841,474
1895,2140
19948,159
1855,2046
46423,579
107879,1908
9791,920
2050,1444
848,33
24797,620
26164,10
12886,3
148658,8
103161,7
377,9556
862,825
148,6000
2153,1606
42107,298
504,459
1816,368
14701,2521
-1,-1
6776,14780
4773,1060
2741,2192
90203,594
29573,143
3668,1830
206778,5
32897,293
64112,58
18492,1905
178941,34
2379,501
82902,50
147358,26
51973,287
2377,2000
147406,41
32225,707
42229,698
32212,714
79605,25
9517,688
19125,1228
65849,474
2080,2140
16433,182
2006,2046
48575,580
115056,1908
10406,920
2196,1444
1005,33
28413,620
4157,744
4154,500
880,217
15860,251
60424,119
100429,26
358191,9
1131,1569
33908,273
165651,7
64278,201
1533,583
748,700
21700,250
13200,7
6622,3066
87093,35
2449,502
14541,2
4261,500
993,217
21848,251
66260,119
108898,26
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
1048,1432
138,7096
58203,51
13949,2780
827440,62
153191,25
216690,274
2051,2078
194,7096
69260,51
14039,2780
876367,62
165341,25
226318,275
1 3923 3745 2277 792976020 840426611
2 23024 24080 99 29963318 30276246
3 12244 9559 99 28197154 31228199
4 2261 2212 99 134139762 143599407
5 4074 3550 99 112054504 123248914
6 7166 6564 99 101083246 109953707
7 3747 4244 99 15110682 15144846
8 4516 4107 99 50824811 57072224
9 126288 135556 99 13353110 13353511
10 24800 25855 99 16366466 16903268
11 49293 53472 99 13453226 13456850
12 20784 22453 99 16654289 16654917
13 16376 17690 99 19114676 19118307
14 42069 45816 99 14055874 14059776
15 9305 10409 99 16527135 16530015
16 25135 27702 99 14657869 14765145
17 35831 39430 99 13233130 13235063
18 6197 6722 99 15739327 15754877
19 48215 51813 99 13963265 14023027
20 4786 5324 99 33830972 33835543
21 3402 3154 99 62531484 69527777
22 4314 4719 99 22733194 22733384
23 14826 15135 99 17399368 17952893
24 1009 1089 99 17989158 17998715
25 -1 -1 -1
22270 10
10481 3
149217 8
103672 7
253 9508
713 825
71 6000
1943 1600
42364 287
467 436
1634 360
12937 2521
26 -1 -1 -1
27 5222 26164 14780 10
28 3007 12886 1060 3
29 2578 148658 2192 8
30 84703 103161 594 7
31 19500 377 143 9556
32 3335 862 1830 825
33 191697 148 5 6000
34 27457 2153 293 1606
35 43607 42107 58 298
36 17384 504 1905 459
37 171607 1816 33 368
38 2074 14701 501 2521
39 78908 -1 50 -1
40 135830 6776 26 14780
41 48781 4773 287 1060
42 2112 2741 2000 2192
43 138748 90203 41 594
44 31297 29573 707 143
45 40908 3668 698 1830
46 31273 206778 714 5
47 76034 32897 25 293
48 2391 64112 688 58
49 17409 18492 1228 1905
50 60841 178941 474 34
51 1895 2379 2140 501
52 19948 82902 159 50
53 1855 147358 2046 26
54 46423 51973 579 287
55 107879 2377 1908 2000
56 9791 147406 920 41
57 2050 32225 1444 707
58 848 42229 33 698
59 24797 32212 620 714
60 79605 25
61 9517 688
62 19125 1228
63 65849 474
64 2080 2140
65 16433 182
66 2006 2046
67 48575 580
68 115056 1908
69 10406 920
70 2196 1444
71 1005 33
72 28413 620
73 4157 4157 744
74 4154 4261 500
75 880 993 217
76 15860 21848 251
77 60424 66260 119
78 100429 108898 26
79 358191 373975 9
80 1131 2005 1569
81 33908 40001 273
82 165651 192608 7
83 64278 78367 201
84 1533 5679 583
85 748 478 700 1760
86 21700 22932 250
87 13200 15059 7
88 6622 7161 3066
89 87093 101555 35
90 2449 610 502 933
91 14541 15733 2
92 -1 -1 -1
93 1048 2051 1432 2078
94 138 194 7096
95 58203 69260 51
96 13949 14039 2780
97 827440 876367 62
98 153191 165341 25
99 216690 226318 274 275

View File

@@ -3,192 +3,199 @@
{
"id": 0,
"name": "Overall",
"rank": 3923,
"rank": 3745,
"level": 2277,
"xp": 792976020
"xp": 840426611
},
{ "id": 1, "name": "Attack", "rank": 23024, "level": 99, "xp": 29963318 },
{ "id": 2, "name": "Defence", "rank": 12244, "level": 99, "xp": 28197154 },
{ "id": 3, "name": "Strength", "rank": 2261, "level": 99, "xp": 134139762 },
{ "id": 1, "name": "Attack", "rank": 24080, "level": 99, "xp": 30276246 },
{ "id": 2, "name": "Defence", "rank": 9559, "level": 99, "xp": 31228199 },
{ "id": 3, "name": "Strength", "rank": 2212, "level": 99, "xp": 143599407 },
{
"id": 4,
"name": "Hitpoints",
"rank": 4074,
"rank": 3550,
"level": 99,
"xp": 112054504
"xp": 123248914
},
{ "id": 5, "name": "Ranged", "rank": 7166, "level": 99, "xp": 101083246 },
{ "id": 6, "name": "Prayer", "rank": 3747, "level": 99, "xp": 15110682 },
{ "id": 7, "name": "Magic", "rank": 4516, "level": 99, "xp": 50824811 },
{ "id": 8, "name": "Cooking", "rank": 126288, "level": 99, "xp": 13353110 },
{ "id": 5, "name": "Ranged", "rank": 6564, "level": 99, "xp": 109953707 },
{ "id": 6, "name": "Prayer", "rank": 4244, "level": 99, "xp": 15144846 },
{ "id": 7, "name": "Magic", "rank": 4107, "level": 99, "xp": 57072224 },
{ "id": 8, "name": "Cooking", "rank": 135556, "level": 99, "xp": 13353511 },
{
"id": 9,
"name": "Woodcutting",
"rank": 24800,
"rank": 25855,
"level": 99,
"xp": 16366466
"xp": 16903268
},
{
"id": 10,
"name": "Fletching",
"rank": 49293,
"rank": 53472,
"level": 99,
"xp": 13453226
"xp": 13456850
},
{ "id": 11, "name": "Fishing", "rank": 20784, "level": 99, "xp": 16654289 },
{ "id": 11, "name": "Fishing", "rank": 22453, "level": 99, "xp": 16654917 },
{
"id": 12,
"name": "Firemaking",
"rank": 16376,
"rank": 17690,
"level": 99,
"xp": 19114676
"xp": 19118307
},
{
"id": 13,
"name": "Crafting",
"rank": 42069,
"rank": 45816,
"level": 99,
"xp": 14055874
"xp": 14059776
},
{ "id": 14, "name": "Smithing", "rank": 9305, "level": 99, "xp": 16527135 },
{ "id": 15, "name": "Mining", "rank": 25135, "level": 99, "xp": 14657869 },
{
"id": 14,
"name": "Smithing",
"rank": 10409,
"level": 99,
"xp": 16530015
},
{ "id": 15, "name": "Mining", "rank": 27702, "level": 99, "xp": 14765145 },
{
"id": 16,
"name": "Herblore",
"rank": 35831,
"rank": 39430,
"level": 99,
"xp": 13233130
"xp": 13235063
},
{ "id": 17, "name": "Agility", "rank": 6197, "level": 99, "xp": 15739327 },
{ "id": 17, "name": "Agility", "rank": 6722, "level": 99, "xp": 15754877 },
{
"id": 18,
"name": "Thieving",
"rank": 48215,
"rank": 51813,
"level": 99,
"xp": 13963265
"xp": 14023027
},
{ "id": 19, "name": "Slayer", "rank": 4786, "level": 99, "xp": 33830972 },
{ "id": 20, "name": "Farming", "rank": 3402, "level": 99, "xp": 62531484 },
{ "id": 19, "name": "Slayer", "rank": 5324, "level": 99, "xp": 33835543 },
{ "id": 20, "name": "Farming", "rank": 3154, "level": 99, "xp": 69527777 },
{
"id": 21,
"name": "Runecraft",
"rank": 4314,
"rank": 4719,
"level": 99,
"xp": 22733194
"xp": 22733384
},
{ "id": 22, "name": "Hunter", "rank": 14826, "level": 99, "xp": 17399368 },
{ "id": 22, "name": "Hunter", "rank": 15135, "level": 99, "xp": 17952893 },
{
"id": 23,
"name": "Construction",
"rank": 1009,
"rank": 1089,
"level": 99,
"xp": 17989158
"xp": 17998715
}
],
"activities": [
{ "id": 0, "name": "League Points", "rank": -1, "score": -1 },
{ "id": 1, "name": "Bounty Hunter - Hunter", "rank": 22270, "score": 10 },
{ "id": 2, "name": "Bounty Hunter - Rogue", "rank": 10481, "score": 3 },
{ "id": 1, "name": "Deadman Points", "rank": -1, "score": -1 },
{ "id": 2, "name": "Bounty Hunter - Hunter", "rank": 26164, "score": 10 },
{ "id": 3, "name": "Bounty Hunter - Rogue", "rank": 12886, "score": 3 },
{
"id": 3,
"id": 4,
"name": "Bounty Hunter (Legacy) - Hunter",
"rank": 149217,
"rank": 148658,
"score": 8
},
{
"id": 4,
"id": 5,
"name": "Bounty Hunter (Legacy) - Rogue",
"rank": 103672,
"rank": 103161,
"score": 7
},
{ "id": 5, "name": "Clue Scrolls (all)", "rank": 253, "score": 9508 },
{ "id": 6, "name": "Clue Scrolls (beginner)", "rank": 713, "score": 825 },
{ "id": 7, "name": "Clue Scrolls (easy)", "rank": 71, "score": 6000 },
{ "id": 8, "name": "Clue Scrolls (medium)", "rank": 1943, "score": 1600 },
{ "id": 9, "name": "Clue Scrolls (hard)", "rank": 42364, "score": 287 },
{ "id": 10, "name": "Clue Scrolls (elite)", "rank": 467, "score": 436 },
{ "id": 11, "name": "Clue Scrolls (master)", "rank": 1634, "score": 360 },
{ "id": 12, "name": "LMS - Rank", "rank": 12937, "score": 2521 },
{ "id": 13, "name": "PvP Arena - Rank", "rank": -1, "score": -1 },
{ "id": 14, "name": "Soul Wars Zeal", "rank": 5222, "score": 14780 },
{ "id": 15, "name": "Rifts closed", "rank": 3007, "score": 1060 },
{ "id": 16, "name": "Abyssal Sire", "rank": 2578, "score": 2192 },
{ "id": 17, "name": "Alchemical Hydra", "rank": 84703, "score": 594 },
{ "id": 18, "name": "Artio", "rank": 19500, "score": 143 },
{ "id": 19, "name": "Barrows Chests", "rank": 3335, "score": 1830 },
{ "id": 20, "name": "Bryophyta", "rank": 191697, "score": 5 },
{ "id": 21, "name": "Callisto", "rank": 27457, "score": 293 },
{ "id": 22, "name": "Calvar'ion", "rank": 43607, "score": 58 },
{ "id": 23, "name": "Cerberus", "rank": 17384, "score": 1905 },
{ "id": 24, "name": "Chambers of Xeric", "rank": 171607, "score": 33 },
{ "id": 6, "name": "Clue Scrolls (all)", "rank": 377, "score": 9556 },
{ "id": 7, "name": "Clue Scrolls (beginner)", "rank": 862, "score": 825 },
{ "id": 8, "name": "Clue Scrolls (easy)", "rank": 148, "score": 6000 },
{ "id": 9, "name": "Clue Scrolls (medium)", "rank": 2153, "score": 1606 },
{ "id": 10, "name": "Clue Scrolls (hard)", "rank": 42107, "score": 298 },
{ "id": 11, "name": "Clue Scrolls (elite)", "rank": 504, "score": 459 },
{ "id": 12, "name": "Clue Scrolls (master)", "rank": 1816, "score": 368 },
{ "id": 13, "name": "LMS - Rank", "rank": 14701, "score": 2521 },
{ "id": 14, "name": "PvP Arena - Rank", "rank": -1, "score": -1 },
{ "id": 15, "name": "Soul Wars Zeal", "rank": 6776, "score": 14780 },
{ "id": 16, "name": "Rifts closed", "rank": 4773, "score": 1060 },
{ "id": 17, "name": "Abyssal Sire", "rank": 2741, "score": 2192 },
{ "id": 18, "name": "Alchemical Hydra", "rank": 90203, "score": 594 },
{ "id": 19, "name": "Artio", "rank": 29573, "score": 143 },
{ "id": 20, "name": "Barrows Chests", "rank": 3668, "score": 1830 },
{ "id": 21, "name": "Bryophyta", "rank": 206778, "score": 5 },
{ "id": 22, "name": "Callisto", "rank": 32897, "score": 293 },
{ "id": 23, "name": "Calvar'ion", "rank": 64112, "score": 58 },
{ "id": 24, "name": "Cerberus", "rank": 18492, "score": 1905 },
{ "id": 25, "name": "Chambers of Xeric", "rank": 178941, "score": 34 },
{
"id": 25,
"id": 26,
"name": "Chambers of Xeric: Challenge Mode",
"rank": 2074,
"rank": 2379,
"score": 501
},
{ "id": 26, "name": "Chaos Elemental", "rank": 78908, "score": 50 },
{ "id": 27, "name": "Chaos Fanatic", "rank": 135830, "score": 26 },
{ "id": 28, "name": "Commander Zilyana", "rank": 48781, "score": 287 },
{ "id": 29, "name": "Corporeal Beast", "rank": 2112, "score": 2000 },
{ "id": 30, "name": "Crazy Archaeologist", "rank": 138748, "score": 41 },
{ "id": 31, "name": "Dagannoth Prime", "rank": 31297, "score": 707 },
{ "id": 32, "name": "Dagannoth Rex", "rank": 40908, "score": 698 },
{ "id": 33, "name": "Dagannoth Supreme", "rank": 31273, "score": 714 },
{ "id": 34, "name": "Deranged Archaeologist", "rank": 76034, "score": 25 },
{ "id": 35, "name": "Duke Sucellus", "rank": 2391, "score": 688 },
{ "id": 36, "name": "General Graardor", "rank": 17409, "score": 1228 },
{ "id": 37, "name": "Giant Mole", "rank": 60841, "score": 474 },
{ "id": 38, "name": "Grotesque Guardians", "rank": 1895, "score": 2140 },
{ "id": 39, "name": "Hespori", "rank": 19948, "score": 159 },
{ "id": 40, "name": "Kalphite Queen", "rank": 1855, "score": 2046 },
{ "id": 41, "name": "King Black Dragon", "rank": 46423, "score": 579 },
{ "id": 42, "name": "Kraken", "rank": 107879, "score": 1908 },
{ "id": 43, "name": "Kree'Arra", "rank": 9791, "score": 920 },
{ "id": 44, "name": "K'ril Tsutsaroth", "rank": 2050, "score": 1444 },
{ "id": 45, "name": "Mimic", "rank": 848, "score": 33 },
{ "id": 46, "name": "Nex", "rank": 24797, "score": 620 },
{ "id": 47, "name": "Nightmare", "rank": 4157, "score": 744 },
{ "id": 48, "name": "Phosani's Nightmare", "rank": 4154, "score": 500 },
{ "id": 49, "name": "Obor", "rank": 880, "score": 217 },
{ "id": 50, "name": "Phantom Muspah", "rank": 15860, "score": 251 },
{ "id": 51, "name": "Sarachnis", "rank": 60424, "score": 119 },
{ "id": 52, "name": "Scorpia", "rank": 100429, "score": 26 },
{ "id": 53, "name": "Skotizo", "rank": 358191, "score": 9 },
{ "id": 54, "name": "Spindel", "rank": 1131, "score": 1569 },
{ "id": 55, "name": "Tempoross", "rank": 33908, "score": 273 },
{ "id": 56, "name": "The Gauntlet", "rank": 165651, "score": 7 },
{ "id": 57, "name": "The Corrupted Gauntlet", "rank": 64278, "score": 201 },
{ "id": 58, "name": "The Leviathan", "rank": 1533, "score": 583 },
{ "id": 59, "name": "The Whisperer", "rank": 748, "score": 700 },
{ "id": 60, "name": "Theatre of Blood", "rank": 21700, "score": 250 },
{ "id": 27, "name": "Chaos Elemental", "rank": 82902, "score": 50 },
{ "id": 28, "name": "Chaos Fanatic", "rank": 147358, "score": 26 },
{ "id": 29, "name": "Commander Zilyana", "rank": 51973, "score": 287 },
{ "id": 30, "name": "Corporeal Beast", "rank": 2377, "score": 2000 },
{ "id": 31, "name": "Crazy Archaeologist", "rank": 147406, "score": 41 },
{ "id": 32, "name": "Dagannoth Prime", "rank": 32225, "score": 707 },
{ "id": 33, "name": "Dagannoth Rex", "rank": 42229, "score": 698 },
{ "id": 34, "name": "Dagannoth Supreme", "rank": 32212, "score": 714 },
{ "id": 35, "name": "Deranged Archaeologist", "rank": 79605, "score": 25 },
{ "id": 36, "name": "Duke Sucellus", "rank": 9517, "score": 688 },
{ "id": 37, "name": "General Graardor", "rank": 19125, "score": 1228 },
{ "id": 38, "name": "Giant Mole", "rank": 65849, "score": 474 },
{ "id": 39, "name": "Grotesque Guardians", "rank": 2080, "score": 2140 },
{ "id": 40, "name": "Hespori", "rank": 16433, "score": 182 },
{ "id": 41, "name": "Kalphite Queen", "rank": 2006, "score": 2046 },
{ "id": 42, "name": "King Black Dragon", "rank": 48575, "score": 580 },
{ "id": 43, "name": "Kraken", "rank": 115056, "score": 1908 },
{ "id": 44, "name": "Kree'Arra", "rank": 10406, "score": 920 },
{ "id": 45, "name": "K'ril Tsutsaroth", "rank": 2196, "score": 1444 },
{ "id": 46, "name": "Mimic", "rank": 1005, "score": 33 },
{ "id": 47, "name": "Nex", "rank": 28413, "score": 620 },
{ "id": 48, "name": "Nightmare", "rank": 4157, "score": 744 },
{ "id": 49, "name": "Phosani's Nightmare", "rank": 4261, "score": 500 },
{ "id": 50, "name": "Obor", "rank": 993, "score": 217 },
{ "id": 51, "name": "Phantom Muspah", "rank": 21848, "score": 251 },
{ "id": 52, "name": "Sarachnis", "rank": 66260, "score": 119 },
{ "id": 53, "name": "Scorpia", "rank": 108898, "score": 26 },
{ "id": 54, "name": "Skotizo", "rank": 373975, "score": 9 },
{ "id": 55, "name": "Spindel", "rank": 2005, "score": 1569 },
{ "id": 56, "name": "Tempoross", "rank": 40001, "score": 273 },
{ "id": 57, "name": "The Gauntlet", "rank": 192608, "score": 7 },
{ "id": 58, "name": "The Corrupted Gauntlet", "rank": 78367, "score": 201 },
{ "id": 59, "name": "The Leviathan", "rank": 5679, "score": 583 },
{ "id": 60, "name": "The Whisperer", "rank": 478, "score": 1760 },
{ "id": 61, "name": "Theatre of Blood", "rank": 22932, "score": 250 },
{
"id": 61,
"id": 62,
"name": "Theatre of Blood: Hard Mode",
"rank": 13200,
"rank": 15059,
"score": 7
},
{
"id": 62,
"id": 63,
"name": "Thermonuclear Smoke Devil",
"rank": 6622,
"rank": 7161,
"score": 3066
},
{ "id": 63, "name": "Tombs of Amascut", "rank": 87093, "score": 35 },
{ "id": 64, "name": "Tombs of Amascut", "rank": 101555, "score": 35 },
{
"id": 64,
"id": 65,
"name": "Tombs of Amascut: Expert Mode",
"rank": 2449,
"score": 502
"rank": 610,
"score": 933
},
{ "id": 65, "name": "TzKal-Zuk", "rank": 14541, "score": 2 },
{ "id": 66, "name": "TzTok-Jad", "rank": -1, "score": -1 },
{ "id": 67, "name": "Vardorvis", "rank": 1048, "score": 1432 },
{ "id": 68, "name": "Venenatis", "rank": 138, "score": 7096 },
{ "id": 69, "name": "Vet'ion", "rank": 58203, "score": 51 },
{ "id": 70, "name": "Vorkath", "rank": 13949, "score": 2780 },
{ "id": 71, "name": "Wintertodt", "rank": 827440, "score": 62 },
{ "id": 72, "name": "Zalcano", "rank": 153191, "score": 25 },
{ "id": 73, "name": "Zulrah", "rank": 216690, "score": 274 }
{ "id": 66, "name": "TzKal-Zuk", "rank": 15733, "score": 2 },
{ "id": 67, "name": "TzTok-Jad", "rank": -1, "score": -1 },
{ "id": 68, "name": "Vardorvis", "rank": 2051, "score": 2078 },
{ "id": 69, "name": "Venenatis", "rank": 194, "score": 7096 },
{ "id": 70, "name": "Vet'ion", "rank": 69260, "score": 51 },
{ "id": 71, "name": "Vorkath", "rank": 14039, "score": 2780 },
{ "id": 72, "name": "Wintertodt", "rank": 876367, "score": 62 },
{ "id": 73, "name": "Zalcano", "rank": 165341, "score": 25 },
{ "id": 74, "name": "Zulrah", "rank": 226318, "score": 275 }
]
}

View File

@@ -86,6 +86,7 @@ test('Parse CSV to json', () => {
810,99,37688883
92,99,32005622
23423,478
89554,301
89914,35
99834,25
99831,23
@@ -188,6 +189,7 @@ test('Parse CSV to json', () => {
construction: { rank: 92, level: 99, xp: 32005622 }
},
leaguePoints: { rank: 23423, score: 478 },
deadmanPoints: { rank: 89554, score: 301 },
bountyHunter: {
hunterV2: { rank: 89914, score: 35 },
rogueV2: { rank: 99834, score: 25 },

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -43,7 +43,8 @@ import {
FORMATTED_LMS,
FORMATTED_PVP_ARENA,
FORMATTED_SOUL_WARS,
FORMATTED_RIFTS_CLOSED
FORMATTED_RIFTS_CLOSED,
FORMATTED_DEADMAN_POINTS
} from './utils';
/**
@@ -156,6 +157,7 @@ export function parseJsonStats(json: HiscoresResponse): Stats {
const bosses = reduceActivity(BOSSES, FORMATTED_BOSS_NAMES);
const leaguePoints = getActivity(FORMATTED_LEAGUE_POINTS);
const deadmanPoints = getActivity(FORMATTED_DEADMAN_POINTS);
const lastManStanding = getActivity(FORMATTED_LMS);
const pvpArena = getActivity(FORMATTED_PVP_ARENA);
const soulWarsZeal = getActivity(FORMATTED_SOUL_WARS);
@@ -164,6 +166,7 @@ export function parseJsonStats(json: HiscoresResponse): Stats {
const stats: Stats = {
skills,
leaguePoints,
deadmanPoints,
bountyHunter,
lastManStanding,
pvpArena,
@@ -188,10 +191,7 @@ export function parseStats(csv: string): Stats {
.filter((entry) => !!entry)
.map((stat) => stat.split(','));
if (
splitCSV.length !==
SKILLS.length + BH_MODES.length + CLUES.length + BOSSES.length + 5
) {
if (splitCSV.length !== SKILLS.length + ACTIVITIES.length) {
throw new InvalidFormatError();
}
@@ -218,7 +218,7 @@ export function parseStats(csv: string): Stats {
return activity;
});
const [leaguePoints] = activityObjects.splice(0, 1);
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] =
@@ -252,6 +252,7 @@ export function parseStats(csv: string): Stats {
const stats: Stats = {
skills,
leaguePoints,
deadmanPoints,
bountyHunter,
lastManStanding,
pvpArena,
@@ -291,14 +292,13 @@ export async function getStats(
mode: Extract<Gamemode, 'ironman' | 'hardcore' | 'ultimate'>
): Promise<HiscoresResponse | undefined> =>
otherGamemodes.includes(mode)
? getOfficialStats(rsn, mode, options?.axiosConfigs?.[mode])
.catch(() => undefined)
: undefined;
const formattedName = shouldGetFormattedRsn
? await getRSNFormat(rsn, options?.axiosConfigs?.rsn).catch(
? getOfficialStats(rsn, mode, options?.axiosConfigs?.[mode]).catch(
() => undefined
)
: undefined;
const formattedName = shouldGetFormattedRsn
? await getRSNFormat(rsn, options?.axiosConfigs?.rsn).catch(() => undefined)
: undefined;
const player: Player = {
name: formattedName ?? rsn,
@@ -323,9 +323,7 @@ export async function getStats(
player.dead = true;
player.mode = 'ironman';
}
if (
player.main.skills.overall.xp !== player.ironman.skills.overall.xp
) {
if (player.main.skills.overall.xp !== player.ironman.skills.overall.xp) {
player.deironed = true;
player.mode = 'main';
}
@@ -338,17 +336,13 @@ export async function getStats(
player.deulted = true;
player.mode = 'ironman';
}
if (
player.main.skills.overall.xp !== player.ironman.skills.overall.xp
) {
if (player.main.skills.overall.xp !== player.ironman.skills.overall.xp) {
player.deironed = true;
player.mode = 'main';
}
} else {
player.mode = 'ironman';
if (
player.main.skills.overall.xp !== player.ironman.skills.overall.xp
) {
if (player.main.skills.overall.xp !== player.ironman.skills.overall.xp) {
player.deironed = true;
player.mode = 'main';
}

View File

@@ -130,6 +130,7 @@ export type Bosses = { [Type in Boss]: Activity };
export type ActivityName =
| 'leaguePoints'
| 'deadmanPoints'
| 'hunterBHV2'
| 'rogueBHV2'
| 'hunterBH'
@@ -150,7 +151,14 @@ export type ActivityName =
export interface Stats {
skills: Skills;
clues: Clues;
/**
* Will only contain rank and score data for the `seasonal` gamemode.
*/
leaguePoints: Activity;
/**
* Will only contain rank and score data for the `tournament` gamemode.
*/
deadmanPoints: Activity;
bountyHunter: BH;
lastManStanding: Activity;
pvpArena: Activity;

View File

@@ -135,6 +135,7 @@ export const BOSSES: Boss[] = [
];
export const ACTIVITIES: ActivityName[] = [
'leaguePoints',
'deadmanPoints',
'hunterBHV2',
'rogueBHV2',
'hunterBH',
@@ -278,6 +279,7 @@ export const FORMATTED_LMS = 'LMS - Rank';
export const FORMATTED_PVP_ARENA = 'PvP Arena - Rank';
export const FORMATTED_SOUL_WARS = 'Soul Wars Zeal';
export const FORMATTED_LEAGUE_POINTS = 'League Points';
export const FORMATTED_DEADMAN_POINTS = 'Deadman Points';
export const FORMATTED_RIFTS_CLOSED = 'Rifts closed';
export const INVALID_FORMAT_ERROR = 'Invalid hiscores format';