Client:2.1.21 Data:23-10-31-11-47-45-d410ff

This commit is contained in:
qwerdvd 2023-11-01 13:38:26 +08:00
parent a1e74d1129
commit 18c74cf15d
No known key found for this signature in database
GPG Key ID: A3AF89C783404769
51 changed files with 763 additions and 406 deletions

View File

@ -1,13 +1,14 @@
from enum import Enum
from typing import Any, Dict, List, Union from typing import Any, Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ActivityTableBasicData(BaseStruct): class ActivityTableBasicData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
name: str name: str
startTime: int startTime: int
endTime: int endTime: int
@ -31,16 +32,16 @@ class ActivityTableHomeActivityConfig(BaseStruct):
class MissionDisplayRewards(BaseStruct): class MissionDisplayRewards(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
class MissionData(BaseStruct): class MissionData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
description: str description: str
type_: str = field(name='type') type_: str = field(name="type")
itemBgType: str itemBgType: str
preMissionIds: Union[List[str], None] preMissionIds: Union[List[str], None]
template: str template: str
@ -58,9 +59,9 @@ class MissionData(BaseStruct):
class MissionGroup(BaseStruct): class MissionGroup(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
title: Union[str, None] title: Union[str, None]
type_: str = field(name='type') type_: str = field(name="type")
preMissionGroup: Union[str, None] preMissionGroup: Union[str, None]
period: Union[List[int], None] period: Union[List[int], None]
rewards: Union[List[MissionDisplayRewards], None] rewards: Union[List[MissionDisplayRewards], None]
@ -78,9 +79,9 @@ class DefaultZoneData(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class DefaultShopData(BaseStruct): class DefaultShopData(BaseStruct):
@ -243,7 +244,7 @@ class Act3D0DataLimitedPoolDetailInfoPoolItemInfo(BaseStruct):
perCount: int perCount: int
totalCount: int totalCount: int
weight: int weight: int
type_: str = field(name='type') type_: str = field(name="type")
orderId: int orderId: int
@ -258,7 +259,7 @@ class Act3D0DataInfinitePoolDetailInfoPoolItemInfo(BaseStruct):
goodType: str goodType: str
perCount: int perCount: int
weight: int weight: int
type_: str = field(name='type') type_: str = field(name="type")
orderId: int orderId: int
@ -491,7 +492,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct): class RuneTablePackedRuneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
points: float points: float
mutexGroupKey: Union[str, None] mutexGroupKey: Union[str, None]
description: str description: str
@ -519,7 +520,7 @@ class Act5D1Data(BaseStruct):
class ActivityCollectionDataCollectionInfo(BaseStruct): class ActivityCollectionDataCollectionInfo(BaseStruct):
id_: int = field(name='id') id_: int = field(name="id")
itemType: str itemType: str
itemId: str itemId: str
itemCnt: int itemCnt: int
@ -732,7 +733,7 @@ class Act13SideDataLongTermMissionData(BaseStruct):
class Act13SideDataDailyMissionData(BaseStruct): class Act13SideDataDailyMissionData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
description: str description: str
missionName: str missionName: str
@ -928,7 +929,7 @@ class Act17sideDataMainlineChapterData(BaseStruct):
chapterDes: str chapterDes: str
chapterIcon: str chapterIcon: str
unlockDes: str unlockDes: str
id_: str = field(name='id') id_: str = field(name="id")
class Act17sideDataMainlineData(BaseStruct): class Act17sideDataMainlineData(BaseStruct):
@ -1171,9 +1172,9 @@ class SharedCharData(BaseStruct):
evolvePhase: int evolvePhase: int
level: int level: int
favorPoint: int favorPoint: int
currentEquip: Union[str, None] = field(name='currentEquip', default=None) currentEquip: Union[str, None] = field(name="currentEquip", default=None)
equips: Union[Dict[str, SharedCharDataCharEquipInfo], None] = field( equips: Union[Dict[str, SharedCharDataCharEquipInfo], None] = field(
name='equip', name="equip",
default={}, default={},
) )
skillIndex: Union[int, None] = None skillIndex: Union[int, None] = None
@ -1181,6 +1182,7 @@ class SharedCharData(BaseStruct):
skin: Union[str, None] = None skin: Union[str, None] = None
skills: Union[List[SharedCharDataSharedCharSkillData], None] = None skills: Union[List[SharedCharDataSharedCharSkillData], None] = None
crisisRecord: Union[Dict[str, int], None] = None crisisRecord: Union[Dict[str, int], None] = None
crisisV2Record: Union[Dict[str, int], None] = None
currentTmpl: Union[str, None] = None currentTmpl: Union[str, None] = None
tmpl: Union[Dict[str, SharedCharDataTmplData], None] = None tmpl: Union[Dict[str, SharedCharDataTmplData], None] = None
@ -1239,8 +1241,8 @@ class ActivityBossRushDataBossRushStageAdditionData(BaseStruct):
class ActivityBossRushDataDisplayDetailRewards(BaseStruct): class ActivityBossRushDataDisplayDetailRewards(BaseStruct):
occPercent: int occPercent: int
dropCount: int dropCount: int
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
@ -1328,6 +1330,7 @@ class ActivityBossRushData(BaseStruct):
class ActivityFloatParadeDataConstData(BaseStruct): class ActivityFloatParadeDataConstData(BaseStruct):
cityName: str cityName: str
cityNamePic: str
lowStandard: float lowStandard: float
variationTitle: str variationTitle: str
ruleDesc: str ruleDesc: str
@ -1345,15 +1348,15 @@ class ActivityFloatParadeDataDailyData(BaseStruct):
class ActivityFloatParadeDataRewardPool(BaseStruct): class ActivityFloatParadeDataRewardPool(BaseStruct):
grpId: str grpId: str
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
name: str name: str
desc: Union[str, None] desc: Union[str, None]
reward: ItemBundle reward: ItemBundle
class ActivityFloatParadeDataTactic(BaseStruct): class ActivityFloatParadeDataTactic(BaseStruct):
id_: int = field(name='id') id_: int = field(name="id")
name: str name: str
packName: str packName: str
briefName: str briefName: str
@ -1392,7 +1395,7 @@ class ActSandboxData(BaseStruct):
class ActivityMainlineBuffDataMissionGroupData(BaseStruct): class ActivityMainlineBuffDataMissionGroupData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
bindBanner: str bindBanner: str
sortId: int sortId: int
zoneId: str zoneId: str
@ -1408,7 +1411,7 @@ class ActivityMainlineBuffDataPeriodDataStepData(BaseStruct):
class ActivityMainlineBuffDataPeriodData(BaseStruct): class ActivityMainlineBuffDataPeriodData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
startTime: int startTime: int
endTime: int endTime: int
favorUpCharDesc: str favorUpCharDesc: str
@ -1508,23 +1511,23 @@ class Act24SideDataMissionExtraData(BaseStruct):
class WeightItemBundle(BaseStruct): class WeightItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
dropType: str dropType: str
count: int count: int
weight: int weight: int
class StageDataDisplayRewards(BaseStruct): class StageDataDisplayRewards(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
class StageDataDisplayDetailRewards(BaseStruct): class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int occPercent: int
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
@ -1596,7 +1599,7 @@ class Act25SideDataArchiveItemData(BaseStruct):
class Act25SideDataArchiveMapInfoData(BaseStruct): class Act25SideDataArchiveMapInfoData(BaseStruct):
objectId: str objectId: str
type_: int = field(name='type') type_: int = field(name="type")
numberId: str numberId: str
areaId: str areaId: str
sortId: int sortId: int
@ -1619,7 +1622,7 @@ class Act25SideDataAreaInfoData(BaseStruct):
class Act25SideDataAreaMissionData(BaseStruct): class Act25SideDataAreaMissionData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
areaId: str areaId: str
preposedMissionId: Union[str, None] preposedMissionId: Union[str, None]
sortId: int sortId: int
@ -1708,7 +1711,7 @@ class Act38D1DataAct38D1DimensionItemData(BaseStruct):
class Act38D1DataAct38D1CommentData(BaseStruct): class Act38D1DataAct38D1CommentData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
desc: str desc: str
@ -1743,7 +1746,7 @@ class Act38D1Data(BaseStruct):
class Act27SideDataAct27SideGoodData(BaseStruct): class Act27SideDataAct27SideGoodData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
typeDesc: str typeDesc: str
iconId: str iconId: str
@ -1862,7 +1865,7 @@ class Act42D0DataEffectGroupInfoData(BaseStruct):
class Act42D0DataEffectInfoRuneData(BaseStruct): class Act42D0DataEffectInfoRuneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
points: int points: int
mutexGroupKey: Union[str, None] mutexGroupKey: Union[str, None]
description: str description: str
@ -1946,6 +1949,155 @@ class Act42D0Data(BaseStruct):
trackPointPeriodData: List[int] trackPointPeriodData: List[int]
class Act29SideFragData(BaseStruct):
fragId: str
sortId: int
fragName: str
fragIcon: str
fragStoreIcon: str
class Act29SideOrcheType(Enum):
ORCHE_1 = "ORCHE_1"
ORCHE_2 = "ORCHE_2"
ORCHE_3 = "ORCHE_3"
ENUM = "ENUM"
class Act29SideOrcheData(BaseStruct):
id_: str = field(name="id")
name: str
desc: str
icon: str
sortId: int
orcheType: Act29SideOrcheType
class Act29SideProductType(Enum):
PRODUCT_TYPE_1 = "PRODUCT_TYPE_1"
PRODUCT_TYPE_2 = "PRODUCT_TYPE_2"
PRODUCT_TYPE_3 = "PRODUCT_TYPE_3"
PRODUCT_TYPE_4 = "PRODUCT_TYPE_4"
PRODUCT_TYPE_5 = "PRODUCT_TYPE_5"
ENUM = "ENUM"
class Act29SideProductGroupData(BaseStruct):
groupId: str
groupName: str
groupIcon: str
groupDesc: str
defaultBgmSignal: str
productList: List[str]
groupEngName: str
groupSmallName: str
groupTypeIcon: str
groupStoreIconId: str
groupTypeBasePic: str
groupTypeEyeIcon: str
groupSortId: int
formList: List[str]
sheetId: str
sheetNum: int
sheetRotateSpd: float
productType: Act29SideProductType
productDescColor: str
playTintColor: str
confirmTintColor: str
confirmDescColor: str
bagThemeColor: str
class Act29SideProductData(BaseStruct):
id_: str = field(name="id")
orcheId: Union[str, None]
groupId: str
formId: Union[str, None]
musicId: str
class Act29SideFormData(BaseStruct):
formId: str
fragIdList: List[str]
formDesc: str
productIdDict: Dict[str, str]
withoutOrcheProductId: str
groupId: str
formSortId: int
class Act29SideInvestResultData(BaseStruct):
resultId: str
resultTitle: str
resultDesc1: str
resultDesc2: str
class Act29SideInvestType(Enum):
MAJOR = "MAJOR"
RARE = "RARE"
NORMAL = "NORMAL"
class Act29SideInvestData(BaseStruct):
investId: str
investType: Act29SideInvestType
investNpcName: str
storyId: str
investNpcPic: str
investNpcAvatarPic: str
majorNpcPic: Union[str, None]
majorNpcBlackPic: Union[str, None]
reward: Union[ItemBundle, None]
investSucResultId: Union[str, None]
investFailResultId: str
investRareResultId: Union[str, None]
class Act29SideConstData(BaseStruct):
majorInvestUnlockItemName: str
wrongTipsTriggerTime: int
majorInvestCompleteImgId: str
majorInvestUnknownAvatarId: str
majorInvestDetailDesc1: str
majorInvestDetailDesc2: str
majorInvestDetailDesc3: str
majorInvestDetailDesc4: str
hiddenInvestImgId: str
hiddenInvestHeadImgId: str
hiddenInvestNpcName: str
unlockLevelId: str
investResultHint: str
investUnlockText: str
noOrcheDesc: str
class Act29SideZoneAdditionData(BaseStruct):
zoneId: str
unlockText: str
class Act29SideMusicData(BaseStruct):
groupId: str
orcheId: Union[str, None]
musicId: str
class Act29SideData(BaseStruct):
fragDataMap: Dict[str, Act29SideFragData]
orcheDataMap: Dict[str, Act29SideOrcheData]
productGroupDataMap: Dict[str, Act29SideProductGroupData]
productDataMap: Dict[str, Act29SideProductData]
formDataMap: Dict[str, Act29SideFormData]
investResultDataMap: Dict[str, Act29SideInvestResultData]
investDataMap: Dict[str, Act29SideInvestData]
majorInvestIdList: List[str]
rareInvestIdList: List[str]
constData: Act29SideConstData
zoneAdditionDataMap: Dict[str, Act29SideZoneAdditionData]
musicDataMap: List[Act29SideMusicData]
class ActivityTableActivityDetailTable(BaseStruct): class ActivityTableActivityDetailTable(BaseStruct):
DEFAULT: Dict[str, DefaultFirstData] DEFAULT: Dict[str, DefaultFirstData]
CHECKIN_ONLY: Dict[str, DefaultCheckInData] CHECKIN_ONLY: Dict[str, DefaultCheckInData]
@ -1962,6 +2114,7 @@ class ActivityTableActivityDetailTable(BaseStruct):
TYPE_ACT17SIDE: Dict[str, Act17sideData] TYPE_ACT17SIDE: Dict[str, Act17sideData]
TYPE_ACT20SIDE: Dict[str, Act20SideData] TYPE_ACT20SIDE: Dict[str, Act20SideData]
TYPE_ACT21SIDE: Dict[str, Act21SideData] TYPE_ACT21SIDE: Dict[str, Act21SideData]
TYPE_ACT29SIDE: Dict[str, Act29SideData]
LOGIN_ONLY: Dict[str, ActivityLoginData] LOGIN_ONLY: Dict[str, ActivityLoginData]
SWITCH_ONLY: Dict[str, ActivitySwitchCheckinData] SWITCH_ONLY: Dict[str, ActivitySwitchCheckinData]
MINISTORY: Dict[str, ActivityMiniStoryData] MINISTORY: Dict[str, ActivityMiniStoryData]
@ -1974,9 +2127,9 @@ class ActivityTableActivityDetailTable(BaseStruct):
MAIN_BUFF: Dict[str, ActivityMainlineBuffData] MAIN_BUFF: Dict[str, ActivityMainlineBuffData]
TYPE_ACT24SIDE: Dict[str, Act24SideData] TYPE_ACT24SIDE: Dict[str, Act24SideData]
TYPE_ACT25SIDE: Dict[str, Act25SideData] TYPE_ACT25SIDE: Dict[str, Act25SideData]
TYPE_ACT38D1: Dict[str, Act38D1Data]
TYPE_ACT27SIDE: Dict[str, Act27SideData] TYPE_ACT27SIDE: Dict[str, Act27SideData]
TYPE_ACT42D0: Dict[str, Act42D0Data] TYPE_ACT42D0: Dict[str, Act42D0Data]
TYPE_ACT38D1: Union[Dict[str, Act38D1Data], None] = None # Remove in 2.1.21
class ActivityStageRewardData(BaseStruct): class ActivityStageRewardData(BaseStruct):
@ -1989,8 +2142,8 @@ class ActivityThemeDataTimeNode(BaseStruct):
class ActivityThemeData(BaseStruct): class ActivityThemeData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
funcId: str funcId: str
endTs: int endTs: int
sortId: int sortId: int
@ -2212,7 +2365,7 @@ class AprilFoolTable(BaseStruct):
class CartComponents(BaseStruct): class CartComponents(BaseStruct):
compId: str compId: str
sortId: int sortId: int
type_: str = field(name='type') type_: str = field(name="type")
posList: List[str] posList: List[str]
posIdDict: Dict[str, List[str]] posIdDict: Dict[str, List[str]]
name: str name: str
@ -2452,7 +2605,7 @@ class ActivityTableExtraData(BaseStruct):
class ActivityTable(BaseStruct): class ActivityTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
basicInfo: Dict[str, ActivityTableBasicData] basicInfo: Dict[str, ActivityTableBasicData]
homeActConfig: Dict[str, ActivityTableHomeActivityConfig] homeActConfig: Dict[str, ActivityTableHomeActivityConfig]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class BGMBank(BaseStruct): class BGMBank(BaseStruct):
name: str name: str
@ -12,6 +12,7 @@ class BGMBank(BaseStruct):
volume: float volume: float
crossfade: float crossfade: float
delay: float delay: float
fadeStyleId: Union[str, None] = None
class SoundFXBankSoundFX(BaseStruct): class SoundFXBankSoundFX(BaseStruct):
@ -61,7 +62,7 @@ class BattleVoiceOption(BaseStruct):
class MusicData(BaseStruct): class MusicData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
bank: str bank: str
@ -73,8 +74,24 @@ class BattleVoiceData(BaseStruct):
voiceTypeOptions: List[BattleVoiceOption] voiceTypeOptions: List[BattleVoiceOption]
class AudioDataDucking(BaseStruct):
bank: str
volume: float
fadeTime: float
delay: float
fadeStyleId: Union[str, None] = None
class AudioDataFadeStyle(BaseStruct):
styleName: str
fadeinTime: float
fadeoutTime: float
fadeinType: str
fadeoutType: str
class AudioData(BaseStruct): class AudioData(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
bgmBanks: List[BGMBank] bgmBanks: List[BGMBank]
soundFXBanks: List[SoundFXBank] soundFXBanks: List[SoundFXBank]
@ -84,3 +101,5 @@ class AudioData(BaseStruct):
musics: List[MusicData] musics: List[MusicData]
soundFxVoiceLang: Dict[str, Dict[str, Dict[str, str]]] soundFxVoiceLang: Dict[str, Dict[str, Dict[str, str]]]
bankAlias: Dict[str, str] bankAlias: Dict[str, str]
duckings: List[AudioDataDucking]
fadeStyles: List[AudioDataFadeStyle]

View File

@ -78,6 +78,6 @@ class BattleEquipData(BaseStruct):
class BattleEquipTable(BaseStruct): class BattleEquipTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
equips: Dict[str, BattleEquipData] equips: Dict[str, BattleEquipData]

View File

@ -1,18 +1,18 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class BuildingDataRoomUnlockCondCondItem(BaseStruct): class BuildingDataRoomUnlockCondCondItem(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
level: int level: int
count: int count: int
class BuildingDataRoomUnlockCond(BaseStruct): class BuildingDataRoomUnlockCond(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
number: Dict[str, BuildingDataRoomUnlockCondCondItem] number: Dict[str, BuildingDataRoomUnlockCondCondItem]
@ -22,9 +22,9 @@ class GridPosition(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class BuildingDataRoomDataBuildCost(BaseStruct): class BuildingDataRoomDataBuildCost(BaseStruct):
@ -44,7 +44,7 @@ class BuildingDataRoomDataPhaseData(BaseStruct):
class BuildingDataRoomData(BaseStruct): class BuildingDataRoomData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
description: Union[str, None] description: Union[str, None]
defaultPrefabId: str defaultPrefabId: str
@ -56,7 +56,7 @@ class BuildingDataRoomData(BaseStruct):
class BuildingDataLayoutDataRoomSlot(BaseStruct): class BuildingDataLayoutDataRoomSlot(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
cleanCostId: str cleanCostId: str
costLabor: int costLabor: int
provideLabor: int provideLabor: int
@ -71,26 +71,26 @@ class BuildingDataLayoutDataSlotCleanCostCountCost(BaseStruct):
class BuildingDataLayoutDataSlotCleanCost(BaseStruct): class BuildingDataLayoutDataSlotCleanCost(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
number: Dict[str, BuildingDataLayoutDataSlotCleanCostCountCost] number: Dict[str, BuildingDataLayoutDataSlotCleanCostCountCost]
class BuildingDataLayoutDataStoreyData(BaseStruct): class BuildingDataLayoutDataStoreyData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
yOffset: int yOffset: int
unlockControlLevel: int unlockControlLevel: int
type_: str = field(name='type') type_: str = field(name="type")
class BuildingDataLayoutData(BaseStruct): class BuildingDataLayoutData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
slots: Dict[str, BuildingDataLayoutDataRoomSlot] slots: Dict[str, BuildingDataLayoutDataRoomSlot]
cleanCosts: Dict[str, BuildingDataLayoutDataSlotCleanCost] cleanCosts: Dict[str, BuildingDataLayoutDataSlotCleanCost]
storeys: Dict[str, BuildingDataLayoutDataStoreyData] storeys: Dict[str, BuildingDataLayoutDataStoreyData]
class BuildingDataPrefabInfo(BaseStruct): class BuildingDataPrefabInfo(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
blueprintRoomOverrideId: Union[str, None] blueprintRoomOverrideId: Union[str, None]
size: GridPosition size: GridPosition
floorGridSize: GridPosition floorGridSize: GridPosition
@ -98,45 +98,45 @@ class BuildingDataPrefabInfo(BaseStruct):
obstacleId: Union[str, None] obstacleId: Union[str, None]
class BuildingDataManufactPhase(BaseStruct, tag='BuildingDataManufactPhase'): class BuildingDataManufactPhase(BaseStruct, tag="BuildingDataManufactPhase"):
speed: Union[float, int] speed: Union[float, int]
outputCapacity: int outputCapacity: int
class BuildingDataShopPhase(BaseStruct, tag='BuildingDataShopPhase'): class BuildingDataShopPhase(BaseStruct, tag="BuildingDataShopPhase"):
counterNum: int counterNum: int
speed: Union[float, int] speed: Union[float, int]
moneyCapacity: int moneyCapacity: int
class BuildingDataHirePhase(BaseStruct, tag='BuildingDataHirePhase'): class BuildingDataHirePhase(BaseStruct, tag="BuildingDataHirePhase"):
economizeRate: float economizeRate: float
resSpeed: int resSpeed: int
refreshTimes: int refreshTimes: int
class BuildingDataDormPhase(BaseStruct, tag='BuildingDataDormPhase'): class BuildingDataDormPhase(BaseStruct, tag="BuildingDataDormPhase"):
manpowerRecover: int manpowerRecover: int
decorationLimit: int decorationLimit: int
class BuildingDataMeetingPhase(BaseStruct, tag='BuildingDataMeetingPhase'): class BuildingDataMeetingPhase(BaseStruct, tag="BuildingDataMeetingPhase"):
friendSlotInc: int friendSlotInc: int
maxVisitorNum: int maxVisitorNum: int
gatheringSpeed: int gatheringSpeed: int
class BuildingDataTradingPhase(BaseStruct, tag='BuildingDataTradingPhase'): class BuildingDataTradingPhase(BaseStruct, tag="BuildingDataTradingPhase"):
orderSpeed: Union[float, int] orderSpeed: Union[float, int]
orderLimit: int orderLimit: int
orderRarity: int orderRarity: int
class BuildingDataWorkshopPhase(BaseStruct, tag='BuildingDataWorkshopPhase'): class BuildingDataWorkshopPhase(BaseStruct, tag="BuildingDataWorkshopPhase"):
manpowerFactor: Union[float, int] manpowerFactor: Union[float, int]
class BuildingDataTrainingPhase(BaseStruct, tag='BuildingDataTrainingPhase'): class BuildingDataTrainingPhase(BaseStruct, tag="BuildingDataTrainingPhase"):
specSkillLvlLimit: int specSkillLvlLimit: int
@ -222,11 +222,11 @@ class BuildingDataBuildingBuff(BaseStruct):
class BuildingDataCustomDataFurnitureData(BaseStruct): class BuildingDataCustomDataFurnitureData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
name: str name: str
iconId: str iconId: str
type_: str = field(name='type') type_: str = field(name="type")
subType: str subType: str
location: str location: str
category: str category: str
@ -257,11 +257,11 @@ class BuildingDataCustomDataThemeQuickSetupItem(BaseStruct):
furnitureId: str furnitureId: str
pos0: int pos0: int
pos1: int pos1: int
dir_: int = field(name='dir') dir_: int = field(name="dir")
class BuildingDataCustomDataThemeData(BaseStruct): class BuildingDataCustomDataThemeData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
name: str name: str
themeType: str themeType: str
@ -272,7 +272,7 @@ class BuildingDataCustomDataThemeData(BaseStruct):
class BuildingDataCustomDataGroupData(BaseStruct): class BuildingDataCustomDataGroupData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
name: str name: str
themeId: str themeId: str
@ -282,14 +282,14 @@ class BuildingDataCustomDataGroupData(BaseStruct):
class BuildingDataCustomDataFurnitureTypeData(BaseStruct): class BuildingDataCustomDataFurnitureTypeData(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
name: str name: str
class BuildingDataCustomDataFurnitureSubTypeData(BaseStruct): class BuildingDataCustomDataFurnitureSubTypeData(BaseStruct):
subType: str subType: str
name: str name: str
type_: str = field(name='type') type_: str = field(name="type")
sortId: int sortId: int
@ -423,7 +423,7 @@ class BuildingDataCreditFormula(BaseStruct):
class BuildingData(BaseStruct): class BuildingData(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
controlSlotId: str controlSlotId: str
meetingSlotId: str meetingSlotId: str

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class CampaignDataBreakRewardLadder(BaseStruct): class CampaignDataBreakRewardLadder(BaseStruct):
@ -18,16 +18,16 @@ class CampaignDataBreakRewardLadder(BaseStruct):
class WeightItemBundle(BaseStruct): class WeightItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
dropType: str dropType: str
count: int count: int
weight: int weight: int
class StageDataDisplayRewards_(BaseStruct): class StageDataDisplayRewards_(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
@ -58,15 +58,15 @@ class CampaignDataGainLadder(BaseStruct):
class StageDataDisplayRewards(BaseStruct): class StageDataDisplayRewards(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
class StageDataDisplayDetailRewards(BaseStruct): class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int occPercent: int
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
@ -93,19 +93,19 @@ class CampaignGroupData(BaseStruct):
class CampaignRegionData(BaseStruct): class CampaignRegionData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
isUnknwon: int isUnknwon: int
class CampaignZoneData(BaseStruct): class CampaignZoneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
regionId: str regionId: str
templateId: str templateId: str
class CampaignMissionData(BaseStruct): class CampaignMissionData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
param: List[str] param: List[str]
description: str description: str
@ -145,7 +145,7 @@ class CampaignTrainingAllOpenTimeData(BaseStruct):
class CampaignTable(BaseStruct): class CampaignTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
campaigns: Dict[str, CampaignData] campaigns: Dict[str, CampaignData]
campaignGroups: Dict[str, CampaignGroupData] campaignGroups: Dict[str, CampaignGroupData]

View File

@ -15,6 +15,6 @@ class ChapterData(BaseStruct):
class ChapterTable(BaseStruct): class ChapterTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
chapters: Dict[str, ChapterData] chapters: Dict[str, ChapterData]

View File

@ -1,14 +1,14 @@
from typing import Dict, List from typing import Dict, List
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class SpCharMissionData(BaseStruct): class SpCharMissionData(BaseStruct):
@ -21,7 +21,7 @@ class SpCharMissionData(BaseStruct):
class CharMetaTable(BaseStruct): class CharMetaTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
spCharGroups: Dict[str, List[str]] spCharGroups: Dict[str, List[str]]
spCharMissions: Dict[str, Dict[str, SpCharMissionData]] spCharMissions: Dict[str, Dict[str, SpCharMissionData]]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class CharPatchDataPatchInfo(BaseStruct): class CharPatchDataPatchInfo(BaseStruct):
tmplIds: List[str] tmplIds: List[str]
@ -37,7 +37,7 @@ class CharacterDataTraitDataBundle(BaseStruct):
class AttributesData(BaseStruct): class AttributesData(BaseStruct):
maxHp: int maxHp: int
atk: int atk: int
def_: int = field(name='def') def_: int = field(name="def")
magicResistance: float magicResistance: float
cost: int cost: int
blockCnt: int blockCnt: int
@ -65,9 +65,9 @@ class CharacterDataAttributesKeyFrame(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class CharacterDataPhaseData(BaseStruct): class CharacterDataPhaseData(BaseStruct):
@ -129,7 +129,7 @@ class ExternalBuff(BaseStruct):
class CharacterDataPotentialRank(BaseStruct): class CharacterDataPotentialRank(BaseStruct):
type_: int = field(name='type') type_: int = field(name="type")
description: str description: str
buff: Union[ExternalBuff, None] buff: Union[ExternalBuff, None]
equivalentCost: Union[ItemBundle, None] equivalentCost: Union[ItemBundle, None]
@ -191,7 +191,7 @@ class CharPatchDataPatchDetailInfo(BaseStruct):
class CharPatchTable(BaseStruct): class CharPatchTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
infos: Dict[str, CharPatchDataPatchInfo] infos: Dict[str, CharPatchDataPatchInfo]
patchChars: Dict[str, CharacterData] patchChars: Dict[str, CharacterData]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class CharacterDataUnlockCondition(BaseStruct): class CharacterDataUnlockCondition(BaseStruct):
phase: int phase: int
@ -33,7 +33,7 @@ class CharacterDataTraitDataBundle(BaseStruct):
class AttributesData(BaseStruct): class AttributesData(BaseStruct):
maxHp: int maxHp: int
atk: int atk: int
def_: int = field(name='def') def_: int = field(name="def")
magicResistance: float magicResistance: float
cost: int cost: int
blockCnt: int blockCnt: int
@ -61,9 +61,9 @@ class CharacterDataAttributesKeyFrame(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class CharacterDataPhaseData(BaseStruct): class CharacterDataPhaseData(BaseStruct):
@ -126,7 +126,7 @@ class ExternalBuff(BaseStruct):
class CharacterDataPotentialRank(BaseStruct): class CharacterDataPotentialRank(BaseStruct):
type_: int = field(name='type') type_: int = field(name="type")
description: str description: str
buff: Union[ExternalBuff, None] buff: Union[ExternalBuff, None]
equivalentCost: Union[ItemBundle, None] equivalentCost: Union[ItemBundle, None]
@ -175,7 +175,7 @@ class CharacterData(BaseStruct):
class CharacterTable(BaseStruct): class CharacterTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
chars: Dict[str, CharacterData] chars: Dict[str, CharacterData]

View File

@ -1,9 +1,9 @@
from typing import List, Union from typing import List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class RuneDataSelector(BaseStruct): class RuneDataSelector(BaseStruct):
professionMask: Union[int, str] professionMask: Union[int, str]
@ -31,7 +31,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct): class RuneTablePackedRuneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
points: float points: float
mutexGroupKey: Union[str, None] mutexGroupKey: Union[str, None]
description: str description: str
@ -39,7 +39,7 @@ class RuneTablePackedRuneData(BaseStruct):
class CharmItemData(BaseStruct): class CharmItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sort: int sort: int
name: str name: str
icon: str icon: str
@ -58,6 +58,6 @@ class CharmItemData(BaseStruct):
class CharmTable(BaseStruct): class CharmTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
charmList: List[CharmItemData] charmList: List[CharmItemData]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class CharWordUnlockParam(BaseStruct): class CharWordUnlockParam(BaseStruct):
valueStr: Union[str, None] valueStr: Union[str, None]
@ -36,7 +36,7 @@ class VoiceLangInfoData(BaseStruct):
class VoiceLangData(BaseStruct): class VoiceLangData(BaseStruct):
wordkeys: List[str] wordkeys: List[str]
charId: str charId: str
dict_: Dict[str, VoiceLangInfoData] = field(name='dict') dict_: Dict[str, VoiceLangInfoData] = field(name="dict")
class VoiceLangTypeData(BaseStruct): class VoiceLangTypeData(BaseStruct):
@ -55,7 +55,7 @@ class NewVoiceTimeData(BaseStruct):
class CharwordTable(BaseStruct): class CharwordTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
charWords: Dict[str, CharWordData] charWords: Dict[str, CharWordData]
voiceLangDict: Dict[str, VoiceLangData] voiceLangDict: Dict[str, VoiceLangData]

View File

@ -1,14 +1,14 @@
from typing import Dict, List from typing import Dict, List
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class MonthlySignInData(BaseStruct): class MonthlySignInData(BaseStruct):
@ -36,7 +36,7 @@ class MonthlyDailyBonusGroup(BaseStruct):
class CheckinTable(BaseStruct): class CheckinTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
groups: Dict[str, MonthlySignInGroupData] groups: Dict[str, MonthlySignInGroupData]
monthlySubItem: Dict[str, List[MonthlyDailyBonusGroup]] monthlySubItem: Dict[str, List[MonthlyDailyBonusGroup]]

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class ClimbTowerSingleTowerDataClimbTowerTaskRewardData(BaseStruct): class ClimbTowerSingleTowerDataClimbTowerTaskRewardData(BaseStruct):
@ -17,7 +17,7 @@ class ClimbTowerSingleTowerDataClimbTowerTaskRewardData(BaseStruct):
class ClimbTowerSingleTowerData(BaseStruct): class ClimbTowerSingleTowerData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
stageNum: int stageNum: int
name: str name: str
@ -42,29 +42,29 @@ class ClimbTowerSingleTowerData(BaseStruct):
class WeightItemBundle(BaseStruct): class WeightItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
dropType: str dropType: str
count: int count: int
weight: int weight: int
class StageDataDisplayRewards(BaseStruct): class StageDataDisplayRewards(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
class StageDataDisplayDetailRewards(BaseStruct): class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int occPercent: int
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
class ClimbTowerDropDisplayInfo(BaseStruct): class ClimbTowerDropDisplayInfo(BaseStruct):
itemId: str itemId: str
type_: int = field(name='type') type_: int = field(name="type")
maxCount: int maxCount: int
minCount: int minCount: int
@ -77,7 +77,7 @@ class ClimbTowerLevelDropInfo(BaseStruct):
class ClimbTowerSingleLevelData(BaseStruct): class ClimbTowerSingleLevelData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
levelId: str levelId: str
towerId: str towerId: str
layerNum: int layerNum: int
@ -90,7 +90,7 @@ class ClimbTowerSingleLevelData(BaseStruct):
class ClimbTowerTacticalBuffData(BaseStruct): class ClimbTowerTacticalBuffData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
desc: str desc: str
profession: str profession: str
isDefaultActive: bool isDefaultActive: bool
@ -124,7 +124,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct): class RuneTablePackedRuneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
points: float points: float
mutexGroupKey: Union[str, None] mutexGroupKey: Union[str, None]
description: str description: str
@ -132,8 +132,8 @@ class RuneTablePackedRuneData(BaseStruct):
class ClimbTowerMainCardData(BaseStruct): class ClimbTowerMainCardData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
linkedTowerId: Union[str, None] linkedTowerId: Union[str, None]
sortId: int sortId: int
name: str name: str
@ -144,7 +144,7 @@ class ClimbTowerMainCardData(BaseStruct):
class ClimbTowerSubCardData(BaseStruct): class ClimbTowerSubCardData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
mainCardId: str mainCardId: str
sortId: int sortId: int
name: str name: str
@ -154,7 +154,7 @@ class ClimbTowerSubCardData(BaseStruct):
class ClimbTowerCurseCardData(BaseStruct): class ClimbTowerCurseCardData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
towerIdList: List[str] towerIdList: List[str]
name: str name: str
desc: str desc: str
@ -162,7 +162,7 @@ class ClimbTowerCurseCardData(BaseStruct):
class ClimbTowerSeasonInfoData(BaseStruct): class ClimbTowerSeasonInfoData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
startTs: int startTs: int
endTs: int endTs: int
@ -196,16 +196,16 @@ class ClimbTowerRewardInfo(BaseStruct):
class MissionDisplayRewards(BaseStruct): class MissionDisplayRewards(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
class MissionData(BaseStruct): class MissionData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
description: str description: str
type_: str = field(name='type') type_: str = field(name="type")
itemBgType: str itemBgType: str
preMissionIds: Union[List[str], None] preMissionIds: Union[List[str], None]
template: str template: str
@ -228,9 +228,9 @@ class ClimbTowerMissionData(MissionData):
class MissionGroup(BaseStruct): class MissionGroup(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
title: Union[str, None] title: Union[str, None]
type_: str = field(name='type') type_: str = field(name="type")
preMissionGroup: Union[str, None] preMissionGroup: Union[str, None]
period: Union[List[int], None] period: Union[List[int], None]
rewards: List[MissionDisplayRewards] rewards: List[MissionDisplayRewards]
@ -240,7 +240,7 @@ class MissionGroup(BaseStruct):
class ClimbTowerTable(BaseStruct): class ClimbTowerTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
towers: Dict[str, ClimbTowerSingleTowerData] towers: Dict[str, ClimbTowerSingleTowerData]
levels: Dict[str, ClimbTowerSingleLevelData] levels: Dict[str, ClimbTowerSingleLevelData]

View File

@ -21,7 +21,7 @@ class MeetingClueDataReceiveTimeBonus(BaseStruct):
class ClueData(BaseStruct): class ClueData(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
clues: List[MeetingClueDataClueData] clues: List[MeetingClueDataClueData]
clueTypes: List[MeetingClueDataClueTypeData] clueTypes: List[MeetingClueDataClueTypeData]

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class StringKeyFrames(BaseStruct): class StringKeyFrames(BaseStruct):
@ -34,12 +34,9 @@ class CrisisMapRankInfo(BaseStruct):
class CrisisTable(BaseStruct): class CrisisTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
seasonInfo: List[CrisisClientDataSeasonInfo] seasonInfo: List[CrisisClientDataSeasonInfo]
tempAppraise: List[StringKeyFrames]
permAppraise: List[StringKeyFrames]
mapRankInfo: Dict[str, CrisisMapRankInfo]
meta: str meta: str
unlockCoinLv3: int unlockCoinLv3: int
hardPointPerm: int hardPointPerm: int
@ -47,3 +44,6 @@ class CrisisTable(BaseStruct):
voiceGrade: int voiceGrade: int
crisisRuneCoinUnlockItemTitle: str crisisRuneCoinUnlockItemTitle: str
crisisRuneCoinUnlockItemDesc: str crisisRuneCoinUnlockItemDesc: str
tempAppraise: Union[List[StringKeyFrames], None] = None # Removed in 2.1.21
permAppraise: Union[List[StringKeyFrames], None] = None # Removed in 2.1.21
mapRankInfo: Union[Dict[str, CrisisMapRankInfo], None] = None # Removed in 2.1.21

View File

@ -0,0 +1,53 @@
from enum import Enum
from typing import Dict
from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct):
id_: str = field(name="id")
count: int
type_: str = field(name="type")
class StringKeyFrames(BaseStruct):
level: int
data: str
class CrisisV2ConstData(BaseStruct):
sysStartTime: int
blackScoreThreshold: int
redScoreThreshold: int
detailBkgRedThreshold: int
voiceGrade: int
seasonButtonUnlockInfo: int
shopCoinId: str
hardBgmSwitchScore: int
stageId: str
hideTodoWhenStageFinish: bool
class appraiseType(Enum):
RANK_D = "RANK_D"
RANK_C = "RANK_C"
RANK_B = "RANK_B"
RANK_A = "RANK_A"
RANK_S = "RANK_S"
RANK_SS = "RANK_SS"
RANK_SSS = "RANK_SSS"
class CrisisV2ScoreLevelToAppraiseData(BaseStruct):
appraiseType: appraiseType
class CrisisV2Table(BaseStruct):
__version__ = "23-10-31-11-47-45-d410ff"
seasonInfoDataMap: Dict
scoreLevelToAppraiseDataMap: Dict[str, CrisisV2ScoreLevelToAppraiseData]
constData: CrisisV2ConstData
battleCommentRuneData: Dict

View File

@ -1,9 +1,9 @@
from typing import Dict, List from typing import Dict, List
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class PlayerAvatarPerData(BaseStruct): class PlayerAvatarPerData(BaseStruct):
avatarId: str avatarId: str
@ -42,8 +42,8 @@ class HomeBackgroundSingleData(BaseStruct):
class HomeBackgroundThemeData(BaseStruct): class HomeBackgroundThemeData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
sortId: int sortId: int
startTime: int startTime: int
tmName: str tmName: str
@ -61,7 +61,7 @@ class ThemeLimitInfo(BaseStruct):
class HomeBackgroundThemeLimitData(BaseStruct): class HomeBackgroundThemeLimitData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
limitInfos: List[ThemeLimitInfo] limitInfos: List[ThemeLimitInfo]
@ -76,7 +76,7 @@ class HomeBackgroundData(BaseStruct):
class DisplayMetaTable(BaseStruct): class DisplayMetaTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
playerAvatarData: PlayerAvatarData playerAvatarData: PlayerAvatarData
homeBackgroundData: HomeBackgroundData homeBackgroundData: HomeBackgroundData

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class EnemyHandBookDataAbilty(BaseStruct): class EnemyHandBookDataAbilty(BaseStruct):
text: str text: str
@ -31,14 +31,14 @@ class EnemyHandBookData(BaseStruct):
class EnemyHandbookLevelInfoDataRangePair(BaseStruct): class EnemyHandbookLevelInfoDataRangePair(BaseStruct):
min_: float = field(name='min') min_: float = field(name="min")
max_: float = field(name='max') max_: float = field(name="max")
class EnemyHandbookLevelInfoData(BaseStruct): class EnemyHandbookLevelInfoData(BaseStruct):
classLevel: str classLevel: str
attack: EnemyHandbookLevelInfoDataRangePair attack: EnemyHandbookLevelInfoDataRangePair
def_: EnemyHandbookLevelInfoDataRangePair = field(name='def') def_: EnemyHandbookLevelInfoDataRangePair = field(name="def")
magicRes: EnemyHandbookLevelInfoDataRangePair magicRes: EnemyHandbookLevelInfoDataRangePair
maxHP: EnemyHandbookLevelInfoDataRangePair maxHP: EnemyHandbookLevelInfoDataRangePair
moveSpeed: EnemyHandbookLevelInfoDataRangePair moveSpeed: EnemyHandbookLevelInfoDataRangePair
@ -48,13 +48,13 @@ class EnemyHandbookLevelInfoData(BaseStruct):
class EnemyHandbookRaceData(BaseStruct): class EnemyHandbookRaceData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
raceName: str raceName: str
sortId: int sortId: int
class EnemyHandbookTable(BaseStruct): class EnemyHandbookTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
levelInfoList: List[EnemyHandbookLevelInfoData] levelInfoList: List[EnemyHandbookLevelInfoData]
enemyData: Dict[str, EnemyHandBookData] enemyData: Dict[str, EnemyHandBookData]

View File

@ -15,7 +15,7 @@ class FavorDataFrames(BaseStruct):
class FavorTable(BaseStruct): class FavorTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
maxFavor: int maxFavor: int
favorFrames: List[FavorDataFrames] favorFrames: List[FavorDataFrames]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class GachaDataLinkageTenGachaTkt(BaseStruct): class GachaDataLinkageTenGachaTkt(BaseStruct):
itemId: str itemId: str
@ -32,9 +32,9 @@ class GachaDataCarouselData(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class GachaDataRecruitRange(BaseStruct): class GachaDataRecruitRange(BaseStruct):
@ -131,7 +131,7 @@ class GachaDataFesGachaPoolRelateItem(BaseStruct):
class GachaTable(BaseStruct): class GachaTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
gachaTags: List[GachaTag] gachaTags: List[GachaTag]
carousel: List[GachaDataCarouselData] carousel: List[GachaDataCarouselData]

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class GameDataConstsCharAssistRefreshTimeState(BaseStruct): class GameDataConstsCharAssistRefreshTimeState(BaseStruct):
@ -23,7 +23,7 @@ class TermDescriptionData(BaseStruct):
class GamedataConst(BaseStruct): class GamedataConst(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
addedRewardDisplayZone: str addedRewardDisplayZone: str
advancedGachaCrystalCost: int advancedGachaCrystalCost: int
@ -41,9 +41,11 @@ class GamedataConst(BaseStruct):
commonPotentialLvlUpCount: int commonPotentialLvlUpCount: int
completeCrystalBonus: int completeCrystalBonus: int
completeGainBonus: float completeGainBonus: float
continuousActionOpen: bool
creditLimit: int creditLimit: int
crisisUnlockStage: str
dataVersion: str dataVersion: str
defaultMinContinuousBattleTimes: int
defaultMaxContinuousBattleTimes: int
defCDPrimColor: str defCDPrimColor: str
defCDSecColor: str defCDSecColor: str
defMax: float defMax: float
@ -117,3 +119,4 @@ class GamedataConst(BaseStruct):
isVoucherClassicItemDistinguishable: Union[bool, None] = None isVoucherClassicItemDistinguishable: Union[bool, None] = None
operatorRecordsStartTime: Union[int, None] = None operatorRecordsStartTime: Union[int, None] = None
subProfessionDamageTypePairs: Union[Dict[str, int], None] = None subProfessionDamageTypePairs: Union[Dict[str, int], None] = None
crisisUnlockStage: Union[str, None] = None # Removed in 2.1.21

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class HandbookUnlockParam(BaseStruct): class HandbookUnlockParam(BaseStruct):
unlockType: int unlockType: int
@ -13,9 +13,9 @@ class HandbookUnlockParam(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class HandbookStageTimeData(BaseStruct): class HandbookStageTimeData(BaseStruct):
@ -43,11 +43,11 @@ class HandbookStoryStageData(BaseStruct):
class HandbookDisplayCondition(BaseStruct): class HandbookDisplayCondition(BaseStruct):
charId: str charId: str
conditionCharId: str conditionCharId: str
type_: str = field(name='type') type_: str = field(name="type")
class HandbookTeamMission(BaseStruct): class HandbookTeamMission(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sort: int sort: int
powerId: str powerId: str
powerName: str powerName: str
@ -122,7 +122,7 @@ class HandbookInfoData(BaseStruct):
class HandbookInfoTable(BaseStruct): class HandbookInfoTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
handbookDict: Dict[str, HandbookInfoData] handbookDict: Dict[str, HandbookInfoData]
npcDict: Dict[str, NPCData] npcDict: Dict[str, NPCData]

View File

@ -40,6 +40,6 @@ class CharHandbook(BaseStruct):
class HandbookTable(BaseStruct): class HandbookTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
char_102_texas: CharHandbook char_102_texas: CharHandbook

View File

@ -15,6 +15,6 @@ class HandbookTeam(BaseStruct):
class HandbookTeamTable(BaseStruct): class HandbookTeamTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
team: Dict[str, HandbookTeam] team: Dict[str, HandbookTeam]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemDataStageDropInfo(BaseStruct): class ItemDataStageDropInfo(BaseStruct):
stageId: str stageId: str
@ -16,9 +16,9 @@ class ItemDataBuildingProductInfo(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class FavorCharacterInfo(BaseStruct): class FavorCharacterInfo(BaseStruct):
@ -47,13 +47,13 @@ class UniCollectionInfo(BaseStruct):
class ApSupplyFeature(BaseStruct): class ApSupplyFeature(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
ap: int ap: int
hasTs: bool hasTs: bool
class ExpItemFeature(BaseStruct): class ExpItemFeature(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
gainExp: int gainExp: int
@ -83,7 +83,7 @@ class ItemData(BaseStruct):
class CharVoucherItemFeature(BaseStruct): class CharVoucherItemFeature(BaseStruct):
displayType: int displayType: int
id_: str = field(name='id') id_: str = field(name="id")
class ServerItemReminderMailData(BaseStruct): class ServerItemReminderMailData(BaseStruct):
@ -98,7 +98,7 @@ class ServerItemReminderInfo(BaseStruct):
class ItemTable(BaseStruct): class ItemTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
activityPotentialCharacters: Dict[str, ActivityPotentialCharacterInfo] activityPotentialCharacters: Dict[str, ActivityPotentialCharacterInfo]
apSupplies: Dict[str, ApSupplyFeature] apSupplies: Dict[str, ApSupplyFeature]

View File

@ -1,20 +1,20 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class MedalExpireTime(BaseStruct): class MedalExpireTime(BaseStruct):
start: int start: int
end: int end: int
type_: str = field(name='type') type_: str = field(name="type")
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class MedalGroupData(BaseStruct): class MedalGroupData(BaseStruct):
@ -61,7 +61,7 @@ class MedalPerData(BaseStruct):
class MedalTable(BaseStruct): class MedalTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
medalList: List[MedalPerData] medalList: List[MedalPerData]
medalTypeData: Dict[str, MedalTypeData] medalTypeData: Dict[str, MedalTypeData]

View File

@ -1,13 +1,13 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class MissionDisplayRewards(BaseStruct): class MissionDisplayRewards(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
@ -28,26 +28,26 @@ class MissionWeeklyRewardConf(BaseStruct):
beginTime: int beginTime: int
endTime: int endTime: int
groupId: str groupId: str
id_: str = field(name='id') id_: str = field(name="id")
periodicalPointCost: int periodicalPointCost: int
type_: str = field(name='type') type_: str = field(name="type")
sortIndex: int sortIndex: int
rewards: List[MissionDisplayRewards] rewards: List[MissionDisplayRewards]
class MissionDailyRewardConf(BaseStruct): class MissionDailyRewardConf(BaseStruct):
groupId: str groupId: str
id_: str = field(name='id') id_: str = field(name="id")
periodicalPointCost: int periodicalPointCost: int
type_: str = field(name='type') type_: str = field(name="type")
sortIndex: int sortIndex: int
rewards: List[MissionDisplayRewards] rewards: List[MissionDisplayRewards]
class MissionGroup(BaseStruct): class MissionGroup(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
title: Union[str, None] title: Union[str, None]
type_: str = field(name='type') type_: str = field(name="type")
preMissionGroup: Union[str, None] preMissionGroup: Union[str, None]
period: Union[List[int], None] period: Union[List[int], None]
rewards: Union[List[MissionDisplayRewards], None] rewards: Union[List[MissionDisplayRewards], None]
@ -57,10 +57,10 @@ class MissionGroup(BaseStruct):
class MissionData(BaseStruct): class MissionData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
description: str description: str
type_: str = field(name='type') type_: str = field(name="type")
itemBgType: str itemBgType: str
preMissionIds: Union[List[str], None] preMissionIds: Union[List[str], None]
template: str template: str
@ -78,7 +78,7 @@ class MissionData(BaseStruct):
class MissionTable(BaseStruct): class MissionTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
missions: Dict[str, MissionData] missions: Dict[str, MissionData]
missionGroups: Dict[str, MissionGroup] missionGroups: Dict[str, MissionGroup]

View File

@ -1,26 +1,26 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class RewardItem(BaseStruct): class RewardItem(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
sortId: int sortId: int
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
class MissionDisplayRewards(BaseStruct): class MissionDisplayRewards(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
@ -42,7 +42,7 @@ class ReturnCheckinData(BaseStruct):
class ReturnLongTermTaskData(BaseStruct): class ReturnLongTermTaskData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
template: str template: str
param: List[str] param: List[str]
@ -53,7 +53,7 @@ class ReturnLongTermTaskData(BaseStruct):
class ReturnDailyTaskData(BaseStruct): class ReturnDailyTaskData(BaseStruct):
groupId: str groupId: str
id_: str = field(name='id') id_: str = field(name="id")
groupSortId: int groupSortId: int
taskSortId: int taskSortId: int
template: str template: str
@ -105,10 +105,10 @@ class ChainLoginData(BaseStruct):
class MissionData(BaseStruct): class MissionData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
sortId: int sortId: int
description: str description: str
type_: str = field(name='type') type_: str = field(name="type")
itemBgType: str itemBgType: str
preMissionIds: None preMissionIds: None
template: str template: str
@ -126,9 +126,9 @@ class MissionData(BaseStruct):
class MissionGroup(BaseStruct): class MissionGroup(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
title: None title: None
type_: str = field(name='type') type_: str = field(name="type")
preMissionGroup: None preMissionGroup: None
period: None period: None
rewards: None rewards: None
@ -145,7 +145,7 @@ class OpenServerData(BaseStruct):
class OpenServerScheduleItem(BaseStruct): class OpenServerScheduleItem(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
startTs: int startTs: int
endTs: int endTs: int
totalCheckinDescption: str totalCheckinDescption: str
@ -269,7 +269,7 @@ class OpenServerNewbieCheckInPackage(BaseStruct):
class OpenServerTable(BaseStruct): class OpenServerTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
schedule: List[OpenServerScheduleItem] schedule: List[OpenServerScheduleItem]
dataMap: Dict[str, OpenServerData] dataMap: Dict[str, OpenServerData]

View File

@ -21,7 +21,7 @@ class PlayerAvatarPerData(BaseStruct):
class PlayerAvatarTable(BaseStruct): class PlayerAvatarTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
avatarList: List[PlayerAvatarPerData] avatarList: List[PlayerAvatarPerData]
avatarTypeData: Dict[str, PlayerAvatarGroupData] avatarTypeData: Dict[str, PlayerAvatarGroupData]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class GridPosition(BaseStruct): class GridPosition(BaseStruct):
row: int row: int
@ -18,13 +18,13 @@ class ObscuredRect(BaseStruct):
class Stage(BaseStruct): class Stage(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
direction: int direction: int
grids: List[GridPosition] grids: List[GridPosition]
boundingBoxes: Union[List[ObscuredRect], None] = None boundingBoxes: Union[List[ObscuredRect], None] = None
class RangeTable(BaseStruct): class RangeTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
range_: Dict[str, Stage] range_: Dict[str, Stage]

View File

@ -1,14 +1,14 @@
from typing import Dict, List from typing import Dict, List
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class ReplicateData(BaseStruct): class ReplicateData(BaseStruct):
@ -21,6 +21,6 @@ class ReplicateList(BaseStruct):
class ReplicateTable(BaseStruct): class ReplicateTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
replicate: Dict[str, ReplicateList] replicate: Dict[str, ReplicateList]

View File

@ -1,19 +1,19 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class StageDataDisplayRewards(BaseStruct): class StageDataDisplayRewards(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
@ -32,8 +32,8 @@ class Act17sideDataChoiceNodeOptionData(BaseStruct):
class StageDataDisplayDetailRewards(BaseStruct): class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int occPercent: int
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
CannotGetPercent: Union[float, None] = None CannotGetPercent: Union[float, None] = None
GetPercent: Union[float, None] = None GetPercent: Union[float, None] = None
@ -69,7 +69,7 @@ class Act17sideDataMainlineChapterData(BaseStruct):
chapterDes: str chapterDes: str
chapterIcon: str chapterIcon: str
unlockDes: str unlockDes: str
id_: str = field(name='id') id_: str = field(name="id")
class RunesSelector(BaseStruct): class RunesSelector(BaseStruct):
@ -92,7 +92,7 @@ class TechTreeBranchRunes(BaseStruct):
class BranchRuneData(BaseStruct): class BranchRuneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
points: float points: float
mutexGroupKey: None mutexGroupKey: None
description: str description: str
@ -260,7 +260,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct): class RuneTablePackedRuneData(BaseStruct):
description: str description: str
id_: str = field(name='id') id_: str = field(name="id")
points: float points: float
runes: List[RuneData] runes: List[RuneData]
mutexGroupKey: Union[str, None] = None mutexGroupKey: Union[str, None] = None
@ -285,11 +285,27 @@ class ActivityCustomDataAct20sideCustomData(BaseStruct):
residentCartDatas: Dict[str, Dict[str, str]] residentCartDatas: Dict[str, Dict[str, str]]
class Act21SideDataZoneAddtionData(BaseStruct):
zoneId: str
unlockText: str
stageUnlockText: Union[str, None]
entryId: str
class Act21SideDataConstData(BaseStruct):
lineConnectZone: str
class ActivityCustomDataAct21sideCustomData(BaseStruct):
zoneAdditionDataMap: Dict[str, Act21SideDataZoneAddtionData]
constData: Act21SideDataConstData
class ActivityCustomData(BaseStruct): class ActivityCustomData(BaseStruct):
TYPE_ACT17SIDE: Dict[str, Act17sideData] TYPE_ACT17SIDE: Dict[str, Act17sideData]
TYPE_ACT25SIDE: Dict[str, ActivityCustomDataAct25sideCustomData] TYPE_ACT25SIDE: Dict[str, ActivityCustomDataAct25sideCustomData]
TYPE_ACT20SIDE: Dict[str, ActivityCustomDataAct20sideCustomData] TYPE_ACT20SIDE: Dict[str, ActivityCustomDataAct20sideCustomData]
TYPE_ACT21SIDE: Dict[str, None] TYPE_ACT21SIDE: Dict[str, ActivityCustomDataAct21sideCustomData]
class RetroTrailRuleData(BaseStruct): class RetroTrailRuleData(BaseStruct):
@ -300,8 +316,8 @@ class RetroTrailRuleData(BaseStruct):
class WeightItemBundle(BaseStruct): class WeightItemBundle(BaseStruct):
count: int count: int
dropType: str dropType: str
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
weight: int weight: int
@ -385,7 +401,7 @@ class RetroTrailData(BaseStruct):
class RetroActData(BaseStruct): class RetroActData(BaseStruct):
retroId: str retroId: str
type_: int = field(name='type') type_: int = field(name="type")
linkedActId: List[str] linkedActId: List[str]
startTime: int startTime: int
trailStartTime: int trailStartTime: int
@ -414,7 +430,7 @@ class RetroStageOverrideInfo(BaseStruct):
class RetroTable(BaseStruct): class RetroTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
customData: ActivityCustomData customData: ActivityCustomData
initRetroCoin: int initRetroCoin: int

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class Blackboard(BaseStruct): class Blackboard(BaseStruct):
key: str key: str
@ -28,12 +28,12 @@ class RoguelikeOuterBuff(BaseStruct):
class RoguelikeOutBuffData(BaseStruct): class RoguelikeOutBuffData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
buffs: Dict[str, RoguelikeOuterBuff] buffs: Dict[str, RoguelikeOuterBuff]
class RoguelikeEndingData(BaseStruct): class RoguelikeEndingData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
backgroundId: str backgroundId: str
name: str name: str
description: str description: str
@ -43,7 +43,7 @@ class RoguelikeEndingData(BaseStruct):
class RoguelikeModeData(BaseStruct): class RoguelikeModeData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
canUnlockItem: int canUnlockItem: int
scoreFactor: float scoreFactor: float
@ -56,24 +56,24 @@ class RoguelikeModeData(BaseStruct):
class RoguelikeChoiceSceneData(BaseStruct): class RoguelikeChoiceSceneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
title: str title: str
description: str description: str
background: str background: str
class RoguelikeChoiceData(BaseStruct): class RoguelikeChoiceData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
title: str title: str
description: Union[str, None] description: Union[str, None]
type_: str = field(name='type') type_: str = field(name="type")
nextSceneId: Union[str, None] nextSceneId: Union[str, None]
icon: Union[str, None] icon: Union[str, None]
param: Dict[str, object] param: Dict[str, object]
class RoguelikeZoneData(BaseStruct): class RoguelikeZoneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
description: str description: str
endingDescription: str endingDescription: str
@ -82,7 +82,7 @@ class RoguelikeZoneData(BaseStruct):
class RoguelikeStageData(BaseStruct): class RoguelikeStageData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
linkedStageId: str linkedStageId: str
levelId: str levelId: str
code: str code: str
@ -96,12 +96,12 @@ class RoguelikeStageData(BaseStruct):
class RoguelikeRelicFeature(BaseStruct): class RoguelikeRelicFeature(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
buffs: List[RoguelikeBuff] buffs: List[RoguelikeBuff]
class RoguelikeUpgradeTicketFeature(BaseStruct): class RoguelikeUpgradeTicketFeature(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
profession: int profession: int
rarity: int rarity: int
professionList: List[str] professionList: List[str]
@ -109,7 +109,7 @@ class RoguelikeUpgradeTicketFeature(BaseStruct):
class RoguelikeRecruitTicketFeature(BaseStruct): class RoguelikeRecruitTicketFeature(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
profession: int profession: int
rarity: int rarity: int
professionList: List[str] professionList: List[str]
@ -125,13 +125,13 @@ class RelicStableUnlockParam(BaseStruct):
class RoguelikeItemData(BaseStruct): class RoguelikeItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
description: Union[str, None] description: Union[str, None]
usage: str usage: str
obtainApproach: str obtainApproach: str
iconId: str iconId: str
type_: str = field(name='type') type_: str = field(name="type")
rarity: str rarity: str
value: int value: int
sortId: int sortId: int
@ -193,7 +193,7 @@ class RoguelikeConstTable(BaseStruct):
class RoguelikeTable(BaseStruct): class RoguelikeTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
constTable: RoguelikeConstTable constTable: RoguelikeConstTable
itemTable: RoguelikeItemTable itemTable: RoguelikeItemTable

View File

@ -21,7 +21,7 @@ class RoguelikeTopicConfig(BaseStruct):
class RoguelikeTopicBasicData(BaseStruct): class RoguelikeTopicBasicData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
startTime: int startTime: int
disappearTimeOnMainScreen: int disappearTimeOnMainScreen: int
@ -68,7 +68,7 @@ class RoguelikeTopicEnroll(BaseStruct):
class RoguelikeTopicBP(BaseStruct): class RoguelikeTopicBP(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
level: int level: int
tokenNum: int tokenNum: int
nextTokenNum: int nextTokenNum: int
@ -88,9 +88,9 @@ class RoguelikeTopicMilestoneUpdateData(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class RoguelikeTopicBPGrandPrize(BaseStruct): class RoguelikeTopicBPGrandPrize(BaseStruct):
@ -111,7 +111,7 @@ class RoguelikeTopicBPGrandPrize(BaseStruct):
class RoguelikeTopicMonthMission(BaseStruct): class RoguelikeTopicMonthMission(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
taskName: str taskName: str
taskClass: str taskClass: str
innerClassWeight: int innerClassWeight: int
@ -122,7 +122,7 @@ class RoguelikeTopicMonthMission(BaseStruct):
class RoguelikeTopicMonthSquad(BaseStruct): class RoguelikeTopicMonthSquad(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
teamName: str teamName: str
teamSubName: Union[str, None] teamSubName: Union[str, None]
teamFlavorDesc: Union[str, None] teamFlavorDesc: Union[str, None]
@ -162,6 +162,7 @@ class RoguelikeTopicChallenge(BaseStruct):
challengeTasks: Dict[str, RoguelikeTopicChallengeTask] challengeTasks: Dict[str, RoguelikeTopicChallengeTask]
defaultTaskId: str defaultTaskId: str
rewards: List[ItemBundle] rewards: List[ItemBundle]
challengeStoryId: Union[str, None] = None
class RoguelikeTopicDifficulty(BaseStruct): class RoguelikeTopicDifficulty(BaseStruct):
@ -291,8 +292,8 @@ class ActArchiveBuffData(BaseStruct):
class ActArchiveTotemItemData(BaseStruct): class ActArchiveTotemItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
type_: int = field(name='type') type_: int = field(name="type")
enrollConditionId: Union[str, None] enrollConditionId: Union[str, None]
sortId: int sortId: int
@ -302,7 +303,7 @@ class ActArchiveTotemData(BaseStruct):
class ActArchiveChaosItemData(BaseStruct): class ActArchiveChaosItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
isHidden: bool isHidden: bool
enrollId: Union[str, None] enrollId: Union[str, None]
sortId: int sortId: int
@ -321,7 +322,7 @@ class RoguelikeArchiveComponentData(BaseStruct):
buff: ActArchiveBuffData buff: ActArchiveBuffData
totem: Union[ActArchiveTotemData, None] totem: Union[ActArchiveTotemData, None]
chaos: Union[ActArchiveChaosData, None] chaos: Union[ActArchiveChaosData, None]
challengeBook: Dict[str, Dict[str, None]] challengeBook: Union[Dict[str, Dict[str, None]], None] = None # Removed in 2.1.21
class RoguelikeArchiveUnlockCondDesc(BaseStruct): class RoguelikeArchiveUnlockCondDesc(BaseStruct):
@ -353,6 +354,10 @@ class RoguelikeTopicDetailConstCharUpgradeData(BaseStruct):
skillSpecializeLevel: int skillSpecializeLevel: int
class RoguelikeTopicDetailConstPredefinedPlayerLevelData(BaseStruct):
levels: Dict[str, RoguelikeTopicDetailConstPlayerLevelData]
class RoguelikeTopicDetailConst(BaseStruct): class RoguelikeTopicDetailConst(BaseStruct):
playerLevelTable: Dict[str, RoguelikeTopicDetailConstPlayerLevelData] playerLevelTable: Dict[str, RoguelikeTopicDetailConstPlayerLevelData]
charUpgradeTable: Dict[str, RoguelikeTopicDetailConstCharUpgradeData] charUpgradeTable: Dict[str, RoguelikeTopicDetailConstCharUpgradeData]
@ -384,6 +389,10 @@ class RoguelikeTopicDetailConst(BaseStruct):
outerBuffTokenSum: int outerBuffTokenSum: int
needAllFrontNode: bool needAllFrontNode: bool
showBlurBack: bool showBlurBack: bool
predefinedLevelTable: Union[
Dict[str, RoguelikeTopicDetailConstPredefinedPlayerLevelData],
None,
] = None
class RoguelikeGameInitData(BaseStruct): class RoguelikeGameInitData(BaseStruct):
@ -403,7 +412,7 @@ class RoguelikeGameInitData(BaseStruct):
class RoguelikeGameStageData(BaseStruct): class RoguelikeGameStageData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
linkedStageId: str linkedStageId: str
levelId: str levelId: str
code: str code: str
@ -422,7 +431,7 @@ class RoguelikeGameStageData(BaseStruct):
class RoguelikeGameZoneData(BaseStruct): class RoguelikeGameZoneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
clockPerformance: Union[str, None] clockPerformance: Union[str, None]
displayTime: Union[str, None] displayTime: Union[str, None]
@ -444,7 +453,7 @@ class RoguelikeGameTrapData(BaseStruct):
class RoguelikeGameRecruitTicketData(BaseStruct): class RoguelikeGameRecruitTicketData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
profession: int profession: int
rarity: int rarity: int
professionList: List[str] professionList: List[str]
@ -455,7 +464,7 @@ class RoguelikeGameRecruitTicketData(BaseStruct):
class RoguelikeGameUpgradeTicketData(BaseStruct): class RoguelikeGameUpgradeTicketData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
profession: int profession: int
rarity: int rarity: int
professionList: List[str] professionList: List[str]
@ -463,7 +472,7 @@ class RoguelikeGameUpgradeTicketData(BaseStruct):
class RoguelikeGameCustomTicketData(BaseStruct): class RoguelikeGameCustomTicketData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
subType: str subType: str
discardText: str discardText: str
@ -480,7 +489,7 @@ class RoguelikeBuff(BaseStruct):
class RoguelikeGameRelicData(BaseStruct): class RoguelikeGameRelicData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
buffs: List[RoguelikeBuff] buffs: List[RoguelikeBuff]
@ -491,13 +500,13 @@ class RoguelikeGameRelicCheckParam(BaseStruct):
class RoguelikeGameRelicParamData(BaseStruct): class RoguelikeGameRelicParamData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
checkCharBoxTypes: List[str] checkCharBoxTypes: List[str]
checkCharBoxParams: List[RoguelikeGameRelicCheckParam] checkCharBoxParams: List[RoguelikeGameRelicCheckParam]
class RoguelikeGameRecruitGrpData(BaseStruct): class RoguelikeGameRecruitGrpData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
iconId: str iconId: str
name: str name: str
desc: str desc: str
@ -505,7 +514,7 @@ class RoguelikeGameRecruitGrpData(BaseStruct):
class RoguelikeChoiceDisplayData(BaseStruct): class RoguelikeChoiceDisplayData(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
funcIconId: Union[str, None] funcIconId: Union[str, None]
itemId: Union[str, None] itemId: Union[str, None]
taskId: Union[str, None] taskId: Union[str, None]
@ -515,11 +524,11 @@ class RoguelikeChoiceDisplayData(BaseStruct):
class RoguelikeGameChoiceData(BaseStruct): class RoguelikeGameChoiceData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
title: str title: str
description: Union[str, None] description: Union[str, None]
lockedCoverDesc: Union[str, None] lockedCoverDesc: Union[str, None]
type_: str = field(name='type') type_: str = field(name="type")
leftDecoType: str leftDecoType: str
nextSceneId: Union[str, None] nextSceneId: Union[str, None]
icon: Union[str, None] icon: Union[str, None]
@ -528,7 +537,7 @@ class RoguelikeGameChoiceData(BaseStruct):
class RoguelikeGameChoiceSceneData(BaseStruct): class RoguelikeGameChoiceSceneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
title: str title: str
description: str description: str
background: Union[str, None] background: Union[str, None]
@ -551,8 +560,8 @@ class RoguelikeGameNodeSubTypeData(BaseStruct):
class RoguelikeGameVariationData(BaseStruct): class RoguelikeGameVariationData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
type_: str = field(name='type') type_: str = field(name="type")
outerName: str outerName: str
innerName: str innerName: str
functionDesc: str functionDesc: str
@ -562,7 +571,7 @@ class RoguelikeGameVariationData(BaseStruct):
class RoguelikeGameCharBuffData(BaseStruct): class RoguelikeGameCharBuffData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
iconId: str iconId: str
outerName: str outerName: str
innerName: str innerName: str
@ -572,7 +581,7 @@ class RoguelikeGameCharBuffData(BaseStruct):
class RoguelikeGameSquadBuffData(BaseStruct): class RoguelikeGameSquadBuffData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
iconId: str iconId: str
outerName: str outerName: str
innerName: str innerName: str
@ -654,7 +663,7 @@ class RoguelikeGameEndingDataLevelIcon(BaseStruct):
class RoguelikeGameEndingData(BaseStruct): class RoguelikeGameEndingData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
familyId: int familyId: int
name: str name: str
desc: str desc: str
@ -676,13 +685,13 @@ class TipData(BaseStruct):
class RoguelikeGameItemData(BaseStruct): class RoguelikeGameItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
description: Union[str, None] description: Union[str, None]
usage: str usage: str
obtainApproach: str obtainApproach: str
iconId: str iconId: str
type_: str = field(name='type') type_: str = field(name="type")
subType: str subType: str
rarity: str rarity: str
value: int value: int
@ -731,6 +740,12 @@ class RoguelikePredefinedStyleData(BaseStruct):
styleConfig: int styleConfig: int
class RoguelikeGameExploreToolData(BaseStruct):
itemId: str
trapId: str
trapDesc: str
class RoguelikeTopicDetail(BaseStruct): class RoguelikeTopicDetail(BaseStruct):
updates: List[RoguelikeTopicUpdate] updates: List[RoguelikeTopicUpdate]
enrolls: Dict[str, RoguelikeTopicEnroll] enrolls: Dict[str, RoguelikeTopicEnroll]
@ -779,6 +794,7 @@ class RoguelikeTopicDetail(BaseStruct):
RoguelikeDifficultyUpgradeRelicGroupData, RoguelikeDifficultyUpgradeRelicGroupData,
] ]
styleConfig: Dict[str, RoguelikePredefinedStyleData] styleConfig: Dict[str, RoguelikePredefinedStyleData]
exploreTools: Union[Dict[str, RoguelikeGameExploreToolData], None] = None
styles: Union[Dict[str, RoguelikePredefinedStyleData], None] = {} styles: Union[Dict[str, RoguelikePredefinedStyleData], None] = {}
@ -945,7 +961,7 @@ class RoguelikeVisionData(BaseStruct):
class RoguelikeVisionModuleDataVisionChoiceConfig(BaseStruct): class RoguelikeVisionModuleDataVisionChoiceConfig(BaseStruct):
value: int value: int
type_: int = field(name='type') type_: int = field(name="type")
class RoguelikeVisionModuleConsts(BaseStruct): class RoguelikeVisionModuleConsts(BaseStruct):
@ -1190,7 +1206,7 @@ class RL03DifficultyExt(BaseStruct):
modeDifficulty: str modeDifficulty: str
grade: int grade: int
totemProb: Union[int, float] totemProb: Union[int, float]
relicDevLevel: str relicDevLevel: Union[str, None]
buffs: Union[List[str], None] buffs: Union[List[str], None]
buffDesc: List[str] buffDesc: List[str]
@ -1211,7 +1227,7 @@ class RoguelikeTopicCustomizeData(BaseStruct):
class RoguelikeTopicTable(BaseStruct): class RoguelikeTopicTable(BaseStruct):
__version__ = '23-04-23-15-07-53-24a81c' __version__ = "23-04-23-15-07-53-24a81c"
topics: Dict[str, RoguelikeTopicBasicData] topics: Dict[str, RoguelikeTopicBasicData]
constant: RoguelikeTopicConst constant: RoguelikeTopicConst

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class SandboxMapConstTable(BaseStruct): class SandboxMapConstTable(BaseStruct):
directionNames: List[str] directionNames: List[str]
@ -240,7 +240,7 @@ class SandboxEventData(BaseStruct):
class SandboxEventSceneData(BaseStruct): class SandboxEventSceneData(BaseStruct):
choiceSceneId: str choiceSceneId: str
type_: str = field(name='type') type_: str = field(name="type")
title: str title: str
description: str description: str
choices: List[str] choices: List[str]
@ -248,7 +248,7 @@ class SandboxEventSceneData(BaseStruct):
class SandboxEventChoiceData(BaseStruct): class SandboxEventChoiceData(BaseStruct):
choiceId: str choiceId: str
type_: str = field(name='type') type_: str = field(name="type")
costAction: int costAction: int
finishScene: bool finishScene: bool
title: str title: str
@ -272,12 +272,12 @@ class SandboxMissionData(BaseStruct):
class SandboxUnitData(BaseStruct): class SandboxUnitData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
class SandboxDailyDescTemplateData(BaseStruct): class SandboxDailyDescTemplateData(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
templateDesc: List[str] templateDesc: List[str]
@ -296,7 +296,7 @@ class RushEnemyGroupConfig(BaseStruct):
class RushEnemyGroupRushEnemyDBRef(BaseStruct): class RushEnemyGroupRushEnemyDBRef(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
level: int level: int
@ -331,7 +331,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct): class RuneTablePackedRuneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
points: Union[int, float] points: Union[int, float]
mutexGroupKey: Union[str, None] mutexGroupKey: Union[str, None]
description: str description: str
@ -398,7 +398,7 @@ class SandboxItemData(BaseStruct):
class SandboxTable(BaseStruct): class SandboxTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
sandboxActTables: Dict[str, SandboxActTable] sandboxActTables: Dict[str, SandboxActTable]
itemDatas: Dict[str, SandboxItemData] itemDatas: Dict[str, SandboxItemData]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ShopRecommendData(BaseStruct): class ShopRecommendData(BaseStruct):
imgId: str imgId: str
@ -20,7 +20,7 @@ class ShopRecommendGroup(BaseStruct):
class ShopKeeperWord(BaseStruct): class ShopKeeperWord(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
text: str text: str
@ -91,7 +91,7 @@ class ShopCreditUnlockItem(BaseStruct):
class ShopCreditUnlockGroup(BaseStruct): class ShopCreditUnlockGroup(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
index: str index: str
startDateTime: int startDateTime: int
charDict: List[ShopCreditUnlockItem] charDict: List[ShopCreditUnlockItem]
@ -144,7 +144,7 @@ class LMTGSShopOverlaySchedule(BaseStruct):
class ShopClientTable(BaseStruct): class ShopClientTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
recommendList: List[ShopRecommendItem] recommendList: List[ShopRecommendItem]
creditUnlockGroup: Dict[str, ShopCreditUnlockGroup] creditUnlockGroup: Dict[str, ShopCreditUnlockGroup]

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class SpData(BaseStruct): class SpData(BaseStruct):
@ -46,6 +46,6 @@ class SkillDataBundle(BaseStruct):
class SkillTable(BaseStruct): class SkillTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
skills: Dict[str, SkillDataBundle] skills: Dict[str, SkillDataBundle]

View File

@ -82,7 +82,7 @@ class SpecialSkinInfo(BaseStruct):
class SkinTable(BaseStruct): class SkinTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
charSkins: Dict[str, CharSkinData] charSkins: Dict[str, CharSkinData]
buildinEvolveMap: Dict[str, Dict[str, str]] buildinEvolveMap: Dict[str, Dict[str, str]]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class StageDataConditionDesc(BaseStruct): class StageDataConditionDesc(BaseStruct):
stageId: str stageId: str
@ -11,15 +11,15 @@ class StageDataConditionDesc(BaseStruct):
class StageDataDisplayRewards(BaseStruct): class StageDataDisplayRewards(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
class StageDataDisplayDetailRewards(BaseStruct): class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int occPercent: int
type_: str = field(name='type') type_: str = field(name="type")
id_: str = field(name='id') id_: str = field(name="id")
dropType: int dropType: int
@ -44,9 +44,9 @@ class ProgressInfo(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class ExtraInfo(BaseStruct): class ExtraInfo(BaseStruct):
@ -102,6 +102,7 @@ class StageData(BaseStruct):
startButtonOverrideId: Union[str, None] startButtonOverrideId: Union[str, None]
isStagePatch: bool isStagePatch: bool
mainStageId: Union[str, None] mainStageId: Union[str, None]
canContinuousBattle: Union[bool, None] = None
canUseCharm: Union[bool, None] = None canUseCharm: Union[bool, None] = None
canUseTech: Union[bool, None] = None canUseTech: Union[bool, None] = None
canUseTrapTool: Union[bool, None] = None canUseTrapTool: Union[bool, None] = None
@ -138,7 +139,7 @@ class TileAppendInfo(BaseStruct):
class WeeklyForceOpenTable(BaseStruct): class WeeklyForceOpenTable(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
startTime: int startTime: int
endTime: int endTime: int
forceOpenList: List[str] forceOpenList: List[str]
@ -240,7 +241,7 @@ class ApProtectZoneInfo(BaseStruct):
class StageTable(BaseStruct): class StageTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
stages: Dict[str, StageData] stages: Dict[str, StageData]
runeStageGroups: Dict[str, RuneStageGroupData] runeStageGroups: Dict[str, RuneStageGroupData]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class MiniActTrialDataRuleData(BaseStruct): class MiniActTrialDataRuleData(BaseStruct):
ruleType: str ruleType: str
@ -11,9 +11,9 @@ class MiniActTrialDataRuleData(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class MiniActTrialDataMiniActTrialRewardData(BaseStruct): class MiniActTrialDataMiniActTrialRewardData(BaseStruct):
@ -38,23 +38,23 @@ class MiniActTrialData(BaseStruct):
class ActArchiveResDataPicArchiveResItemData(BaseStruct): class ActArchiveResDataPicArchiveResItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
desc: str desc: str
assetPath: str assetPath: str
type_: str = field(name='type') type_: str = field(name="type")
subType: Union[str, None] subType: Union[str, None]
picDescription: str picDescription: str
kvId: Union[str, None] kvId: Union[str, None]
class ActArchiveResDataAudioArchiveResItemData(BaseStruct): class ActArchiveResDataAudioArchiveResItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
desc: str desc: str
name: str name: str
class ActArchiveResDataAvgArchiveResItemData(BaseStruct): class ActArchiveResDataAvgArchiveResItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
desc: str desc: str
breifPath: Union[str, None] breifPath: Union[str, None]
contentPath: str contentPath: str
@ -64,7 +64,7 @@ class ActArchiveResDataAvgArchiveResItemData(BaseStruct):
class ActArchiveResDataStoryArchiveResItemData(BaseStruct): class ActArchiveResDataStoryArchiveResItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
desc: str desc: str
date: Union[str, None] date: Union[str, None]
pic: str pic: str
@ -86,7 +86,7 @@ class ActArchiveResDataActivityNewsLine(BaseStruct):
class ActArchiveResDataNewsArchiveResItemData(BaseStruct): class ActArchiveResDataNewsArchiveResItemData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
desc: str desc: str
newsType: str newsType: str
newsFormat: ActArchiveResDataNewsFormatData newsFormat: ActArchiveResDataNewsFormatData
@ -111,6 +111,13 @@ class ActArchiveResDataLogArchiveResItemData(BaseStruct):
logDesc: str logDesc: str
class ActArchiveResDataChallengeBookArchiveResItemData(BaseStruct):
storyId: str
titleName: str
storyName: str
textId: str
class ActArchiveResData(BaseStruct): class ActArchiveResData(BaseStruct):
pics: Dict[str, ActArchiveResDataPicArchiveResItemData] pics: Dict[str, ActArchiveResDataPicArchiveResItemData]
audios: Dict[str, ActArchiveResDataAudioArchiveResItemData] audios: Dict[str, ActArchiveResDataAudioArchiveResItemData]
@ -119,6 +126,7 @@ class ActArchiveResData(BaseStruct):
news: Dict[str, ActArchiveResDataNewsArchiveResItemData] news: Dict[str, ActArchiveResDataNewsArchiveResItemData]
landmarks: Dict[str, ActArchiveResDataLandmarkArchiveResItemData] landmarks: Dict[str, ActArchiveResDataLandmarkArchiveResItemData]
logs: Dict[str, ActArchiveResDataLogArchiveResItemData] logs: Dict[str, ActArchiveResDataLogArchiveResItemData]
challengeBooks: Dict[str, ActArchiveResDataChallengeBookArchiveResItemData]
class ActArchiveTimelineItemData(BaseStruct): class ActArchiveTimelineItemData(BaseStruct):
@ -195,8 +203,17 @@ class ActArchiveChapterLogData(BaseStruct):
chapterIcon: str chapterIcon: str
class ActArchiveChallengeBookItemData(BaseStruct):
storyId: str
sortId: int
class ActArchiveChallengeBookData(BaseStruct):
stories: Dict[str, ActArchiveChallengeBookItemData]
class ActArchiveComponentData(BaseStruct): class ActArchiveComponentData(BaseStruct):
pic: ActArchivePicData pic: Union[ActArchivePicData, None] = None
timeline: Union[ActArchiveTimelineData, None] = None timeline: Union[ActArchiveTimelineData, None] = None
music: Union[ActArchiveMusicData, None] = None music: Union[ActArchiveMusicData, None] = None
story: Union[ActArchiveStoryData, None] = None story: Union[ActArchiveStoryData, None] = None
@ -204,6 +221,7 @@ class ActArchiveComponentData(BaseStruct):
news: Union[ActArchiveNewsData, None] = None news: Union[ActArchiveNewsData, None] = None
landmark: Union[Dict[str, ActArchiveLandmarkItemData], None] = None landmark: Union[Dict[str, ActArchiveLandmarkItemData], None] = None
log: Union[Dict[str, ActArchiveChapterLogData], None] = None log: Union[Dict[str, ActArchiveChapterLogData], None] = None
challengeBook: Union[ActArchiveChallengeBookData, None] = None
class ActArchiveComponentTable(BaseStruct): class ActArchiveComponentTable(BaseStruct):
@ -211,7 +229,7 @@ class ActArchiveComponentTable(BaseStruct):
class StoryReviewMetaTable(BaseStruct): class StoryReviewMetaTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
miniActTrialData: MiniActTrialData miniActTrialData: MiniActTrialData
actArchiveResData: ActArchiveResData actArchiveResData: ActArchiveResData

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class StoryDataConditionStageCondition(BaseStruct): class StoryDataConditionStageCondition(BaseStruct):
@ -40,7 +40,7 @@ class StoryReviewInfoClientData(BaseStruct):
class StoryReviewGroupClientData(BaseStruct): class StoryReviewGroupClientData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
name: str name: str
entryType: str entryType: str
actType: str actType: str
@ -60,6 +60,6 @@ class StoryReviewGroupClientData(BaseStruct):
class StoryReviewTable(BaseStruct): class StoryReviewTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
storyreviewtable: Dict[str, StoryReviewGroupClientData] storyreviewtable: Dict[str, StoryReviewGroupClientData]

View File

@ -1,12 +1,12 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class StoryDataTrigger(BaseStruct): class StoryDataTrigger(BaseStruct):
type_: str = field(name='type') type_: str = field(name="type")
key: Union[str, None] key: Union[str, None]
useRegex: bool useRegex: bool
@ -27,13 +27,13 @@ class StoryDataCondition(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class StoryData(BaseStruct): class StoryData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
needCommit: bool needCommit: bool
repeatable: bool repeatable: bool
disabled: bool disabled: bool
@ -46,6 +46,6 @@ class StoryData(BaseStruct):
class StoryTable(BaseStruct): class StoryTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
stories: Dict[str, StoryData] stories: Dict[str, StoryData]

View File

@ -1,9 +1,9 @@
from typing import List, Union from typing import List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class RuneDataSelector(BaseStruct): class RuneDataSelector(BaseStruct):
professionMask: int professionMask: int
@ -27,7 +27,7 @@ class RuneData(BaseStruct):
class PackedRuneData(BaseStruct): class PackedRuneData(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
points: float points: float
mutexGroupKey: Union[str, None] mutexGroupKey: Union[str, None]
description: str description: str
@ -35,6 +35,6 @@ class PackedRuneData(BaseStruct):
class TechBuffTable(BaseStruct): class TechBuffTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
runes: List[PackedRuneData] runes: List[PackedRuneData]

View File

@ -17,7 +17,7 @@ class WorldViewTip(BaseStruct):
class TipTable(BaseStruct): class TipTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
tips: List[TipData] tips: List[TipData]
worldViewTips: List[WorldViewTip] worldViewTips: List[WorldViewTip]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class CharacterDataUnlockCondition(BaseStruct): class CharacterDataUnlockCondition(BaseStruct):
phase: int phase: int
@ -32,7 +32,7 @@ class CharacterDataTraitDataBundle(BaseStruct):
class AttributesData(BaseStruct): class AttributesData(BaseStruct):
maxHp: int maxHp: int
atk: int atk: int
def_: int = field(name='def') def_: int = field(name="def")
magicResistance: float magicResistance: float
cost: int cost: int
blockCnt: int blockCnt: int
@ -60,9 +60,9 @@ class CharacterDataAttributesKeyFrame(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class CharacterDataPhaseData(BaseStruct): class CharacterDataPhaseData(BaseStruct):
@ -123,7 +123,7 @@ class ExternalBuff(BaseStruct):
class CharacterDataPotentialRank(BaseStruct): class CharacterDataPotentialRank(BaseStruct):
type_: int = field(name='type') type_: int = field(name="type")
description: str description: str
buff: Union[ExternalBuff, None] buff: Union[ExternalBuff, None]
equivalentCost: Union[ItemBundle, None] equivalentCost: Union[ItemBundle, None]
@ -170,6 +170,6 @@ class TokenCharacterData(BaseStruct):
class TokenTable(BaseStruct): class TokenTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
tokens: Dict[str, TokenCharacterData] tokens: Dict[str, TokenCharacterData]

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class UnlockCondition(BaseStruct): class UnlockCondition(BaseStruct):
@ -39,7 +39,7 @@ class UniEquipData(BaseStruct):
unlockFavorPercent: int unlockFavorPercent: int
missionList: List[str] missionList: List[str]
itemCost: Union[List[ItemBundle], None] itemCost: Union[List[ItemBundle], None]
type_: str = field(name='type') type_: str = field(name="type")
traitDescBundle: List[TraitDescBundle] traitDescBundle: List[TraitDescBundle]
@ -59,7 +59,7 @@ class SubProfessionData(BaseStruct):
class UniequipData(BaseStruct): class UniequipData(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
equipDict: Dict[str, UniEquipData] equipDict: Dict[str, UniEquipData]
missionList: Dict[str, UniEquipMissionData] missionList: Dict[str, UniEquipMissionData]

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class UniEquipData(BaseStruct): class UniEquipData(BaseStruct):
@ -29,7 +29,7 @@ class UniEquipData(BaseStruct):
unlockFavorPoint: int unlockFavorPoint: int
missionList: List[str] missionList: List[str]
itemCost: Union[Dict[str, List[ItemBundle]], None] itemCost: Union[Dict[str, List[ItemBundle]], None]
type_: str = field(name='type') type_: str = field(name="type")
uniEquipGetTime: int uniEquipGetTime: int
charEquipOrder: int charEquipOrder: int
@ -61,7 +61,7 @@ class UniEquipTimeInfo(BaseStruct):
class UniEquipTable(BaseStruct): class UniEquipTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
equipDict: Dict[str, UniEquipData] equipDict: Dict[str, UniEquipData]
missionList: Dict[str, UniEquipMissionData] missionList: Dict[str, UniEquipMissionData]

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct from ..common import BaseStruct
from msgspec import field
class ZoneData(BaseStruct): class ZoneData(BaseStruct):
zoneID: str zoneID: str
zoneIndex: int zoneIndex: int
type_: str = field(name='type') type_: str = field(name="type")
zoneNameFirst: Union[str, None] zoneNameFirst: Union[str, None]
zoneNameSecond: Union[str, None] zoneNameSecond: Union[str, None]
zoneNameTitleCurrent: Union[str, None] zoneNameTitleCurrent: Union[str, None]
@ -21,7 +21,7 @@ class ZoneData(BaseStruct):
class WeeklyZoneData(BaseStruct): class WeeklyZoneData(BaseStruct):
daysOfWeek: List[int] daysOfWeek: List[int]
type_: str = field(name='type') type_: str = field(name="type")
class ZoneValidInfo(BaseStruct): class ZoneValidInfo(BaseStruct):
@ -47,9 +47,9 @@ class MainlineZoneData(BaseStruct):
class ItemBundle(BaseStruct): class ItemBundle(BaseStruct):
id_: str = field(name='id') id_: str = field(name="id")
count: int count: int
type_: str = field(name='type') type_: str = field(name="type")
class RecordRewardInfo(BaseStruct): class RecordRewardInfo(BaseStruct):
@ -101,7 +101,7 @@ class ZoneMetaData(BaseStruct):
class ZoneTable(BaseStruct): class ZoneTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259' __version__ = "23-10-31-11-47-45-d410ff"
zones: Dict[str, ZoneData] zones: Dict[str, ZoneData]
weeklyAdditionInfo: Dict[str, WeeklyZoneData] weeklyAdditionInfo: Dict[str, WeeklyZoneData]

View File

@ -0,0 +1,78 @@
from __future__ import annotations
from collections.abc import Callable, Iterable, Iterator
from copy import copy, deepcopy
from typing import Any, Dict, Tuple, TypeVar, Union
from typing_extensions import dataclass_transform
from msgspec import (
Struct,
UnsetType,
convert,
field,
json as mscjson,
)
Model = TypeVar("Model", bound="BaseStruct")
T1 = TypeVar("T1")
T2 = TypeVar("T2")
def transUnset(v: Union[T1, UnsetType], d: T2 = None) -> Union[T1, T2]:
return v if not isinstance(v, UnsetType) else d
@dataclass_transform(field_specifiers=(field,))
class BaseStruct(
Struct,
forbid_unknown_fields=True,
omit_defaults=True,
gc=False,
):
class Config:
encoder = mscjson.Encoder()
@classmethod
def convert(
cls: type[Model],
obj: Any,
*,
strict: bool = True,
from_attributes: bool = False,
dec_hook: Union[Callable[[type, Any], Any], None] = None,
builtin_types: Union[Iterable[type], None] = None,
str_keys: bool = False,
) -> Model:
if obj is None:
return None # type: ignore
if isinstance(obj, BaseStruct):
obj = obj.model_dump()
return convert(
obj=obj,
type=cls,
strict=strict,
from_attributes=from_attributes,
dec_hook=dec_hook,
builtin_types=builtin_types,
str_keys=str_keys,
)
def __iter__(self) -> Iterator[Tuple[str, Any]]:
for field_name in self.__struct_fields__:
yield field_name, getattr(self, field_name)
def keys(self) -> Iterator[str]:
yield from self.__struct_fields__
def values(self) -> Iterator[Any]:
for field_name in self.__struct_fields__:
yield getattr(self, field_name)
def model_dump(self) -> Dict[str, Any]:
return mscjson.decode(mscjson.encode(self))
def dump_child(self, target: str) -> Any:
return self.model_dump()[target]
def model_copy(self: Model, *, deep: bool = False) -> Model:
return deepcopy(self) if deep else copy(self)

View File

@ -29,15 +29,15 @@ async def find_fastest_url(urls: Dict[str, str]):
for tag in urls: for tag in urls:
tasks.append(asyncio.create_task(check_url(tag, urls[tag]))) tasks.append(asyncio.create_task(check_url(tag, urls[tag])))
results: list[tuple[str, str, float]] = await asyncio.gather( results: list[
*tasks, return_exceptions=True Union[tuple[str, str, float], BaseException]
) ] = await asyncio.gather(*tasks, return_exceptions=True)
fastest_tag = '' fastest_tag = ''
fastest_url = None fastest_url = None
fastest_time = float('inf') fastest_time = float('inf')
for result in results: for result in results:
if isinstance(result, Exception): if isinstance(result, BaseException):
continue continue
tag, url, elapsed_time = result tag, url, elapsed_time = result
if elapsed_time < fastest_time: if elapsed_time < fastest_time:

View File

@ -1,3 +1,3 @@
ArknightsUID_version = "0.1.0" ArknightsUID_version = "0.1.0"
Arknights_Client_version = "2.1.01" Arknights_Client_version = "2.1.21"
Arknights_Res_version = "23-10-08-17-52-18-288259" Arknights_Res_version = "23-10-31-11-47-45-d410ff"