This commit is contained in:
163
src/zod/characterDetail.zod.ts
Normal file
163
src/zod/characterDetail.zod.ts
Normal file
@@ -0,0 +1,163 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const rankTypeSchema = z.object({
|
||||
Id: z.number(),
|
||||
Name: z.string(),
|
||||
Desc: z.string(),
|
||||
ParamList: z.array(z.number()),
|
||||
});
|
||||
|
||||
export const uniqueAbilitySchema = z.object({
|
||||
Tag: z.string(),
|
||||
Name: z.string(),
|
||||
Desc: z.string(),
|
||||
Param: z.array(z.number()),
|
||||
});
|
||||
|
||||
export const voiceActorsSchema = z.object({
|
||||
Chinese: z.string().nullable(),
|
||||
Japanese: z.string().nullable(),
|
||||
Korean: z.string().nullable(),
|
||||
English: z.string().nullable(),
|
||||
});
|
||||
|
||||
export const levelParamsSchema = z.object({
|
||||
Level: z.number(),
|
||||
ParamList: z.array(z.number()),
|
||||
});
|
||||
|
||||
export const itemConfigRowSchema = z.object({
|
||||
$type: z.string(),
|
||||
ItemID: z.number(),
|
||||
ItemNum: z.number(),
|
||||
Rarity: z.string(),
|
||||
});
|
||||
|
||||
export const spriteSkillSchema = z.object({
|
||||
Name: z.string(),
|
||||
Desc: z.string().nullable(),
|
||||
Type: z.string().nullable(),
|
||||
Tag: z.string(),
|
||||
SPBase: z.number().nullable(),
|
||||
BPNeed: z.number(),
|
||||
BPAdd: z.number().nullable(),
|
||||
ShowStanceList: z.array(z.number()),
|
||||
SkillComboValueDelta: z.number().nullable(),
|
||||
Level: z.record(levelParamsSchema),
|
||||
});
|
||||
|
||||
export const statSchema = z.object({
|
||||
AttackBase: z.number(),
|
||||
AttackAdd: z.number(),
|
||||
DefenceBase: z.number(),
|
||||
DefenceAdd: z.number(),
|
||||
HPBase: z.number(),
|
||||
HPAdd: z.number(),
|
||||
SpeedBase: z.number(),
|
||||
CriticalChance: z.number(),
|
||||
CriticalDamage: z.number(),
|
||||
BaseAggro: z.number(),
|
||||
Cost: z.array(itemConfigRowSchema),
|
||||
});
|
||||
|
||||
export const relicRecommendPropertySchema = z.object({
|
||||
$type: z.string(),
|
||||
RelicType: z.string(),
|
||||
PropertyType: z.string(),
|
||||
});
|
||||
|
||||
export const characterInfoSchema = z.object({
|
||||
Camp: z.string().nullable(),
|
||||
VA: voiceActorsSchema,
|
||||
Stories: z.record(z.string().nullable()),
|
||||
Voicelines: z.array(z.string()),
|
||||
});
|
||||
|
||||
export const skillTypeSchema = z.object({
|
||||
Id: z.number(),
|
||||
Name: z.string(),
|
||||
Desc: z.string(),
|
||||
Type: z.string(),
|
||||
Tag: z.string(),
|
||||
SPBase: z.number().nullable(),
|
||||
BPNeed: z.number(),
|
||||
BPAdd: z.number(),
|
||||
ShowStanceList: z.array(z.number()),
|
||||
SkillComboValueDelta: z.number().nullable(),
|
||||
Level: z.record(levelParamsSchema),
|
||||
});
|
||||
|
||||
export const skillTreePointSchema = z.object({
|
||||
Anchor: z.string(),
|
||||
AvatarPromotionLimit: z.number().nullable(),
|
||||
AvatarLevelLimit: z.number().nullable(),
|
||||
DefaultUnlock: z.boolean(),
|
||||
Icon: z.string(),
|
||||
LevelUpSkillID: z.array(z.number()),
|
||||
MaterialList: z.array(itemConfigRowSchema),
|
||||
MaxLevel: z.number(),
|
||||
ParamList: z.array(z.any()),
|
||||
PointID: z.number(),
|
||||
PointName: z.string().nullable(),
|
||||
PointDesc: z.string().nullable(),
|
||||
PointTriggerKey: z.number(),
|
||||
PointType: z.number(),
|
||||
PrePoint: z.array(z.string()),
|
||||
StatusAddList: z.array(z.any()),
|
||||
});
|
||||
|
||||
export const memospriteSchema = z.object({
|
||||
Name: z.string(),
|
||||
Icon: z.string(),
|
||||
HPBase: z.string(),
|
||||
HPInherit: z.string(),
|
||||
HPSkill: z.number().nullable(),
|
||||
SpeedBase: z.string(),
|
||||
SpeedInherit: z.string(),
|
||||
SpeedSkill: z.number(),
|
||||
Aggro: z.number(),
|
||||
Skills: z.record(spriteSkillSchema),
|
||||
Talent: z.record(z.any()),
|
||||
});
|
||||
|
||||
export const relicsSchema = z.object({
|
||||
AvatarID: z.number(),
|
||||
Set4IDList: z.array(z.number()),
|
||||
Set2IDList: z.array(z.number()),
|
||||
PropertyList3: z.array(z.string()),
|
||||
PropertyList4: z.array(z.string()),
|
||||
PropertyList5: z.array(z.string()),
|
||||
PropertyList6: z.array(z.string()),
|
||||
PropertyList: z.array(relicRecommendPropertySchema),
|
||||
SubAffixPropertyList: z.array(z.string()),
|
||||
ScoreRankList: z.array(z.number()),
|
||||
});
|
||||
|
||||
export const enhancedTypeSchema = z.object({
|
||||
Descs: z.array(z.string()),
|
||||
ChangeRankList: z.any(),
|
||||
ChangeSkillTreeList: z.any(),
|
||||
Ranks: z.record(rankTypeSchema),
|
||||
Skills: z.record(skillTypeSchema),
|
||||
SkillTrees: z.record(z.record(skillTreePointSchema)),
|
||||
});
|
||||
|
||||
export const characterDetailSchema = z.object({
|
||||
Name: z.string(),
|
||||
Desc: z.string(),
|
||||
CharaInfo: characterInfoSchema,
|
||||
Rarity: z.string(),
|
||||
AvatarVOTag: z.string(),
|
||||
SPNeed: z.number().nullable(),
|
||||
BaseType: z.string(),
|
||||
DamageType: z.string(),
|
||||
Ranks: z.record(rankTypeSchema),
|
||||
Skills: z.record(skillTypeSchema),
|
||||
SkillTrees: z.record(z.record(skillTreePointSchema)),
|
||||
Memosprite: memospriteSchema,
|
||||
Unique: z.record(uniqueAbilitySchema),
|
||||
Stats: z.record(statSchema),
|
||||
Relics: relicsSchema,
|
||||
Enhanced: z.record(enhancedTypeSchema),
|
||||
});
|
||||
Reference in New Issue
Block a user