hella-types 0.0.5 → 0.0.6

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