hella-types 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/dist/index.d.ts +38144 -14187
  2. package/dist/index.js +360 -360
  3. package/package.json +1 -1
  4. package/src/index.ts +409 -416
package/src/index.ts CHANGED
@@ -1,20 +1,25 @@
1
1
  import * as z from 'zod';
2
2
 
3
+ const BlackboardZod = z.strictObject({
4
+ key: z.string(),
5
+ value: z.number().nullable(),
6
+ valueStr: z.string().nullable().optional(),
7
+ });
3
8
  const DefinedStringZod = z.strictObject({
4
9
  m_defined: z.boolean(),
5
- m_value: z.union([z.string(), z.null()]),
10
+ m_value: z.string().nullable(),
6
11
  });
7
12
  const DefinedStringArrayZod = z.strictObject({
8
13
  m_defined: z.boolean(),
9
- m_value: z.union([z.array(z.string()), z.null()]),
14
+ m_value: z.array(z.string()).nullable(),
10
15
  });
11
16
  const DefinedNumberZod = z.strictObject({
12
17
  m_defined: z.boolean(),
13
- m_value: z.union([z.number(), z.null()]),
18
+ m_value: z.number().nullable(),
14
19
  });
15
20
  const DefinedBooleanZod = z.strictObject({
16
21
  m_defined: z.boolean(),
17
- m_value: z.boolean(),
22
+ m_value: z.boolean().nullable(),
18
23
  });
19
24
 
20
25
  const AttributesKeyFrameZod = z.strictObject({
@@ -44,11 +49,6 @@ const AttributesKeyFrameZod = z.strictObject({
44
49
  levitateImmune: z.boolean(),
45
50
  }),
46
51
  });
