Added stats for general modes
This commit is contained in:
@@ -18,4 +18,3 @@ export async function getPlayer(uuid: string) {
|
||||
|
||||
return data.player
|
||||
}
|
||||
|
||||
|
||||
@@ -60,3 +60,36 @@ export function getLatestRoom(rooms?: Record<string, boolean>) {
|
||||
|
||||
return latestRoom
|
||||
}
|
||||
|
||||
export type _BedwarsStats = Record<string, number> & { [key: `${string}_winstreak`]: number | undefined }
|
||||
|
||||
export function getBedwarsModeStats(mode: "solo" | "doubles" | "3s" | "4s", stats: _BedwarsStats) {
|
||||
switch (mode) {
|
||||
case "solo":
|
||||
return bedwarsModeStats("eight_one", stats)
|
||||
case "doubles":
|
||||
return bedwarsModeStats("eight_two", stats)
|
||||
case "3s":
|
||||
return bedwarsModeStats("four_three", stats)
|
||||
case "4s":
|
||||
return bedwarsModeStats("four_four", stats)
|
||||
}
|
||||
}
|
||||
|
||||
function bedwarsModeStats(prefix: string, stats: _BedwarsStats) {
|
||||
return [
|
||||
stats[`${prefix}_kills_bedwars`],
|
||||
stats[`${prefix}_deaths_bedwars`],
|
||||
(stats[`${prefix}_kills_bedwars`] / stats[`${prefix}_deaths_bedwars`]).toFixed(2),
|
||||
stats[`${prefix}_final_kills_bedwars`],
|
||||
stats[`${prefix}_final_deaths_bedwars`],
|
||||
(stats[`${prefix}_final_kills_bedwars`] / stats[`${prefix}_final_deaths_bedwars`]).toFixed(2),
|
||||
stats[`${prefix}_wins_bedwars`],
|
||||
stats[`${prefix}_losses_bedwars`],
|
||||
(stats[`${prefix}_wins_bedwars`] / stats[`${prefix}_losses_bedwars`]).toFixed(2),
|
||||
stats[`${prefix}_winstreak`] ?? "?",
|
||||
stats[`${prefix}_beds_broken_bedwars`],
|
||||
stats[`${prefix}_beds_lost_bedwars`],
|
||||
(stats[`${prefix}_beds_broken_bedwars`] / stats[`${prefix}_beds_lost_bedwars`]).toFixed(2)
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ export async function validatePlayer(ign: string) {
|
||||
if (!uuid) {
|
||||
return {
|
||||
error: true,
|
||||
message: "Player not found",
|
||||
message: "Player not found"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,12 +18,13 @@ export async function validatePlayer(ign: string) {
|
||||
if (!player) {
|
||||
return {
|
||||
error: true,
|
||||
message: "Player never logged on to Hypixel",
|
||||
message: "Player never logged on to Hypixel"
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
error: false,
|
||||
message: "Player found",
|
||||
message: "Player found"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,43 @@ export const playerSchema = z.looseObject({
|
||||
total_tickets_earned: z.number(),
|
||||
doublers: z.number(),
|
||||
room: z.record(z.string(), z.boolean())
|
||||
}).optional()
|
||||
}).optional(),
|
||||
eight_one_winstreak: z.number().optional(),
|
||||
eight_one_kills_bedwars: z.number().default(0),
|
||||
eight_one_deaths_bedwars: z.number().default(0),
|
||||
eight_one_final_kills_bedwars: z.number().default(0),
|
||||
eight_one_final_deaths_bedwars: z.number().default(0),
|
||||
eight_one_wins_bedwars: z.number().default(0),
|
||||
eight_one_losses_bedwars: z.number().default(0),
|
||||
eight_one_beds_broken_bedwars: z.number().default(0),
|
||||
eight_one_beds_lost_bedwars: z.number().default(0),
|
||||
eight_two_winstreak: z.number().optional(),
|
||||
eight_two_kills_bedwars: z.number().default(0),
|
||||
eight_two_deaths_bedwars: z.number().default(0),
|
||||
eight_two_final_kills_bedwars: z.number().default(0),
|
||||
eight_two_final_deaths_bedwars: z.number().default(0),
|
||||
eight_two_wins_bedwars: z.number().default(0),
|
||||
eight_two_losses_bedwars: z.number().default(0),
|
||||
eight_two_beds_broken_bedwars: z.number().default(0),
|
||||
eight_two_beds_lost_bedwars: z.number().default(0),
|
||||
four_three_winstreak: z.number().optional(),
|
||||
four_three_kills_bedwars: z.number().default(0),
|
||||
four_three_deaths_bedwars: z.number().default(0),
|
||||
four_three_final_kills_bedwars: z.number().default(0),
|
||||
four_three_final_deaths_bedwars: z.number().default(0),
|
||||
four_three_wins_bedwars: z.number().default(0),
|
||||
four_three_losses_bedwars: z.number().default(0),
|
||||
four_three_beds_broken_bedwars: z.number().default(0),
|
||||
four_three_beds_lost_bedwars: z.number().default(0),
|
||||
four_four_winstreak: z.number().optional(),
|
||||
four_four_kills_bedwars: z.number().default(0),
|
||||
four_four_deaths_bedwars: z.number().default(0),
|
||||
four_four_final_kills_bedwars: z.number().default(0),
|
||||
four_four_final_deaths_bedwars: z.number().default(0),
|
||||
four_four_wins_bedwars: z.number().default(0),
|
||||
four_four_losses_bedwars: z.number().default(0),
|
||||
four_four_beds_broken_bedwars: z.number().default(0),
|
||||
four_four_beds_lost_bedwars: z.number().default(0)
|
||||
}).optional()
|
||||
}),
|
||||
quests: z.record(
|
||||
|
||||
Reference in New Issue
Block a user