Fixed bedwars

This commit is contained in:
2025-08-22 21:54:29 +02:00
parent 054ec7841b
commit b308fe91eb
2 changed files with 78 additions and 26 deletions

View File

@@ -1,17 +1,61 @@
export function concatStatArrays(...arrays: number[][]) {
if (arrays.length === 0) return []
import { BedwarsModeStats } from "./hypixel/bedwars"
const indexes = [2, 5, 8]
export function concatStatArrays(...stats: BedwarsModeStats[]) {
if (stats.length === 0) return []
const result = arrays[0].map((v, index) => {
if (v < 0) return "?"
const base: BedwarsModeStats = {
kills_bedwars: 0,
deaths_bedwars: 0,
final_kills_bedwars: 0,
final_deaths_bedwars: 0,
wins_bedwars: 0,
losses_bedwars: 0,
winstreak: -1,
beds_broken_bedwars: 0,
beds_lost_bedwars: 0
}
if (indexes.includes(index) || index === arrays[0].length - 1) {
return arrays.reduce((sum, array) => sum + array[index], 0) / arrays.length
for (const s of stats) {
base.kills_bedwars += s.kills_bedwars
base.deaths_bedwars += s.deaths_bedwars
base.final_kills_bedwars += s.final_kills_bedwars
base.final_deaths_bedwars += s.final_deaths_bedwars
base.wins_bedwars += s.wins_bedwars
base.losses_bedwars += s.losses_bedwars
if (s.winstreak !== -1) {
base.winstreak = Math.max(base.winstreak, s.winstreak)
}
base.beds_broken_bedwars += s.beds_broken_bedwars
base.beds_lost_bedwars += s.beds_lost_bedwars
}
return arrays.reduce((sum, array) => sum + array[index], 0)
})
const devide = (a: number, b: number) => {
if (b === 0) return a
return a / b
}
return result
const ret = {
...base,
winstreak: base.winstreak < 0 ? "?" : base.winstreak,
kd: devide(base.kills_bedwars, base.deaths_bedwars),
fkd: devide(base.final_kills_bedwars, base.final_deaths_bedwars),
wl: devide(base.wins_bedwars, base.losses_bedwars),
bbl: devide(base.beds_broken_bedwars, base.beds_lost_bedwars)
}
return [
ret.kills_bedwars,
ret.deaths_bedwars,
ret.kd,
ret.final_kills_bedwars,
ret.final_deaths_bedwars,
ret.fkd,
ret.wins_bedwars,
ret.losses_bedwars,
ret.wl,
ret.winstreak,
ret.beds_broken_bedwars,
ret.beds_lost_bedwars,
ret.bbl
]
}