import z from "zod" function blitzKitPlayedStats() { const ids = [ "arachnologist", "archer", "armorer", "astronaut", "baker", "blaze", "creepertamer", "diver", "donkeytamer", "farmer", "fisherman", "florist", "golem", "guardian", "horsetamer", "hunter", "hype train", "jockey", "knight", "meatmaster", "milkman", "necromancer", "paladin", "phoenix", "pigman", "ranger", "reaper", "reddragon", "rogue", "scout", "shadow knight", "shark", "slimeyslime", "snowman", "speleologist", "tim", "toxicologist", "troll", "viking", "warlock", "warrior", "wolftamer" ] as const const stats = [ "wins", "wins_teams", "time_played", "exp", "kills", "games_played" ] as const const entries = new Map>() const kits = new Map>() const prestiges = new Map>() for (const id of ids) { for (const stat of stats) { entries.set(`${stat}_${id}`, z.number().default(0)) kits.set(`${id}`, z.number().default(-1)) prestiges.set(`p${id}`, z.number().default(0)) } } return { stats: Object.fromEntries(entries) as Record<`${typeof stats[number]}_${typeof ids[number]}`, z.ZodDefault>, kits: Object.fromEntries(kits) as Record<`${typeof ids[number]}`, z.ZodDefault>, prestiges: Object.fromEntries(prestiges) as Record<`p${typeof ids[number]}`, z.ZodDefault> } } export const blitzStatsSchema = z.object({ kills: z.number().default(0), deaths: z.number().default(0), kills_solo_normal: z.number().default(0), kills_teams_normal: z.number().default(0), wins_solo_normal: z.number().default(0), wins_teams_normal: z.number().default(0), coins: z.number().default(0), damage: z.number().default(0), damage_taken: z.number().default(0), ...blitzKitPlayedStats().stats, ...blitzKitPlayedStats().kits, ...blitzKitPlayedStats().prestiges })