diff --git a/.prettierrc.yaml b/.prettierrc.yaml index b7e6cab..3339475 100644 --- a/.prettierrc.yaml +++ b/.prettierrc.yaml @@ -3,5 +3,6 @@ bracketSpacing: false printWidth: 120 proseWrap: always quoteProps: consistent +semi: false singleQuote: true trailingComma: all diff --git a/src/index.ts b/src/index.ts index 57c7067..06b34f2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,26 +1,22 @@ function solveQuadratic(a: number, b: number, c: number): number[] { - const discrim = b ** 2 - 4 * a * c; + const discrim = b ** 2 - 4 * a * c if (discrim > 0) { - const sqrtDiscrim = Math.sqrt(discrim); - return [(-b + sqrtDiscrim) / (2 * a), (-b - sqrtDiscrim) / (2 * a)]; + const sqrtDiscrim = Math.sqrt(discrim) + return [(-b + sqrtDiscrim) / (2 * a), (-b - sqrtDiscrim) / (2 * a)] } - return discrim === 0 ? [-b / (2 * a)] : []; + return discrim === 0 ? [-b / (2 * a)] : [] } export function getXpToReachLevel(level: number): number { - if (level <= 16) { - return level ** 2 + level * 6; - } - if (level <= 31) { - return level ** 2 * 2.5 - 40.5 * level + 360; - } - return level ** 2 * 4.5 - 162.5 * level + 2220; + if (level <= 16) return level ** 2 + level * 6 + if (level <= 31) return level ** 2 * 2.5 - 40.5 * level + 360 + return level ** 2 * 4.5 - 162.5 * level + 2220 } export function getLevelFromXp(xp: number): number { - const a = xp <= getXpToReachLevel(16) ? 1 : xp <= getXpToReachLevel(31) ? 2.5 : 4.5; - const b = xp <= getXpToReachLevel(16) ? 6 : xp <= getXpToReachLevel(31) ? -40.5 : -162.5; - const c = xp <= getXpToReachLevel(16) ? 0 : xp <= getXpToReachLevel(31) ? 360 : 2220; - const x = solveQuadratic(a, b, c - xp); - return ~~Math.max(...x); + const a = xp <= getXpToReachLevel(16) ? 1 : xp <= getXpToReachLevel(31) ? 2.5 : 4.5 + const b = xp <= getXpToReachLevel(16) ? 6 : xp <= getXpToReachLevel(31) ? -40.5 : -162.5 + const c = xp <= getXpToReachLevel(16) ? 0 : xp <= getXpToReachLevel(31) ? 360 : 2220 + const x = solveQuadratic(a, b, c - xp) + return ~~Math.max(...x) }