All checks were successful
Gitea Auto Deploy / Deploy-Container (push) Successful in 1m31s
164 lines
4.2 KiB
TypeScript
164 lines
4.2 KiB
TypeScript
// 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),
|
|
});
|