From 1b0674d041e3f6cd5f1f1a492bdfe561de5bba65 Mon Sep 17 00:00:00 2001 From: Ashnal Date: Sat, 18 Jan 2025 18:47:58 -0500 Subject: [PATCH] Grading adjustment --- src/k_tally.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/k_tally.cpp b/src/k_tally.cpp index d6fbe90e3..a5bfad77c 100644 --- a/src/k_tally.cpp +++ b/src/k_tally.cpp @@ -243,10 +243,9 @@ INT32 level_tally_t::CalculateGrade(void) case TALLY_BONUS_LAP: { // Use a special curve for this. - // The difference between 0 and 1 lap points is an important difference in skill, - // while the difference between 5 and 6 is not very notable. - const fixed_t frac = std::min(FRACUNIT, (laps * FRACUNIT) / std::max(1, static_cast(totalLaps))); - ours += Easing_OutSine(frac, 0, bonusWeights[i]); + // Low Exp amounts are guaranteed, higher than half is where skill expression starts + const fixed_t frac = std::min(FRACUNIT, (laps * FRACUNIT) / std::max(1, static_cast(totalLaps + 80))); // Magic number here is to ensure A ranks only go to those that can maintain positive EXP + ours += Easing_InCubic(frac, 0, bonusWeights[i]); break; } case TALLY_BONUS_PRISON: