From 5c8d2c1651aa8a435f1de760e749100be3e5226b Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Sat, 7 Feb 2026 21:38:52 -0700 Subject: [PATCH] Change from 10 to 50 for harder progression --- Assets/Scripts/Tools.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Assets/Scripts/Tools.cs b/Assets/Scripts/Tools.cs index 561ed23..4f965db 100644 --- a/Assets/Scripts/Tools.cs +++ b/Assets/Scripts/Tools.cs @@ -89,19 +89,21 @@ public static class Tools totalXp += BazookaManager.Instance.GetGameStoreTotalCoinBerries() * 10; if (totalXp < 0) totalXp = 0; - double discriminant = 95 * 95 + 20.0 * (double)totalXp; - double level = (-95 + Math.Sqrt(discriminant)) / 10.0; + double levelDivisor = 50.0; + + double discriminant = 95 * 95 + levelDivisor * 2 * (double)totalXp; + double level = (-95 + Math.Sqrt(discriminant)) / levelDivisor; double flooredLevel = Math.Floor(level); - BigInteger xpAtStartOfLevel = (BigInteger)(5 * flooredLevel * flooredLevel + 95 * flooredLevel); + BigInteger xpAtStartOfLevel = (BigInteger)(levelDivisor / 2 * flooredLevel * flooredLevel + 95 * flooredLevel); double nextLevel = flooredLevel + 1; - BigInteger xpAtNextLevel = (BigInteger)(5 * nextLevel * nextLevel + 95 * nextLevel); + BigInteger xpAtNextLevel = (BigInteger)(levelDivisor / 2 * nextLevel * nextLevel + 95 * nextLevel); BigInteger totalXpForLevel = xpAtNextLevel - xpAtStartOfLevel; BigInteger currentXpInLevel = totalXp - xpAtStartOfLevel; - double percentDone = (double)currentXpInLevel / (double)totalXpForLevel * 100.0; + double percentDone = totalXpForLevel == 0 ? 0.0 : (double)currentXpInLevel / (double)totalXpForLevel * 100.0; return (totalXp, flooredLevel, currentXpInLevel, totalXpForLevel, percentDone); }