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/.gitattributes +2 -0
- package/dist/index.d.ts +5865 -0
- package/dist/index.js +904 -0
- package/package.json +3 -3
- package/src/index.ts +474 -472
- package/tsconfig.json +9 -0
- package/types/index.d.ts +0 -35
package/src/index.ts
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import * as t from 'io-ts';
|
|
2
2
|
|
|
3
|
+
const stringIO = t.type({
|
|
4
|
+
m_defined: t.boolean,
|
|
5
|
+
m_value: t.union([t.string, t.null]),
|
|
6
|
+
});
|
|
7
|
+
const stringArrayIO = t.type({
|
|
8
|
+
m_defined: t.boolean,
|
|
9
|
+
m_value: t.union([t.array(t.string), t.null]),
|
|
10
|
+
});
|
|
11
|
+
const numberIO = t.type({
|
|
12
|
+
m_defined: t.boolean,
|
|
13
|
+
m_value: t.union([t.number, t.null]),
|
|
14
|
+
});
|
|
15
|
+
const booleanIO = t.type({
|
|
16
|
+
m_defined: t.boolean,
|
|
17
|
+
m_value: t.boolean,
|
|
18
|
+
});
|
|
19
|
+
|
|
3
20
|
export const AttributesKeyFrameIO = t.type({
|
|
4
21
|
level: t.number,
|
|
5
22
|
data: t.type({
|
|
@@ -29,94 +46,33 @@ export const AttributesKeyFrameIO = t.type({
|
|
|
29
46
|
});
|
|
30
47
|
export const BlackboardIO = t.type({
|
|
31
48
|
key: t.string,
|
|
32
|
-
value: t.union([t.number, t.
|
|
33
|
-
valueStr: t.union([t.string, t.undefined]),
|
|
49
|
+
value: t.union([t.number, t.null]),
|
|
50
|
+
valueStr: t.union([t.string, t.null, t.undefined]),
|
|
34
51
|
});
|
|
35
52
|
export const EnemyAttributesIO = t.type({
|
|
36
|
-
maxHp:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}),
|
|
60
|
-
moveSpeed: t.type({
|
|
61
|
-
m_defined: t.boolean,
|
|
62
|
-
m_value: t.number,
|
|
63
|
-
}),
|
|
64
|
-
attackSpeed: t.type({
|
|
65
|
-
m_defined: t.boolean,
|
|
66
|
-
m_value: t.number,
|
|
67
|
-
}),
|
|
68
|
-
baseAttackTime: t.type({
|
|
69
|
-
m_defined: t.boolean,
|
|
70
|
-
m_value: t.number,
|
|
71
|
-
}),
|
|
72
|
-
respawnTime: t.type({
|
|
73
|
-
m_defined: t.boolean,
|
|
74
|
-
m_value: t.number,
|
|
75
|
-
}),
|
|
76
|
-
hpRecoveryPerSec: t.type({
|
|
77
|
-
m_defined: t.boolean,
|
|
78
|
-
m_value: t.number,
|
|
79
|
-
}),
|
|
80
|
-
spRecoveryPerSec: t.type({
|
|
81
|
-
m_defined: t.boolean,
|
|
82
|
-
m_value: t.number,
|
|
83
|
-
}),
|
|
84
|
-
maxDeployCount: t.type({
|
|
85
|
-
m_defined: t.boolean,
|
|
86
|
-
m_value: t.number,
|
|
87
|
-
}),
|
|
88
|
-
massLevel: t.type({
|
|
89
|
-
m_defined: t.boolean,
|
|
90
|
-
m_value: t.number,
|
|
91
|
-
}),
|
|
92
|
-
baseForceLevel: t.type({
|
|
93
|
-
m_defined: t.boolean,
|
|
94
|
-
m_value: t.number,
|
|
95
|
-
}),
|
|
96
|
-
tauntLevel: t.type({
|
|
97
|
-
m_defined: t.boolean,
|
|
98
|
-
m_value: t.number,
|
|
99
|
-
}),
|
|
100
|
-
stunImmune: t.type({
|
|
101
|
-
m_defined: t.boolean,
|
|
102
|
-
m_value: t.boolean,
|
|
103
|
-
}),
|
|
104
|
-
silenceImmune: t.type({
|
|
105
|
-
m_defined: t.boolean,
|
|
106
|
-
m_value: t.boolean,
|
|
107
|
-
}),
|
|
108
|
-
sleepImmune: t.type({
|
|
109
|
-
m_defined: t.boolean,
|
|
110
|
-
m_value: t.boolean,
|
|
111
|
-
}),
|
|
112
|
-
frozenImmune: t.type({
|
|
113
|
-
m_defined: t.boolean,
|
|
114
|
-
m_value: t.boolean,
|
|
115
|
-
}),
|
|
116
|
-
levitateImmune: t.type({
|
|
117
|
-
m_defined: t.boolean,
|
|
118
|
-
m_value: t.boolean,
|
|
119
|
-
}),
|
|
53
|
+
maxHp: numberIO,
|
|
54
|
+
atk: numberIO,
|
|
55
|
+
def: numberIO,
|
|
56
|
+
magicResistance: numberIO,
|
|
57
|
+
cost: numberIO,
|
|
58
|
+
blockCnt: numberIO,
|
|
59
|
+
moveSpeed: numberIO,
|
|
60
|
+
attackSpeed: numberIO,
|
|
61
|
+
baseAttackTime: numberIO,
|
|
62
|
+
respawnTime: numberIO,
|
|
63
|
+
hpRecoveryPerSec: numberIO,
|
|
64
|
+
spRecoveryPerSec: numberIO,
|
|
65
|
+
maxDeployCount: numberIO,
|
|
66
|
+
massLevel: numberIO,
|
|
67
|
+
baseForceLevel: numberIO,
|
|
68
|
+
tauntLevel: t.union([numberIO, t.undefined]), // legacy
|
|
69
|
+
epDamageResistance: t.union([numberIO, t.undefined]), // legacy
|
|
70
|
+
epResistance: t.union([numberIO, t.undefined]), // ~
|
|
71
|
+
stunImmune: booleanIO,
|
|
72
|
+
silenceImmune: booleanIO,
|
|
73
|
+
sleepImmune: t.union([booleanIO, t.undefined]),
|
|
74
|
+
frozenImmune: t.union([booleanIO, t.undefined]), // legacy
|
|
75
|
+
levitateImmune: t.union([booleanIO, t.undefined]), // legacy
|
|
120
76
|
});
|
|
121
77
|
export const EnemySkillsIO = t.type({
|
|
122
78
|
prefabKey: t.string,
|
|
@@ -124,14 +80,32 @@ export const EnemySkillsIO = t.type({
|
|
|
124
80
|
cooldown: t.number,
|
|
125
81
|
initCooldown: t.number,
|
|
126
82
|
spCost: t.number,
|
|
127
|
-
blackboard: t.array(BlackboardIO),
|
|
83
|
+
blackboard: t.union([t.array(BlackboardIO), t.null]),
|
|
128
84
|
});
|
|
129
85
|
export const EnemySpDataIO = t.type({
|
|
130
|
-
spType: t.
|
|
86
|
+
spType: t.string,
|
|
131
87
|
maxSp: t.number,
|
|
132
88
|
initSp: t.number,
|
|
133
89
|
increment: t.number,
|
|
134
90
|
});
|
|
91
|
+
export const EnemyData = t.type({
|
|
92
|
+
name: stringIO,
|
|
93
|
+
description: stringIO,
|
|
94
|
+
prefabKey: stringIO,
|
|
95
|
+
attributes: EnemyAttributesIO,
|
|
96
|
+
applyWay: t.union([stringIO, t.undefined]), // legacy
|
|
97
|
+
motion: t.union([stringIO, t.undefined]), // legacy
|
|
98
|
+
enemyTags: t.union([stringArrayIO, t.undefined]), // legacy
|
|
99
|
+
lifePointReduce: numberIO,
|
|
100
|
+
levelType: t.union([stringIO, numberIO, t.undefined]), // legacy
|
|
101
|
+
rangeRadius: numberIO,
|
|
102
|
+
numOfExtraDrops: t.union([numberIO, t.undefined]), // legacy
|
|
103
|
+
viewRadius: t.union([numberIO, t.undefined]), // legacy
|
|
104
|
+
notCountInTotal: t.union([booleanIO, t.undefined]), // legacy
|
|
105
|
+
talentBlackboard: t.union([t.array(BlackboardIO), t.null]),
|
|
106
|
+
skills: t.union([t.array(EnemySkillsIO), t.null]),
|
|
107
|
+
spData: t.union([EnemySpDataIO, t.null]),
|
|
108
|
+
});
|
|
135
109
|
export const GridRangeIO = t.type({
|
|
136
110
|
id: t.string,
|
|
137
111
|
direction: t.number,
|
|
@@ -204,13 +178,13 @@ export const WorkshopFormulaIO = t.type({
|
|
|
204
178
|
),
|
|
205
179
|
});
|
|
206
180
|
export const OperatorUnlockCondIO = t.type({
|
|
207
|
-
phase: t.string,
|
|
181
|
+
phase: t.union([t.string, t.number]),
|
|
208
182
|
level: t.number,
|
|
209
183
|
});
|
|
210
184
|
export const LevelUpCostCondIO = t.type({
|
|
211
185
|
unlockCond: OperatorUnlockCondIO,
|
|
212
186
|
lvlUpTime: t.number,
|
|
213
|
-
levelUpCost: t.array(LevelUpCostIO),
|
|
187
|
+
levelUpCost: t.union([t.array(LevelUpCostIO), t.null]),
|
|
214
188
|
});
|
|
215
189
|
export const StageDefinesIO = t.type({
|
|
216
190
|
characterInsts: t.array(t.any),
|
|
@@ -220,27 +194,30 @@ export const StageDefinesIO = t.type({
|
|
|
220
194
|
row: t.number,
|
|
221
195
|
col: t.number,
|
|
222
196
|
}),
|
|
223
|
-
direction: t.number,
|
|
197
|
+
direction: t.union([t.string, t.number]), // legacy
|
|
224
198
|
hidden: t.boolean,
|
|
225
|
-
alias: t.string,
|
|
226
|
-
uniEquipIds: t.
|
|
227
|
-
t.
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
199
|
+
alias: t.union([t.string, t.null]),
|
|
200
|
+
uniEquipIds: t.union([
|
|
201
|
+
t.array(
|
|
202
|
+
t.type({
|
|
203
|
+
key: t.string,
|
|
204
|
+
level: t.number,
|
|
205
|
+
})
|
|
206
|
+
),
|
|
207
|
+
t.null, t.undefined] // legacy
|
|
231
208
|
),
|
|
232
209
|
inst: t.type({
|
|
233
210
|
characterKey: t.string,
|
|
234
211
|
level: t.number,
|
|
235
|
-
phase: t.number,
|
|
212
|
+
phase: t.union([t.string, t.number]), // legacy
|
|
236
213
|
favorPoint: t.number,
|
|
237
214
|
potentialRank: t.number,
|
|
238
215
|
}),
|
|
239
216
|
skillIndex: t.number,
|
|
240
217
|
mainSkillLvl: t.number,
|
|
241
|
-
skinId: t.string,
|
|
242
|
-
tmplId: t.string,
|
|
243
|
-
overrideSkillBlackboard: t.array(BlackboardIO),
|
|
218
|
+
skinId: t.union([t.string, t.null]),
|
|
219
|
+
tmplId: t.union([t.string, t.null, t.undefined]),
|
|
220
|
+
overrideSkillBlackboard: t.union([t.array(BlackboardIO), t.null, t.undefined]),
|
|
244
221
|
})
|
|
245
222
|
),
|
|
246
223
|
characterCards: t.array(t.any),
|
|
@@ -253,8 +230,34 @@ export const StageEffectIO = t.type({
|
|
|
253
230
|
y: t.number,
|
|
254
231
|
z: t.number,
|
|
255
232
|
}),
|
|
256
|
-
direction: t.number,
|
|
233
|
+
direction: t.union([t.string, t.number]), // legacy
|
|
257
234
|
});
|
|
235
|
+
export const StageActionIO = t.type({
|
|
236
|
+
preDelay: t.number,
|
|
237
|
+
actions: t.array(
|
|
238
|
+
t.type({
|
|
239
|
+
actionType: t.union([t.string, t.number]), // legacy
|
|
240
|
+
managedByScheduler: t.boolean,
|
|
241
|
+
key: t.string,
|
|
242
|
+
count: t.number,
|
|
243
|
+
preDelay: t.number,
|
|
244
|
+
interval: t.number,
|
|
245
|
+
routeIndex: t.number,
|
|
246
|
+
blockFragment: t.boolean,
|
|
247
|
+
autoPreviewRoute: t.boolean,
|
|
248
|
+
autoDisplayEnemyInfo: t.union([t.boolean, t.undefined]), // legacy
|
|
249
|
+
isUnharmfulAndAlwaysCountAsKilled: t.boolean,
|
|
250
|
+
hiddenGroup: t.union([t.string, t.null]),
|
|
251
|
+
randomSpawnGroupKey: t.union([t.string, t.null, t.undefined]), // legacy
|
|
252
|
+
randomSpawnGroupPackKey: t.union([t.string, t.null, t.undefined]), // legacy
|
|
253
|
+
randomType: t.union([t.string, t.number, t.undefined]), // legacy
|
|
254
|
+
weight: t.union([t.number, t.undefined]), // legacy
|
|
255
|
+
dontBlockWave: t.union([t.boolean, t.undefined]), // legacy
|
|
256
|
+
isValid: t.union([t.boolean, t.undefined]), // legacy
|
|
257
|
+
extraMeta: t.union([t.null, t.undefined]), // legacy
|
|
258
|
+
})
|
|
259
|
+
),
|
|
260
|
+
})
|
|
258
261
|
export const StageDataIO = t.type({
|
|
259
262
|
options: t.type({
|
|
260
263
|
characterLimit: t.number,
|
|
@@ -265,126 +268,114 @@ export const StageDataIO = t.type({
|
|
|
265
268
|
moveMultiplier: t.number,
|
|
266
269
|
steeringEnabled: t.boolean,
|
|
267
270
|
isTrainingLevel: t.boolean,
|
|
268
|
-
isHardTrainingLevel: t.boolean,
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
271
|
+
isHardTrainingLevel: t.union([t.boolean, t.undefined]), // legacy
|
|
272
|
+
isPredefinedCardsSelectable: t.union([t.boolean, t.undefined]), // legacy
|
|
273
|
+
maxPlayTime: t.union([t.number, t.undefined]), // legacy
|
|
274
|
+
functionDisableMask: t.union([t.string, t.number]),
|
|
275
|
+
configBlackBoard: t.union([t.array(BlackboardIO), t.null, t.undefined]), // legacy
|
|
276
|
+
}),
|
|
277
|
+
levelId: t.union([t.string, t.null]),
|
|
278
|
+
mapId: t.union([t.string, t.null]),
|
|
279
|
+
bgmEvent: t.union([t.string, t.null]),
|
|
280
|
+
environmentSe: t.union([t.string, t.null]),
|
|
275
281
|
mapData: t.type({
|
|
276
282
|
map: t.array(t.array(t.number)),
|
|
277
283
|
tiles: t.array(
|
|
278
284
|
t.type({
|
|
279
285
|
tileKey: t.string,
|
|
280
|
-
heightType: t.number,
|
|
281
|
-
buildableType: t.number,
|
|
282
|
-
passableMask: t.number,
|
|
283
|
-
playerSideMask: t.number,
|
|
284
|
-
blackboard: BlackboardIO,
|
|
285
|
-
effects: t.array(StageEffectIO),
|
|
286
|
+
heightType: t.union([t.string, t.number]), // keep number for legacy stages (monster hunter, vignettes, etc.)
|
|
287
|
+
buildableType: t.union([t.string, t.number]), // ~
|
|
288
|
+
passableMask: t.union([t.string, t.number]), // ~
|
|
289
|
+
playerSideMask: t.union([t.string, t.number, t.undefined]), // ~
|
|
290
|
+
blackboard: t.union([t.array(BlackboardIO), t.null]),
|
|
291
|
+
effects: t.union([t.array(StageEffectIO), t.null]),
|
|
286
292
|
})
|
|
287
293
|
),
|
|
288
|
-
blockEdges: t.null,
|
|
289
|
-
tags: t.array(t.string),
|
|
290
|
-
effects: t.array(StageEffectIO),
|
|
291
|
-
layerRects: t.
|
|
292
|
-
width: t.number,
|
|
293
|
-
height: t.number,
|
|
294
|
+
blockEdges: t.union([t.array(t.any), t.null]),
|
|
295
|
+
tags: t.union([t.array(t.string), t.null]),
|
|
296
|
+
effects: t.union([t.array(StageEffectIO), t.null]),
|
|
297
|
+
layerRects: t.union([t.null, t.undefined]),
|
|
294
298
|
}),
|
|
295
299
|
tilesDisallowToLocate: t.array(t.any),
|
|
296
|
-
runes: t.
|
|
297
|
-
t.
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
t.
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
300
|
+
runes: t.union([
|
|
301
|
+
t.array(
|
|
302
|
+
t.type({
|
|
303
|
+
difficultyMask: t.union([t.string, t.number]), // legacy
|
|
304
|
+
key: t.string,
|
|
305
|
+
professionMask: t.union([t.string, t.number, t.undefined]), // legacy
|
|
306
|
+
buildableMask: t.union([t.string, t.number]), // legacy
|
|
307
|
+
blackboard: t.array(BlackboardIO),
|
|
308
|
+
})
|
|
309
|
+
),
|
|
310
|
+
t.null
|
|
311
|
+
]),
|
|
312
|
+
globalBuffs: t.union([
|
|
313
|
+
t.array(
|
|
314
|
+
t.type({
|
|
315
|
+
prefabKey: t.string,
|
|
316
|
+
blackboard: t.union([t.array(BlackboardIO), t.null]),
|
|
317
|
+
overrideCameraEffect: t.null,
|
|
318
|
+
passProfessionMaskFlag: t.union([t.boolean, t.undefined]),
|
|
319
|
+
professionMask: t.union([t.string, t.number, t.undefined]),
|
|
320
|
+
})
|
|
321
|
+
),
|
|
322
|
+
t.null
|
|
323
|
+
]),
|
|
314
324
|
routes: t.array(
|
|
315
|
-
t.
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
325
|
+
t.union([
|
|
326
|
+
t.type({
|
|
327
|
+
motionMode: t.union([t.string, t.number]), // keep number for legacy
|
|
328
|
+
startPosition: t.type({
|
|
329
|
+
row: t.number,
|
|
330
|
+
col: t.number,
|
|
331
|
+
}),
|
|
332
|
+
endPosition: t.type({
|
|
333
|
+
row: t.number,
|
|
334
|
+
col: t.number,
|
|
335
|
+
}),
|
|
336
|
+
spawnRandomRange: t.type({
|
|
337
|
+
x: t.number,
|
|
338
|
+
y: t.number,
|
|
339
|
+
}),
|
|
340
|
+
spawnOffset: t.type({
|
|
341
|
+
x: t.number,
|
|
342
|
+
y: t.number,
|
|
343
|
+
}),
|
|
344
|
+
checkpoints: t.union([
|
|
345
|
+
t.array(
|
|
346
|
+
t.type({
|
|
347
|
+
type: t.union([t.string, t.number]), // keep number for legacy
|
|
348
|
+
time: t.number,
|
|
349
|
+
position: t.type({
|
|
350
|
+
row: t.number,
|
|
351
|
+
col: t.number,
|
|
352
|
+
}),
|
|
353
|
+
reachOffset: t.type({
|
|
354
|
+
x: t.number,
|
|
355
|
+
y: t.number,
|
|
356
|
+
}),
|
|
357
|
+
randomizeReachOffset: t.boolean,
|
|
358
|
+
reachDistance: t.number,
|
|
359
|
+
})
|
|
360
|
+
),
|
|
361
|
+
t.null
|
|
362
|
+
]),
|
|
363
|
+
allowDiagonalMove: t.boolean,
|
|
364
|
+
visitEveryTileCenter: t.boolean,
|
|
365
|
+
visitEveryNodeCenter: t.boolean,
|
|
366
|
+
visitEveryCheckPoint: t.union([t.boolean, t.undefined]), // legacy
|
|
332
367
|
}),
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
type: t.number,
|
|
336
|
-
time: t.number,
|
|
337
|
-
position: t.type({
|
|
338
|
-
row: t.number,
|
|
339
|
-
col: t.number,
|
|
340
|
-
}),
|
|
341
|
-
reachOffset: t.type({
|
|
342
|
-
x: t.number,
|
|
343
|
-
y: t.number,
|
|
344
|
-
}),
|
|
345
|
-
randomizeReachOffset: t.boolean,
|
|
346
|
-
reachDistance: t.number,
|
|
347
|
-
})
|
|
348
|
-
),
|
|
349
|
-
allowDiagonalMove: t.boolean,
|
|
350
|
-
visitEveryTileCenter: t.boolean,
|
|
351
|
-
visitEveryNodeCenter: t.boolean,
|
|
352
|
-
visitEveryCheckPoint: t.boolean,
|
|
353
|
-
})
|
|
368
|
+
t.null // legacy
|
|
369
|
+
])
|
|
354
370
|
),
|
|
355
|
-
extraRoutes: t.array(t.any),
|
|
371
|
+
extraRoutes: t.union([t.array(t.any), t.undefined]),
|
|
356
372
|
enemies: t.array(t.any),
|
|
357
373
|
enemyDbRefs: t.array(
|
|
358
374
|
t.type({
|
|
359
375
|
useDb: t.boolean,
|
|
360
376
|
id: t.string,
|
|
361
377
|
level: t.number,
|
|
362
|
-
overwrittenData: t.
|
|
363
|
-
name: t.type({
|
|
364
|
-
m_defined: t.boolean,
|
|
365
|
-
m_value: t.number,
|
|
366
|
-
}),
|
|
367
|
-
description: t.type({
|
|
368
|
-
m_defined: t.boolean,
|
|
369
|
-
m_value: t.number,
|
|
370
|
-
}),
|
|
371
|
-
prefabKey: t.type({
|
|
372
|
-
m_defined: t.boolean,
|
|
373
|
-
m_value: t.number,
|
|
374
|
-
}),
|
|
375
|
-
attributes: EnemyAttributesIO,
|
|
376
|
-
lifePointReduce: t.type({
|
|
377
|
-
m_defined: t.boolean,
|
|
378
|
-
m_value: t.number,
|
|
379
|
-
}),
|
|
380
|
-
rangeRadius: t.type({
|
|
381
|
-
m_defined: t.boolean,
|
|
382
|
-
m_value: t.number,
|
|
383
|
-
}),
|
|
384
|
-
talentBlackboard: t.array(BlackboardIO),
|
|
385
|
-
skills: t.array(EnemySkillsIO),
|
|
386
|
-
spData: EnemySpDataIO,
|
|
387
|
-
}),
|
|
378
|
+
overwrittenData: t.union([EnemyData, t.null]),
|
|
388
379
|
})
|
|
389
380
|
),
|
|
390
381
|
waves: t.array(
|
|
@@ -392,69 +383,30 @@ export const StageDataIO = t.type({
|
|
|
392
383
|
preDelay: t.number,
|
|
393
384
|
postDelay: t.number,
|
|
394
385
|
maxTimeWaitingForNextWave: t.number,
|
|
395
|
-
fragments: t.array(
|
|
396
|
-
|
|
397
|
-
preDelay: t.number,
|
|
398
|
-
actions: t.array(
|
|
399
|
-
t.type({
|
|
400
|
-
actionType: t.number,
|
|
401
|
-
managedByScheduler: t.boolean,
|
|
402
|
-
key: t.string,
|
|
403
|
-
count: t.number,
|
|
404
|
-
preDelay: t.number,
|
|
405
|
-
interval: t.number,
|
|
406
|
-
routeIndex: t.number,
|
|
407
|
-
blockFragment: t.boolean,
|
|
408
|
-
autoPreviewRoute: t.boolean,
|
|
409
|
-
isUnharmfulAndAlwaysCountAsKilled: t.boolean,
|
|
410
|
-
hiddenGroup: t.string,
|
|
411
|
-
randomSpawnGroupKey: t.string,
|
|
412
|
-
weight: t.number,
|
|
413
|
-
dontBlockWave: t.boolean,
|
|
414
|
-
})
|
|
415
|
-
),
|
|
416
|
-
name: t.string,
|
|
417
|
-
})
|
|
418
|
-
),
|
|
386
|
+
fragments: t.array(StageActionIO),
|
|
387
|
+
advancedWaveTag: t.union([t.string, t.null, t.undefined]), // legacy
|
|
419
388
|
})
|
|
420
389
|
),
|
|
421
|
-
branches: t.
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
preDelay: t.number,
|
|
433
|
-
interval: t.number,
|
|
434
|
-
routeIndex: t.number,
|
|
435
|
-
blockFragment: t.boolean,
|
|
436
|
-
autoPreviewRoute: t.boolean,
|
|
437
|
-
isUnharmfulAndAlwaysCountAsKilled: t.boolean,
|
|
438
|
-
hiddenGroup: t.string,
|
|
439
|
-
randomSpawnGroupKey: t.string,
|
|
440
|
-
weight: t.number,
|
|
441
|
-
weightValue: t.number,
|
|
442
|
-
})
|
|
443
|
-
),
|
|
444
|
-
})
|
|
445
|
-
),
|
|
446
|
-
}),
|
|
447
|
-
}),
|
|
448
|
-
predefines: StageDefinesIO,
|
|
449
|
-
hardPredefines: StageDefinesIO,
|
|
390
|
+
branches: t.union([
|
|
391
|
+
t.record(
|
|
392
|
+
t.string,
|
|
393
|
+
t.type({
|
|
394
|
+
phases: t.array(StageActionIO),
|
|
395
|
+
}),
|
|
396
|
+
),
|
|
397
|
+
t.null
|
|
398
|
+
]),
|
|
399
|
+
predefines: t.union([StageDefinesIO, t.null]),
|
|
400
|
+
hardPredefines: t.union([StageDefinesIO, t.null, t.undefined]),
|
|
450
401
|
excludeCharIdList: t.null,
|
|
451
402
|
randomSeed: t.number,
|
|
452
|
-
operaConfig: t.string,
|
|
403
|
+
operaConfig: t.union([t.string, t.null, t.undefined]),
|
|
404
|
+
runtimeData: t.union([t.null, t.undefined]), // legacy
|
|
453
405
|
});
|
|
454
406
|
export const RogueRelicIO = t.type({
|
|
455
407
|
id: t.string,
|
|
456
408
|
name: t.string,
|
|
457
|
-
description: t.string,
|
|
409
|
+
description: t.union([t.string, t.null]),
|
|
458
410
|
usage: t.string,
|
|
459
411
|
obtainApproach: t.string,
|
|
460
412
|
iconId: t.string,
|
|
@@ -464,7 +416,7 @@ export const RogueRelicIO = t.type({
|
|
|
464
416
|
value: t.number,
|
|
465
417
|
sortId: t.number,
|
|
466
418
|
canSacrifice: t.boolean,
|
|
467
|
-
unlockCondDesc: t.string,
|
|
419
|
+
unlockCondDesc: t.union([t.string, t.null]),
|
|
468
420
|
});
|
|
469
421
|
export const RogueStageIO = t.type({
|
|
470
422
|
excel: t.type({
|
|
@@ -475,11 +427,11 @@ export const RogueStageIO = t.type({
|
|
|
475
427
|
name: t.string,
|
|
476
428
|
loadingPicId: t.string,
|
|
477
429
|
description: t.string,
|
|
478
|
-
eliteDesc: t.string,
|
|
430
|
+
eliteDesc: t.union([t.string, t.null]),
|
|
479
431
|
isBoss: t.number,
|
|
480
432
|
isElite: t.number,
|
|
481
433
|
difficulty: t.string,
|
|
482
|
-
capsulePool: t.string,
|
|
434
|
+
capsulePool: t.union([t.string, t.null]),
|
|
483
435
|
capsuleProb: t.number,
|
|
484
436
|
vutresProb: t.array(t.number),
|
|
485
437
|
boxProb: t.array(t.number),
|
|
@@ -493,8 +445,8 @@ export const RogueVariationIO = t.type({
|
|
|
493
445
|
innerName: t.string,
|
|
494
446
|
functionDesc: t.string,
|
|
495
447
|
desc: t.string,
|
|
496
|
-
iconId: t.string,
|
|
497
|
-
sound: t.string,
|
|
448
|
+
iconId: t.union([t.string, t.null]),
|
|
449
|
+
sound: t.union([t.string, t.null]),
|
|
498
450
|
});
|
|
499
451
|
export const SandboxStageIO = t.type({
|
|
500
452
|
excel: t.type({
|
|
@@ -539,18 +491,13 @@ export const EnemyIO = t.type({
|
|
|
539
491
|
excel: t.type({
|
|
540
492
|
enemyId: t.string,
|
|
541
493
|
enemyIndex: t.string,
|
|
542
|
-
enemyTags: t.array(t.string),
|
|
494
|
+
enemyTags: t.union([t.array(t.string), t.null]),
|
|
543
495
|
sortId: t.number,
|
|
544
496
|
name: t.string,
|
|
545
|
-
enemyRace: t.string,
|
|
546
497
|
enemyLevel: t.string,
|
|
547
498
|
description: t.string,
|
|
548
|
-
attackType: t.
|
|
549
|
-
|
|
550
|
-
attack: t.string,
|
|
551
|
-
defence: t.string,
|
|
552
|
-
resistance: t.string,
|
|
553
|
-
ability: t.string,
|
|
499
|
+
attackType: t.null,
|
|
500
|
+
ability: t.null,
|
|
554
501
|
isInvalidKilled: t.boolean,
|
|
555
502
|
overrideKillCntInfos: t.record(t.string, t.any),
|
|
556
503
|
hideInHandbook: t.boolean,
|
|
@@ -560,40 +507,7 @@ export const EnemyIO = t.type({
|
|
|
560
507
|
Value: t.array(
|
|
561
508
|
t.type({
|
|
562
509
|
level: t.number,
|
|
563
|
-
enemyData:
|
|
564
|
-
name: t.type({
|
|
565
|
-
m_defined: t.boolean,
|
|
566
|
-
m_value: t.string,
|
|
567
|
-
}),
|
|
568
|
-
description: t.type({
|
|
569
|
-
m_defined: t.boolean,
|
|
570
|
-
m_value: t.string,
|
|
571
|
-
}),
|
|
572
|
-
prefabKey: t.type({
|
|
573
|
-
m_defined: t.boolean,
|
|
574
|
-
m_value: t.string,
|
|
575
|
-
}),
|
|
576
|
-
attributes: EnemyAttributesIO,
|
|
577
|
-
lifePointReduce: t.type({
|
|
578
|
-
m_defined: t.boolean,
|
|
579
|
-
m_value: t.number,
|
|
580
|
-
}),
|
|
581
|
-
levelType: t.type({
|
|
582
|
-
m_defined: t.boolean,
|
|
583
|
-
m_value: t.number,
|
|
584
|
-
}),
|
|
585
|
-
rangeRadius: t.type({
|
|
586
|
-
m_defined: t.boolean,
|
|
587
|
-
m_value: t.number,
|
|
588
|
-
}),
|
|
589
|
-
numOfExtraDrops: t.type({
|
|
590
|
-
m_defined: t.boolean,
|
|
591
|
-
m_value: t.number,
|
|
592
|
-
}),
|
|
593
|
-
talentBlackboard: t.array(BlackboardIO),
|
|
594
|
-
skills: t.array(EnemySkillsIO),
|
|
595
|
-
spData: EnemySpDataIO,
|
|
596
|
-
}),
|
|
510
|
+
enemyData: EnemyData,
|
|
597
511
|
})
|
|
598
512
|
),
|
|
599
513
|
}),
|
|
@@ -608,22 +522,22 @@ export const GameEventIO = t.type({
|
|
|
608
522
|
rewardEndTime: t.number,
|
|
609
523
|
displayOnHome: t.boolean,
|
|
610
524
|
hasStage: t.boolean,
|
|
611
|
-
templateShopId: t.string,
|
|
612
|
-
medalGroupId: t.string,
|
|
525
|
+
templateShopId: t.union([t.string, t.null]),
|
|
526
|
+
medalGroupId: t.union([t.string, t.null]),
|
|
613
527
|
isReplicate: t.boolean,
|
|
614
528
|
});
|
|
615
529
|
export const ItemIO = t.type({
|
|
616
530
|
data: t.type({
|
|
617
531
|
itemId: t.string,
|
|
618
532
|
name: t.string,
|
|
619
|
-
description: t.string,
|
|
620
|
-
rarity: t.
|
|
533
|
+
description: t.union([t.string, t.null]),
|
|
534
|
+
rarity: t.string,
|
|
621
535
|
iconId: t.string,
|
|
622
536
|
overrideBkg: t.null,
|
|
623
|
-
stackIconId: t.string,
|
|
537
|
+
stackIconId: t.union([t.string, t.null]),
|
|
624
538
|
sortId: t.number,
|
|
625
|
-
usage: t.string,
|
|
626
|
-
obtainApproach: t.string,
|
|
539
|
+
usage: t.union([t.string, t.null]),
|
|
540
|
+
obtainApproach: t.union([t.string, t.null]),
|
|
627
541
|
classifyType: t.string,
|
|
628
542
|
itemType: t.string,
|
|
629
543
|
stageDropList: t.array(
|
|
@@ -639,7 +553,7 @@ export const ItemIO = t.type({
|
|
|
639
553
|
})
|
|
640
554
|
),
|
|
641
555
|
}),
|
|
642
|
-
formula: t.union([ManufactFormulaIO, WorkshopFormulaIO]),
|
|
556
|
+
formula: t.union([ManufactFormulaIO, WorkshopFormulaIO, t.null]),
|
|
643
557
|
});
|
|
644
558
|
export const ModuleIO = t.type({
|
|
645
559
|
info: t.type({
|
|
@@ -649,66 +563,75 @@ export const ModuleIO = t.type({
|
|
|
649
563
|
uniEquipDesc: t.string,
|
|
650
564
|
typeIcon: t.string,
|
|
651
565
|
typeName1: t.string,
|
|
652
|
-
typeName2: t.string,
|
|
566
|
+
typeName2: t.union([t.string, t.null]),
|
|
653
567
|
equipShiningColor: t.string,
|
|
654
|
-
showEvolvePhase: t.
|
|
655
|
-
unlockEvolvePhase: t.
|
|
568
|
+
showEvolvePhase: t.string,
|
|
569
|
+
unlockEvolvePhase: t.string,
|
|
656
570
|
charId: t.string,
|
|
657
|
-
tmplId: t.string,
|
|
571
|
+
tmplId: t.union([t.string, t.null]),
|
|
658
572
|
showLevel: t.number,
|
|
659
573
|
unlockLevel: t.number,
|
|
660
574
|
unlockFavorPoint: t.number,
|
|
661
575
|
missionList: t.array(t.string),
|
|
662
|
-
itemCost: t.record(t.string, t.array(LevelUpCostIO)),
|
|
576
|
+
itemCost: t.union([t.record(t.string, t.array(LevelUpCostIO)), t.null]),
|
|
663
577
|
type: t.string,
|
|
664
578
|
uniEquipGetTime: t.number,
|
|
665
579
|
charEquipOrder: t.number,
|
|
666
580
|
}),
|
|
667
|
-
data: t.
|
|
668
|
-
|
|
669
|
-
t.
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
t.
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
t.
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
581
|
+
data: t.union([
|
|
582
|
+
t.type({
|
|
583
|
+
phases: t.array(
|
|
584
|
+
t.type({
|
|
585
|
+
equipLevel: t.number,
|
|
586
|
+
parts: t.array(
|
|
587
|
+
t.type({
|
|
588
|
+
resKey: t.union([t.string, t.null]),
|
|
589
|
+
target: t.string,
|
|
590
|
+
isToken: t.boolean,
|
|
591
|
+
addOrOverrideTalentDataBundle: t.type({
|
|
592
|
+
candidates: t.union([
|
|
593
|
+
t.array(
|
|
594
|
+
t.type({
|
|
595
|
+
displayRangeId: t.boolean,
|
|
596
|
+
upgradeDescription: t.string,
|
|
597
|
+
talentIndex: t.number,
|
|
598
|
+
unlockCondition: OperatorUnlockCondIO,
|
|
599
|
+
requiredPotentialRank: t.number,
|
|
600
|
+
prefabKey: t.string,
|
|
601
|
+
name: t.union([t.string, t.null]),
|
|
602
|
+
description: t.union([t.string, t.null]),
|
|
603
|
+
rangeId: t.union([t.string, t.null]),
|
|
604
|
+
blackboard: t.array(BlackboardIO),
|
|
605
|
+
})
|
|
606
|
+
),
|
|
607
|
+
t.null
|
|
608
|
+
]),
|
|
609
|
+
}),
|
|
610
|
+
overrideTraitDataBundle: t.type({
|
|
611
|
+
candidates: t.union([
|
|
612
|
+
t.array(
|
|
613
|
+
t.type({
|
|
614
|
+
additionalDescription: t.union([t.string, t.null]),
|
|
615
|
+
unlockCondition: OperatorUnlockCondIO,
|
|
616
|
+
requiredPotentialRank: t.number,
|
|
617
|
+
blackboard: t.array(BlackboardIO),
|
|
618
|
+
overrideDescripton: t.union([t.string, t.null]),
|
|
619
|
+
prefabKey: t.union([t.string, t.null]),
|
|
620
|
+
rangeId: t.union([t.string, t.null]),
|
|
621
|
+
})
|
|
622
|
+
),
|
|
623
|
+
t.null
|
|
624
|
+
]),
|
|
625
|
+
}),
|
|
626
|
+
})
|
|
627
|
+
),
|
|
628
|
+
attributeBlackboard: t.array(BlackboardIO),
|
|
629
|
+
tokenAttributeBlackboard: t.record(t.string, t.array(BlackboardIO)),
|
|
630
|
+
})
|
|
631
|
+
),
|
|
632
|
+
}),
|
|
633
|
+
t.null
|
|
634
|
+
]),
|
|
712
635
|
});
|
|
713
636
|
export const ParadoxIO = t.type({
|
|
714
637
|
excel: t.type({
|
|
@@ -722,7 +645,7 @@ export const ParadoxIO = t.type({
|
|
|
722
645
|
description: t.string,
|
|
723
646
|
unlockParam: t.array(
|
|
724
647
|
t.type({
|
|
725
|
-
unlockType: t.
|
|
648
|
+
unlockType: t.string,
|
|
726
649
|
unlockParam1: t.string,
|
|
727
650
|
unlockParam2: t.string,
|
|
728
651
|
unlockParam3: t.null,
|
|
@@ -754,24 +677,24 @@ export const SandboxActIO = t.type({
|
|
|
754
677
|
});
|
|
755
678
|
export const SkillIO = t.type({
|
|
756
679
|
skillId: t.string,
|
|
757
|
-
iconId: t.string,
|
|
680
|
+
iconId: t.union([t.string, t.null]),
|
|
758
681
|
hidden: t.boolean,
|
|
759
682
|
levels: t.array(
|
|
760
683
|
t.type({
|
|
761
684
|
name: t.string,
|
|
762
|
-
rangeId: t.string,
|
|
763
|
-
description: t.string,
|
|
685
|
+
rangeId: t.union([t.string, t.null]),
|
|
686
|
+
description: t.union([t.string, t.null]),
|
|
764
687
|
skillType: t.string,
|
|
765
|
-
durationType: t.
|
|
688
|
+
durationType: t.string,
|
|
766
689
|
spData: t.type({
|
|
767
|
-
spType: t.string,
|
|
690
|
+
spType: t.union([t.string, t.number]),
|
|
768
691
|
levelUpCost: t.null,
|
|
769
692
|
maxChargeTime: t.number,
|
|
770
693
|
spCost: t.number,
|
|
771
694
|
initSp: t.number,
|
|
772
695
|
increment: t.number,
|
|
773
696
|
}),
|
|
774
|
-
prefabId: t.string,
|
|
697
|
+
prefabId: t.union([t.string, t.null]),
|
|
775
698
|
duration: t.number,
|
|
776
699
|
blackboard: t.array(BlackboardIO),
|
|
777
700
|
})
|
|
@@ -780,43 +703,45 @@ export const SkillIO = t.type({
|
|
|
780
703
|
export const SkinIO = t.type({
|
|
781
704
|
skinId: t.string,
|
|
782
705
|
charId: t.string,
|
|
783
|
-
tokenSkinMap: t.
|
|
784
|
-
t.
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
706
|
+
tokenSkinMap: t.union([
|
|
707
|
+
t.array(
|
|
708
|
+
t.type({
|
|
709
|
+
tokenId: t.string,
|
|
710
|
+
tokenSkinId: t.string,
|
|
711
|
+
})
|
|
712
|
+
),
|
|
713
|
+
t.null
|
|
714
|
+
]),
|
|
715
|
+
illustId: t.union([t.string, t.null]),
|
|
716
|
+
dynIllustId: t.union([t.string, t.null]),
|
|
791
717
|
avatarId: t.string,
|
|
792
|
-
portraitId: t.string,
|
|
793
|
-
dynPortraitId: t.string,
|
|
794
|
-
dynEntranceId: t.string,
|
|
795
|
-
buildingId: t.string,
|
|
718
|
+
portraitId: t.union([t.string, t.null]),
|
|
719
|
+
dynPortraitId: t.union([t.string, t.null]),
|
|
720
|
+
dynEntranceId: t.union([t.string, t.null]),
|
|
721
|
+
buildingId: t.union([t.string, t.null]),
|
|
796
722
|
battleSkin: t.type({
|
|
797
723
|
overwritePrefab: t.boolean,
|
|
798
|
-
skinOrPrefabId: t.string,
|
|
724
|
+
skinOrPrefabId: t.union([t.string, t.null]),
|
|
799
725
|
}),
|
|
800
726
|
isBuySkin: t.boolean,
|
|
801
|
-
tmplId: t.string,
|
|
802
|
-
voiceId: t.string,
|
|
727
|
+
tmplId: t.union([t.string, t.null]),
|
|
728
|
+
voiceId: t.union([t.string, t.null]),
|
|
803
729
|
voiceType: t.string,
|
|
804
730
|
displaySkin: t.type({
|
|
805
|
-
skinName: t.string,
|
|
806
|
-
colorList: t.tuple([t.string, t.string, t.string, t.string, t.string]),
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
skinGroupName: t.string,
|
|
731
|
+
skinName: t.union([t.string, t.null]),
|
|
732
|
+
colorList: t.union([t.tuple([t.string, t.string, t.string, t.string, t.string]), t.null]),
|
|
733
|
+
modelName: t.union([t.string, t.null]),
|
|
734
|
+
drawerList: t.union([t.array(t.string), t.null]),
|
|
735
|
+
skinGroupId: t.union([t.string, t.null]),
|
|
736
|
+
skinGroupName: t.union([t.string, t.null]),
|
|
812
737
|
skinGroupSortIndex: t.number,
|
|
813
|
-
content: t.string,
|
|
814
|
-
dialog: t.string,
|
|
815
|
-
usage: t.string,
|
|
816
|
-
description: t.string,
|
|
817
|
-
obtainApproach: t.string,
|
|
738
|
+
content: t.union([t.string, t.null]),
|
|
739
|
+
dialog: t.union([t.string, t.null]),
|
|
740
|
+
usage: t.union([t.string, t.null]),
|
|
741
|
+
description: t.union([t.string, t.null]),
|
|
742
|
+
obtainApproach: t.union([t.string, t.null]),
|
|
818
743
|
sortId: t.number,
|
|
819
|
-
displayTagId: t.string,
|
|
744
|
+
displayTagId: t.union([t.string, t.null]),
|
|
820
745
|
getTime: t.number,
|
|
821
746
|
onYear: t.number,
|
|
822
747
|
onPeriod: t.number,
|
|
@@ -829,10 +754,13 @@ export const StageIO = t.type({
|
|
|
829
754
|
performanceStageFlag: t.string,
|
|
830
755
|
diffGroup: t.string,
|
|
831
756
|
unlockCondition: t.array(
|
|
832
|
-
t.
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
757
|
+
t.union([
|
|
758
|
+
t.type({
|
|
759
|
+
stageId: t.string,
|
|
760
|
+
completeState: t.string,
|
|
761
|
+
}),
|
|
762
|
+
t.null
|
|
763
|
+
])
|
|
836
764
|
),
|
|
837
765
|
stageId: t.string,
|
|
838
766
|
levelId: t.string,
|
|
@@ -840,18 +768,18 @@ export const StageIO = t.type({
|
|
|
840
768
|
code: t.string,
|
|
841
769
|
name: t.string,
|
|
842
770
|
description: t.string,
|
|
843
|
-
hardStagedId: t.string,
|
|
844
|
-
dangerLevel: t.string,
|
|
771
|
+
hardStagedId: t.union([t.string, t.null]),
|
|
772
|
+
dangerLevel: t.union([t.string, t.null]),
|
|
845
773
|
dangerPoint: t.number,
|
|
846
774
|
loadingPicId: t.string,
|
|
847
775
|
canPractice: t.boolean,
|
|
848
776
|
canBattleReplay: t.boolean,
|
|
849
777
|
apCost: t.number,
|
|
850
778
|
apFailReturn: t.number,
|
|
851
|
-
etItemId: t.string,
|
|
779
|
+
etItemId: t.union([t.string, t.null]),
|
|
852
780
|
etCost: t.number,
|
|
853
781
|
etFailReturn: t.number,
|
|
854
|
-
etButtonStyle: t.string,
|
|
782
|
+
etButtonStyle: t.union([t.string, t.null]),
|
|
855
783
|
apProtectTimes: t.number,
|
|
856
784
|
diamondOnceDrop: t.number,
|
|
857
785
|
practiceTicketCost: t.number,
|
|
@@ -863,14 +791,14 @@ export const StageIO = t.type({
|
|
|
863
791
|
passFavor: t.number,
|
|
864
792
|
completeFavor: t.number,
|
|
865
793
|
slProgress: t.number,
|
|
866
|
-
displayMainItem: t.string,
|
|
794
|
+
displayMainItem: t.union([t.string, t.null]),
|
|
867
795
|
hilightMark: t.boolean,
|
|
868
796
|
bossMark: t.boolean,
|
|
869
797
|
isPredefined: t.boolean,
|
|
870
798
|
isHardPredefined: t.boolean,
|
|
871
799
|
isSkillSelectablePredefined: t.boolean,
|
|
872
800
|
isStoryOnly: t.boolean,
|
|
873
|
-
appearanceStyle: t.
|
|
801
|
+
appearanceStyle: t.string,
|
|
874
802
|
stageDropInfo: t.type({
|
|
875
803
|
firstPassRewards: t.null,
|
|
876
804
|
firstCompleteRewards: t.null,
|
|
@@ -885,16 +813,49 @@ export const StageIO = t.type({
|
|
|
885
813
|
),
|
|
886
814
|
displayDetailRewards: t.array(
|
|
887
815
|
t.type({
|
|
888
|
-
occPercent: t.
|
|
816
|
+
occPercent: t.string,
|
|
889
817
|
type: t.string,
|
|
890
818
|
id: t.string,
|
|
891
819
|
dropType: t.string,
|
|
892
820
|
})
|
|
893
821
|
),
|
|
894
822
|
}),
|
|
895
|
-
|
|
823
|
+
canUseCharm: t.boolean,
|
|
824
|
+
canUseTech: t.boolean,
|
|
825
|
+
canUseTrapTool: t.boolean,
|
|
826
|
+
canUseBattlePerformance: t.boolean,
|
|
827
|
+
startButtonOverrideId: t.union([t.string, t.null]),
|
|
896
828
|
isStagePatch: t.boolean,
|
|
897
|
-
mainStageId: t.string,
|
|
829
|
+
mainStageId: t.union([t.string, t.null]),
|
|
830
|
+
extraCondition: t.union([
|
|
831
|
+
t.array(
|
|
832
|
+
t.type({
|
|
833
|
+
index: t.number,
|
|
834
|
+
template: t.string,
|
|
835
|
+
unlockParam: t.array(t.string),
|
|
836
|
+
})
|
|
837
|
+
),
|
|
838
|
+
t.null
|
|
839
|
+
]),
|
|
840
|
+
extraInfo: t.union([
|
|
841
|
+
t.array(
|
|
842
|
+
t.type({
|
|
843
|
+
stageId: t.string,
|
|
844
|
+
rewards: t.array(
|
|
845
|
+
t.type({
|
|
846
|
+
id: t.string,
|
|
847
|
+
count: t.number,
|
|
848
|
+
type: t.string,
|
|
849
|
+
})
|
|
850
|
+
),
|
|
851
|
+
progressInfo: t.type({
|
|
852
|
+
progressType: t.string,
|
|
853
|
+
descList: t.record(t.string, t.string),
|
|
854
|
+
})
|
|
855
|
+
})
|
|
856
|
+
),
|
|
857
|
+
t.null
|
|
858
|
+
])
|
|
898
859
|
}),
|
|
899
860
|
levels: StageDataIO,
|
|
900
861
|
});
|
|
@@ -915,96 +876,105 @@ export const OperatorIO = t.type({
|
|
|
915
876
|
skill: BaseIO,
|
|
916
877
|
})
|
|
917
878
|
),
|
|
918
|
-
paradox: ParadoxIO,
|
|
879
|
+
paradox: t.union([ParadoxIO, t.null]),
|
|
919
880
|
data: t.type({
|
|
920
881
|
name: t.string,
|
|
921
882
|
description: t.string,
|
|
922
883
|
canUseGeneralPotentialItem: t.boolean,
|
|
923
|
-
potentialItemId: t.string,
|
|
924
|
-
nationId: t.string,
|
|
925
|
-
groupId: t.string,
|
|
926
|
-
teamId: t.string,
|
|
927
|
-
displayNumber: t.string,
|
|
928
|
-
tokenKey: t.string,
|
|
884
|
+
potentialItemId: t.union([t.string, t.null]),
|
|
885
|
+
nationId: t.union([t.string, t.null]),
|
|
886
|
+
groupId: t.union([t.string, t.null]),
|
|
887
|
+
teamId: t.union([t.string, t.null]),
|
|
888
|
+
displayNumber: t.union([t.string, t.null]),
|
|
889
|
+
// tokenKey: t.string,
|
|
929
890
|
appellation: t.string,
|
|
930
891
|
position: t.string,
|
|
931
892
|
tagList: t.array(t.string),
|
|
932
|
-
itemUsage: t.string,
|
|
933
|
-
itemDesc: t.string,
|
|
934
|
-
itemObtainApproach: t.string,
|
|
893
|
+
itemUsage: t.union([t.string, t.null]),
|
|
894
|
+
itemDesc: t.union([t.string, t.null]),
|
|
895
|
+
itemObtainApproach: t.union([t.string, t.null]),
|
|
935
896
|
isNotObtainable: t.boolean,
|
|
936
897
|
isSpChar: t.boolean,
|
|
937
898
|
maxPotentialLevel: t.number,
|
|
938
899
|
rarity: t.string,
|
|
939
900
|
profession: t.string,
|
|
940
901
|
subProfessionId: t.string,
|
|
941
|
-
trait: t.
|
|
942
|
-
|
|
943
|
-
t.
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
902
|
+
trait: t.union([
|
|
903
|
+
t.type({
|
|
904
|
+
candidates: t.array(
|
|
905
|
+
t.type({
|
|
906
|
+
unlockCondition: OperatorUnlockCondIO,
|
|
907
|
+
requiredPotentialRank: t.number,
|
|
908
|
+
blackboard: t.array(BlackboardIO),
|
|
909
|
+
overrideDescripton: t.union([t.string, t.null]),
|
|
910
|
+
prefabKey: t.union([t.string, t.null]),
|
|
911
|
+
rangeId: t.union([t.string, t.null]),
|
|
912
|
+
})
|
|
913
|
+
),
|
|
914
|
+
}),
|
|
915
|
+
t.null
|
|
916
|
+
]),
|
|
953
917
|
phases: t.array(
|
|
954
918
|
t.type({
|
|
955
919
|
characterPrefabKey: t.string,
|
|
956
920
|
rangeId: t.string,
|
|
957
921
|
maxLevel: t.number,
|
|
958
922
|
attributesKeyFrames: t.array(AttributesKeyFrameIO),
|
|
959
|
-
evolveCost: t.array(LevelUpCostIO),
|
|
923
|
+
evolveCost: t.union([t.array(LevelUpCostIO), t.null]),
|
|
960
924
|
})
|
|
961
925
|
),
|
|
962
926
|
skills: t.array(
|
|
963
927
|
t.type({
|
|
964
928
|
skillId: t.string,
|
|
965
|
-
overridePrefabKey: t.string,
|
|
966
|
-
overrideTokenKey: t.string,
|
|
929
|
+
overridePrefabKey: t.union([t.string, t.null]),
|
|
930
|
+
overrideTokenKey: t.union([t.string, t.null]),
|
|
967
931
|
levelUpCostCond: t.array(LevelUpCostCondIO),
|
|
968
932
|
unlockCond: OperatorUnlockCondIO,
|
|
969
933
|
})
|
|
970
934
|
),
|
|
971
|
-
talents: t.
|
|
972
|
-
t.
|
|
973
|
-
|
|
974
|
-
t.
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
935
|
+
talents: t.union([
|
|
936
|
+
t.array(
|
|
937
|
+
t.type({
|
|
938
|
+
candidates: t.array(
|
|
939
|
+
t.type({
|
|
940
|
+
unlockCondition: OperatorUnlockCondIO,
|
|
941
|
+
requiredPotentialRank: t.number,
|
|
942
|
+
prefabKey: t.string,
|
|
943
|
+
name: t.string,
|
|
944
|
+
description: t.string,
|
|
945
|
+
rangeId: t.union([t.string, t.null]),
|
|
946
|
+
blackboard: t.array(BlackboardIO),
|
|
947
|
+
})
|
|
948
|
+
),
|
|
949
|
+
})
|
|
950
|
+
),
|
|
951
|
+
t.null
|
|
952
|
+
]),
|
|
986
953
|
potentialRanks: t.array(
|
|
987
954
|
t.type({
|
|
988
|
-
type: t.
|
|
955
|
+
type: t.string,
|
|
989
956
|
description: t.string,
|
|
990
|
-
buff: t.
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
t.
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
957
|
+
buff: t.union([
|
|
958
|
+
t.type({
|
|
959
|
+
attributes: t.type({
|
|
960
|
+
abnormalFlags: t.null,
|
|
961
|
+
abnormalImmunes: t.null,
|
|
962
|
+
abnormalAntis: t.null,
|
|
963
|
+
abnormalCombos: t.null,
|
|
964
|
+
abnormalComboImmunes: t.null,
|
|
965
|
+
attributeModifiers: t.array(
|
|
966
|
+
t.type({
|
|
967
|
+
attributeType: t.string,
|
|
968
|
+
formulaItem: t.string,
|
|
969
|
+
value: t.number,
|
|
970
|
+
loadFromBlackboard: t.boolean,
|
|
971
|
+
fetchBaseValueFromSourceEntity: t.boolean,
|
|
972
|
+
})
|
|
973
|
+
),
|
|
974
|
+
}),
|
|
1006
975
|
}),
|
|
1007
|
-
|
|
976
|
+
t.null
|
|
977
|
+
]),
|
|
1008
978
|
equivalentCost: t.null,
|
|
1009
979
|
})
|
|
1010
980
|
),
|
|
@@ -1012,8 +982,40 @@ export const OperatorIO = t.type({
|
|
|
1012
982
|
allSkillLvlup: t.array(
|
|
1013
983
|
t.type({
|
|
1014
984
|
unlockCond: OperatorUnlockCondIO,
|
|
1015
|
-
lvlUpCost: t.array(LevelUpCostIO),
|
|
985
|
+
lvlUpCost: t.union([t.array(LevelUpCostIO), t.null]),
|
|
1016
986
|
})
|
|
1017
987
|
),
|
|
1018
988
|
}),
|
|
1019
|
-
});
|
|
989
|
+
});
|
|
990
|
+
export type AttributesKeyFrame = t.TypeOf<typeof AttributesKeyFrameIO>;
|
|
991
|
+
export type Blackboard = t.TypeOf<typeof BlackboardIO>;
|
|
992
|
+
export type Base = t.TypeOf<typeof BaseIO>;
|
|
993
|
+
export type CCStage = t.TypeOf<typeof CCStageIO>;
|
|
994
|
+
export type Definition = t.TypeOf<typeof DefinitionIO>;
|
|
995
|
+
export type Enemy = t.TypeOf<typeof EnemyIO>;
|
|
996
|
+
export type EnemyAttributes = t.TypeOf<typeof EnemyAttributesIO>;
|
|
997
|
+
export type EnemySkills = t.TypeOf<typeof EnemySkillsIO>;
|
|
998
|
+
export type EnemySpData = t.TypeOf<typeof EnemySpDataIO>;
|
|
999
|
+
export type GameEvent = t.TypeOf<typeof GameEventIO>;
|
|
1000
|
+
export type GridRange = t.TypeOf<typeof GridRangeIO>;
|
|
1001
|
+
export type ManufactFormula = t.TypeOf<typeof ManufactFormulaIO>;
|
|
1002
|
+
export type WorkshopFormula = t.TypeOf<typeof WorkshopFormulaIO>;
|
|
1003
|
+
export type Item = t.TypeOf<typeof ItemIO>;
|
|
1004
|
+
export type LevelUpCost = t.TypeOf<typeof LevelUpCostIO>;
|
|
1005
|
+
export type LevelUpCostCond = t.TypeOf<typeof LevelUpCostCondIO>;
|
|
1006
|
+
export type Module = t.TypeOf<typeof ModuleIO>;
|
|
1007
|
+
export type Operator = t.TypeOf<typeof OperatorIO>;
|
|
1008
|
+
export type OperatorUnlockCond = t.TypeOf<typeof OperatorUnlockCondIO>;
|
|
1009
|
+
export type Paradox = t.TypeOf<typeof ParadoxIO>;
|
|
1010
|
+
export type RogueTheme = t.TypeOf<typeof RogueThemeIO>;
|
|
1011
|
+
export type RogueRelic = t.TypeOf<typeof RogueRelicIO>;
|
|
1012
|
+
export type RogueStage = t.TypeOf<typeof RogueStageIO>;
|
|
1013
|
+
export type RogueVariation = t.TypeOf<typeof RogueVariationIO>;
|
|
1014
|
+
export type SandboxAct = t.TypeOf<typeof SandboxActIO>;
|
|
1015
|
+
export type SandboxStage = t.TypeOf<typeof SandboxStageIO>;
|
|
1016
|
+
export type Skill = t.TypeOf<typeof SkillIO>;
|
|
1017
|
+
export type Skin = t.TypeOf<typeof SkinIO>;
|
|
1018
|
+
export type Stage = t.TypeOf<typeof StageIO>;
|
|
1019
|
+
export type StageData = t.TypeOf<typeof StageDataIO>;
|
|
1020
|
+
export type StageEffect = t.TypeOf<typeof StageEffectIO>;
|
|
1021
|
+
export type StageDefines = t.TypeOf<typeof StageDefinesIO>;
|