Add deadmanPoints

This commit is contained in:
maxswa
2023-12-17 20:13:06 -05:00
parent 4872d04301
commit 91066b5366
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` | | Soul Wars Zeal | `soulWarsZeal` |
| Rifts closed | `riftsClosed` | | Rifts closed | `riftsClosed` |
### Leagues ### Points
| Activity | Param | | Activity | Param |
| ------------- | :------------: | | -------------- | :-------------: |
| League Points | `leaguePoints` | | League Points | `leaguePoints` |
| Deadman Points | `deadmanPoints` |
### Bosses ### 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 3745,2277,840426611
23024,99,29963318 24080,99,30276246
12244,99,28197154 9559,99,31228199
2261,99,134139762 2212,99,143599407
4074,99,112054504 3550,99,123248914
7166,99,101083246 6564,99,109953707
3747,99,15110682 4244,99,15144846
4516,99,50824811 4107,99,57072224
126288,99,13353110 135556,99,13353511
24800,99,16366466 25855,99,16903268
49293,99,13453226 53472,99,13456850
20784,99,16654289 22453,99,16654917
16376,99,19114676 17690,99,19118307
42069,99,14055874 45816,99,14059776
9305,99,16527135 10409,99,16530015
25135,99,14657869 27702,99,14765145
35831,99,13233130 39430,99,13235063
6197,99,15739327 6722,99,15754877
48215,99,13963265 51813,99,14023027
4786,99,33830972 5324,99,33835543
3402,99,62531484 3154,99,69527777
4314,99,22733194 4719,99,22733384
14826,99,17399368 15135,99,17952893
1009,99,17989158 1089,99,17998715
-1,-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
-1,-1 -1,-1
5222,14780 26164,10
3007,1060 12886,3
2578,2192 148658,8
84703,594 103161,7
19500,143 377,9556
3335,1830 862,825
191697,5 148,6000
27457,293 2153,1606
43607,58 42107,298
17384,1905 504,459
171607,33 1816,368
2074,501 14701,2521
78908,50 -1,-1
135830,26 6776,14780
48781,287 4773,1060
2112,2000 2741,2192
138748,41 90203,594
31297,707 29573,143
40908,698 3668,1830
31273,714 206778,5
76034,25 32897,293
2391,688 64112,58
17409,1228 18492,1905
60841,474 178941,34
1895,2140 2379,501
19948,159 82902,50
1855,2046 147358,26
46423,579 51973,287
107879,1908 2377,2000
9791,920 147406,41
2050,1444 32225,707
848,33 42229,698
24797,620 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 4157,744
4154,500 4261,500
880,217 993,217
15860,251 21848,251
60424,119 66260,119
100429,26 108898,26
358191,9 373975,9
1131,1569 2005,1569
33908,273 40001,273
165651,7 192608,7
64278,201 78367,201
1533,583 5679,583
748,700 478,1760
21700,250 22932,250
13200,7 15059,7
6622,3066 7161,3066
87093,35 101555,35
2449,502 610,933
14541,2 15733,2
-1,-1 -1,-1
1048,1432 2051,2078
138,7096 194,7096
58203,51 69260,51
13949,2780 14039,2780
827440,62 876367,62
153191,25 165341,25
216690,274 226318,275
Can't render this file because it has a wrong number of fields in line 25.

View File

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

View File

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

View File

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

View File

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

View File

@@ -135,6 +135,7 @@ export const BOSSES: Boss[] = [
]; ];
export const ACTIVITIES: ActivityName[] = [ export const ACTIVITIES: ActivityName[] = [
'leaguePoints', 'leaguePoints',
'deadmanPoints',
'hunterBHV2', 'hunterBHV2',
'rogueBHV2', 'rogueBHV2',
'hunterBH', 'hunterBH',
@@ -278,6 +279,7 @@ export const FORMATTED_LMS = 'LMS - Rank';
export const FORMATTED_PVP_ARENA = 'PvP Arena - Rank'; export const FORMATTED_PVP_ARENA = 'PvP Arena - Rank';
export const FORMATTED_SOUL_WARS = 'Soul Wars Zeal'; 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_RIFTS_CLOSED = 'Rifts closed'; export const FORMATTED_RIFTS_CLOSED = 'Rifts closed';
export const INVALID_FORMAT_ERROR = 'Invalid hiscores format'; export const INVALID_FORMAT_ERROR = 'Invalid hiscores format';