hella-types 0.0.5 → 0.0.7

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.
package/dist/index.js ADDED
@@ -0,0 +1,904 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperatorIO = exports.StageIO = exports.SkinIO = exports.SkillIO = exports.SandboxActIO = exports.RogueThemeIO = exports.ParadoxIO = exports.ModuleIO = exports.ItemIO = exports.GameEventIO = exports.EnemyIO = exports.DefinitionIO = exports.CCStageIO = exports.BaseIO = exports.SandboxStageIO = exports.RogueVariationIO = exports.RogueStageIO = exports.RogueRelicIO = exports.StageDataIO = exports.StageActionIO = exports.StageEffectIO = exports.StageDefinesIO = exports.LevelUpCostCondIO = exports.OperatorUnlockCondIO = exports.WorkshopFormulaIO = exports.ManufactFormulaIO = exports.LevelUpCostIO = exports.GridRangeIO = exports.EnemyData = exports.EnemySpDataIO = exports.EnemySkillsIO = exports.EnemyAttributesIO = exports.BlackboardIO = exports.AttributesKeyFrameIO = void 0;
4
+ var t = require("io-ts");
5
+ var stringIO = t.type({
6
+ m_defined: t.boolean,
7
+ m_value: t.union([t.string, t.null]),
8
+ });
9
+ var stringArrayIO = t.type({
10
+ m_defined: t.boolean,
11
+ m_value: t.union([t.array(t.string), t.null]),
12
+ });
13
+ var numberIO = t.type({
14
+ m_defined: t.boolean,
15
+ m_value: t.union([t.number, t.null]),
16
+ });
17
+ var booleanIO = t.type({
18
+ m_defined: t.boolean,
19
+ m_value: t.boolean,
20
+ });
21
+ exports.AttributesKeyFrameIO = t.type({
22
+ level: t.number,
23
+ data: t.type({
24
+ maxHp: t.number,
25
+ atk: t.number,
26
+ def: t.number,
27
+ magicResistance: t.number,
28
+ cost: t.number,
29
+ blockCnt: t.number,
30
+ moveSpeed: t.number,
31
+ attackSpeed: t.number,
32
+ baseAttackTime: t.number,
33
+ respawnTime: t.number,
34
+ hpRecoveryPerSec: t.number,
35
+ spRecoveryPerSec: t.number,
36
+ maxDeployCount: t.number,
37
+ maxDeckStackCnt: t.number,
38
+ tauntLevel: t.number,
39
+ massLevel: t.number,
40
+ baseForceLevel: t.number,
41
+ stunImmune: t.boolean,
42
+ silenceImmune: t.boolean,
43
+ sleepImmune: t.boolean,
44
+ frozenImmune: t.boolean,
45
+ levitateImmune: t.boolean,
46
+ }),
47
+ });
48
+ exports.BlackboardIO = t.type({
49
+ key: t.string,
50
+ value: t.union([t.number, t.null]),
51
+ valueStr: t.union([t.string, t.null, t.undefined]),
52
+ });
53
+ exports.EnemyAttributesIO = t.type({
54
+ maxHp: numberIO,
55
+ atk: numberIO,
56
+ def: numberIO,
57
+ magicResistance: numberIO,
58
+ cost: numberIO,
59
+ blockCnt: numberIO,
60
+ moveSpeed: numberIO,
61
+ attackSpeed: numberIO,
62
+ baseAttackTime: numberIO,
63
+ respawnTime: numberIO,
64
+ hpRecoveryPerSec: numberIO,
65
+ spRecoveryPerSec: numberIO,
66
+ maxDeployCount: numberIO,
67
+ massLevel: numberIO,
68
+ baseForceLevel: numberIO,
69
+ tauntLevel: t.union([numberIO, t.undefined]), // legacy
70
+ epDamageResistance: t.union([numberIO, t.undefined]), // legacy
71
+ epResistance: t.union([numberIO, t.undefined]), // ~
72
+ stunImmune: booleanIO,
73
+ silenceImmune: booleanIO,
74
+ sleepImmune: t.union([booleanIO, t.undefined]),
75
+ frozenImmune: t.union([booleanIO, t.undefined]), // legacy
76
+ levitateImmune: t.union([booleanIO, t.undefined]), // legacy
77
+ });
78
+ exports.EnemySkillsIO = t.type({
79
+ prefabKey: t.string,
80
+ priority: t.number,
81
+ cooldown: t.number,
82
+ initCooldown: t.number,
83
+ spCost: t.number,
84
+ blackboard: t.union([t.array(exports.BlackboardIO), t.null]),
85
+ });
86
+ exports.EnemySpDataIO = t.type({
87
+ spType: t.string,
88
+ maxSp: t.number,
89
+ initSp: t.number,
90
+ increment: t.number,
91
+ });
92
+ exports.EnemyData = t.type({
93
+ name: stringIO,
94
+ description: stringIO,
95
+ prefabKey: stringIO,
96
+ attributes: exports.EnemyAttributesIO,
97
+ applyWay: t.union([stringIO, t.undefined]), // legacy
98
+ motion: t.union([stringIO, t.undefined]), // legacy
99
+ enemyTags: t.union([stringArrayIO, t.undefined]), // legacy
100
+ lifePointReduce: numberIO,
101
+ levelType: t.union([stringIO, numberIO, t.undefined]), // legacy
102
+ rangeRadius: numberIO,
103
+ numOfExtraDrops: t.union([numberIO, t.undefined]), // legacy
104
+ viewRadius: t.union([numberIO, t.undefined]), // legacy
105
+ notCountInTotal: t.union([booleanIO, t.undefined]), // legacy
106
+ talentBlackboard: t.union([t.array(exports.BlackboardIO), t.null]),
107
+ skills: t.union([t.array(exports.EnemySkillsIO), t.null]),
108
+ spData: t.union([exports.EnemySpDataIO, t.null]),
109
+ });
110
+ exports.GridRangeIO = t.type({
111
+ id: t.string,
112
+ direction: t.number,
113
+ grids: t.array(t.type({
114
+ row: t.number,
115
+ col: t.number,
116
+ })),
117
+ });
118
+ exports.LevelUpCostIO = t.type({
119
+ id: t.string,
120
+ count: t.number,
121
+ type: t.string,
122
+ });
123
+ exports.ManufactFormulaIO = t.type({
124
+ formulaId: t.string,
125
+ itemId: t.string,
126
+ count: t.number,
127
+ weight: t.number,
128
+ costPoint: t.number,
129
+ formulaType: t.string,
130
+ buffType: t.string,
131
+ costs: t.array(exports.LevelUpCostIO),
132
+ requireRooms: t.array(t.type({
133
+ roomId: t.string,
134
+ roomLevel: t.number,
135
+ roomCount: t.number,
136
+ })),
137
+ requireStages: t.array(t.type({
138
+ stageId: t.string,
139
+ rank: t.number,
140
+ })),
141
+ });
142
+ exports.WorkshopFormulaIO = t.type({
143
+ sortId: t.number,
144
+ formulaId: t.string,
145
+ rarity: t.number,
146
+ itemId: t.string,
147
+ count: t.number,
148
+ goldCost: t.number,
149
+ apCost: t.number,
150
+ formulaType: t.string,
151
+ buffType: t.string,
152
+ extraOutcomeRate: t.number,
153
+ extraOutcomeGroup: t.array(t.type({
154
+ weight: t.number,
155
+ itemId: t.string,
156
+ itemCount: t.number,
157
+ })),
158
+ costs: t.array(exports.LevelUpCostIO),
159
+ requireRooms: t.array(t.type({
160
+ roomId: t.string,
161
+ roomLevel: t.number,
162
+ roomCount: t.number,
163
+ })),
164
+ requireStages: t.array(t.type({
165
+ stageId: t.string,
166
+ rank: t.number,
167
+ })),
168
+ });
169
+ exports.OperatorUnlockCondIO = t.type({
170
+ phase: t.union([t.string, t.number]),
171
+ level: t.number,
172
+ });
173
+ exports.LevelUpCostCondIO = t.type({
174
+ unlockCond: exports.OperatorUnlockCondIO,
175
+ lvlUpTime: t.number,
176
+ levelUpCost: t.union([t.array(exports.LevelUpCostIO), t.null]),
177
+ });
178
+ exports.StageDefinesIO = t.type({
179
+ characterInsts: t.array(t.any),
180
+ tokenInsts: t.array(t.type({
181
+ position: t.type({
182
+ row: t.number,
183
+ col: t.number,
184
+ }),
185
+ direction: t.union([t.string, t.number]), // legacy
186
+ hidden: t.boolean,
187
+ alias: t.union([t.string, t.null]),
188
+ uniEquipIds: t.union([
189
+ t.array(t.type({
190
+ key: t.string,
191
+ level: t.number,
192
+ })),
193
+ t.null, t.undefined
194
+ ] // legacy
195
+ ),
196
+ inst: t.type({
197
+ characterKey: t.string,
198
+ level: t.number,
199
+ phase: t.union([t.string, t.number]), // legacy
200
+ favorPoint: t.number,
201
+ potentialRank: t.number,
202
+ }),
203
+ skillIndex: t.number,
204
+ mainSkillLvl: t.number,
205
+ skinId: t.union([t.string, t.null]),
206
+ tmplId: t.union([t.string, t.null, t.undefined]),
207
+ overrideSkillBlackboard: t.union([t.array(exports.BlackboardIO), t.null, t.undefined]),
208
+ })),
209
+ characterCards: t.array(t.any),
210
+ tokenCards: t.array(t.any),
211
+ });
212
+ exports.StageEffectIO = t.type({
213
+ key: t.string,
214
+ offset: t.type({
215
+ x: t.number,
216
+ y: t.number,
217
+ z: t.number,
218
+ }),
219
+ direction: t.union([t.string, t.number]), // legacy
220
+ });
221
+ exports.StageActionIO = t.type({
222
+ preDelay: t.number,
223
+ actions: t.array(t.type({
224
+ actionType: t.union([t.string, t.number]), // legacy
225
+ managedByScheduler: t.boolean,
226
+ key: t.string,
227
+ count: t.number,
228
+ preDelay: t.number,
229
+ interval: t.number,
230
+ routeIndex: t.number,
231
+ blockFragment: t.boolean,
232
+ autoPreviewRoute: t.boolean,
233
+ autoDisplayEnemyInfo: t.union([t.boolean, t.undefined]), // legacy
234
+ isUnharmfulAndAlwaysCountAsKilled: t.boolean,
235
+ hiddenGroup: t.union([t.string, t.null]),
236
+ randomSpawnGroupKey: t.union([t.string, t.null, t.undefined]), // legacy
237
+ randomSpawnGroupPackKey: t.union([t.string, t.null, t.undefined]), // legacy
238
+ randomType: t.union([t.string, t.number, t.undefined]), // legacy
239
+ weight: t.union([t.number, t.undefined]), // legacy
240
+ dontBlockWave: t.union([t.boolean, t.undefined]), // legacy
241
+ isValid: t.union([t.boolean, t.undefined]), // legacy
242
+ extraMeta: t.union([t.null, t.undefined]), // legacy
243
+ })),
244
+ });
245
+ exports.StageDataIO = t.type({
246
+ options: t.type({
247
+ characterLimit: t.number,
248
+ maxLifePoint: t.number,
249
+ initialCost: t.number,
250
+ maxCost: t.number,
251
+ costIncreaseTime: t.number,
252
+ moveMultiplier: t.number,
253
+ steeringEnabled: t.boolean,
254
+ isTrainingLevel: t.boolean,
255
+ isHardTrainingLevel: t.union([t.boolean, t.undefined]), // legacy
256
+ isPredefinedCardsSelectable: t.union([t.boolean, t.undefined]), // legacy
257
+ maxPlayTime: t.union([t.number, t.undefined]), // legacy
258
+ functionDisableMask: t.union([t.string, t.number]),
259
+ configBlackBoard: t.union([t.array(exports.BlackboardIO), t.null, t.undefined]), // legacy
260
+ }),
261
+ levelId: t.union([t.string, t.null]),
262
+ mapId: t.union([t.string, t.null]),
263
+ bgmEvent: t.union([t.string, t.null]),
264
+ environmentSe: t.union([t.string, t.null]),
265
+ mapData: t.type({
266
+ map: t.array(t.array(t.number)),
267
+ tiles: t.array(t.type({
268
+ tileKey: t.string,
269
+ heightType: t.union([t.string, t.number]), // keep number for legacy stages (monster hunter, vignettes, etc.)
270
+ buildableType: t.union([t.string, t.number]), // ~
271
+ passableMask: t.union([t.string, t.number]), // ~
272
+ playerSideMask: t.union([t.string, t.number, t.undefined]), // ~
273
+ blackboard: t.union([t.array(exports.BlackboardIO), t.null]),
274
+ effects: t.union([t.array(exports.StageEffectIO), t.null]),
275
+ })),
276
+ blockEdges: t.union([t.array(t.any), t.null]),
277
+ tags: t.union([t.array(t.string), t.null]),
278
+ effects: t.union([t.array(exports.StageEffectIO), t.null]),
279
+ layerRects: t.union([t.null, t.undefined]),
280
+ }),
281
+ tilesDisallowToLocate: t.array(t.any),
282
+ runes: t.union([
283
+ t.array(t.type({
284
+ difficultyMask: t.union([t.string, t.number]), // legacy
285
+ key: t.string,
286
+ professionMask: t.union([t.string, t.number, t.undefined]), // legacy
287
+ buildableMask: t.union([t.string, t.number]), // legacy
288
+ blackboard: t.array(exports.BlackboardIO),
289
+ })),
290
+ t.null
291
+ ]),
292
+ globalBuffs: t.union([
293
+ t.array(t.type({
294
+ prefabKey: t.string,
295
+ blackboard: t.union([t.array(exports.BlackboardIO), t.null]),
296
+ overrideCameraEffect: t.null,
297
+ passProfessionMaskFlag: t.union([t.boolean, t.undefined]),
298
+ professionMask: t.union([t.string, t.number, t.undefined]),
299
+ })),
300
+ t.null
301
+ ]),
302
+ routes: t.array(t.union([
303
+ t.type({
304
+ motionMode: t.union([t.string, t.number]), // keep number for legacy
305
+ startPosition: t.type({
306
+ row: t.number,
307
+ col: t.number,
308
+ }),
309
+ endPosition: t.type({
310
+ row: t.number,
311
+ col: t.number,
312
+ }),
313
+ spawnRandomRange: t.type({
314
+ x: t.number,
315
+ y: t.number,
316
+ }),
317
+ spawnOffset: t.type({
318
+ x: t.number,
319
+ y: t.number,
320
+ }),
321
+ checkpoints: t.union([
322
+ t.array(t.type({
323
+ type: t.union([t.string, t.number]), // keep number for legacy
324
+ time: t.number,
325
+ position: t.type({
326
+ row: t.number,
327
+ col: t.number,
328
+ }),
329
+ reachOffset: t.type({
330
+ x: t.number,
331
+ y: t.number,
332
+ }),
333
+ randomizeReachOffset: t.boolean,
334
+ reachDistance: t.number,
335
+ })),
336
+ t.null
337
+ ]),
338
+ allowDiagonalMove: t.boolean,
339
+ visitEveryTileCenter: t.boolean,
340
+ visitEveryNodeCenter: t.boolean,
341
+ visitEveryCheckPoint: t.union([t.boolean, t.undefined]), // legacy
342
+ }),
343
+ t.null // legacy
344
+ ])),
345
+ extraRoutes: t.union([t.array(t.any), t.undefined]),
346
+ enemies: t.array(t.any),
347
+ enemyDbRefs: t.array(t.type({
348
+ useDb: t.boolean,
349
+ id: t.string,
350
+ level: t.number,
351
+ overwrittenData: t.union([exports.EnemyData, t.null]),
352
+ })),
353
+ waves: t.array(t.type({
354
+ preDelay: t.number,
355
+ postDelay: t.number,
356
+ maxTimeWaitingForNextWave: t.number,
357
+ fragments: t.array(exports.StageActionIO),
358
+ advancedWaveTag: t.union([t.string, t.null, t.undefined]), // legacy
359
+ })),
360
+ branches: t.union([
361
+ t.record(t.string, t.type({
362
+ phases: t.array(exports.StageActionIO),
363
+ })),
364
+ t.null
365
+ ]),
366
+ predefines: t.union([exports.StageDefinesIO, t.null]),
367
+ hardPredefines: t.union([exports.StageDefinesIO, t.null, t.undefined]),
368
+ excludeCharIdList: t.null,
369
+ randomSeed: t.number,
370
+ operaConfig: t.union([t.string, t.null, t.undefined]),
371
+ runtimeData: t.union([t.null, t.undefined]), // legacy
372
+ });
373
+ exports.RogueRelicIO = t.type({
374
+ id: t.string,
375
+ name: t.string,
376
+ description: t.union([t.string, t.null]),
377
+ usage: t.string,
378
+ obtainApproach: t.string,
379
+ iconId: t.string,
380
+ type: t.string,
381
+ subType: t.string,
382
+ rarity: t.string,
383
+ value: t.number,
384
+ sortId: t.number,
385
+ canSacrifice: t.boolean,
386
+ unlockCondDesc: t.union([t.string, t.null]),
387
+ });
388
+ exports.RogueStageIO = t.type({
389
+ excel: t.type({
390
+ id: t.string,
391
+ linkedStageId: t.string,
392
+ levelId: t.string,
393
+ code: t.string,
394
+ name: t.string,
395
+ loadingPicId: t.string,
396
+ description: t.string,
397
+ eliteDesc: t.union([t.string, t.null]),
398
+ isBoss: t.number,
399
+ isElite: t.number,
400
+ difficulty: t.string,
401
+ capsulePool: t.union([t.string, t.null]),
402
+ capsuleProb: t.number,
403
+ vutresProb: t.array(t.number),
404
+ boxProb: t.array(t.number),
405
+ }),
406
+ levels: exports.StageDataIO,
407
+ });
408
+ exports.RogueVariationIO = t.type({
409
+ id: t.string,
410
+ type: t.string,
411
+ outerName: t.string,
412
+ innerName: t.string,
413
+ functionDesc: t.string,
414
+ desc: t.string,
415
+ iconId: t.union([t.string, t.null]),
416
+ sound: t.union([t.string, t.null]),
417
+ });
418
+ exports.SandboxStageIO = t.type({
419
+ excel: t.type({
420
+ stageId: t.string,
421
+ levelId: t.string,
422
+ code: t.string,
423
+ name: t.string,
424
+ loadingPicId: t.string,
425
+ description: t.string,
426
+ actionCost: t.number,
427
+ powerCost: t.number,
428
+ }),
429
+ levels: exports.StageDataIO,
430
+ });
431
+ exports.BaseIO = t.type({
432
+ buffId: t.string,
433
+ buffName: t.string,
434
+ buffIcon: t.string,
435
+ skillIcon: t.string,
436
+ sortId: t.number,
437
+ buffColor: t.string,
438
+ textColor: t.string,
439
+ buffCategory: t.string,
440
+ roomType: t.string,
441
+ description: t.string,
442
+ });
443
+ exports.CCStageIO = t.type({
444
+ const: t.type({
445
+ levelId: t.string,
446
+ location: t.string,
447
+ name: t.string,
448
+ description: t.string,
449
+ }),
450
+ levels: exports.StageDataIO,
451
+ });
452
+ exports.DefinitionIO = t.type({
453
+ termId: t.string,
454
+ termName: t.string,
455
+ description: t.string,
456
+ });
457
+ exports.EnemyIO = t.type({
458
+ excel: t.type({
459
+ enemyId: t.string,
460
+ enemyIndex: t.string,
461
+ enemyTags: t.union([t.array(t.string), t.null]),
462
+ sortId: t.number,
463
+ name: t.string,
464
+ enemyLevel: t.string,
465
+ description: t.string,
466
+ attackType: t.null,
467
+ ability: t.null,
468
+ isInvalidKilled: t.boolean,
469
+ overrideKillCntInfos: t.record(t.string, t.any),
470
+ hideInHandbook: t.boolean,
471
+ }),
472
+ levels: t.type({
473
+ Key: t.string,
474
+ Value: t.array(t.type({
475
+ level: t.number,
476
+ enemyData: exports.EnemyData,
477
+ })),
478
+ }),
479
+ });
480
+ exports.GameEventIO = t.type({
481
+ id: t.string,
482
+ type: t.string,
483
+ displayType: t.string,
484
+ name: t.string,
485
+ startTime: t.number,
486
+ endTime: t.number,
487
+ rewardEndTime: t.number,
488
+ displayOnHome: t.boolean,
489
+ hasStage: t.boolean,
490
+ templateShopId: t.union([t.string, t.null]),
491
+ medalGroupId: t.union([t.string, t.null]),
492
+ isReplicate: t.boolean,
493
+ });
494
+ exports.ItemIO = t.type({
495
+ data: t.type({
496
+ itemId: t.string,
497
+ name: t.string,
498
+ description: t.union([t.string, t.null]),
499
+ rarity: t.string,
500
+ iconId: t.string,
501
+ overrideBkg: t.null,
502
+ stackIconId: t.union([t.string, t.null]),
503
+ sortId: t.number,
504
+ usage: t.union([t.string, t.null]),
505
+ obtainApproach: t.union([t.string, t.null]),
506
+ classifyType: t.string,
507
+ itemType: t.string,
508
+ stageDropList: t.array(t.type({
509
+ stageId: t.string,
510
+ occPer: t.string,
511
+ })),
512
+ buildingProductList: t.array(t.type({
513
+ roomType: t.string,
514
+ formulaId: t.string,
515
+ })),
516
+ }),
517
+ formula: t.union([exports.ManufactFormulaIO, exports.WorkshopFormulaIO, t.null]),
518
+ });
519
+ exports.ModuleIO = t.type({
520
+ info: t.type({
521
+ uniEquipId: t.string,
522
+ uniEquipName: t.string,
523
+ uniEquipIcon: t.string,
524
+ uniEquipDesc: t.string,
525
+ typeIcon: t.string,
526
+ typeName1: t.string,
527
+ typeName2: t.union([t.string, t.null]),
528
+ equipShiningColor: t.string,
529
+ showEvolvePhase: t.string,
530
+ unlockEvolvePhase: t.string,
531
+ charId: t.string,
532
+ tmplId: t.union([t.string, t.null]),
533
+ showLevel: t.number,
534
+ unlockLevel: t.number,
535
+ unlockFavorPoint: t.number,
536
+ missionList: t.array(t.string),
537
+ itemCost: t.union([t.record(t.string, t.array(exports.LevelUpCostIO)), t.null]),
538
+ type: t.string,
539
+ uniEquipGetTime: t.number,
540
+ charEquipOrder: t.number,
541
+ }),
542
+ data: t.union([
543
+ t.type({
544
+ phases: t.array(t.type({
545
+ equipLevel: t.number,
546
+ parts: t.array(t.type({
547
+ resKey: t.union([t.string, t.null]),
548
+ target: t.string,
549
+ isToken: t.boolean,
550
+ addOrOverrideTalentDataBundle: t.type({
551
+ candidates: t.union([
552
+ t.array(t.type({
553
+ displayRangeId: t.boolean,
554
+ upgradeDescription: t.string,
555
+ talentIndex: t.number,
556
+ unlockCondition: exports.OperatorUnlockCondIO,
557
+ requiredPotentialRank: t.number,
558
+ prefabKey: t.string,
559
+ name: t.union([t.string, t.null]),
560
+ description: t.union([t.string, t.null]),
561
+ rangeId: t.union([t.string, t.null]),
562
+ blackboard: t.array(exports.BlackboardIO),
563
+ })),
564
+ t.null
565
+ ]),
566
+ }),
567
+ overrideTraitDataBundle: t.type({
568
+ candidates: t.union([
569
+ t.array(t.type({
570
+ additionalDescription: t.union([t.string, t.null]),
571
+ unlockCondition: exports.OperatorUnlockCondIO,
572
+ requiredPotentialRank: t.number,
573
+ blackboard: t.array(exports.BlackboardIO),
574
+ overrideDescripton: t.union([t.string, t.null]),
575
+ prefabKey: t.union([t.string, t.null]),
576
+ rangeId: t.union([t.string, t.null]),
577
+ })),
578
+ t.null
579
+ ]),
580
+ }),
581
+ })),
582
+ attributeBlackboard: t.array(exports.BlackboardIO),
583
+ tokenAttributeBlackboard: t.record(t.string, t.array(exports.BlackboardIO)),
584
+ })),
585
+ }),
586
+ t.null
587
+ ]),
588
+ });
589
+ exports.ParadoxIO = t.type({
590
+ excel: t.type({
591
+ charId: t.string,
592
+ stageId: t.string,
593
+ levelId: t.string,
594
+ zoneId: t.string,
595
+ code: t.string,
596
+ name: t.string,
597
+ loadingPicId: t.string,
598
+ description: t.string,
599
+ unlockParam: t.array(t.type({
600
+ unlockType: t.string,
601
+ unlockParam1: t.string,
602
+ unlockParam2: t.string,
603
+ unlockParam3: t.null,
604
+ })),
605
+ rewardItem: t.array(t.type({
606
+ id: t.string,
607
+ count: t.number,
608
+ type: t.string,
609
+ })),
610
+ stageNameForShow: t.string,
611
+ zoneNameForShow: t.string,
612
+ picId: t.string,
613
+ stageGetTime: t.number,
614
+ }),
615
+ levels: exports.StageDataIO,
616
+ });
617
+ exports.RogueThemeIO = t.type({
618
+ name: t.string,
619
+ stageDict: t.record(t.string, exports.RogueStageIO),
620
+ toughStageDict: t.record(t.string, exports.RogueStageIO),
621
+ relicDict: t.record(t.string, exports.RogueRelicIO),
622
+ variationDict: t.record(t.string, exports.RogueVariationIO),
623
+ });
624
+ exports.SandboxActIO = t.type({
625
+ stageDict: t.record(t.string, exports.SandboxStageIO),
626
+ });
627
+ exports.SkillIO = t.type({
628
+ skillId: t.string,
629
+ iconId: t.union([t.string, t.null]),
630
+ hidden: t.boolean,
631
+ levels: t.array(t.type({
632
+ name: t.string,
633
+ rangeId: t.union([t.string, t.null]),
634
+ description: t.union([t.string, t.null]),
635
+ skillType: t.string,
636
+ durationType: t.string,
637
+ spData: t.type({
638
+ spType: t.union([t.string, t.number]),
639
+ levelUpCost: t.null,
640
+ maxChargeTime: t.number,
641
+ spCost: t.number,
642
+ initSp: t.number,
643
+ increment: t.number,
644
+ }),
645
+ prefabId: t.union([t.string, t.null]),
646
+ duration: t.number,
647
+ blackboard: t.array(exports.BlackboardIO),
648
+ })),
649
+ });
650
+ exports.SkinIO = t.type({
651
+ skinId: t.string,
652
+ charId: t.string,
653
+ tokenSkinMap: t.union([
654
+ t.array(t.type({
655
+ tokenId: t.string,
656
+ tokenSkinId: t.string,
657
+ })),
658
+ t.null
659
+ ]),
660
+ illustId: t.union([t.string, t.null]),
661
+ dynIllustId: t.union([t.string, t.null]),
662
+ avatarId: t.string,
663
+ portraitId: t.union([t.string, t.null]),
664
+ dynPortraitId: t.union([t.string, t.null]),
665
+ dynEntranceId: t.union([t.string, t.null]),
666
+ buildingId: t.union([t.string, t.null]),
667
+ battleSkin: t.type({
668
+ overwritePrefab: t.boolean,
669
+ skinOrPrefabId: t.union([t.string, t.null]),
670
+ }),
671
+ isBuySkin: t.boolean,
672
+ tmplId: t.union([t.string, t.null]),
673
+ voiceId: t.union([t.string, t.null]),
674
+ voiceType: t.string,
675
+ displaySkin: t.type({
676
+ skinName: t.union([t.string, t.null]),
677
+ colorList: t.union([t.tuple([t.string, t.string, t.string, t.string, t.string]), t.null]),
678
+ modelName: t.union([t.string, t.null]),
679
+ drawerList: t.union([t.array(t.string), t.null]),
680
+ skinGroupId: t.union([t.string, t.null]),
681
+ skinGroupName: t.union([t.string, t.null]),
682
+ skinGroupSortIndex: t.number,
683
+ content: t.union([t.string, t.null]),
684
+ dialog: t.union([t.string, t.null]),
685
+ usage: t.union([t.string, t.null]),
686
+ description: t.union([t.string, t.null]),
687
+ obtainApproach: t.union([t.string, t.null]),
688
+ sortId: t.number,
689
+ displayTagId: t.union([t.string, t.null]),
690
+ getTime: t.number,
691
+ onYear: t.number,
692
+ onPeriod: t.number,
693
+ }),
694
+ });
695
+ exports.StageIO = t.type({
696
+ excel: t.type({
697
+ stageType: t.string,
698
+ difficulty: t.string,
699
+ performanceStageFlag: t.string,
700
+ diffGroup: t.string,
701
+ unlockCondition: t.array(t.union([
702
+ t.type({
703
+ stageId: t.string,
704
+ completeState: t.string,
705
+ }),
706
+ t.null
707
+ ])),
708
+ stageId: t.string,
709
+ levelId: t.string,
710
+ zoneId: t.string,
711
+ code: t.string,
712
+ name: t.string,
713
+ description: t.string,
714
+ hardStagedId: t.union([t.string, t.null]),
715
+ dangerLevel: t.union([t.string, t.null]),
716
+ dangerPoint: t.number,
717
+ loadingPicId: t.string,
718
+ canPractice: t.boolean,
719
+ canBattleReplay: t.boolean,
720
+ apCost: t.number,
721
+ apFailReturn: t.number,
722
+ etItemId: t.union([t.string, t.null]),
723
+ etCost: t.number,
724
+ etFailReturn: t.number,
725
+ etButtonStyle: t.union([t.string, t.null]),
726
+ apProtectTimes: t.number,
727
+ diamondOnceDrop: t.number,
728
+ practiceTicketCost: t.number,
729
+ dailyStageDifficulty: t.number,
730
+ expGain: t.number,
731
+ goldGain: t.number,
732
+ loseExpGain: t.number,
733
+ loseGoldGain: t.number,
734
+ passFavor: t.number,
735
+ completeFavor: t.number,
736
+ slProgress: t.number,
737
+ displayMainItem: t.union([t.string, t.null]),
738
+ hilightMark: t.boolean,
739
+ bossMark: t.boolean,
740
+ isPredefined: t.boolean,
741
+ isHardPredefined: t.boolean,
742
+ isSkillSelectablePredefined: t.boolean,
743
+ isStoryOnly: t.boolean,
744
+ appearanceStyle: t.string,
745
+ stageDropInfo: t.type({
746
+ firstPassRewards: t.null,
747
+ firstCompleteRewards: t.null,
748
+ passRewards: t.null,
749
+ completeRewards: t.null,
750
+ displayRewards: t.array(t.type({
751
+ type: t.string,
752
+ id: t.string,
753
+ dropType: t.string,
754
+ })),
755
+ displayDetailRewards: t.array(t.type({
756
+ occPercent: t.string,
757
+ type: t.string,
758
+ id: t.string,
759
+ dropType: t.string,
760
+ })),
761
+ }),
762
+ canUseCharm: t.boolean,
763
+ canUseTech: t.boolean,
764
+ canUseTrapTool: t.boolean,
765
+ canUseBattlePerformance: t.boolean,
766
+ startButtonOverrideId: t.union([t.string, t.null]),
767
+ isStagePatch: t.boolean,
768
+ mainStageId: t.union([t.string, t.null]),
769
+ extraCondition: t.union([
770
+ t.array(t.type({
771
+ index: t.number,
772
+ template: t.string,
773
+ unlockParam: t.array(t.string),
774
+ })),
775
+ t.null
776
+ ]),
777
+ extraInfo: t.union([
778
+ t.array(t.type({
779
+ stageId: t.string,
780
+ rewards: t.array(t.type({
781
+ id: t.string,
782
+ count: t.number,
783
+ type: t.string,
784
+ })),
785
+ progressInfo: t.type({
786
+ progressType: t.string,
787
+ descList: t.record(t.string, t.string),
788
+ })
789
+ })),
790
+ t.null
791
+ ])
792
+ }),
793
+ levels: exports.StageDataIO,
794
+ });
795
+ exports.OperatorIO = t.type({
796
+ id: t.string,
797
+ recruit: t.number,
798
+ archetype: t.string,
799
+ range: exports.GridRangeIO,
800
+ skills: t.array(exports.SkillIO),
801
+ modules: t.array(exports.ModuleIO),
802
+ skins: t.array(exports.SkinIO),
803
+ bases: t.array(t.type({
804
+ condition: t.type({
805
+ buffId: t.string,
806
+ cond: exports.OperatorUnlockCondIO,
807
+ }),
808
+ skill: exports.BaseIO,
809
+ })),
810
+ paradox: t.union([exports.ParadoxIO, t.null]),
811
+ data: t.type({
812
+ name: t.string,
813
+ description: t.string,
814
+ canUseGeneralPotentialItem: t.boolean,
815
+ potentialItemId: t.union([t.string, t.null]),
816
+ nationId: t.union([t.string, t.null]),
817
+ groupId: t.union([t.string, t.null]),
818
+ teamId: t.union([t.string, t.null]),
819
+ displayNumber: t.union([t.string, t.null]),
820
+ // tokenKey: t.string,
821
+ appellation: t.string,
822
+ position: t.string,
823
+ tagList: t.array(t.string),
824
+ itemUsage: t.union([t.string, t.null]),
825
+ itemDesc: t.union([t.string, t.null]),
826
+ itemObtainApproach: t.union([t.string, t.null]),
827
+ isNotObtainable: t.boolean,
828
+ isSpChar: t.boolean,
829
+ maxPotentialLevel: t.number,
830
+ rarity: t.string,
831
+ profession: t.string,
832
+ subProfessionId: t.string,
833
+ trait: t.union([
834
+ t.type({
835
+ candidates: t.array(t.type({
836
+ unlockCondition: exports.OperatorUnlockCondIO,
837
+ requiredPotentialRank: t.number,
838
+ blackboard: t.array(exports.BlackboardIO),
839
+ overrideDescripton: t.union([t.string, t.null]),
840
+ prefabKey: t.union([t.string, t.null]),
841
+ rangeId: t.union([t.string, t.null]),
842
+ })),
843
+ }),
844
+ t.null
845
+ ]),
846
+ phases: t.array(t.type({
847
+ characterPrefabKey: t.string,
848
+ rangeId: t.string,
849
+ maxLevel: t.number,
850
+ attributesKeyFrames: t.array(exports.AttributesKeyFrameIO),
851
+ evolveCost: t.union([t.array(exports.LevelUpCostIO), t.null]),
852
+ })),
853
+ skills: t.array(t.type({
854
+ skillId: t.string,
855
+ overridePrefabKey: t.union([t.string, t.null]),
856
+ overrideTokenKey: t.union([t.string, t.null]),
857
+ levelUpCostCond: t.array(exports.LevelUpCostCondIO),
858
+ unlockCond: exports.OperatorUnlockCondIO,
859
+ })),
860
+ talents: t.union([
861
+ t.array(t.type({
862
+ candidates: t.array(t.type({
863
+ unlockCondition: exports.OperatorUnlockCondIO,
864
+ requiredPotentialRank: t.number,
865
+ prefabKey: t.string,
866
+ name: t.string,
867
+ description: t.string,
868
+ rangeId: t.union([t.string, t.null]),
869
+ blackboard: t.array(exports.BlackboardIO),
870
+ })),
871
+ })),
872
+ t.null
873
+ ]),
874
+ potentialRanks: t.array(t.type({
875
+ type: t.string,
876
+ description: t.string,
877
+ buff: t.union([
878
+ t.type({
879
+ attributes: t.type({
880
+ abnormalFlags: t.null,
881
+ abnormalImmunes: t.null,
882
+ abnormalAntis: t.null,
883
+ abnormalCombos: t.null,
884
+ abnormalComboImmunes: t.null,
885
+ attributeModifiers: t.array(t.type({
886
+ attributeType: t.string,
887
+ formulaItem: t.string,
888
+ value: t.number,
889
+ loadFromBlackboard: t.boolean,
890
+ fetchBaseValueFromSourceEntity: t.boolean,
891
+ })),
892
+ }),
893
+ }),
894
+ t.null
895
+ ]),
896
+ equivalentCost: t.null,
897
+ })),
898
+ favorKeyFrames: t.array(exports.AttributesKeyFrameIO),
899
+ allSkillLvlup: t.array(t.type({
900
+ unlockCond: exports.OperatorUnlockCondIO,
901
+ lvlUpCost: t.union([t.array(exports.LevelUpCostIO), t.null]),
902
+ })),
903
+ }),
904
+ });