Updated skywars stats

This commit is contained in:
2025-08-22 22:28:26 +02:00
parent 4596177eaa
commit adea71938c
6 changed files with 41 additions and 43 deletions

View File

@@ -1,37 +1,26 @@
import { INITIAL_XP, RECURRING_XP } from "@/data/hypixel/skywars"
export function getSkywarsLevel(xp: number) {
const xps = [0, 20, 70, 150, 250, 500, 1000, 2000, 3500, 6000, 10000, 15000]
if (xp >= 15000) {
return (xp - 15000) / 10000 + 12
}
for (let i = 0; i < xps.length; i += 1) {
if (xp < xps[i]) {
return i + (xp - xps[i - 1]) / (xps[i] - xps[i - 1])
return (xp - 15000) / RECURRING_XP + 12
} else {
for (let i = 0; i < INITIAL_XP.length; i++) {
if (xp < INITIAL_XP[i]) {
return i + (xp - INITIAL_XP[i - 1]) / (INITIAL_XP[i] - INITIAL_XP[i - 1])
}
}
}
return 0
}
export function getSkywarsXpForLevel(level: number) {
const xps = [0, 20, 70, 150, 250, 500, 1000, 2000, 3500, 6000, 10000, 15000]
if (level >= 12) {
return (level - 12) * 10000 + 15000
export function getSkywarsXpForLevel(lvl: number) {
let xp = 0
for (let i = 0; i < lvl; i++) {
if (i < INITIAL_XP.length) {
xp = INITIAL_XP[i]
} else {
xp += RECURRING_XP
}
}
const baseLevel = Math.floor(level)
const progress = level - baseLevel
if (baseLevel >= xps.length) {
return xps[xps.length - 1]
}
if (baseLevel === 0) {
return progress * xps[1]
}
const baseXp = xps[baseLevel]
const nextXp = xps[baseLevel + 1] || 15000
return baseXp + progress * (nextXp - baseXp)
return xp
}

View File

@@ -33,13 +33,8 @@ export function getTotalChallenges(challenges: Player["player"]["challenges"]) {
export function rewardClaimed(claimedAt?: number) {
if (!claimedAt) return false
const now = new Date()
const claimedDate = new Date(claimedAt)
const now = Date.now()
const diff = now - claimedAt
const oneDay = 24 * 60 * 60 * 1000
if (now.getMilliseconds() - claimedDate.getMilliseconds() > oneDay) {
return true
} else {
return false
}
return diff <= oneDay
}