Looking at our existing data, there's exactly one non-path leaderboard floating in the middle of the traditional path leaderboards: batfellow, at 27. Which is to say that for every special challenge path, we can determine its leaderboard number as follows:
- Calculate the path index. This is different from the path ID because of things like OnlyFamiiars, which caused us to skip a path ID. I'm going to define the index here as essentially its position in Kolmafia's Path.all(), but only counting the special challenge paths. so 0 for BHY, 1 for wotsf, 2 for trendy, etc
- If that index is less than 18, add 9 to it; otherwise, add 10
- That should do it!
a recent non-challengepath leaderboard, elf gratitude, was for a while marked as leaderboard 50, but is currently 900. If and when TPTB add other leaderboards in the middle of the path ones, we can update this algorithm.
NOTE:
It turns out this doesn't actually work for the order of Path.all(), because Path.all() seems to be sorted weirdly:
js Path.all()
Returned: aggregate path [48]
0 => Actually Ed the Undying
1 => Grey You
2 => Bees Hate You
But we can sort Path.all() by path id, and achieve the same order.
Looking at our existing data, there's exactly one non-path leaderboard floating in the middle of the traditional path leaderboards: batfellow, at 27. Which is to say that for every special challenge path, we can determine its leaderboard number as follows:
a recent non-challengepath leaderboard, elf gratitude, was for a while marked as leaderboard 50, but is currently 900. If and when TPTB add other leaderboards in the middle of the path ones, we can update this algorithm.
NOTE:
It turns out this doesn't actually work for the order of Path.all(), because Path.all() seems to be sorted weirdly:
But we can sort Path.all() by path id, and achieve the same order.