diff --git a/src/app/(stats)/player/[ign]/_stats/skywars/skywars.tsx b/src/app/(stats)/player/[ign]/_stats/skywars/skywars.tsx
index 3479419..8ca503d 100644
--- a/src/app/(stats)/player/[ign]/_stats/skywars/skywars.tsx
+++ b/src/app/(stats)/player/[ign]/_stats/skywars/skywars.tsx
@@ -88,6 +88,7 @@ export default function SkyWarsStats({ stats }: { stats: NonNullStats["SkyWars"]
+
diff --git a/src/app/(stats)/player/[ign]/_stats/skywars/table.tsx b/src/app/(stats)/player/[ign]/_stats/skywars/table.tsx
index 2e33a51..1b80a3f 100644
--- a/src/app/(stats)/player/[ign]/_stats/skywars/table.tsx
+++ b/src/app/(stats)/player/[ign]/_stats/skywars/table.tsx
@@ -1,5 +1,6 @@
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
import { formatNumber } from "@/lib/formatters"
+import { concatSkywarsStats } from "@/lib/funcs"
import { _SkywarsStats, getBestMode, getSkywarsModeStats } from "@/lib/hypixel/skywars"
import { NonNullStats } from "@/lib/schema/player"
import { cn } from "@/lib/utils"
@@ -16,6 +17,7 @@ export default function SkywarsStatTable({ stats }: { stats: NonNullStats["SkyWa
+
)
@@ -141,23 +143,23 @@ function Ranked({ stats }: { stats: NonNullStats["SkyWars"] }) {
)
}
-// function OverallModeStats({ stats }: { stats: NonNullStats["SkyWars"] }) {
-// const normal = getSkywarsModeStats("normal", stats as _SkywarsStats, true)
-// const insane = getSkywarsModeStats("insane", stats as _SkywarsStats, true)
-// const teams_normal = getSkywarsModeStats("teams_normal", stats as _SkywarsStats, true)
-// const teams_insane = getSkywarsModeStats("teams_insane", stats as _SkywarsStats, true)
-// const mega = getSkywarsModeStats("mega", stats as _SkywarsStats, true)
-// const mega_doubles = getSkywarsModeStats("mega_doubles", stats as _SkywarsStats, true)
-// const ranked = getSkywarsModeStats("ranked", stats as _SkywarsStats, true)
-//
-// const combinedStats = concatStatArrays(soloStats, doublesStats, threesStats, foursStats)
-//
-// return (
-//
-// Core Modes
-// {combinedStats.map((v, i) => {
-// return {typeof v === "number" ? formatNumber(v) : v}
-// })}
-//
-// )
-// }
+function OverallModeStats({ stats }: { stats: NonNullStats["SkyWars"] }) {
+ const normal = getSkywarsModeStats("normal", stats as _SkywarsStats, true)
+ const insane = getSkywarsModeStats("insane", stats as _SkywarsStats, true)
+ const teams_normal = getSkywarsModeStats("teams_normal", stats as _SkywarsStats, true)
+ const teams_insane = getSkywarsModeStats("teams_insane", stats as _SkywarsStats, true)
+ const mega = getSkywarsModeStats("mega", stats as _SkywarsStats, true)
+ const mega_doubles = getSkywarsModeStats("mega_doubles", stats as _SkywarsStats, true)
+ const ranked = getSkywarsModeStats("ranked", stats as _SkywarsStats, true)
+
+ const combinedStats = concatSkywarsStats(normal, insane, teams_normal, teams_insane, mega, mega_doubles, ranked)
+
+ return (
+
+ Core Modes
+ {combinedStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
diff --git a/src/lib/funcs.ts b/src/lib/funcs.ts
index b722d45..28ec0dd 100644
--- a/src/lib/funcs.ts
+++ b/src/lib/funcs.ts
@@ -1,5 +1,25 @@
import { BedwarsModeStats } from "./hypixel/bedwars"
import { devide } from "./hypixel/general"
+import { SkywarsModeStats } from "./hypixel/skywars"
+
+export function concatSkywarsStats(...stats: SkywarsModeStats[]) {
+ const summed = concatStatsArray(["kills", "deaths", "wins", "losses"], ...stats)
+
+ const ret = {
+ ...summed,
+ kd: devide(summed.kills, summed.deaths),
+ wl: devide(summed.wins, summed.losses)
+ }
+
+ return [
+ ret.kills,
+ ret.deaths,
+ ret.kd,
+ ret.wins,
+ ret.losses,
+ ret.wl
+ ]
+}
export function concatBedwarsStats(...stats: BedwarsModeStats[]) {
if (stats.length === 0) return []
@@ -15,7 +35,6 @@ export function concatBedwarsStats(...stats: BedwarsModeStats[]) {
"beds_lost_bedwars"
], ...stats)
- // winstreak special handling (max of provided, ignore -1)
let winstreak = -1
for (const s of stats) {
if (s.winstreak !== -1) winstreak = Math.max(winstreak, s.winstreak)