Skip to content

Commit

Permalink
fixup! hepteractCrafts optional properties
Browse files Browse the repository at this point in the history
  • Loading branch information
KhafraDev committed Jun 24, 2024
1 parent 8eaff97 commit e4c4a64
Show file tree
Hide file tree
Showing 12 changed files with 31 additions and 19 deletions.
1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (1) c10 completed.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (10) Omega completed.txt

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (2) c11 completed.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (3)c14 completed.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (4) w5x10 completed.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (5) Alpha completed.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (6) p2x1 completed.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (7) p3x1 completed.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (8) Beta completed.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Sample_Saves/Synergism2.5 - (9) 1e15 c15 expo.txt

Large diffs are not rendered by default.

39 changes: 20 additions & 19 deletions src/saves/PlayerSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,17 +57,18 @@ const toggleSchema = z.record(z.string(), z.boolean()).transform((record) => {
const decimalStringSchema = z.string().regex(/^|-?\d+(\.\d{1,2})?$/)
const integerStringSchema = z.string().regex(/^\d+$/)

const hepteractCraftSchema = z.object({
AUTO: z.boolean(),
BAL: z.number(),
BASE_CAP: z.number(),
CAP: z.number(),
DISCOUNT: z.number(),
HEPTERACT_CONVERSION: z.number(),
HTML_STRING: z.string(),
OTHER_CONVERSIONS: z.record(z.string(), z.number()),
UNLOCKED: z.boolean()
})
const hepteractCraftSchema = (k: keyof Player['hepteractCrafts']) =>
z.object({
AUTO: z.boolean().default(() => blankSave.hepteractCrafts[k].AUTO),
BAL: z.number().default(() => blankSave.hepteractCrafts[k].BAL),
BASE_CAP: z.number(),
CAP: z.number().default(() => blankSave.hepteractCrafts[k].CAP),
DISCOUNT: z.number().default(() => blankSave.hepteractCrafts[k].DISCOUNT),
HEPTERACT_CONVERSION: z.number(),
HTML_STRING: z.string().default(() => blankSave.hepteractCrafts[k].HTML_STRING),
OTHER_CONVERSIONS: z.record(z.string(), z.number()),
UNLOCKED: z.boolean().default(() => blankSave.hepteractCrafts[k].UNLOCKED)
})

export const playerSchema = z.object({
firstPlayed: z.string().datetime().optional().default(() => new Date().toISOString()),
Expand Down Expand Up @@ -467,14 +468,14 @@ export const playerSchema = z.object({
platonicBlessings: z.record(z.string(), z.number()).default(() => ({ ...blankSave.platonicBlessings })),

hepteractCrafts: z.object({
chronos: hepteractCraftSchema,
hyperrealism: hepteractCraftSchema,
quark: hepteractCraftSchema,
challenge: hepteractCraftSchema,
abyss: hepteractCraftSchema,
accelerator: hepteractCraftSchema,
acceleratorBoost: hepteractCraftSchema,
multiplier: hepteractCraftSchema
chronos: hepteractCraftSchema('chronos'),
hyperrealism: hepteractCraftSchema('hyperrealism'),
quark: hepteractCraftSchema('quark'),
challenge: hepteractCraftSchema('challenge'),
abyss: hepteractCraftSchema('abyss'),
accelerator: hepteractCraftSchema('accelerator'),
acceleratorBoost: hepteractCraftSchema('acceleratorBoost'),
multiplier: hepteractCraftSchema('multiplier')
}).transform((crafts) => {
return Object.fromEntries(
Object.entries(blankSave.hepteractCrafts).map(([key, value]) => {
Expand Down

0 comments on commit e4c4a64

Please sign in to comment.