47
- const BlackboardZod = z.strictObject({
48
- key: z.string(),
49
- value: z.union([z.number(), z.null()]),
50
- valueStr: z.union([z.string(), z.null(), z.undefined()]),
51
- });
52
52
  const EnemyAttributesZod = z.strictObject({
53
53
  maxHp: DefinedNumberZod,
54
54
  atk: DefinedNumberZod,
@@ -65,14 +65,14 @@ const EnemyAttributesZod = z.strictObject({
65
65
  maxDeployCount: DefinedNumberZod,
66
66
  massLevel: DefinedNumberZod,
67
67
  baseForceLevel: DefinedNumberZod,
68
- tauntLevel: z.union([DefinedNumberZod, z.undefined()]), // legacy
69
- epDamageResistance: z.union([DefinedNumberZod, z.undefined()]), // legacy
70
- epResistance: z.union([DefinedNumberZod, z.undefined()]), // ~
68
+ tauntLevel: DefinedNumberZod.optional(),
69
+ epDamageResistance: DefinedNumberZod.optional(),
70
+ epResistance: DefinedNumberZod.optional(),
71
71
  stunImmune: DefinedBooleanZod,
72
72
  silenceImmune: DefinedBooleanZod,
73
- sleepImmune: z.union([DefinedBooleanZod, z.undefined()]),
74
- frozenImmune: z.union([DefinedBooleanZod, z.undefined()]), // legacy
75
- levitateImmune: z.union([DefinedBooleanZod, z.undefined()]), // legacy
73
+ sleepImmune: DefinedBooleanZod.optional(),
74
+ frozenImmune: DefinedBooleanZod.optional(),
75
+ levitateImmune: DefinedBooleanZod.optional(),
76
76
  });
77
77
  const EnemySkillsZod = z.strictObject({
78
78
  prefabKey: z.string(),
@@ -80,7 +80,7 @@ const EnemySkillsZod = z.strictObject({
80
80
  cooldown: z.number(),
81
81
  initCooldown: z.number(),
82
82
  spCost: z.number(),
83
- blackboard: z.union([z.array(BlackboardZod), z.null()]),
83
+ blackboard: z.array(BlackboardZod).nullable(),
84
84
  });
85
85
  const EnemySpDataZod = z.strictObject({
86
86
  spType: z.string(),
@@ -93,18 +93,18 @@ const EnemyDataZod = z.strictObject({
93
93
  description: DefinedStringZod,
94
94
  prefabKey: DefinedStringZod,
95
95
  attributes: EnemyAttributesZod,
96
- applyWay: z.union([DefinedStringZod, z.undefined()]), // legacy
97
- motion: z.union([DefinedStringZod, z.undefined()]), // legacy
98
- enemyTags: z.union([DefinedStringArrayZod, z.undefined()]), // legacy
96
+ applyWay: DefinedStringZod.optional(),
97
+ motion: DefinedStringZod.optional(),
98
+ enemyTags: DefinedStringArrayZod.optional(),
99
99
  lifePointReduce: DefinedNumberZod,
100
- levelType: z.union([DefinedStringZod, DefinedNumberZod, z.undefined()]), // legacy
100
+ levelType: z.union([DefinedStringZod, DefinedNumberZod]).optional(),
101
101
  rangeRadius: DefinedNumberZod,
102
- numOfExtraDrops: z.union([DefinedNumberZod, z.undefined()]), // legacy
103
- viewRadius: z.union([DefinedNumberZod, z.undefined()]), // legacy
104
- notCountInTotal: z.union([DefinedBooleanZod, z.undefined()]), // legacy
105
- talentBlackboard: z.union([z.array(BlackboardZod), z.null()]),
106
- skills: z.union([z.array(EnemySkillsZod), z.null()]),
107
- spData: z.union([EnemySpDataZod, z.null()]),
102
+ numOfExtraDrops: DefinedNumberZod.optional(),
103
+ viewRadius: DefinedNumberZod.optional(),
104
+ notCountInTotal: DefinedBooleanZod.optional(),
105
+ talentBlackboard: z.array(BlackboardZod).nullable(),
106
+ skills: z.array(EnemySkillsZod).nullable(),
107
+ spData: EnemySpDataZod.nullable(),
108
108
  });
109
109
  const LevelUpCostZod = z.strictObject({
110
110
  id: z.string(),
@@ -174,44 +174,43 @@ const OperatorUnlockCondZod = z.strictObject({
174
174
  const LevelUpCostCondZod = z.strictObject({
175
175
  unlockCond: OperatorUnlockCondZod,
176
176
  lvlUpTime: z.number(),
177
- levelUpCost: z.union([z.array(LevelUpCostZod), z.null()]),
177
+ levelUpCost: z.array(LevelUpCostZod).nullable(),
178
178
  });
179
- const StageDefinesZod = z.strictObject({
180
- characterInsts: z.array(z.any()),
181
- tokenInsts: z.array(
179
+ const StageCardZod = z.strictObject({
180
+ initialCnt: z.number().optional(),
181
+ hidden: z.boolean(),
182
+ alias: z.string().nullable(),
183
+ uniEquipIds: z.array(
182
184
  z.strictObject({
183
- position: z.strictObject({
184
- row: z.number(),
185
- col: z.number(),
186
- }),
187
- direction: z.union([z.string(), z.number()]), // legacy
188
- hidden: z.boolean(),
189
- alias: z.union([z.string(), z.null()]),
190
- uniEquipIds: z.union([
191
- z.array(
192
- z.strictObject({
193
- key: z.string(),
194
- level: z.number(),
195
- })
196
- ),
197
- z.null(), z.undefined()] // legacy
198
- ),
199
- inst: z.strictObject({
200
- characterKey: z.string(),
201
- level: z.number(),
202
- phase: z.union([z.string(), z.number()]), // legacy
203
- favorPoint: z.number(),
204
- potentialRank: z.number(),
205
- }),
206
- skillIndex: z.number(),
207
- mainSkillLvl: z.number(),
208
- skinId: z.union([z.string(), z.null()]),
209
- tmplId: z.union([z.string(), z.null(), z.undefined()]),
210
- overrideSkillBlackboard: z.union([z.array(BlackboardZod), z.null(), z.undefined()]),
185
+ key: z.string(),
186
+ level: z.number(),
211
187
  })
212
- ),
213
- characterCards: z.array(z.any()),
214
- tokenCards: z.array(z.any()),
188
+ ).nullable().optional(),
189
+ inst: z.strictObject({
190
+ characterKey: z.string(),
191
+ level: z.number(),
192
+ phase: z.union([z.string(), z.number()]).optional(),
193
+ favorPoint: z.number(),
194
+ potentialRank: z.number(),
195
+ }),
196
+ skillIndex: z.number(),
197
+ mainSkillLvl: z.number(),
198
+ skinId: z.string().nullable(),
199
+ tmplId: z.string().nullable().optional(),
200
+ overrideSkillBlackboard: z.array(BlackboardZod).nullable().optional(),
201
+ });
202
+ const StageInstZod = StageCardZod.extend({
203
+ position: z.strictObject({
204
+ row: z.number(),
205
+ col: z.number(),
206
+ }),
207
+ direction: z.union([z.string(), z.number()]).optional(),
208
+ });
209
+ const StageDefinesZod = z.strictObject({
210
+ characterInsts: z.array(StageInstZod),
211
+ tokenInsts: z.array(StageInstZod),
212
+ characterCards: z.array(StageCardZod),
213
+ tokenCards: z.array(StageCardZod),
215
214
  });
216
215
  const StageEffectZod = z.strictObject({
217
216
  key: z.string(),
@@ -220,10 +219,10 @@ const StageEffectZod = z.strictObject({
220
219
  y: z.number(),
221
220
  z: z.number(),
222
221
  }),
223
- direction: z.union([z.string(), z.number()]), // legacy
222
+ direction: z.union([z.string(), z.number()]),
224
223
  });
225
224
  const StageActionZod = z.strictObject({
226
- actionType: z.union([z.string(), z.number()]), // legacy
225
+ actionType: z.union([z.string(), z.number()]),
227
226
  managedByScheduler: z.boolean(),
228
227
  key: z.string(),
229
228
  count: z.number(),
@@ -232,16 +231,55 @@ const StageActionZod = z.strictObject({
232
231
  routeIndex: z.number(),
233
232
  blockFragment: z.boolean(),
234
233
  autoPreviewRoute: z.boolean(),
235
- autoDisplayEnemyInfo: z.union([z.boolean(), z.undefined()]), // legacy
234
+ autoDisplayEnemyInfo: z.boolean().optional(),
236
235
  isUnharmfulAndAlwaysCountAsKilled: z.boolean(),
237
- hiddenGroup: z.union([z.string(), z.null()]),
238
- randomSpawnGroupKey: z.union([z.string(), z.null(), z.undefined()]), // legacy
239
- randomSpawnGroupPackKey: z.union([z.string(), z.null(), z.undefined()]), // ~
240
- randomType: z.union([z.string(), z.number(), z.undefined()]), // ~
241
- weight: z.union([z.number(), z.undefined()]), // ~
242
- dontBlockWave: z.union([z.boolean(), z.undefined()]), // ~
243
- isValid: z.union([z.boolean(), z.undefined()]), // ~
244
- extraMeta: z.union([z.null(), z.undefined()]), // ~
236
+ hiddenGroup: z.string().nullable(),
237
+ randomSpawnGroupKey: z.string().nullable().optional(),
238
+ randomSpawnGroupPackKey: z.string().nullable().optional(),
239
+ randomType: z.union([z.string(), z.number()]).optional(),
240
+ weight: z.number().optional(),
241
+ dontBlockWave: z.boolean().optional(),
242
+ isValid: z.boolean().optional(),
243
+ extraMeta: z.null().optional(),
244
+ });
245
+ const StageRouteZod = z.strictObject({
246
+ motionMode: z.union([z.string(), z.number()]),
247
+ startPosition: z.strictObject({
248
+ row: z.number(),
249
+ col: z.number(),
250
+ }),
251
+ endPosition: z.strictObject({
252
+ row: z.number(),
253
+ col: z.number(),
254
+ }),
255
+ spawnRandomRange: z.strictObject({
256
+ x: z.number(),
257
+ y: z.number(),
258
+ }),
259
+ spawnOffset: z.strictObject({
260
+ x: z.number(),
261
+ y: z.number(),
262
+ }),
263
+ checkpoints: z.array(
264
+ z.strictObject({
265
+ type: z.union([z.string(), z.number()]),
266
+ time: z.number(),
267
+ position: z.strictObject({
268
+ row: z.number(),
269
+ col: z.number(),
270
+ }),
271
+ reachOffset: z.strictObject({
272
+ x: z.number(),
273
+ y: z.number(),
274
+ }),
275
+ randomizeReachOffset: z.boolean(),
276
+ reachDistance: z.number(),
277
+ }),
278
+ ).nullable(),
279
+ allowDiagonalMove: z.boolean(),
280
+ visitEveryTileCenter: z.boolean(),
281
+ visitEveryNodeCenter: z.boolean(),
282
+ visitEveryCheckPoint: z.boolean().optional(),
245
283
  });
246
284
  const StageDataZod = z.strictObject({
247
285
  options: z.strictObject({
@@ -253,117 +291,111 @@ const StageDataZod = z.strictObject({
253
291
  moveMultiplier: z.number(),
254
292
  steeringEnabled: z.boolean(),
255
293
  isTrainingLevel: z.boolean(),
256
- isHardTrainingLevel: z.union([z.boolean(), z.undefined()]), // legacy
257
- isPredefinedCardsSelectable: z.union([z.boolean(), z.undefined()]), // legacy
258
- maxPlayTime: z.union([z.number(), z.undefined()]), // legacy
294
+ isHardTrainingLevel: z.boolean().optional(),
295
+ isPredefinedCardsSelectable: z.boolean().optional(),
296
+ maxPlayTime: z.number().optional(),
259
297
  functionDisableMask: z.union([z.string(), z.number()]),
260
- configBlackBoard: z.union([z.array(BlackboardZod), z.null(), z.undefined()]), // legacy
298
+ configBlackBoard: z.array(BlackboardZod).nullable().optional(),
261
299
  }),
262
- levelId: z.union([z.string(), z.null()]),
263
- mapId: z.union([z.string(), z.null()]),
264
- bgmEvent: z.union([z.string(), z.null()]),
265
- environmentSe: z.union([z.string(), z.null()]),
300
+ levelId: z.string().nullable(),
301
+ mapId: z.string().nullable(),
302
+ bgmEvent: z.string().nullable(),
303
+ environmentSe: z.string().nullable(),
266
304
  mapData: z.strictObject({
267
305
  map: z.array(z.array(z.number())),
268
306
  tiles: z.array(
269
307
  z.strictObject({
270
308
  tileKey: z.string(),
271
- heightType: z.union([z.string(), z.number()]), // keep number for legacy stages (monster hunter, vignettes, etc.)
272
- buildableType: z.union([z.string(), z.number()]), // ~
273
- passableMask: z.union([z.string(), z.number()]), // ~
274
- playerSideMask: z.union([z.string(), z.number(), z.undefined()]), // ~
275
- blackboard: z.union([z.array(BlackboardZod), z.null()]),
276
- effects: z.union([z.array(StageEffectZod), z.null()]),
309
+ heightType: z.union([z.string(), z.number()]),
310
+ buildableType: z.union([z.string(), z.number()]),
311
+ passableMask: z.union([z.string(), z.number()]),
312
+ playerSideMask: z.union([z.string(), z.number()]).optional(),
313
+ blackboard: z.array(BlackboardZod).nullable(),
314
+ effects: z.array(StageEffectZod).nullable(),
277
315
  })
278
316
  ),
279
- blockEdges: z.union([z.array(z.any()), z.null()]),
280
- tags: z.union([z.array(z.string()), z.null()]),
281
- effects: z.union([z.array(StageEffectZod), z.null()]),
282
- layerRects: z.union([z.null(), z.undefined()]),
317
+ blockEdges: z.array(z.strictObject({
318
+ pos: z.strictObject({
319
+ row: z.number(),
320
+ col: z.number(),
321
+ }),
322
+ direction: z.union([z.string(), z.number()]),
323
+ blockMask: z.union([z.string(), z.number()]),
324
+ })).nullable(),
325
+ tags: z.array(z.string()).nullable(),
326
+ effects: z.array(StageEffectZod).nullable(),
327
+ layerRects: z.null().optional(),
283
328
  width: z.number().optional(),
284
329
  height: z.number().optional(),
285
330
  }),
286
- tilesDisallowToLocate: z.array(z.any()),
287
- runes: z.union([
288
- z.array(
289
- z.strictObject({
290
- difficultyMask: z.union([z.string(), z.number()]), // legacy
291
- key: z.string(),
292
- professionMask: z.union([z.string(), z.number(), z.undefined()]), // legacy
293
- buildableMask: z.union([z.string(), z.number()]), // legacy
294
- blackboard: z.array(BlackboardZod),
295
- })
296
- ),
297
- z.null()
298
- ]),
299
- globalBuffs: z.union([
300
- z.array(
301
- z.strictObject({
302
- prefabKey: z.string(),
303
- blackboard: z.union([z.array(BlackboardZod), z.null()]),
304
- overrideCameraEffect: z.null(),
305
- passProfessionMaskFlag: z.union([z.boolean(), z.undefined()]),
306
- professionMask: z.union([z.string(), z.number(), z.undefined()]),
307
- useExtraData: z.boolean().optional(),
308
- })
309
- ),
310
- z.null()
311
- ]),
312
- routes: z.array(
313
- z.union([
314
- z.strictObject({
315
- motionMode: z.union([z.string(), z.number()]), // keep number for legacy
316
- startPosition: z.strictObject({
317
- row: z.number(),
318
- col: z.number(),
319
- }),
320
- endPosition: z.strictObject({
321
- row: z.number(),
322
- col: z.number(),
323
- }),
324
- spawnRandomRange: z.strictObject({
325
- x: z.number(),
326
- y: z.number(),
327
- }),
328
- spawnOffset: z.strictObject({
329
- x: z.number(),
330
- y: z.number(),
331
- }),
332
- checkpoints: z.union([
333
- z.array(
334
- z.strictObject({
335
- type: z.union([z.string(), z.number()]), // keep number for legacy
336
- time: z.number(),
337
- position: z.strictObject({
338
- row: z.number(),
339
- col: z.number(),
340
- }),
341
- reachOffset: z.strictObject({
342
- x: z.number(),
343
- y: z.number(),
344
- }),
345
- randomizeReachOffset: z.boolean(),
346
- reachDistance: z.number(),
347
- })
348
- ),
349
- z.null()
350
- ]),
351
- allowDiagonalMove: z.boolean(),
352
- visitEveryTileCenter: z.boolean(),
353
- visitEveryNodeCenter: z.boolean(),
354
- visitEveryCheckPoint: z.union([z.boolean(), z.undefined()]), // legacy
331
+ tilesDisallowToLocate: z.tuple([]),
332
+ runes: z.array(
333
+ z.strictObject({
334
+ difficultyMask: z.union([z.string(), z.number()]),
335
+ key: z.string(),
336
+ professionMask: z.union([z.string(), z.number()]).optional(),
337
+ buildableMask: z.union([z.string(), z.number()]),
338
+ blackboard: z.array(BlackboardZod),
339
+ })
340
+ ).nullable(),
341
+ globalBuffs: z.array(
342
+ z.strictObject({
343
+ prefabKey: z.string(),
344
+ blackboard: z.array(BlackboardZod).nullable(),
345
+ overrideCameraEffect: z.null(),
346
+ passProfessionMaskFlag: z.boolean().optional(),
347
+ professionMask: z.union([z.string(), z.number()]).optional(),
348
+ useExtraData: z.boolean().optional(),
349
+ })
350
+ ).nullable(),
351
+ routes: z.array(StageRouteZod.nullable()),
352
+ extraRoutes: z.array(StageRouteZod.nullable()).optional(),
353
+ enemies: z.array(
354
+ z.strictObject({
355
+ name: z.null(),
356
+ description: z.null(),
357
+ key: z.string(),
358
+ attributes: z.strictObject({
359
+ maxHp: z.number(),
360
+ atk: z.number(),
361
+ def: z.number(),
362
+ magicResistance: z.number(),
363
+ cost: z.number(),
364
+ blockCnt: z.number(),
365
+ moveSpeed: z.number(),
366
+ attackSpeed: z.number(),
367
+ baseAttackTime: z.number(),
368
+ respawnTime: z.number(),
369
+ hpRecoveryPerSec: z.number(),
370
+ spRecoveryPerSec: z.number(),
371
+ maxDeployCount: z.number(),
372
+ maxDeckStackCnt: z.number(),
373
+ tauntLevel: z.number(),
374
+ massLevel: z.number(),
375
+ baseForceLevel: z.number(),
376
+ stunImmune: z.boolean(),
377
+ silenceImmune: z.boolean(),
378
+ sleepImmune: z.boolean(),
379
+ frozenImmune: z.boolean(),
380
+ levitateImmune: z.boolean(),
355
381
  }),
356
- z.null() // legacy
357
- ])
382
+ alias: z.null(),
383
+ lifePointReduce: z.number(),
384
+ rangeRadius: z.number(),
385
+ numOfExtraDrops: z.number(),
386
+ viewRadius: z.number(),
387
+ levelType: z.number(),
388
+ talentBlackboard: z.array(BlackboardZod).nullable(),
389
+ skills: z.array(EnemySkillsZod).nullable(),
390
+ spData: EnemySpDataZod.nullable(),
391
+ })
358
392
  ),
359
- extraRoutes: z.union([z.array(z.any()), z.undefined()]),
360
- enemies: z.array(z.any()),
361
393
  enemyDbRefs: z.array(
362
394
  z.strictObject({
363
395
  useDb: z.boolean(),
364
396
  id: z.string(),
365
397
  level: z.number(),
366
- overwrittenData: z.union([EnemyDataZod, z.null()]),
398
+ overwrittenData: EnemyDataZod.nullable(),
367
399
  })
368
400
  ),
369
401
  waves: z.array(
@@ -376,36 +408,33 @@ const StageDataZod = z.strictObject({
376
408
  actions: z.array(StageActionZod),
377
409
  name: z.string().nullable().optional(),
378
410
  })),
379
- advancedWaveTag: z.union([z.string(), z.null(), z.undefined()]), // legacy
411
+ advancedWaveTag: z.string().nullable().optional(),
380
412
  name: z.string().nullable().optional(),
381
413
  })
382
414
  ),
383
- branches: z.union([
384
- z.record(
385
- z.string(),
386
- z.strictObject({
387
- phases: z.array(z.strictObject({
388
- preDelay: z.number(),
389
- actions: z.array(StageActionZod),
390
- m_randomActionGroups: z.null().optional(),
391
- m_actionWithRandomSpawn: z.null().optional(),
392
- m_validActionPackKeys: z.null().optional(),
393
- })),
394
- }),
395
- ),
396
- z.null()
397
- ]),
398
- predefines: z.union([StageDefinesZod, z.null()]),
399
- hardPredefines: z.union([StageDefinesZod, z.null(), z.undefined()]),
415
+ branches: z.record(
416
+ z.string(),
417
+ z.strictObject({
418
+ phases: z.array(z.strictObject({
419
+ preDelay: z.number(),
420
+ actions: z.array(StageActionZod),
421
+ m_randomActionGroups: z.null().optional(),
422
+ m_actionWithRandomSpawn: z.null().optional(),
423
+ m_validActionPackKeys: z.null().optional(),
424
+ })),
425
+ }),
426
+ ).nullable(),
427
+ predefines: StageDefinesZod.nullable(),
428
+ hardPredefines: StageDefinesZod.nullable().optional(),
400
429
  excludeCharIdList: z.null(),
401
430
  randomSeed: z.number(),
402
- operaConfig: z.union([z.string(), z.null(), z.undefined()]),
403
- runtimeData: z.union([z.null(), z.undefined()]), // legacy
431
+ operaConfig: z.string().nullable().optional(),
432
+ runtimeData: z.null().optional(),
404
433
  });
405
434
  const RogueRelicZod = z.strictObject({
406
435
  id: z.string(),
407
436
  name: z.string(),
408
- description: z.union([z.string(), z.null()]),
437
+ description: z.string().nullable(),
409
438
  usage: z.string(),
410
439
  obtainApproach: z.string(),
411
440
  iconId: z.string(),
@@ -415,7 +444,7 @@ const RogueRelicZod = z.strictObject({
415
444
  value: z.number(),
416
445
  sortId: z.number(),
417
446
  canSacrifice: z.boolean(),
418
- unlockCondDesc: z.union([z.string(), z.null()]),
447
+ unlockCondDesc: z.string().nullable(),
419
448
  });
420
449
  const RogueStageZod = z.strictObject({
421
450
  excel: z.strictObject({
@@ -426,11 +455,11 @@ const RogueStageZod = z.strictObject({
426
455
  name: z.string(),
427
456
  loadingPicId: z.string(),
428
457
  description: z.string(),
429
- eliteDesc: z.union([z.string(), z.null()]),
458
+ eliteDesc: z.string().nullable(),
430
459
  isBoss: z.number(),
431
460
  isElite: z.number(),
432
461
  difficulty: z.string(),
433
- capsulePool: z.union([z.string(), z.null()]),
462
+ capsulePool: z.string().nullable(),
434
463
  capsuleProb: z.number(),
435
464
  vutresProb: z.array(z.number()),
436
465
  boxProb: z.array(z.number()),
@@ -445,8 +474,8 @@ const RogueVariationZod = z.strictObject({
445
474
  innerName: z.string(),
446
475
  functionDesc: z.string(),
447
476
  desc: z.string(),
448
- iconId: z.union([z.string(), z.null()]),
449
- sound: z.union([z.string(), z.null()]),
477
+ iconId: z.string().nullable(),
478
+ sound: z.string().nullable(),
450
479
  });
451
480
  const SandboxStageZod = z.strictObject({
452
481
  excel: z.strictObject({
@@ -492,7 +521,7 @@ export const EnemyZod = z.strictObject({
492
521
  excel: z.strictObject({
493
522
  enemyId: z.string(),
494
523
  enemyIndex: z.string(),
495
- enemyTags: z.union([z.array(z.string()), z.null()]),
524
+ enemyTags: z.array(z.string()).nullable(),
496
525
  sortId: z.number(),
497
526
  name: z.string(),
498
527
  enemyLevel: z.enum(['NORMAL', 'ELITE', 'BOSS']),
@@ -500,12 +529,15 @@ export const EnemyZod = z.strictObject({
500
529
  attackType: z.null(),
501
530
  ability: z.null(),
502
531
  isInvalidKilled: z.boolean(),
503
- overrideKillCntInfos: z.record(z.string(), z.any()),
532
+ overrideKillCntInfos: z.record(z.string(), z.number()),
504
533
  hideInHandbook: z.boolean(),
505
- abilityList: z.array(z.strictObject({
506
- text: z.string(),
507
- textFormat: z.enum(['NORMAL', 'SILENCE', 'TITLE'])
508
- })),
534
+ hideInStage: z.boolean(),
535
+ abilityList: z.array(
536
+ z.strictObject({
537
+ text: z.string(),
538
+ textFormat: z.enum(['NORMAL', 'SILENCE', 'TITLE'])
539
+ })
540
+ ),
509
541
  linkEnemies: z.array(z.string()),
510
542
  damageType: z.array(z.enum(['PHYSIC', 'MAGIC', 'NO_DAMAGE', 'HEAL'])),
511
543
  invisibleDetail: z.boolean(),
@@ -530,8 +562,8 @@ export const GameEventZod = z.strictObject({
530
562
  rewardEndTime: z.number(),
531
563
  displayOnHome: z.boolean(),
532
564
  hasStage: z.boolean(),
533
- templateShopId: z.union([z.string(), z.null()]),
534
- medalGroupId: z.union([z.string(), z.null()]),
565
+ templateShopId: z.string().nullable(),
566
+ medalGroupId: z.string().nullable(),
535
567
  ungroupedMedalIds: z.array(z.string()).nullable(),
536
568
  isReplicate: z.boolean(),
537
569
  needFixedSync: z.boolean(),
@@ -550,14 +582,14 @@ export const ItemZod = z.strictObject({
550
582
  data: z.strictObject({
551
583
  itemId: z.string(),
552
584
  name: z.string(),
553
- description: z.union([z.string(), z.null()]),
585
+ description: z.string().nullable(),
554
586
  rarity: z.string(),
555
587
  iconId: z.string(),
556
588
  overrideBkg: z.null(),
557
- stackIconId: z.union([z.string(), z.null()]),
589
+ stackIconId: z.string().nullable(),
558
590
  sortId: z.number(),
559
- usage: z.union([z.string(), z.null()]),
560
- obtainApproach: z.union([z.string(), z.null()]),
591
+ usage: z.string().nullable(),
592
+ obtainApproach: z.string().nullable(),
561
593
  hideInItemGet: z.boolean(),
562
594
  classifyType: z.string(),
563
595
  itemType: z.string(),
@@ -573,8 +605,14 @@ export const ItemZod = z.strictObject({
573
605
  formulaId: z.string(),
574
606
  })
575
607
  ),
608
+ voucherRelateList: z.array(
609
+ z.strictObject({
610
+ voucherId: z.string(),
611
+ voucherItemType: z.string(),
612
+ })
613
+ ).nullable(),
576
614
  }),
577
- formula: z.union([ManufactFormulaZod, WorkshopFormulaZod, z.null()]),
615
+ formula: z.union([ManufactFormulaZod, WorkshopFormulaZod]).nullable(),
578
616
  });
579
617
  export const ModuleZod = z.strictObject({
580
618
  info: z.strictObject({
@@ -584,76 +622,67 @@ export const ModuleZod = z.strictObject({
584
622
  uniEquipDesc: z.string(),
585
623
  typeIcon: z.string(),
586
624
  typeName1: z.string(),
587
- typeName2: z.union([z.string(), z.null()]),
625
+ typeName2: z.string().nullable(),
588
626
  equipShiningColor: z.string(),
589
627
  showEvolvePhase: z.string(),
590
628
  unlockEvolvePhase: z.string(),
591
629
  charId: z.string(),
592
- tmplId: z.union([z.string(), z.null()]),
630
+ tmplId: z.string().nullable(),
593
631
  showLevel: z.number(),
594
632
  unlockLevel: z.number(),
595
633
  unlockFavorPoint: z.number(),
596
634
  missionList: z.array(z.string()),
597
- itemCost: z.union([z.record(z.string(), z.array(LevelUpCostZod)), z.null()]),
635
+ itemCost: z.record(z.string(), z.array(LevelUpCostZod)).nullable(),
598
636
  type: z.string(),
599
637
  uniEquipGetTime: z.number(),
600
638
  charEquipOrder: z.number(),
601
639
  }),
602
- data: z.union([
603
- z.strictObject({
604
- phases: z.array(
605
- z.strictObject({
606
- equipLevel: z.number(),
607
- parts: z.array(
608
- z.strictObject({
609
- resKey: z.union([z.string(), z.null()]),
610
- target: z.string(),
611
- isToken: z.boolean(),
612
- addOrOverrideTalentDataBundle: z.strictObject({
613
- candidates: z.union([
614
- z.array(
615
- z.strictObject({
616
- displayRangeId: z.boolean(),
617
- upgradeDescription: z.string(),
618
- talentIndex: z.number(),
619
- unlockCondition: OperatorUnlockCondZod,
620
- requiredPotentialRank: z.number(),
621
- prefabKey: z.string(),
622
- name: z.union([z.string(), z.null()]),
623
- description: z.union([z.string(), z.null()]),
624
- rangeId: z.union([z.string(), z.null()]),
625
- blackboard: z.array(BlackboardZod),
626
- tokenKey: z.string().optional(),
627
- })
628
- ),
629
- z.null()
630
- ]),
631
- }),
632
- overrideTraitDataBundle: z.strictObject({
633
- candidates: z.union([
634
- z.array(
635
- z.strictObject({
636
- additionalDescription: z.union([z.string(), z.null()]),
637
- unlockCondition: OperatorUnlockCondZod,
638
- requiredPotentialRank: z.number(),
639
- blackboard: z.array(BlackboardZod),
640
- overrideDescripton: z.union([z.string(), z.null()]),
641
- prefabKey: z.union([z.string(), z.null()]),
642
- rangeId: z.union([z.string(), z.null()]),
643
- })
644
- ),
645
- z.null()
646
- ]),
647
- }),
648
- })
649
- ),
650
- attributeBlackboard: z.array(BlackboardZod),
651
- tokenAttributeBlackboard: z.record(z.string(), z.array(BlackboardZod)),
652
- })
653
- ),
654
- }),
655
- z.null()
656
- ]),
640
+ data: z.strictObject({
641
+ phases: z.array(
642
+ z.strictObject({
643
+ equipLevel: z.number(),
644
+ parts: z.array(
645
+ z.strictObject({
646
+ resKey: z.string().nullable(),
647
+ target: z.string(),
648
+ isToken: z.boolean(),
649
+ addOrOverrideTalentDataBundle: z.strictObject({
650
+ candidates: z.array(
651
+ z.strictObject({
652
+ displayRangeId: z.boolean(),
653
+ upgradeDescription: z.string(),
654
+ talentIndex: z.number(),
655
+ unlockCondition: OperatorUnlockCondZod,
656
+ requiredPotentialRank: z.number(),
657
+ prefabKey: z.string(),
658
+ name: z.string().nullable(),
659
+ description: z.string().nullable(),
660
+ rangeId: z.string().nullable(),
661
+ blackboard: z.array(BlackboardZod),
662
+ tokenKey: z.string().optional(),
663
+ }),
664
+ ).nullable(),
665
+ }),
666
+ overrideTraitDataBundle: z.strictObject({
667
+ candidates: z.array(
668
+ z.strictObject({
669
+ additionalDescription: z.string().nullable(),
670
+ unlockCondition: OperatorUnlockCondZod,
671
+ requiredPotentialRank: z.number(),
672
+ blackboard: z.array(BlackboardZod),
673
+ overrideDescripton: z.string().nullable(),
674
+ prefabKey: z.string().nullable(),
675
+ rangeId: z.string().nullable(),
676
+ })
677
+ ).nullable(),
678
+ }),
679
+ })
680
+ ),
681
+ attributeBlackboard: z.array(BlackboardZod),
682
+ tokenAttributeBlackboard: z.record(z.string(), z.array(BlackboardZod)),
683
+ })
684
+ ),
685
+ }).nullable(),
657
686
  });
658
687
  export const ParadoxZod = z.strictObject({
659
688
  excel: z.strictObject({
@@ -699,13 +728,13 @@ export const SandboxActZod = z.strictObject({
699
728
  });
700
729
  export const SkillZod = z.strictObject({
701
730
  skillId: z.string(),
702
- iconId: z.union([z.string(), z.null()]),
731
+ iconId: z.string().nullable(),
703
732
  hidden: z.boolean(),
704
733
  levels: z.array(
705
734
  z.strictObject({
706
735
  name: z.string(),
707
- rangeId: z.union([z.string(), z.null()]),
708
- description: z.union([z.string(), z.null()]),
736
+ rangeId: z.string().nullable(),
737
+ description: z.string().nullable(),
709
738
  skillType: z.string(),
710
739
  durationType: z.string(),
711
740
  spData: z.strictObject({
@@ -716,7 +745,7 @@ export const SkillZod = z.strictObject({
716
745
  initSp: z.number(),
717
746
  increment: z.number(),
718
747
  }),
719
- prefabId: z.union([z.string(), z.null()]),
748
+ prefabId: z.string().nullable(),
720
749
  duration: z.number(),
721
750
  blackboard: z.array(BlackboardZod),
722
751
  })
@@ -725,47 +754,44 @@ export const SkillZod = z.strictObject({
725
754
  export const SkinZod = z.strictObject({
726
755
  skinId: z.string(),
727
756
  charId: z.string(),
728
- tokenSkinMap: z.union([
729
- z.array(
730
- z.strictObject({
731
- tokenId: z.string(),
732
- tokenSkinId: z.string(),
733
- })
734
- ),
735
- z.null()
736
- ]),
737
- illustId: z.union([z.string(), z.null()]),
738
- dynIllustId: z.union([z.string(), z.null()]),
757
+ tokenSkinMap: z.array(
758
+ z.strictObject({
759
+ tokenId: z.string(),
760
+ tokenSkinId: z.string(),
761
+ })
762
+ ).nullable(),
763
+ illustId: z.string().nullable(),
764
+ dynIllustId: z.string().nullable(),
739
765
  avatarId: z.string(),
740
- portraitId: z.union([z.string(), z.null()]),
741
- dynPortraitId: z.union([z.string(), z.null()]),
742
- dynEntranceId: z.union([z.string(), z.null()]),
743
- buildingId: z.union([z.string(), z.null()]),
766
+ portraitId: z.string().nullable(),
767
+ dynPortraitId: z.string().nullable(),
768
+ dynEntranceId: z.string().nullable(),
769
+ buildingId: z.string().nullable(),
744
770
  battleSkin: z.strictObject({
745
771
  overwritePrefab: z.boolean(),
746
- skinOrPrefabId: z.union([z.string(), z.null()]),
772
+ skinOrPrefabId: z.string().nullable(),
747
773
  }),
748
774
  isBuySkin: z.boolean(),
749
- tmplId: z.union([z.string(), z.null()]),
750
- voiceId: z.union([z.string(), z.null()]),
775
+ tmplId: z.string().nullable(),
776
+ voiceId: z.string().nullable(),
751
777
  voiceType: z.string(),
752
778
  displaySkin: z.strictObject({
753
- skinName: z.union([z.string(), z.null()]),
754
- colorList: z.union([z.array(z.string()), z.null()]),
779
+ skinName: z.string().nullable(),
780
+ colorList: z.array(z.string()).nullable(),
755
781
  titleList: z.array(z.string()).nullable(),
756
- modelName: z.union([z.string(), z.null()]),
757
- drawerList: z.union([z.array(z.string()), z.null()]),
782
+ modelName: z.string().nullable(),
783
+ drawerList: z.array(z.string()).nullable(),
758
784
  designerList: z.array(z.string()).nullable(),
759
- skinGroupId: z.union([z.string(), z.null()]),
760
- skinGroupName: z.union([z.string(), z.null()]),
785
+ skinGroupId: z.string().nullable(),
786
+ skinGroupName: z.string().nullable(),
761
787
  skinGroupSortIndex: z.number(),
762
- content: z.union([z.string(), z.null()]),
763
- dialog: z.union([z.string(), z.null()]),
764
- usage: z.union([z.string(), z.null()]),
765
- description: z.union([z.string(), z.null()]),
766
- obtainApproach: z.union([z.string(), z.null()]),
788
+ content: z.string().nullable(),
789
+ dialog: z.string().nullable(),
790
+ usage: z.string().nullable(),
791
+ description: z.string().nullable(),
792
+ obtainApproach: z.string().nullable(),
767
793
  sortId: z.number(),
768
- displayTagId: z.union([z.string(), z.null()]),
794
+ displayTagId: z.string().nullable(),
769
795
  getTime: z.number(),
770
796
  onYear: z.number(),
771
797
  onPeriod: z.number(),
@@ -777,33 +803,28 @@ export const StageZod = z.strictObject({
777
803
  difficulty: z.string(),
778
804
  performanceStageFlag: z.string(),
779
805
  diffGroup: z.string(),
780
- unlockCondition: z.array(
781
- z.union([
782
- z.strictObject({
783
- stageId: z.string(),
784
- completeState: z.string(),
785
- }),
786
- z.null()
787
- ])
788
- ),
806
+ unlockCondition: z.strictObject({
807
+ stageId: z.string(),
808
+ completeState: z.string(),
809
+ }).nullable(),
789
810
  stageId: z.string(),
790
811
  levelId: z.string(),
791
812
  zoneId: z.string(),
792
813
  code: z.string(),
793
814
  name: z.string(),
794
815
  description: z.string(),
795
- hardStagedId: z.union([z.string(), z.null()]),
796
- dangerLevel: z.union([z.string(), z.null()]),
816
+ hardStagedId: z.string().nullable(),
817
+ dangerLevel: z.string().nullable(),
797
818
  dangerPoint: z.number(),
798
819
  loadingPicId: z.string(),
799
820
  canPractice: z.boolean(),
800
821
  canBattleReplay: z.boolean(),
801
822
  apCost: z.number(),
802
823
  apFailReturn: z.number(),
803
- etItemId: z.union([z.string(), z.null()]),
824
+ etItemId: z.string().nullable(),
804
825
  etCost: z.number(),
805
826
  etFailReturn: z.number(),
806
- etButtonStyle: z.union([z.string(), z.null()]),
827
+ etButtonStyle: z.string().nullable(),
807
828
  apProtectTimes: z.number(),
808
829
  diamondOnceDrop: z.number(),
809
830
  practiceTicketCost: z.number(),
@@ -815,7 +836,7 @@ export const StageZod = z.strictObject({
815
836
  passFavor: z.number(),
816
837
  completeFavor: z.number(),
817
838
  slProgress: z.number(),
818
- displayMainItem: z.union([z.string(), z.null()]),
839
+ displayMainItem: z.string().nullable(),
819
840
  hilightMark: z.boolean(),
820
841
  bossMark: z.boolean(),
821
842
  isPredefined: z.boolean(),
@@ -848,38 +869,30 @@ export const StageZod = z.strictObject({
848
869
  canUseTech: z.boolean(),
849
870
  canUseTrapTool: z.boolean(),
850
871
  canUseBattlePerformance: z.boolean(),
851
- startButtonOverrideId: z.union([z.string(), z.null()]),
872
+ startButtonOverrideId: z.string().nullable(),
852
873
  isStagePatch: z.boolean(),
853
- mainStageId: z.union([z.string(), z.null()]),
854
- extraCondition: z.union([
855
- z.array(
856
- z.strictObject({
857
- index: z.number(),
858
- template: z.string(),
859
- unlockParam: z.array(z.string()),
860
- })
861
- ),
862
- z.null()
863
- ]),
864
- extraInfo: z.union([
865
- z.array(
866
- z.strictObject({
867
- stageId: z.string(),
868
- rewards: z.array(
869
- z.strictObject({
870
- id: z.string(),
871
- count: z.number(),
872
- type: z.string(),
873
- })
874
- ),
875
- progressInfo: z.strictObject({
876
- progressType: z.string(),
877
- descList: z.record(z.string(), z.string()),
874
+ mainStageId: z.string().nullable(),
875
+ extraCondition: z.strictObject({
876
+ index: z.number(),
877
+ template: z.string(),
878
+ unlockParam: z.array(z.string()),
879
+ }).nullable(),
880
+ extraInfo: z.array(
881
+ z.strictObject({
882
+ stageId: z.string(),
883
+ rewards: z.array(
884
+ z.strictObject({
885
+ id: z.string(),
886
+ count: z.number(),
887
+ type: z.string(),
878
888
  })
889
+ ),
890
+ progressInfo: z.strictObject({
891
+ progressType: z.string(),
892
+ descList: z.record(z.string(), z.string()),
879
893
  })
880
- ),
881
- z.null()
882
- ])
894
+ })
895
+ ).nullable(),
883
896
  }),
884
897
  levels: StageDataZod,
885
898
  });
@@ -900,46 +913,43 @@ export const OperatorZod = z.strictObject({
900
913
  skill: BaseZod,
901
914
  })
902
915
  ),
903
- paradox: z.union([ParadoxZod, z.null()]),
916
+ paradox: ParadoxZod.nullable(),
904
917
  data: z.strictObject({
905
918
  name: z.string(),
906
919
  description: z.string(),
907
920
  canUseGeneralPotentialItem: z.boolean(),
908
921
  canUseActivityPotentialItem: z.boolean(),
909
- potentialItemId: z.union([z.string(), z.null()]),
922
+ potentialItemId: z.string().nullable(),
910
923
  activityPotentialItemId: z.string().nullable(),
911
924
  classicPotentialItemId: z.string().nullable(),
912
- nationId: z.union([z.string(), z.null()]),
913
- groupId: z.union([z.string(), z.null()]),
914
- teamId: z.union([z.string(), z.null()]),
915
- displayNumber: z.union([z.string(), z.null()]),
925
+ nationId: z.string().nullable(),
926
+ groupId: z.string().nullable(),
927
+ teamId: z.string().nullable(),
928
+ displayNumber: z.string().nullable(),
916
929
  appellation: z.string(),
917
930
  position: z.string(),
918
931
  tagList: z.array(z.string()),
919
- itemUsage: z.union([z.string(), z.null()]),
920
- itemDesc: z.union([z.string(), z.null()]),
921
- itemObtainApproach: z.union([z.string(), z.null()]),
932
+ itemUsage: z.string().nullable(),
933
+ itemDesc: z.string().nullable(),
934
+ itemObtainApproach: z.string().nullable(),
922
935
  isNotObtainable: z.boolean(),
923
936
  isSpChar: z.boolean(),
924
937
  maxPotentialLevel: z.number(),
925
938
  rarity: z.string(),
926
939
  profession: z.string(),
927
940
  subProfessionId: z.string(),
928
- trait: z.union([
929
- z.strictObject({
930
- candidates: z.array(
931
- z.strictObject({
932
- unlockCondition: OperatorUnlockCondZod,
933
- requiredPotentialRank: z.number(),
934
- blackboard: z.array(BlackboardZod),
935
- overrideDescripton: z.union([z.string(), z.null()]),
936
- prefabKey: z.union([z.string(), z.null()]),
937
- rangeId: z.union([z.string(), z.null()]),
938
- })
939
- ),
940
- }),
941
- z.null()
942
- ]),
941
+ trait: z.strictObject({
942
+ candidates: z.array(
943
+ z.strictObject({
944
+ unlockCondition: OperatorUnlockCondZod,
945
+ requiredPotentialRank: z.number(),
946
+ blackboard: z.array(BlackboardZod),
947
+ overrideDescripton: z.string().nullable(),
948
+ prefabKey: z.string().nullable(),
949
+ rangeId: z.string().nullable(),
950
+ })
951
+ ),
952
+ }).nullable(),
943
953
  phases: z.array(
944
954
  z.strictObject({
945
955
  characterPrefabKey: z.string(),
@@ -952,57 +962,51 @@ export const OperatorZod = z.strictObject({
952
962
  skills: z.array(
953
963
  z.strictObject({
954
964
  skillId: z.string(),
955
- overridePrefabKey: z.union([z.string(), z.null()]),
956
- overrideTokenKey: z.union([z.string(), z.null()]),
965
+ overridePrefabKey: z.string().nullable(),
966
+ overrideTokenKey: z.string().nullable(),
957
967
  levelUpCostCond: z.array(LevelUpCostCondZod),
958
968
  unlockCond: OperatorUnlockCondZod,
959
969
  })
960
970
  ),
961
971
  displayTokenDict: z.record(z.boolean()).nullable(),
962
- talents: z.union([
963
- z.array(
964
- z.strictObject({
965
- candidates: z.array(
966
- z.strictObject({
967
- unlockCondition: OperatorUnlockCondZod,
968
- requiredPotentialRank: z.number(),
969
- prefabKey: z.string(),
970
- name: z.string(),
971
- description: z.string(),
972
- rangeId: z.union([z.string(), z.null()]),
973
- blackboard: z.array(BlackboardZod),
974
- tokenKey: z.string().nullable(),
975
- })
976
- ),
977
- })
978
- ),
979
- z.null()
980
- ]),
972
+ talents: z.array(
973
+ z.strictObject({
974
+ candidates: z.array(
975
+ z.strictObject({
976
+ unlockCondition: OperatorUnlockCondZod,
977
+ requiredPotentialRank: z.number(),
978
+ prefabKey: z.string(),
979
+ name: z.string(),
980
+ description: z.string(),
981
+ rangeId: z.string().nullable(),
982
+ blackboard: z.array(BlackboardZod),
983
+ tokenKey: z.string().nullable(),
984
+ })
985
+ ),
986
+ })
987
+ ).nullable(),
981
988
  potentialRanks: z.array(
982
989
  z.strictObject({
983
990
  type: z.string(),
984
991
  description: z.string(),
985
- buff: z.union([
986
- z.strictObject({
987
- attributes: z.strictObject({
988
- abnormalFlags: z.null(),
989
- abnormalImmunes: z.null(),
990
- abnormalAntis: z.null(),
991
- abnormalCombos: z.null(),
992
- abnormalComboImmunes: z.null(),
993
- attributeModifiers: z.array(
994
- z.strictObject({
995
- attributeType: z.string(),
996
- formulaItem: z.string(),
997
- value: z.number(),
998
- loadFromBlackboard: z.boolean(),
999
- fetchBaseValueFromSourceEntity: z.boolean(),
1000
- })
1001
- ),
1002
- }),
992
+ buff: z.strictObject({
993
+ attributes: z.strictObject({
994
+ abnormalFlags: z.null(),
995
+ abnormalImmunes: z.null(),
996
+ abnormalAntis: z.null(),
997
+ abnormalCombos: z.null(),
998
+ abnormalComboImmunes: z.null(),
999
+ attributeModifiers: z.array(
1000
+ z.strictObject({
1001
+ attributeType: z.string(),
1002
+ formulaItem: z.string(),
1003
+ value: z.number(),
1004
+ loadFromBlackboard: z.boolean(),
1005
+ fetchBaseValueFromSourceEntity: z.boolean(),
1006
+ })
1007
+ ),
1003
1008
  }),
1004
- z.null()
1005
- ]),
1009
+ }).nullable(),
1006
1010
  equivalentCost: z.null(),
1007
1011
  })
1008
1012
  ),
@@ -1010,31 +1014,22 @@ export const OperatorZod = z.strictObject({
1010
1014
  allSkillLvlup: z.array(
1011
1015
  z.strictObject({
1012
1016
  unlockCond: OperatorUnlockCondZod,
1013
- lvlUpCost: z.union([z.array(LevelUpCostZod), z.null()]),
1017
+ lvlUpCost: z.array(LevelUpCostZod).nullable(),
1014
1018
  })
1015
1019
  ),
1016
1020
  }),
1017
1021
  });
1018
- export type AttributesKeyFrame = z.infer<typeof AttributesKeyFrameZod>;
1019
1022
  export type Blackboard = z.infer<typeof BlackboardZod>;
1020
1023
  export type Base = z.infer<typeof BaseZod>;
1021
1024
  export type CCStage = z.infer<typeof CCStageZod>;
1022
1025
  export type Definition = z.infer<typeof DefinitionZod>;
1023
1026
  export type Enemy = z.infer<typeof EnemyZod>;
1024
- export type EnemyAttributes = z.infer<typeof EnemyAttributesZod>;
1025
- export type EnemyData = z.infer<typeof EnemyDataZod>;
1026
- export type EnemySkills = z.infer<typeof EnemySkillsZod>;
1027
- export type EnemySpData = z.infer<typeof EnemySpDataZod>;
1028
1027
  export type GameEvent = z.infer<typeof GameEventZod>;
1029
1028
  export type GridRange = z.infer<typeof GridRangeZod>;
1030
- export type ManufactFormula = z.infer<typeof ManufactFormulaZod>;
1031
- export type WorkshopFormula = z.infer<typeof WorkshopFormulaZod>;
1032
1029
  export type Item = z.infer<typeof ItemZod>;
1033
1030
  export type LevelUpCost = z.infer<typeof LevelUpCostZod>;
1034
- export type LevelUpCostCond = z.infer<typeof LevelUpCostCondZod>;
1035
1031
  export type Module = z.infer<typeof ModuleZod>;
1036
1032
  export type Operator = z.infer<typeof OperatorZod>;
1037
- export type OperatorUnlockCond = z.infer<typeof OperatorUnlockCondZod>;
1038
1033
  export type Paradox = z.infer<typeof ParadoxZod>;
1039
1034
  export type RogueTheme = z.infer<typeof RogueThemeZod>;
1040
1035
  export type RogueRelic = z.infer<typeof RogueRelicZod>;
@@ -1045,6 +1040,4 @@ export type SandboxStage = z.infer<typeof SandboxStageZod>;
1045
1040
  export type Skill = z.infer<typeof SkillZod>;
1046
1041
  export type Skin = z.infer<typeof SkinZod>;
1047
1042
  export type Stage = z.infer<typeof StageZod>;
1048
- export type StageData = z.infer<typeof StageDataZod>;
1049
- export type StageEffect = z.infer<typeof StageEffectZod>;
1050
- export type StageDefines = z.infer<typeof StageDefinesZod>;
1043
+ export type StageData = z.infer<typeof StageDataZod>;