zenno: account for ism data with no start stats
This commit is contained in:
+63
-1
@@ -135,10 +135,72 @@ const SingleModeChara = z.strictObject({
|
||||
skill_upgrade_info_array: z.array(SkillUpgrade),
|
||||
});
|
||||
|
||||
const ZeroedSingleModeChara = z.strictObject({
|
||||
single_mode_chara_id: z.literal(0),
|
||||
card_id: z.int32(),
|
||||
chara_grade: z.literal(0),
|
||||
speed: z.literal(0),
|
||||
stamina: z.literal(0),
|
||||
power: z.literal(0),
|
||||
wiz: z.literal(0),
|
||||
guts: z.literal(0),
|
||||
vital: z.literal(0),
|
||||
max_speed: z.literal(0),
|
||||
max_stamina: z.literal(0),
|
||||
max_power: z.literal(0),
|
||||
max_wiz: z.literal(0),
|
||||
max_guts: z.literal(0),
|
||||
default_max_speed: z.literal(0),
|
||||
default_max_stamina: z.literal(0),
|
||||
default_max_power: z.literal(0),
|
||||
default_max_wiz: z.literal(0),
|
||||
default_max_guts: z.literal(0),
|
||||
max_vital: z.literal(0),
|
||||
motivation: z.literal(0),
|
||||
fans: z.literal(0),
|
||||
rarity: z.int32(),
|
||||
race_program_id: z.literal(0),
|
||||
reserve_race_program_id: z.literal(0),
|
||||
race_running_style: z.literal(0),
|
||||
is_short_race: z.literal(0),
|
||||
talent_level: z.int32(),
|
||||
skill_array: z.array(z.never()),
|
||||
disable_skill_id_array: z.array(z.never()),
|
||||
skill_tips_array: z.array(z.never()),
|
||||
support_card_array: z.array(z.never()),
|
||||
succession_trained_chara_id_1: z.int32(),
|
||||
succession_trained_chara_id_2: z.int32(),
|
||||
proper_distance_short: z.literal(0),
|
||||
proper_distance_mile: z.literal(0),
|
||||
proper_distance_middle: z.literal(0),
|
||||
proper_distance_long: z.literal(0),
|
||||
proper_running_style_nige: z.literal(0),
|
||||
proper_running_style_senko: z.literal(0),
|
||||
proper_running_style_sashi: z.literal(0),
|
||||
proper_running_style_oikomi: z.literal(0),
|
||||
proper_ground_turf: z.literal(0),
|
||||
proper_ground_dirt: z.literal(0),
|
||||
turn: z.literal(0),
|
||||
skill_point: z.literal(0),
|
||||
short_cut_state: z.literal(0),
|
||||
state: z.literal(0),
|
||||
playing_state: z.literal(0),
|
||||
scenario_id: z.int32(),
|
||||
route_id: z.literal(0),
|
||||
start_time: z.literal(''),
|
||||
evaluation_info_array: z.array(z.never()),
|
||||
training_level_info_array: z.array(z.never()),
|
||||
nickname_id_array: z.array(z.never()),
|
||||
chara_effect_id_array: z.array(z.never()),
|
||||
route_race_id_array: z.array(z.never()),
|
||||
guest_outing_info_array: z.array(z.never()),
|
||||
skill_upgrade_info_array: z.array(z.never()),
|
||||
});
|
||||
|
||||
export type SingleModeChara = z.infer<typeof SingleModeChara>;
|
||||
|
||||
const ProgressInfo = z.strictObject({
|
||||
chara_info: z.optional(SingleModeChara),
|
||||
chara_info: z.optional(SingleModeChara.or(ZeroedSingleModeChara)),
|
||||
start_time: z.string(),
|
||||
end_time: z.string(),
|
||||
dress_id: z.int32(),
|
||||
|
||||
Reference in New Issue
Block a user