From 6fce7c4f869d1a24700ea5662b21821575fe1db7 Mon Sep 17 00:00:00 2001 From: Z8MB1E Date: Sun, 6 Sep 2026 23:29:46 -0400 Subject: [PATCH] fix(xp): floor fractional xp before resolving level Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- src/utils/xp/resolveLevel.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/utils/xp/resolveLevel.ts b/src/utils/xp/resolveLevel.ts index 398131c..15b9fe7 100644 --- a/src/utils/xp/resolveLevel.ts +++ b/src/utils/xp/resolveLevel.ts @@ -23,7 +23,9 @@ export type ResolvedLevel = { * current bracket: (xp - currentLevelXP) / (nextLevelXP - currentLevelXP). * At the max level the bar sits at 100%. */ -export function resolveLevel(xp: number, levels: ExperienceLevel[]): ResolvedLevel { +export function resolveLevel(rawXp: number, levels: ExperienceLevel[]): ResolvedLevel { + const xp = Math.floor(rawXp); + if (levels.length === 0) { return { levelName: "Unknown",