This commit is contained in:
9
src/zod/affix.zod.ts
Normal file
9
src/zod/affix.zod.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const affixDetailSchema = z.object({
|
||||
property: z.string(),
|
||||
base: z.number(),
|
||||
step: z.number(),
|
||||
step_num: z.number(),
|
||||
});
|
||||
21
src/zod/card.zod.ts
Normal file
21
src/zod/card.zod.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const characterInfoCardTypeSchema = z.object({
|
||||
key: z.number(),
|
||||
avatar_id: z.number(),
|
||||
rank: z.number(),
|
||||
level: z.number(),
|
||||
lightcone: z.object({
|
||||
level: z.number(),
|
||||
rank: z.number(),
|
||||
item_id: z.number(),
|
||||
}),
|
||||
relics: z.array(
|
||||
z.object({
|
||||
level: z.number(),
|
||||
relic_id: z.number(),
|
||||
relic_set_id: z.number(),
|
||||
}),
|
||||
),
|
||||
});
|
||||
15
src/zod/characterBasic.zod.ts
Normal file
15
src/zod/characterBasic.zod.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const characterBasicRawSchema = z.object({
|
||||
release: z.number(),
|
||||
icon: z.string(),
|
||||
rank: z.string(),
|
||||
baseType: z.string(),
|
||||
damageType: z.string(),
|
||||
en: z.string(),
|
||||
desc: z.string(),
|
||||
kr: z.string(),
|
||||
cn: z.string(),
|
||||
jp: z.string(),
|
||||
});
|
||||
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),
|
||||
});
|
||||
28
src/zod/config_maze.zod.ts
Normal file
28
src/zod/config_maze.zod.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const aSConfigMazeSchema = z.object({
|
||||
buff_1: z.array(z.number()),
|
||||
buff_2: z.array(z.number()),
|
||||
maze_buff: z.number(),
|
||||
});
|
||||
|
||||
export const pFConfigMazeSchema = z.object({
|
||||
buff: z.array(z.number()),
|
||||
maze_buff: z.number(),
|
||||
});
|
||||
|
||||
export const mOCConfigMazeSchema = z.object({
|
||||
maze_buff: z.number(),
|
||||
});
|
||||
|
||||
export const avatarConfigMazeSchema = z.object({
|
||||
maze_buff: z.array(z.number()),
|
||||
});
|
||||
|
||||
export const configMazeSchema = z.object({
|
||||
Avatar: z.record(avatarConfigMazeSchema),
|
||||
MOC: z.record(mOCConfigMazeSchema),
|
||||
AS: z.record(aSConfigMazeSchema),
|
||||
PF: z.record(pFConfigMazeSchema),
|
||||
});
|
||||
100
src/zod/enka.zod.ts
Normal file
100
src/zod/enka.zod.ts
Normal file
@@ -0,0 +1,100 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
const privacySettingInfoSchema = z.object({
|
||||
displayCollection: z.boolean(),
|
||||
displayRecord: z.boolean(),
|
||||
displayRecordTeam: z.boolean(),
|
||||
displayOnlineStatus: z.boolean(),
|
||||
displayDiary: z.boolean(),
|
||||
});
|
||||
|
||||
const challengeInfoSchema = z.object({});
|
||||
|
||||
const recordInfoSchema = z.object({
|
||||
achievementCount: z.number(),
|
||||
bookCount: z.number(),
|
||||
avatarCount: z.number(),
|
||||
equipmentCount: z.number(),
|
||||
musicCount: z.number(),
|
||||
relicCount: z.number(),
|
||||
challengeInfo: challengeInfoSchema,
|
||||
maxRogueChallengeScore: z.number(),
|
||||
});
|
||||
|
||||
const subAffixSchema = z.object({
|
||||
affixId: z.number(),
|
||||
cnt: z.number(),
|
||||
step: z.number().optional(),
|
||||
});
|
||||
|
||||
const flatPropSchema = z.object({
|
||||
type: z.string(),
|
||||
value: z.number(),
|
||||
});
|
||||
|
||||
const relicFlatSchema = z.object({
|
||||
props: z.array(flatPropSchema),
|
||||
setName: z.string(),
|
||||
setID: z.number(),
|
||||
});
|
||||
|
||||
const relicSchema = z.object({
|
||||
mainAffixId: z.number(),
|
||||
subAffixList: z.array(subAffixSchema),
|
||||
tid: z.number(),
|
||||
type: z.number(),
|
||||
level: z.number(),
|
||||
_flat: relicFlatSchema,
|
||||
});
|
||||
|
||||
const skillTreeSchema = z.object({
|
||||
pointId: z.number(),
|
||||
level: z.number(),
|
||||
});
|
||||
|
||||
const equipmentFlatSchema = z.object({
|
||||
props: z.array(flatPropSchema),
|
||||
name: z.string(),
|
||||
});
|
||||
|
||||
const equipmentSchema = z.object({
|
||||
rank: z.number(),
|
||||
tid: z.number(),
|
||||
promotion: z.number(),
|
||||
level: z.number(),
|
||||
_flat: equipmentFlatSchema,
|
||||
});
|
||||
|
||||
export const avatarEnkaDetailSchema = z.object({
|
||||
relicList: z.array(relicSchema),
|
||||
level: z.number(),
|
||||
promotion: z.number(),
|
||||
rank: z.number().optional(),
|
||||
skillTreeList: z.array(skillTreeSchema),
|
||||
equipment: equipmentSchema,
|
||||
avatarId: z.number(),
|
||||
_assist: z.boolean().optional(),
|
||||
});
|
||||
|
||||
const detailInfoSchema = z.object({
|
||||
worldLevel: z.number(),
|
||||
privacySettingInfo: privacySettingInfoSchema,
|
||||
headIcon: z.number(),
|
||||
signature: z.string(),
|
||||
avatarDetailList: z.array(avatarEnkaDetailSchema),
|
||||
platform: z.string(),
|
||||
recordInfo: recordInfoSchema,
|
||||
uid: z.number(),
|
||||
level: z.number(),
|
||||
nickname: z.string(),
|
||||
isDisplayAvatar: z.boolean(),
|
||||
friendCount: z.number(),
|
||||
personalCardId: z.number(),
|
||||
});
|
||||
|
||||
export const enkaResponseSchema = z.object({
|
||||
detailInfo: detailInfoSchema,
|
||||
ttl: z.number(),
|
||||
uid: z.string(),
|
||||
});
|
||||
22
src/zod/filter.zod.ts
Normal file
22
src/zod/filter.zod.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const filterAvatarTypeSchema = z.object({
|
||||
name: z.string(),
|
||||
path: z.array(z.string()),
|
||||
element: z.array(z.string()),
|
||||
rarity: z.string(),
|
||||
locale: z.string(),
|
||||
});
|
||||
|
||||
export const filterLightconeTypeSchema = z.object({
|
||||
path: z.array(z.string()),
|
||||
rarity: z.array(z.string()),
|
||||
locale: z.string(),
|
||||
name: z.string(),
|
||||
});
|
||||
|
||||
export const filterRelicTypeSchema = z.object({
|
||||
locale: z.string(),
|
||||
name: z.string(),
|
||||
});
|
||||
13
src/zod/index.ts
Normal file
13
src/zod/index.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export * from "./affix.zod";
|
||||
export * from "./card.zod";
|
||||
export * from "./characterBasic.zod";
|
||||
export * from "./characterDetail.zod";
|
||||
export * from "./config_maze.zod";
|
||||
export * from "./enka.zod";
|
||||
export * from "./filter.zod";
|
||||
export * from "./lightconeBasic.zod";
|
||||
export * from "./lightconeDetail.zod";
|
||||
export * from "./mics.zod";
|
||||
export * from "./relicBasic.zod";
|
||||
export * from "./relicDetail.zod";
|
||||
export * from "./srtools.zod";
|
||||
12
src/zod/lightconeBasic.zod.ts
Normal file
12
src/zod/lightconeBasic.zod.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const lightConeBasicRawSchema = z.object({
|
||||
rank: z.string(),
|
||||
baseType: z.string(),
|
||||
en: z.string(),
|
||||
desc: z.string(),
|
||||
kr: z.string(),
|
||||
cn: z.string(),
|
||||
jp: z.string(),
|
||||
});
|
||||
43
src/zod/lightconeDetail.zod.ts
Normal file
43
src/zod/lightconeDetail.zod.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
// 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),
|
||||
});
|
||||
82
src/zod/mics.zod.ts
Normal file
82
src/zod/mics.zod.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const avatarDataStoreSchema = z.object({
|
||||
rank: z.number(),
|
||||
skills: z.record(z.number()),
|
||||
});
|
||||
|
||||
export const lightconeStoreSchema = z.object({
|
||||
level: z.number(),
|
||||
item_id: z.number(),
|
||||
rank: z.number(),
|
||||
promotion: z.number(),
|
||||
});
|
||||
|
||||
export const subAffixStoreSchema = z.object({
|
||||
sub_affix_id: z.number(),
|
||||
count: z.number(),
|
||||
step: z.number(),
|
||||
});
|
||||
|
||||
export const relicStoreSchema = z.object({
|
||||
level: z.number(),
|
||||
relic_id: z.number(),
|
||||
relic_set_id: z.number(),
|
||||
main_affix_id: z.number(),
|
||||
sub_affixes: z.array(subAffixStoreSchema),
|
||||
});
|
||||
|
||||
export const avatarProfileStoreSchema = z.object({
|
||||
profile_name: z.string(),
|
||||
lightcone: lightconeStoreSchema.nullable(),
|
||||
relics: z.record(relicStoreSchema),
|
||||
});
|
||||
|
||||
export const avatarStoreSchema = z.object({
|
||||
owner_uid: z.number(),
|
||||
avatar_id: z.number(),
|
||||
data: avatarDataStoreSchema,
|
||||
level: z.number(),
|
||||
promotion: z.number(),
|
||||
techniques: z.array(z.number()),
|
||||
sp_value: z.number(),
|
||||
sp_max: z.number(),
|
||||
can_change_sp: z.boolean(),
|
||||
enhanced: z.string(),
|
||||
profileSelect: z.number(),
|
||||
profileList: z.array(avatarProfileStoreSchema),
|
||||
});
|
||||
|
||||
export const monsterStoreSchema = z.object({
|
||||
monster_id: z.number(),
|
||||
level: z.number(),
|
||||
amount: z.number(),
|
||||
});
|
||||
|
||||
export const dynamicKeyStoreSchema = z.object({
|
||||
key: z.string(),
|
||||
value: z.number(),
|
||||
});
|
||||
|
||||
export const battleBuffStoreSchema = z.object({
|
||||
level: z.number(),
|
||||
id: z.number(),
|
||||
dynamic_key: dynamicKeyStoreSchema.optional(),
|
||||
});
|
||||
|
||||
export const battleConfigStoreSchema = z.object({
|
||||
battle_type: z.string(),
|
||||
blessings: z.array(battleBuffStoreSchema),
|
||||
custom_stats: z.array(subAffixStoreSchema),
|
||||
cycle_count: z.number(),
|
||||
stage_id: z.number(),
|
||||
path_resonance_id: z.number(),
|
||||
monsters: z.array(z.array(monsterStoreSchema)),
|
||||
});
|
||||
|
||||
|
||||
export const micsSchema = z.object({
|
||||
avatars: z.record(z.string(), avatarStoreSchema),
|
||||
battle_config: battleConfigStoreSchema,
|
||||
})
|
||||
10
src/zod/relicBasic.zod.ts
Normal file
10
src/zod/relicBasic.zod.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const relicBasicRawEffectSchema = z.object({
|
||||
en: z.string(),
|
||||
ParamList: z.array(z.number()),
|
||||
kr: z.string(),
|
||||
cn: z.string(),
|
||||
jp: z.string(),
|
||||
});
|
||||
20
src/zod/relicDetail.zod.ts
Normal file
20
src/zod/relicDetail.zod.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
// Generated by ts-to-zod
|
||||
import { z } from "zod";
|
||||
|
||||
export const partDataSchema = z.object({
|
||||
Name: z.string(),
|
||||
Desc: z.string(),
|
||||
Story: z.string(),
|
||||
});
|
||||
|
||||
export const requireBonusSchema = z.object({
|
||||
Desc: z.string(),
|
||||
ParamList: z.array(z.number()),
|
||||
});
|
||||
|
||||
export const relicDetailSchema = z.object({
|
||||
Name: z.string(),
|
||||
Icon: z.string(),
|
||||
Parts: z.record(partDataSchema),
|
||||
RequireNum: z.record(requireBonusSchema),
|
||||
});
|
||||
82
src/zod/srtools.zod.ts
Normal file
82
src/zod/srtools.zod.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
// 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(),
|
||||
});
|
||||
Reference in New Issue
Block a user