Every run gives 50 baseline points.
WR gives 30 points if time is under the WR threshold for the category:
- 3 Maps: Sub 42.300s
- 4 Maps: Sub 1:11.233s
- 5 Maps: Sub 1:41.266s
Top 1 gives 20 points.
Top 3 gives 15 points.
Top 5 gives 10 points.
Barrier 1 gives points if time is under the first barrier threshold for the map count:
- 3 Maps: 40 points for sub 60
- 4 Maps: 40 points for sub 1:35
- 5 Maps: 40 points for sub 2:10
Barrier 2 gives points if time is under the second barrier threshold for the map count:
- 3 Maps: 30 points for sub 50
- 4 Maps: 30 points for sub 1:25
- 5 Maps: 30 points for sub 2:00
All applicable points stack!!!
league_pb_rank - the position of your league PB on the league category leaderboardnumber_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 upa * 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 bbaseline = 50
wr = 30 * min(1, max(0, 71233 - league_pb_in_milliseconds))
top1 = 20 * min(1, max(0, 2 - league_pb_rank))
top3 = 15 * min(1, max(0, 4 - league_pb_rank))
top5 = 10 * min(1, max(0, 6 - league_pb_rank))
placement = wr + top1 + top3 + top5
barrier1 = 40 * min(1, max(0, 95000 - league_pb_in_milliseconds))
barrier2 = 30 * min(1, max(0, 85000 - league_pb_in_milliseconds))
time = barrier1 + barrier2
final_score = baseline + placement + time