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 msgspec import field
from ..common import BaseStruct
from msgspec import field
class ActivityTableBasicData(BaseStruct):
id_: str = field(name='id')
type_: str = field(name='type')
id_: str = field(name="id")
type_: str = field(name="type")
name: str
startTime: int
endTime: int
@ -31,16 +32,16 @@ class ActivityTableHomeActivityConfig(BaseStruct):
class MissionDisplayRewards(BaseStruct):
type_: str = field(name='type')
id_: str = field(name='id')
type_: str = field(name="type")
id_: str = field(name="id")
count: int
class MissionData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
sortId: int
description: str
type_: str = field(name='type')
type_: str = field(name="type")
itemBgType: str
preMissionIds: Union[List[str], None]
template: str
@ -58,9 +59,9 @@ class MissionData(BaseStruct):
class MissionGroup(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
title: Union[str, None]
type_: str = field(name='type')
type_: str = field(name="type")
preMissionGroup: Union[str, None]
period: Union[List[int], None]
rewards: Union[List[MissionDisplayRewards], None]
@ -78,9 +79,9 @@ class DefaultZoneData(BaseStruct):
class ItemBundle(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
count: int
type_: str = field(name='type')
type_: str = field(name="type")
class DefaultShopData(BaseStruct):
@ -243,7 +244,7 @@ class Act3D0DataLimitedPoolDetailInfoPoolItemInfo(BaseStruct):
perCount: int
totalCount: int
weight: int
type_: str = field(name='type')
type_: str = field(name="type")
orderId: int
@ -258,7 +259,7 @@ class Act3D0DataInfinitePoolDetailInfoPoolItemInfo(BaseStruct):
goodType: str
perCount: int
weight: int
type_: str = field(name='type')
type_: str = field(name="type")
orderId: int
@ -491,7 +492,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
points: float
mutexGroupKey: Union[str, None]
description: str
@ -519,7 +520,7 @@ class Act5D1Data(BaseStruct):
class ActivityCollectionDataCollectionInfo(BaseStruct):
id_: int = field(name='id')
id_: int = field(name="id")
itemType: str
itemId: str
itemCnt: int
@ -732,7 +733,7 @@ class Act13SideDataLongTermMissionData(BaseStruct):
class Act13SideDataDailyMissionData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
sortId: int
description: str
missionName: str
@ -928,7 +929,7 @@ class Act17sideDataMainlineChapterData(BaseStruct):
chapterDes: str
chapterIcon: str
unlockDes: str
id_: str = field(name='id')
id_: str = field(name="id")
class Act17sideDataMainlineData(BaseStruct):
@ -1171,9 +1172,9 @@ class SharedCharData(BaseStruct):
evolvePhase: int
level: 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(
name='equip',
name="equip",
default={},
)
skillIndex: Union[int, None] = None
@ -1181,6 +1182,7 @@ class SharedCharData(BaseStruct):
skin: Union[str, None] = None
skills: Union[List[SharedCharDataSharedCharSkillData], None] = None
crisisRecord: Union[Dict[str, int], None] = None
crisisV2Record: Union[Dict[str, int], None] = None
currentTmpl: Union[str, None] = None
tmpl: Union[Dict[str, SharedCharDataTmplData], None] = None
@ -1239,8 +1241,8 @@ class ActivityBossRushDataBossRushStageAdditionData(BaseStruct):
class ActivityBossRushDataDisplayDetailRewards(BaseStruct):
occPercent: int
dropCount: int
type_: str = field(name='type')
id_: str = field(name='id')
type_: str = field(name="type")
id_: str = field(name="id")
dropType: int
@ -1328,6 +1330,7 @@ class ActivityBossRushData(BaseStruct):
class ActivityFloatParadeDataConstData(BaseStruct):
cityName: str
cityNamePic: str
lowStandard: float
variationTitle: str
ruleDesc: str
@ -1345,15 +1348,15 @@ class ActivityFloatParadeDataDailyData(BaseStruct):
class ActivityFloatParadeDataRewardPool(BaseStruct):
grpId: str
id_: str = field(name='id')
type_: str = field(name='type')
id_: str = field(name="id")
type_: str = field(name="type")
name: str
desc: Union[str, None]
reward: ItemBundle
class ActivityFloatParadeDataTactic(BaseStruct):
id_: int = field(name='id')
id_: int = field(name="id")
name: str
packName: str
briefName: str
@ -1392,7 +1395,7 @@ class ActSandboxData(BaseStruct):
class ActivityMainlineBuffDataMissionGroupData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
bindBanner: str
sortId: int
zoneId: str
@ -1408,7 +1411,7 @@ class ActivityMainlineBuffDataPeriodDataStepData(BaseStruct):
class ActivityMainlineBuffDataPeriodData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
startTime: int
endTime: int
favorUpCharDesc: str
@ -1508,23 +1511,23 @@ class Act24SideDataMissionExtraData(BaseStruct):
class WeightItemBundle(BaseStruct):
id_: str = field(name='id')
type_: str = field(name='type')
id_: str = field(name="id")
type_: str = field(name="type")
dropType: str
count: int
weight: int
class StageDataDisplayRewards(BaseStruct):
type_: str = field(name='type')
id_: str = field(name='id')
type_: str = field(name="type")
id_: str = field(name="id")
dropType: int
class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int
type_: str = field(name='type')
id_: str = field(name='id')
type_: str = field(name="type")
id_: str = field(name="id")
dropType: int
@ -1596,7 +1599,7 @@ class Act25SideDataArchiveItemData(BaseStruct):
class Act25SideDataArchiveMapInfoData(BaseStruct):
objectId: str
type_: int = field(name='type')
type_: int = field(name="type")
numberId: str
areaId: str
sortId: int
@ -1619,7 +1622,7 @@ class Act25SideDataAreaInfoData(BaseStruct):
class Act25SideDataAreaMissionData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
areaId: str
preposedMissionId: Union[str, None]
sortId: int
@ -1708,7 +1711,7 @@ class Act38D1DataAct38D1DimensionItemData(BaseStruct):
class Act38D1DataAct38D1CommentData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
sortId: int
desc: str
@ -1743,7 +1746,7 @@ class Act38D1Data(BaseStruct):
class Act27SideDataAct27SideGoodData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
name: str
typeDesc: str
iconId: str
@ -1862,7 +1865,7 @@ class Act42D0DataEffectGroupInfoData(BaseStruct):
class Act42D0DataEffectInfoRuneData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
points: int
mutexGroupKey: Union[str, None]
description: str
@ -1946,6 +1949,155 @@ class Act42D0Data(BaseStruct):
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):
DEFAULT: Dict[str, DefaultFirstData]
CHECKIN_ONLY: Dict[str, DefaultCheckInData]
@ -1962,6 +2114,7 @@ class ActivityTableActivityDetailTable(BaseStruct):
TYPE_ACT17SIDE: Dict[str, Act17sideData]
TYPE_ACT20SIDE: Dict[str, Act20SideData]
TYPE_ACT21SIDE: Dict[str, Act21SideData]
TYPE_ACT29SIDE: Dict[str, Act29SideData]
LOGIN_ONLY: Dict[str, ActivityLoginData]
SWITCH_ONLY: Dict[str, ActivitySwitchCheckinData]
MINISTORY: Dict[str, ActivityMiniStoryData]
@ -1974,9 +2127,9 @@ class ActivityTableActivityDetailTable(BaseStruct):
MAIN_BUFF: Dict[str, ActivityMainlineBuffData]
TYPE_ACT24SIDE: Dict[str, Act24SideData]
TYPE_ACT25SIDE: Dict[str, Act25SideData]
TYPE_ACT38D1: Dict[str, Act38D1Data]
TYPE_ACT27SIDE: Dict[str, Act27SideData]
TYPE_ACT42D0: Dict[str, Act42D0Data]
TYPE_ACT38D1: Union[Dict[str, Act38D1Data], None] = None # Remove in 2.1.21
class ActivityStageRewardData(BaseStruct):
@ -1989,8 +2142,8 @@ class ActivityThemeDataTimeNode(BaseStruct):
class ActivityThemeData(BaseStruct):
id_: str = field(name='id')
type_: str = field(name='type')
id_: str = field(name="id")
type_: str = field(name="type")
funcId: str
endTs: int
sortId: int
@ -2212,7 +2365,7 @@ class AprilFoolTable(BaseStruct):
class CartComponents(BaseStruct):
compId: str
sortId: int
type_: str = field(name='type')
type_: str = field(name="type")
posList: List[str]
posIdDict: Dict[str, List[str]]
name: str
@ -2452,7 +2605,7 @@ class ActivityTableExtraData(BaseStruct):
class ActivityTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259'
__version__ = "23-10-31-11-47-45-d410ff"
basicInfo: Dict[str, ActivityTableBasicData]
homeActConfig: Dict[str, ActivityTableHomeActivityConfig]

View File

@ -1,9 +1,9 @@
from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct
from msgspec import field
class BGMBank(BaseStruct):
name: str
@ -12,6 +12,7 @@ class BGMBank(BaseStruct):
volume: float
crossfade: float
delay: float
fadeStyleId: Union[str, None] = None
class SoundFXBankSoundFX(BaseStruct):
@ -61,7 +62,7 @@ class BattleVoiceOption(BaseStruct):
class MusicData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
name: str
bank: str
@ -73,8 +74,24 @@ class BattleVoiceData(BaseStruct):
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):
__version__ = '23-10-08-17-52-18-288259'
__version__ = "23-10-31-11-47-45-d410ff"
bgmBanks: List[BGMBank]
soundFXBanks: List[SoundFXBank]
@ -84,3 +101,5 @@ class AudioData(BaseStruct):
musics: List[MusicData]
soundFxVoiceLang: Dict[str, Dict[str, 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):
__version__ = '23-10-08-17-52-18-288259'
__version__ = "23-10-31-11-47-45-d410ff"
equips: Dict[str, BattleEquipData]

View File

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

View File

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

View File

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

View File

@ -1,14 +1,14 @@
from typing import Dict, List
from msgspec import field
from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
count: int
type_: str = field(name='type')
type_: str = field(name="type")
class SpCharMissionData(BaseStruct):
@ -21,7 +21,7 @@ class SpCharMissionData(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]]
spCharMissions: Dict[str, Dict[str, SpCharMissionData]]

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
count: int
type_: str = field(name='type')
type_: str = field(name="type")
class StringKeyFrames(BaseStruct):
@ -34,12 +34,9 @@ class CrisisMapRankInfo(BaseStruct):
class CrisisTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259'
__version__ = "23-10-31-11-47-45-d410ff"
seasonInfo: List[CrisisClientDataSeasonInfo]
tempAppraise: List[StringKeyFrames]
permAppraise: List[StringKeyFrames]
mapRankInfo: Dict[str, CrisisMapRankInfo]
meta: str
unlockCoinLv3: int
hardPointPerm: int
@ -47,3 +44,6 @@ class CrisisTable(BaseStruct):
voiceGrade: int
crisisRuneCoinUnlockItemTitle: 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 msgspec import field
from ..common import BaseStruct
from msgspec import field
class PlayerAvatarPerData(BaseStruct):
avatarId: str
@ -42,8 +42,8 @@ class HomeBackgroundSingleData(BaseStruct):
class HomeBackgroundThemeData(BaseStruct):
id_: str = field(name='id')
type_: str = field(name='type')
id_: str = field(name="id")
type_: str = field(name="type")
sortId: int
startTime: int
tmName: str
@ -61,7 +61,7 @@ class ThemeLimitInfo(BaseStruct):
class HomeBackgroundThemeLimitData(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
limitInfos: List[ThemeLimitInfo]
@ -76,7 +76,7 @@ class HomeBackgroundData(BaseStruct):
class DisplayMetaTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259'
__version__ = "23-10-31-11-47-45-d410ff"
playerAvatarData: PlayerAvatarData
homeBackgroundData: HomeBackgroundData

View File

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

View File

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

View File

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

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct
from msgspec import field
class ItemBundle(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
count: int
type_: str = field(name='type')
type_: str = field(name="type")
class GameDataConstsCharAssistRefreshTimeState(BaseStruct):
@ -23,7 +23,7 @@ class TermDescriptionData(BaseStruct):
class GamedataConst(BaseStruct):
__version__ = '23-10-08-17-52-18-288259'
__version__ = "23-10-31-11-47-45-d410ff"
addedRewardDisplayZone: str
advancedGachaCrystalCost: int
@ -41,9 +41,11 @@ class GamedataConst(BaseStruct):
commonPotentialLvlUpCount: int
completeCrystalBonus: int
completeGainBonus: float
continuousActionOpen: bool
creditLimit: int
crisisUnlockStage: str
dataVersion: str
defaultMinContinuousBattleTimes: int
defaultMaxContinuousBattleTimes: int
defCDPrimColor: str
defCDSecColor: str
defMax: float
@ -117,3 +119,4 @@ class GamedataConst(BaseStruct):
isVoucherClassicItemDistinguishable: Union[bool, None] = None
operatorRecordsStartTime: Union[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 msgspec import field
from ..common import BaseStruct
from msgspec import field
class HandbookUnlockParam(BaseStruct):
unlockType: int
@ -13,9 +13,9 @@ class HandbookUnlockParam(BaseStruct):
class ItemBundle(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
count: int
type_: str = field(name='type')
type_: str = field(name="type")
class HandbookStageTimeData(BaseStruct):
@ -43,11 +43,11 @@ class HandbookStoryStageData(BaseStruct):
class HandbookDisplayCondition(BaseStruct):
charId: str
conditionCharId: str
type_: str = field(name='type')
type_: str = field(name="type")
class HandbookTeamMission(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
sort: int
powerId: str
powerName: str
@ -122,7 +122,7 @@ class HandbookInfoData(BaseStruct):
class HandbookInfoTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259'
__version__ = "23-10-31-11-47-45-d410ff"
handbookDict: Dict[str, HandbookInfoData]
npcDict: Dict[str, NPCData]

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,14 +1,14 @@
from typing import Dict, List, Union
from msgspec import field
from ..common import BaseStruct
from msgspec import field
class ZoneData(BaseStruct):
zoneID: str
zoneIndex: int
type_: str = field(name='type')
type_: str = field(name="type")
zoneNameFirst: Union[str, None]
zoneNameSecond: Union[str, None]
zoneNameTitleCurrent: Union[str, None]
@ -21,7 +21,7 @@ class ZoneData(BaseStruct):
class WeeklyZoneData(BaseStruct):
daysOfWeek: List[int]
type_: str = field(name='type')
type_: str = field(name="type")
class ZoneValidInfo(BaseStruct):
@ -47,9 +47,9 @@ class MainlineZoneData(BaseStruct):
class ItemBundle(BaseStruct):
id_: str = field(name='id')
id_: str = field(name="id")
count: int
type_: str = field(name='type')
type_: str = field(name="type")
class RecordRewardInfo(BaseStruct):
@ -101,7 +101,7 @@ class ZoneMetaData(BaseStruct):
class ZoneTable(BaseStruct):
__version__ = '23-10-08-17-52-18-288259'
__version__ = "23-10-31-11-47-45-d410ff"
zones: Dict[str, ZoneData]
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:
tasks.append(asyncio.create_task(check_url(tag, urls[tag])))
results: list[tuple[str, str, float]] = await asyncio.gather(
*tasks, return_exceptions=True
)
results: list[
Union[tuple[str, str, float], BaseException]
] = await asyncio.gather(*tasks, return_exceptions=True)
fastest_tag = ''
fastest_url = None
fastest_time = float('inf')
for result in results:
if isinstance(result, Exception):
if isinstance(result, BaseException):
continue
tag, url, elapsed_time = result
if elapsed_time < fastest_time:

View File

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