Placeholder
league_pb_rank - the position of your league PB on the league category leaderboardnumber_of_runners_in_category - the number of runners that have submitted to the category so farnumber_of_league_participants - the total number of participants in the leagueleague_pb_in_milliseconds - the total time of your league PB, in millisecondsleague_pb_in_seconds_floor - the total time of your league PB, in seconds, rounded downleague_pb_in_seconds_ceiling - the total time of your league PB, in seconds, rounded upinitial_pb_in_milliseconds - the total time of your initial PB, in millisecondsinitial_pb_in_seconds_floor - the total time of your initial PB, in seconds, rounded downinitial_pb_in_seconds_ceiling - the total time of your initial PB, in seconds, rounded uphas_initial_pb - whether you have an initial PB or not (0 or 1)a * b - a multiplied by ba ** b - a to the power of ba // b - how many full lots of a fit into b (also known as "integer divide")a % b - a modulo bmin(a, b, ...) - the lowest of a, b, ...max(a, b, ...) - the highest of a, b, ...abs(a) - the absolute value of acheck_league_pb_var('a', 'b') - 0 or 1, indicating whether the league PB has a variable a with value bcheck_initial_pb_var('a', 'b') - 0 or 1, indicating whether the initial PB has a variable a with value bleague_pb = league_pb_in_seconds_floor
# standards points - bonuses for beating certain times
tier_1 = 25 * min(1, max(0, 35999 - league_pb))
tier_2 = 35 * min(1, max(0, 3000 - league_pb))
tier_3 = 50 * min(1, max(0, 2580 - league_pb))
tier_4 = 75 * min(1, max(0, 2340 - league_pb))
tier_5 = 100 * min(1, max(0, 2220 - league_pb))
tier_6 = 150 * min(1, max(0, 2130 - league_pb))
tier_7 = 200 * min(1, max(0, 2040 - league_pb))
tier_8 = 250 * min(1, max(0, 1980 - league_pb))
tier_9 = 300 * min(1, max(0, 1940 - league_pb))
tier_10 = 400 * min(1, max(0, 1920 - league_pb))
tier_11 = 500 * min(1, max(0, 1910 - league_pb))
standards = tier_1 + tier_2 + tier_3 + tier_4 + tier_5 + tier_6 + tier_7 + tier_8 + tier_9 + tier_10 + tier_11
# rank points
# you get a certain number of points for a last-placed run, plus extra for each rank you climb from there
# there are also bonuses for being in the top 3, 5, 10, and 25
baseline = 100
rank_score = 3 * max(0, number_of_runners_in_category + 1 - league_pb_rank)
top3_sum = 50 * min(1, max(0, 4 - league_pb_rank))
top5_sum = 40 * min(1, max(0, 6 - league_pb_rank))
top10_sum = 25 * min(1, max(0, 11 - league_pb_rank))
top25_sum = 20 * min(1, max(0, 26 - league_pb_rank))
rank = baseline + rank_score + top3_sum + top5_sum + top10_sum + top25_sum
final_score = standards + rank