mirror of
https://github.com/baiqwerdvd/ArknightsUID.git
synced 2025-05-04 19:17:33 +08:00
160 lines
3.6 KiB
Python
160 lines
3.6 KiB
Python
from typing import Dict, List, Union
|
|
|
|
from ..common import BaseStruct
|
|
|
|
from msgspec import field
|
|
|
|
|
|
class ItemBundle(BaseStruct):
|
|
id_: str = field(name="id")
|
|
count: int
|
|
type_: str = field(name="type")
|
|
|
|
|
|
class CampaignDataBreakRewardLadder(BaseStruct):
|
|
killCnt: int
|
|
breakFeeAdd: int
|
|
rewards: List[ItemBundle]
|
|
|
|
|
|
class WeightItemBundle(BaseStruct):
|
|
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")
|
|
dropType: int
|
|
|
|
|
|
class StageDataDisplayDetailRewards_(StageDataDisplayRewards_):
|
|
occPercent: int
|
|
GetPercent: float
|
|
CannotGetPercent: float
|
|
|
|
|
|
class CampaignDataCampaignDropInfo(BaseStruct):
|
|
firstPassRewards: Union[List[ItemBundle], None]
|
|
passRewards: Union[List[List[WeightItemBundle]], None]
|
|
displayDetailRewards: Union[List[StageDataDisplayDetailRewards_], None]
|
|
|
|
|
|
class CampaignDataDropLadder(BaseStruct):
|
|
killCnt: int
|
|
dropInfo: CampaignDataCampaignDropInfo
|
|
|
|
|
|
class CampaignDataGainLadder(BaseStruct):
|
|
killCnt: int
|
|
apFailReturn: int
|
|
favor: int
|
|
expGain: int
|
|
goldGain: int
|
|
displayDiamondShdNum: int
|
|
|
|
|
|
class StageDataDisplayRewards(BaseStruct):
|
|
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")
|
|
dropType: int
|
|
|
|
|
|
class CampaignDataDropGainInfo(BaseStruct):
|
|
dropLadders: List[CampaignDataDropLadder]
|
|
gainLadders: List[CampaignDataGainLadder]
|
|
displayRewards: List[StageDataDisplayRewards]
|
|
displayDetailRewards: List[StageDataDisplayDetailRewards]
|
|
|
|
|
|
class CampaignData(BaseStruct):
|
|
stageId: str
|
|
isSmallScale: int
|
|
breakLadders: List[CampaignDataBreakRewardLadder]
|
|
isCustomized: bool
|
|
dropGains: Dict[str, CampaignDataDropGainInfo]
|
|
|
|
|
|
class CampaignGroupData(BaseStruct):
|
|
groupId: str
|
|
activeCamps: List[str]
|
|
startTs: int
|
|
endTs: int
|
|
|
|
|
|
class CampaignRegionData(BaseStruct):
|
|
id_: str = field(name="id")
|
|
isUnknwon: int
|
|
|
|
|
|
class CampaignZoneData(BaseStruct):
|
|
id_: str = field(name="id")
|
|
name: str
|
|
regionId: str
|
|
templateId: str
|
|
|
|
|
|
class CampaignMissionData(BaseStruct):
|
|
id_: str = field(name="id")
|
|
sortId: int
|
|
param: List[str]
|
|
description: str
|
|
breakFeeAdd: int
|
|
|
|
|
|
class CampaignConstTable(BaseStruct):
|
|
systemPreposedStage: str
|
|
rotateStartTime: int
|
|
rotatePreposedStage: str
|
|
zoneUnlockStage: str
|
|
firstRotateRegion: str
|
|
sweepStartTime: int
|
|
|
|
|
|
class CampaignRotateOpenTimeData(BaseStruct):
|
|
groupId: str
|
|
stageId: str
|
|
mapId: str
|
|
unknownRegions: List[str]
|
|
duration: int
|
|
startTs: int
|
|
endTs: int
|
|
|
|
|
|
class CampaignTrainingOpenTimeData(BaseStruct):
|
|
groupId: str
|
|
stages: List[str]
|
|
startTs: int
|
|
endTs: int
|
|
|
|
|
|
class CampaignTrainingAllOpenTimeData(BaseStruct):
|
|
groupId: str
|
|
startTs: int
|
|
endTs: int
|
|
|
|
|
|
class CampaignTable(BaseStruct):
|
|
__version__ = "23-10-31-11-47-45-d410ff"
|
|
|
|
campaigns: Dict[str, CampaignData]
|
|
campaignGroups: Dict[str, CampaignGroupData]
|
|
campaignRegions: Dict[str, CampaignRegionData]
|
|
campaignZones: Dict[str, CampaignZoneData]
|
|
campaignMissions: Dict[str, CampaignMissionData]
|
|
stageIndexInZoneMap: Dict[str, int]
|
|
campaignConstTable: CampaignConstTable
|
|
campaignRotateStageOpenTimes: List[CampaignRotateOpenTimeData]
|
|
campaignTrainingStageOpenTimes: List[CampaignTrainingOpenTimeData]
|
|
campaignTrainingAllOpenTimes: List[CampaignTrainingAllOpenTimeData]
|