hella-types 0.0.16 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/dist/index.d.ts +9552 -8588
  2. package/dist/index.js +169 -93
  3. package/package.json +1 -1
  4. package/src/index.ts +191 -109
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OperatorZod = exports.StageZod = exports.SkinZod = exports.SkillZod = exports.SandboxActZod = exports.RogueThemeZod = exports.ParadoxZod = exports.ModuleZod = exports.ItemZod = exports.GridRangeZod = exports.GameEventZod = exports.EnemyZod = exports.DeployableZod = exports.DefinitionZod = exports.CCStageZod = exports.BaseZod = void 0;
3
+ exports.OperatorZod = exports.DeployableZod = exports.StageZod = exports.SkinZod = exports.SkillZod = exports.SandboxActZod = exports.RogueThemeZod = exports.ParadoxZod = exports.ModuleZod = exports.ItemZod = exports.GridRangeZod = exports.GameEventZod = exports.GachaPoolZod = exports.EnemyZod = exports.DefinitionZod = exports.CCStageZod = exports.BaseZod = void 0;
4
4
  var z = require("zod");
5
5
  var BlackboardZod = z.strictObject({
6
6
  key: z.string(),
@@ -556,94 +556,6 @@ exports.DefinitionZod = z.strictObject({
556
556
  termName: z.string(),
557
557
  description: z.string(),
558
558
  });
559
- exports.DeployableZod = z.strictObject({
560
- name: z.string(),
561
- description: z.string().nullable(),
562
- canUseGeneralPotentialItem: z.boolean(),
563
- canUseActivityPotentialItem: z.boolean(),
564
- potentialItemId: z.string().nullable(),
565
- activityPotentialItemId: z.string().nullable(),
566
- classicPotentialItemId: z.string().nullable(),
567
- nationId: z.string().nullable(),
568
- groupId: z.string().nullable(),
569
- teamId: z.string().nullable(),
570
- displayNumber: z.string().nullable(),
571
- appellation: z.string(),
572
- position: z.string(),
573
- tagList: z.array(z.string()).nullable(),
574
- itemUsage: z.string().nullable(),
575
- itemDesc: z.string().nullable(),
576
- itemObtainApproach: z.string().nullable(),
577
- isNotObtainable: z.boolean(),
578
- isSpChar: z.boolean(),
579
- maxPotentialLevel: z.number(),
580
- rarity: z.string(),
581
- profession: z.string(),
582
- subProfessionId: z.string(),
583
- trait: z.strictObject({
584
- candidates: z.array(z.strictObject({
585
- unlockCondition: OperatorUnlockCondZod,
586
- requiredPotentialRank: z.number(),
587
- blackboard: z.array(BlackboardZod),
588
- overrideDescripton: z.string().nullable(),
589
- prefabKey: z.string().nullable(),
590
- rangeId: z.string().nullable(),
591
- })),
592
- }).nullable(),
593
- phases: z.array(z.strictObject({
594
- characterPrefabKey: z.string(),
595
- rangeId: z.string().nullable(),
596
- maxLevel: z.number(),
597
- attributesKeyFrames: z.array(AttributesKeyFrameZod),
598
- evolveCost: z.union([z.array(LevelUpCostZod), z.null()]),
599
- })),
600
- skills: z.array(z.strictObject({
601
- skillId: z.string().nullable(),
602
- overridePrefabKey: z.string().nullable(),
603
- overrideTokenKey: z.string().nullable(),
604
- levelUpCostCond: z.array(LevelUpCostCondZod),
605
- unlockCond: OperatorUnlockCondZod,
606
- })),
607
- displayTokenDict: z.record(z.boolean()).nullable(),
608
- talents: z.array(z.strictObject({
609
- candidates: z.array(z.strictObject({
610
- unlockCondition: OperatorUnlockCondZod,
611
- requiredPotentialRank: z.number(),
612
- prefabKey: z.string(),
613
- name: z.string().nullable(),
614
- description: z.string().nullable(),
615
- rangeId: z.string().nullable(),
616
- blackboard: z.array(BlackboardZod),
617
- tokenKey: z.string().nullable(),
618
- })).nullable(),
619
- })).nullable(),
620
- potentialRanks: z.array(z.strictObject({
621
- type: z.string(),
622
- description: z.string(),
623
- buff: z.strictObject({
624
- attributes: z.strictObject({
625
- abnormalFlags: z.null(),
626
- abnormalImmunes: z.null(),
627
- abnormalAntis: z.null(),
628
- abnormalCombos: z.null(),
629
- abnormalComboImmunes: z.null(),
630
- attributeModifiers: z.array(z.strictObject({
631
- attributeType: z.string(),
632
- formulaItem: z.string(),
633
- value: z.number(),
634
- loadFromBlackboard: z.boolean(),
635
- fetchBaseValueFromSourceEntity: z.boolean(),
636
- })),
637
- }),
638
- }).nullable(),
639
- equivalentCost: z.null(),
640
- })),
641
- favorKeyFrames: z.array(AttributesKeyFrameZod).nullable(),
642
- allSkillLvlup: z.array(z.strictObject({
643
- unlockCond: OperatorUnlockCondZod,
644
- lvlUpCost: z.array(LevelUpCostZod).nullable(),
645
- })),
646
- });
647
559
  exports.EnemyZod = z.strictObject({
648
560
  excel: z.strictObject({
649
561
  enemyId: z.string(),
@@ -675,6 +587,80 @@ exports.EnemyZod = z.strictObject({
675
587
  })),
676
588
  }),
677
589
  });
590
+ exports.GachaPoolZod = z.strictObject({
591
+ client: z.strictObject({
592
+ gachaPoolId: z.string(),
593
+ gachaIndex: z.number(),
594
+ openTime: z.number(),
595
+ endTime: z.number(),
596
+ gachaPoolName: z.string(),
597
+ gachaPoolSummary: z.string(),
598
+ gachaPoolDetail: z.string().nullable(),
599
+ guarantee5Avail: z.number(),
600
+ guarantee5Count: z.number(),
601
+ LMTGSID: z.null(),
602
+ CDPrimColor: z.null(),
603
+ CDSecColor: z.null(),
604
+ gachaRuleType: z.string(),
605
+ dynMeta: z.union([
606
+ z.strictObject({
607
+ chooseRuleConst: z.string().optional(),
608
+ homeDescConst: z.string().optional(),
609
+ rarityPickCharDict: z.record(z.string(), z.array(z.string())).optional(),
610
+ scrollIndex: z.number(),
611
+ star5ChooseRuleConst: z.string().optional(),
612
+ star6ChooseRuleConst: z.string().optional(),
613
+ }),
614
+ z.strictObject({
615
+ main6RarityCharId: z.string().optional(),
616
+ rare5CharList: z.array(z.string()).optional(),
617
+ scrollIndex: z.number(),
618
+ sub6RarityCharId: z.string().optional(),
619
+ }),
620
+ ]).nullable(),
621
+ linkageRuleId: z.string().nullable(),
622
+ linkageParam: z.strictObject({
623
+ guaranteeTarget6Count: z.number(),
624
+ }).nullable(),
625
+ }),
626
+ details: z.strictObject({
627
+ detailInfo: z.strictObject({
628
+ gachaObjGroups: z.array(z.strictObject({
629
+ groupType: z.number(),
630
+ startIndex: z.number(),
631
+ endIndex: z.number(),
632
+ })).nullable(),
633
+ availCharInfo: z.strictObject({
634
+ perAvailList: z.array(z.strictObject({
635
+ rarityRank: z.number(),
636
+ charIdList: z.array(z.string()),
637
+ totalPercent: z.number(),
638
+ })),
639
+ }),
640
+ upCharInfo: z.strictObject({
641
+ perCharList: z.array(z.strictObject({
642
+ rarityRank: z.number(),
643
+ charIdList: z.array(z.string()),
644
+ percent: z.number(),
645
+ count: z.number(),
646
+ })),
647
+ }),
648
+ limitedChar: z.null(),
649
+ weightUpCharInfoList: z.null(),
650
+ gachaObjList: z.array(z.strictObject({
651
+ gachaObject: z.string(),
652
+ type: z.number(),
653
+ imageType: z.number(),
654
+ param: z.string().nullable(),
655
+ })),
656
+ }),
657
+ gachaObjGroupType: z.number(),
658
+ playerDataDelta: z.strictObject({
659
+ modified: z.strictObject({}),
660
+ deleted: z.strictObject({}),
661
+ }),
662
+ }),
663
+ });
678
664
  exports.GameEventZod = z.strictObject({
679
665
  id: z.string(),
680
666
  type: z.string(),
@@ -990,11 +976,102 @@ exports.StageZod = z.strictObject({
990
976
  }),
991
977
  levels: StageDataZod,
992
978
  });
993
- exports.OperatorZod = z.strictObject({
979
+ exports.DeployableZod = z.strictObject({
994
980
  id: z.string(),
995
- recruit: z.number(),
996
981
  archetype: z.string(),
997
- range: exports.GridRangeZod,
982
+ range: exports.GridRangeZod.nullable(),
983
+ data: z.strictObject({
984
+ name: z.string(),
985
+ description: z.string().nullable(),
986
+ canUseGeneralPotentialItem: z.boolean(),
987
+ canUseActivityPotentialItem: z.boolean(),
988
+ potentialItemId: z.string().nullable(),
989
+ activityPotentialItemId: z.string().nullable(),
990
+ classicPotentialItemId: z.string().nullable(),
991
+ nationId: z.string().nullable(),
992
+ groupId: z.string().nullable(),
993
+ teamId: z.string().nullable(),
994
+ displayNumber: z.string().nullable(),
995
+ appellation: z.string(),
996
+ position: z.string(),
997
+ tagList: z.array(z.string()).nullable(),
998
+ itemUsage: z.string().nullable(),
999
+ itemDesc: z.string().nullable(),
1000
+ itemObtainApproach: z.string().nullable(),
1001
+ isNotObtainable: z.boolean(),
1002
+ isSpChar: z.boolean(),
1003
+ maxPotentialLevel: z.number(),
1004
+ rarity: z.string(),
1005
+ profession: z.string(),
1006
+ subProfessionId: z.string(),
1007
+ trait: z.strictObject({
1008
+ candidates: z.array(z.strictObject({
1009
+ unlockCondition: OperatorUnlockCondZod,
1010
+ requiredPotentialRank: z.number(),
1011
+ blackboard: z.array(BlackboardZod),
1012
+ overrideDescripton: z.string().nullable(),
1013
+ prefabKey: z.string().nullable(),
1014
+ rangeId: z.string().nullable(),
1015
+ })),
1016
+ }).nullable(),
1017
+ phases: z.array(z.strictObject({
1018
+ characterPrefabKey: z.string(),
1019
+ rangeId: z.string().nullable(),
1020
+ maxLevel: z.number(),
1021
+ attributesKeyFrames: z.array(AttributesKeyFrameZod),
1022
+ evolveCost: z.union([z.array(LevelUpCostZod), z.null()]),
1023
+ })),
1024
+ skills: z.array(z.strictObject({
1025
+ skillId: z.string().nullable(),
1026
+ overridePrefabKey: z.string().nullable(),
1027
+ overrideTokenKey: z.string().nullable(),
1028
+ levelUpCostCond: z.array(LevelUpCostCondZod),
1029
+ unlockCond: OperatorUnlockCondZod,
1030
+ })),
1031
+ displayTokenDict: z.record(z.boolean()).nullable(),
1032
+ talents: z.array(z.strictObject({
1033
+ candidates: z.array(z.strictObject({
1034
+ unlockCondition: OperatorUnlockCondZod,
1035
+ requiredPotentialRank: z.number(),
1036
+ prefabKey: z.string(),
1037
+ name: z.string().nullable(),
1038
+ description: z.string().nullable(),
1039
+ rangeId: z.string().nullable(),
1040
+ blackboard: z.array(BlackboardZod),
1041
+ tokenKey: z.string().nullable(),
1042
+ })).nullable(),
1043
+ })).nullable(),
1044
+ potentialRanks: z.array(z.strictObject({
1045
+ type: z.string(),
1046
+ description: z.string(),
1047
+ buff: z.strictObject({
1048
+ attributes: z.strictObject({
1049
+ abnormalFlags: z.null(),
1050
+ abnormalImmunes: z.null(),
1051
+ abnormalAntis: z.null(),
1052
+ abnormalCombos: z.null(),
1053
+ abnormalComboImmunes: z.null(),
1054
+ attributeModifiers: z.array(z.strictObject({
1055
+ attributeType: z.string(),
1056
+ formulaItem: z.string(),
1057
+ value: z.number(),
1058
+ loadFromBlackboard: z.boolean(),
1059
+ fetchBaseValueFromSourceEntity: z.boolean(),
1060
+ })),
1061
+ }),
1062
+ }).nullable(),
1063
+ equivalentCost: z.null(),
1064
+ })),
1065
+ favorKeyFrames: z.array(AttributesKeyFrameZod).nullable(),
1066
+ allSkillLvlup: z.array(z.strictObject({
1067
+ unlockCond: OperatorUnlockCondZod,
1068
+ lvlUpCost: z.array(LevelUpCostZod).nullable(),
1069
+ })),
1070
+ }),
1071
+ });
1072
+ ;
1073
+ exports.OperatorZod = exports.DeployableZod.extend({
1074
+ recruit: z.number(),
998
1075
  skills: z.array(exports.SkillZod),
999
1076
  modules: z.array(exports.ModuleZod),
1000
1077
  skins: z.array(exports.SkinZod),
@@ -1006,5 +1083,4 @@ exports.OperatorZod = z.strictObject({
1006
1083
  skill: exports.BaseZod,
1007
1084
  })),
1008
1085
  paradox: exports.ParadoxZod.nullable(),
1009
- data: exports.DeployableZod,
1010
1086
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hella-types",
3
- "version": "0.0.16",
3
+ "version": "0.0.18",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "",
package/src/index.ts CHANGED
@@ -585,110 +585,6 @@ export const DefinitionZod = z.strictObject({
585
585
  termName: z.string(),
586
586
  description: z.string(),
587
587
  });
588
- export const DeployableZod = z.strictObject({
589
- name: z.string(),
590
- description: z.string().nullable(),
591
- canUseGeneralPotentialItem: z.boolean(),
592
- canUseActivityPotentialItem: z.boolean(),
593
- potentialItemId: z.string().nullable(),
594
- activityPotentialItemId: z.string().nullable(),
595
- classicPotentialItemId: z.string().nullable(),
596
- nationId: z.string().nullable(),
597
- groupId: z.string().nullable(),
598
- teamId: z.string().nullable(),
599
- displayNumber: z.string().nullable(),
600
- appellation: z.string(),
601
- position: z.string(),
602
- tagList: z.array(z.string()).nullable(),
603
- itemUsage: z.string().nullable(),
604
- itemDesc: z.string().nullable(),
605
- itemObtainApproach: z.string().nullable(),
606
- isNotObtainable: z.boolean(),
607
- isSpChar: z.boolean(),
608
- maxPotentialLevel: z.number(),
609
- rarity: z.string(),
610
- profession: z.string(),
611
- subProfessionId: z.string(),
612
- trait: z.strictObject({
613
- candidates: z.array(
614
- z.strictObject({
615
- unlockCondition: OperatorUnlockCondZod,
616
- requiredPotentialRank: z.number(),
617
- blackboard: z.array(BlackboardZod),
618
- overrideDescripton: z.string().nullable(),
619
- prefabKey: z.string().nullable(),
620
- rangeId: z.string().nullable(),
621
- })
622
- ),
623
- }).nullable(),
624
- phases: z.array(
625
- z.strictObject({
626
- characterPrefabKey: z.string(),
627
- rangeId: z.string().nullable(),
628
- maxLevel: z.number(),
629
- attributesKeyFrames: z.array(AttributesKeyFrameZod),
630
- evolveCost: z.union([z.array(LevelUpCostZod), z.null()]),
631
- })
632
- ),
633
- skills: z.array(
634
- z.strictObject({
635
- skillId: z.string().nullable(),
636
- overridePrefabKey: z.string().nullable(),
637
- overrideTokenKey: z.string().nullable(),
638
- levelUpCostCond: z.array(LevelUpCostCondZod),
639
- unlockCond: OperatorUnlockCondZod,
640
- })
641
- ),
642
- displayTokenDict: z.record(z.boolean()).nullable(),
643
- talents: z.array(
644
- z.strictObject({
645
- candidates: z.array(
646
- z.strictObject({
647
- unlockCondition: OperatorUnlockCondZod,
648
- requiredPotentialRank: z.number(),
649
- prefabKey: z.string(),
650
- name: z.string().nullable(),
651
- description: z.string().nullable(),
652
- rangeId: z.string().nullable(),
653
- blackboard: z.array(BlackboardZod),
654
- tokenKey: z.string().nullable(),
655
- })
656
- ).nullable(),
657
- })
658
- ).nullable(),
659
- potentialRanks: z.array(
660
- z.strictObject({
661
- type: z.string(),
662
- description: z.string(),
663
- buff: z.strictObject({
664
- attributes: z.strictObject({
665
- abnormalFlags: z.null(),
666
- abnormalImmunes: z.null(),
667
- abnormalAntis: z.null(),
668
- abnormalCombos: z.null(),
669
- abnormalComboImmunes: z.null(),
670
- attributeModifiers: z.array(
671
- z.strictObject({
672
- attributeType: z.string(),
673
- formulaItem: z.string(),
674
- value: z.number(),
675
- loadFromBlackboard: z.boolean(),
676
- fetchBaseValueFromSourceEntity: z.boolean(),
677
- })
678
- ),
679
- }),
680
- }).nullable(),
681
- equivalentCost: z.null(),
682
- })
683
- ),
684
- favorKeyFrames: z.array(AttributesKeyFrameZod).nullable(),
685
- allSkillLvlup: z.array(
686
- z.strictObject({
687
- unlockCond: OperatorUnlockCondZod,
688
- lvlUpCost: z.array(LevelUpCostZod).nullable(),
689
- })
690
- ),
691
- });
692
588
  export const EnemyZod = z.strictObject({
693
589
  excel: z.strictObject({
694
590
  enemyId: z.string(),
@@ -724,6 +620,86 @@ export const EnemyZod = z.strictObject({
724
620
  ),
725
621
  }),
726
622
  });
623
+ export const GachaPoolZod = z.strictObject({
624
+ client: z.strictObject({
625
+ gachaPoolId: z.string(),
626
+ gachaIndex: z.number(),
627
+ openTime: z.number(),
628
+ endTime: z.number(),
629
+ gachaPoolName: z.string(),
630
+ gachaPoolSummary: z.string(),
631
+ gachaPoolDetail: z.string().nullable(),
632
+ guarantee5Avail: z.number(),
633
+ guarantee5Count: z.number(),
634
+ LMTGSID: z.null(),
635
+ CDPrimColor: z.null(),
636
+ CDSecColor: z.null(),
637
+ gachaRuleType: z.string(),
638
+ dynMeta: z.union([
639
+ z.strictObject({
640
+ chooseRuleConst: z.string().optional(),
641
+ homeDescConst: z.string().optional(),
642
+ rarityPickCharDict: z.record(z.string(), z.array(z.string())).optional(),
643
+ scrollIndex: z.number(),
644
+ star5ChooseRuleConst: z.string().optional(),
645
+ star6ChooseRuleConst: z.string().optional(),
646
+ }),
647
+ z.strictObject({
648
+ main6RarityCharId: z.string().optional(),
649
+ rare5CharList: z.array(z.string()).optional(),
650
+ scrollIndex: z.number(),
651
+ sub6RarityCharId: z.string().optional(),
652
+ }),
653
+ ]).nullable(),
654
+ linkageRuleId: z.string().nullable(),
655
+ linkageParam: z.strictObject({
656
+ guaranteeTarget6Count: z.number(),
657
+ }).nullable(),
658
+ }),
659
+ details: z.strictObject({
660
+ detailInfo: z.strictObject({
661
+ gachaObjGroups: z.array(z.strictObject({
662
+ groupType: z.number(),
663
+ startIndex: z.number(),
664
+ endIndex: z.number(),
665
+ })).nullable(),
666
+ availCharInfo: z.strictObject({
667
+ perAvailList: z.array(
668
+ z.strictObject({
669
+ rarityRank: z.number(),
670
+ charIdList: z.array(z.string()),
671
+ totalPercent: z.number(),
672
+ })
673
+ ),
674
+ }),
675
+ upCharInfo: z.strictObject({
676
+ perCharList: z.array(
677
+ z.strictObject({
678
+ rarityRank: z.number(),
679
+ charIdList: z.array(z.string()),
680
+ percent: z.number(),
681
+ count: z.number(),
682
+ })
683
+ ),
684
+ }),
685
+ limitedChar: z.null(),
686
+ weightUpCharInfoList: z.null(),
687
+ gachaObjList: z.array(
688
+ z.strictObject({
689
+ gachaObject: z.string(),
690
+ type: z.number(),
691
+ imageType: z.number(),
692
+ param: z.string().nullable(),
693
+ })
694
+ ),
695
+ }),
696
+ gachaObjGroupType: z.number(),
697
+ playerDataDelta: z.strictObject({
698
+ modified: z.strictObject({}),
699
+ deleted: z.strictObject({}),
700
+ }),
701
+ }),
702
+ });
727
703
  export const GameEventZod = z.strictObject({
728
704
  id: z.string(),
729
705
  type: z.string(),
@@ -1073,11 +1049,117 @@ export const StageZod = z.strictObject({
1073
1049
  }),
1074
1050
  levels: StageDataZod,
1075
1051
  });
1076
- export const OperatorZod = z.strictObject({
1052
+ export const DeployableZod = z.strictObject({
1077
1053
  id: z.string(),
1078
- recruit: z.number(),
1079
1054
  archetype: z.string(),
1080
- range: GridRangeZod,
1055
+ range: GridRangeZod.nullable(),
1056
+ data: z.strictObject({
1057
+ name: z.string(),
1058
+ description: z.string().nullable(),
1059
+ canUseGeneralPotentialItem: z.boolean(),
1060
+ canUseActivityPotentialItem: z.boolean(),
1061
+ potentialItemId: z.string().nullable(),
1062
+ activityPotentialItemId: z.string().nullable(),
1063
+ classicPotentialItemId: z.string().nullable(),
1064
+ nationId: z.string().nullable(),
1065
+ groupId: z.string().nullable(),
1066
+ teamId: z.string().nullable(),
1067
+ displayNumber: z.string().nullable(),
1068
+ appellation: z.string(),
1069
+ position: z.string(),
1070
+ tagList: z.array(z.string()).nullable(),
1071
+ itemUsage: z.string().nullable(),
1072
+ itemDesc: z.string().nullable(),
1073
+ itemObtainApproach: z.string().nullable(),
1074
+ isNotObtainable: z.boolean(),
1075
+ isSpChar: z.boolean(),
1076
+ maxPotentialLevel: z.number(),
1077
+ rarity: z.string(),
1078
+ profession: z.string(),
1079
+ subProfessionId: z.string(),
1080
+ trait: z.strictObject({
1081
+ candidates: z.array(
1082
+ z.strictObject({
1083
+ unlockCondition: OperatorUnlockCondZod,
1084
+ requiredPotentialRank: z.number(),
1085
+ blackboard: z.array(BlackboardZod),
1086
+ overrideDescripton: z.string().nullable(),
1087
+ prefabKey: z.string().nullable(),
1088
+ rangeId: z.string().nullable(),
1089
+ })
1090
+ ),
1091
+ }).nullable(),
1092
+ phases: z.array(
1093
+ z.strictObject({
1094
+ characterPrefabKey: z.string(),
1095
+ rangeId: z.string().nullable(),
1096
+ maxLevel: z.number(),
1097
+ attributesKeyFrames: z.array(AttributesKeyFrameZod),
1098
+ evolveCost: z.union([z.array(LevelUpCostZod), z.null()]),
1099
+ })
1100
+ ),
1101
+ skills: z.array(
1102
+ z.strictObject({
1103
+ skillId: z.string().nullable(),
1104
+ overridePrefabKey: z.string().nullable(),
1105
+ overrideTokenKey: z.string().nullable(),
1106
+ levelUpCostCond: z.array(LevelUpCostCondZod),
1107
+ unlockCond: OperatorUnlockCondZod,
1108
+ })
1109
+ ),
1110
+ displayTokenDict: z.record(z.boolean()).nullable(),
1111
+ talents: z.array(
1112
+ z.strictObject({
1113
+ candidates: z.array(
1114
+ z.strictObject({
1115
+ unlockCondition: OperatorUnlockCondZod,
1116
+ requiredPotentialRank: z.number(),
1117
+ prefabKey: z.string(),
1118
+ name: z.string().nullable(),
1119
+ description: z.string().nullable(),
1120
+ rangeId: z.string().nullable(),
1121
+ blackboard: z.array(BlackboardZod),
1122
+ tokenKey: z.string().nullable(),
1123
+ })
1124
+ ).nullable(),
1125
+ })
1126
+ ).nullable(),
1127
+ potentialRanks: z.array(
1128
+ z.strictObject({
1129
+ type: z.string(),
1130
+ description: z.string(),
1131
+ buff: z.strictObject({
1132
+ attributes: z.strictObject({
1133
+ abnormalFlags: z.null(),
1134
+ abnormalImmunes: z.null(),
1135
+ abnormalAntis: z.null(),
1136
+ abnormalCombos: z.null(),
1137
+ abnormalComboImmunes: z.null(),
1138
+ attributeModifiers: z.array(
1139
+ z.strictObject({
1140
+ attributeType: z.string(),
1141
+ formulaItem: z.string(),
1142
+ value: z.number(),
1143
+ loadFromBlackboard: z.boolean(),
1144
+ fetchBaseValueFromSourceEntity: z.boolean(),
1145
+ })
1146
+ ),
1147
+ }),
1148
+ }).nullable(),
1149
+ equivalentCost: z.null(),
1150
+ })
1151
+ ),
1152
+ favorKeyFrames: z.array(AttributesKeyFrameZod).nullable(),
1153
+ allSkillLvlup: z.array(
1154
+ z.strictObject({
1155
+ unlockCond: OperatorUnlockCondZod,
1156
+ lvlUpCost: z.array(LevelUpCostZod).nullable(),
1157
+ })
1158
+ ),
1159
+ }),
1160
+ });;
1161
+ export const OperatorZod = DeployableZod.extend({
1162
+ recruit: z.number(),
1081
1163
  skills: z.array(SkillZod),
1082
1164
  modules: z.array(ModuleZod),
1083
1165
  skins: z.array(SkinZod),
@@ -1091,8 +1173,7 @@ export const OperatorZod = z.strictObject({
1091
1173
  })
1092
1174
  ),
1093
1175
  paradox: ParadoxZod.nullable(),
1094
- data: DeployableZod,
1095
- });
1176
+ })
1096
1177
 
1097
1178
  export type Blackboard = z.infer<typeof BlackboardZod>;
1098
1179
  export type Base = z.infer<typeof BaseZod>;
@@ -1100,6 +1181,7 @@ export type CCStage = z.infer<typeof CCStageZod>;
1100
1181
  export type Definition = z.infer<typeof DefinitionZod>;
1101
1182
  export type Deployable = z.infer<typeof DeployableZod>;
1102
1183
  export type Enemy = z.infer<typeof EnemyZod>;
1184
+ export type GachaPool = z.infer<typeof GachaPoolZod>;
1103
1185
  export type GameEvent = z.infer<typeof GameEventZod>;
1104
1186
  export type GridRange = z.infer<typeof GridRangeZod>;
1105
1187
  export type Item = z.infer<typeof ItemZod>;