import z from "zod" function copsAndCrimsGunUpgrades() { const ids = [ "knife", "pistol", "handgun", "magnum", "sniper", "bullpup", "smg", "rifle", "carbine", "scoped_rifle", "shotgun", "auto_shotgun" ] as const const upgrades = [ "damage_increase", "recoil_reduction", "reload_speed_reduction", "cost_reduction" ] as const const entries = new Map>() for (const id of ids) { for (const upgrade of upgrades) { entries.set(`${id}_${upgrade}`, z.number().default(0)) } } return Object.fromEntries(entries) as Record<`${typeof ids[number]}_${typeof upgrades[number]}`, z.ZodDefault> } export const copsAndCrimsStatsSchema = z.object({ kills: z.number().default(0), assists: z.number().default(0), deaths: z.number().default(0), game_wins: z.number().default(0), cop_kills: z.number().default(0), criminal_kills: z.number().default(0), kills_deathmatch: z.number().default(0), assists_deathmatch: z.number().default(0), deaths_deathmatch: z.number().default(0), game_wins_deathmatch: z.number().default(0), cop_kills_deathmatch: z.number().default(0), criminal_kills_deathmatch: z.number().default(0), kills_gungame: z.number().default(0), assists_gungame: z.number().default(0), deaths_gungame: z.number().default(0), game_wins_gungame: z.number().default(0), cop_kills_gungame: z.number().default(0), criminal_kills_gungame: z.number().default(0), bombs_planted: z.number().default(0), bombs_defused: z.number().default(0), shots_fired: z.number().default(0), coins: z.number().default(0), round_wins: z.number().default(0), headshot_kills: z.number().default(0), knife_attack_delay: z.number().default(0), sniper_charge_bonus: z.number().default(0), ...copsAndCrimsGunUpgrades() })