[O] Advanced achievement rounding

This commit is contained in:
Azalea
2024-04-22 09:15:57 -04:00
parent b13af00061
commit 3bf3241bd7
3 changed files with 16 additions and 6 deletions

View File

@@ -66,7 +66,6 @@ const multTable = {
]
}
export function getMult(achievement: number, game: GameName) {
achievement /= 10000
const mt = multTable[game]
@@ -75,3 +74,12 @@ export function getMult(achievement: number, game: GameName) {
}
return [ 0, 0, 0 ]
}
export function roundFloor(achievement: number, game: GameName, digits = 2) {
achievement /= 10000
// Round, but if the rounded number reaches the next rank, use floor instead
const mult = getMult(achievement, game);
const rounded = achievement.toFixed(digits);
if (getMult(+rounded, game)[2] === mult[2]) return rounded;
return (+rounded - Math.pow(10, -digits)).toFixed(digits);
}