// Generated by ts-to-zod
import { z } from "zod";

const refinementDetailSchema = z.object({
  Name: z.string(),
  Desc: z.string(),
  Level: z.record(
    z.object({
      ParamList: z.array(z.number()),
    }),
  ),
});

const promotionCostSchema = z.object({
  $type: z.string(),
  ItemID: z.number(),
  ItemNum: z.number(),
  Rarity: z.string(),
});

const statEntryDetailSchema = z.object({
  EquipmentID: z.number(),
  Promotion: z.number().optional(),
  PromotionCostList: z.array(promotionCostSchema),
  PlayerLevelRequire: z.number().optional(),
  WorldLevelRequire: z.number().optional(),
  MaxLevel: z.number(),
  BaseHP: z.number(),
  BaseHPAdd: z.number(),
  BaseAttack: z.number(),
  BaseAttackAdd: z.number(),
  BaseDefence: z.number(),
  BaseDefenceAdd: z.number(),
});

export const lightConeDetailSchema = z.object({
  Name: z.string(),
  Desc: z.string(),
  Rarity: z.string(),
  BaseType: z.string(),
  Refinements: refinementDetailSchema,
  Stats: z.array(statEntryDetailSchema),
});
