Finished murder mystery
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { formatNumber, formatSecondsToTime } from "@/lib/formatters"
|
||||
import { devide } from "@/lib/hypixel/general"
|
||||
import { NonNullStats } from "@/lib/schema/player"
|
||||
import { BasicStat } from "../../_components/Stats"
|
||||
|
||||
export default function InfectionStats({ stats }: { stats: NonNullStats["MurderMystery"] }) {
|
||||
if (!stats) return null
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h2 className="text-xl font-bold">Infection</h2>
|
||||
<div className="flex">
|
||||
<div className="flex-1">
|
||||
<BasicStat title="Kills as Infected: " value={formatNumber(stats.kills_as_infected_MURDER_INFECTION)} />
|
||||
<BasicStat title="Kills as Survivor: " value={formatNumber(stats.kills_as_survivor_MURDER_INFECTION)} />
|
||||
<BasicStat title="Final Kills: " value={formatNumber(stats.kills_MURDER_INFECTION)} />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<BasicStat title="Wins: " value={formatNumber(stats.wins_MURDER_INFECTION)} />
|
||||
<BasicStat title="Losses: " value={formatNumber(stats.games_MURDER_INFECTION - stats.wins_MURDER_INFECTION)} />
|
||||
<BasicStat
|
||||
title="Win/Loss Ratio: "
|
||||
value={formatNumber(devide(stats.wins_MURDER_INFECTION, stats.games_MURDER_INFECTION - stats.wins_MURDER_INFECTION))}
|
||||
/>
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<BasicStat title="Time Survived: " value={formatSecondsToTime(stats.total_time_survived_seconds_MURDER_INFECTION)} />
|
||||
<BasicStat title="Gold Collected: " value={formatNumber(stats.coins_pickedup_MURDER_INFECTION)} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import { Separator } from "@/components/ui/separator"
|
||||
import { formatNumber } from "@/lib/formatters"
|
||||
import { NonNullStats } from "@/lib/schema/player"
|
||||
import CollapsedStats from "../../_components/CollapsedStats"
|
||||
import InfectionStats from "./infection"
|
||||
import MurderMysteryGeneralStats from "./stats"
|
||||
import MurderMysteryStatTable from "./table"
|
||||
|
||||
@@ -35,6 +36,8 @@ export default function MurderMysteryStats({ stats }: { stats: NonNullStats["Mur
|
||||
<Separator className="my-4" />
|
||||
<MurderMysteryGeneralStats statsChecked={stats} />
|
||||
<Separator className="my-4" />
|
||||
<InfectionStats stats={stats} />
|
||||
<Separator className="my-4" />
|
||||
<MurderMysteryStatTable stats={stats} />
|
||||
<Separator className="my-4" />
|
||||
</AccordionContent>
|
||||
|
||||
@@ -376,5 +376,12 @@ export const murderMysteryStatsSchema = z.looseObject({
|
||||
active_knife_skin: z.string().optional(),
|
||||
quickest_detective_win_time_seconds: z.number().default(0),
|
||||
quickest_murderer_win_time_seconds: z.number().default(0),
|
||||
kills_as_infected_MURDER_INFECTION: z.number().default(0),
|
||||
kills_as_survivor_MURDER_INFECTION: z.number().default(0),
|
||||
kills_MURDER_INFECTION: z.number().default(0),
|
||||
wins_MURDER_INFECTION: z.number().default(0),
|
||||
games_MURDER_INFECTION: z.number().default(0),
|
||||
total_time_survived_seconds_MURDER_INFECTION: z.number().default(0),
|
||||
coins_pickedup_MURDER_INFECTION: z.number().default(0),
|
||||
...murderMysteryModeStats()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user