Change from 10 to 50 for harder progression

This commit is contained in:
2026-02-07 21:38:52 -07:00
parent 544b0d5da9
commit 5c8d2c1651

View File

@@ -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);
}