// Generated by ts-to-zod import { z } from "zod"; export const subAffixSchema = z.object({ sub_affix_id: z.number(), count: z.number(), step: z.number(), }); export const relicJsonSchema = z.object({ level: z.number(), relic_id: z.number(), relic_set_id: z.number(), main_affix_id: z.number(), sub_affixes: z.array(subAffixSchema), internal_uid: z.number(), equip_avatar: z.number(), }); export const lightconeJsonSchema = z.object({ level: z.number(), item_id: z.number(), equip_avatar: z.number(), rank: z.number(), promotion: z.number(), internal_uid: z.number(), }); export const avatarDataSchema = z.object({ rank: z.number(), skills: z.record(z.number()), }); export const avatarJsonSchema = z.object({ owner_uid: z.number(), avatar_id: z.number(), data: avatarDataSchema, level: z.number(), promotion: z.number(), techniques: z.array(z.number()), sp_value: z.number(), sp_max: z.number(), }); export const monsterJsonSchema = z.object({ monster_id: z.number(), level: z.number(), amount: z.number(), }); export const dynamicKeyJsonSchema = z.object({ key: z.string(), value: z.number(), }); export const battleBuffJsonSchema = z.object({ level: z.number(), id: z.number(), dynamic_key: dynamicKeyJsonSchema.optional(), }); export const battleConfigJsonSchema = z.object({ battle_type: z.string(), blessings: z.array(battleBuffJsonSchema), custom_stats: z.array(subAffixSchema), cycle_count: z.number(), stage_id: z.number(), path_resonance_id: z.number(), monsters: z.array(z.array(monsterJsonSchema)), }); export const freeSRJsonSchema = z.object({ lightcones: z.array(lightconeJsonSchema), relics: z.array(relicJsonSchema), avatars: z.record(avatarJsonSchema), battle_config: battleConfigJsonSchema, }); export const psResponseSchema = z.object({ status: z.number(), message: z.string(), });