2023-10-30 06:31:15 +00:00
|
|
|
from typing import List, Union
|
|
|
|
|
|
|
|
from msgspec import Struct, field
|
|
|
|
|
|
|
|
|
|
|
|
class Behavior(Struct):
|
|
|
|
pointId: int
|
|
|
|
level: int
|
|
|
|
|
|
|
|
|
|
|
|
class Equipment(Struct):
|
|
|
|
level: Union[int, None] = field(default=0)
|
|
|
|
tid: Union[int, None] = None
|
|
|
|
promotion: Union[int, None] = field(default=0)
|
|
|
|
rank: Union[int, None] = field(default=0)
|
|
|
|
|
|
|
|
|
|
|
|
class SubAffix(Struct):
|
|
|
|
affixId: int
|
|
|
|
cnt: int
|
|
|
|
step: Union[int, None] = field(default=0)
|
|
|
|
|
|
|
|
|
|
|
|
class Relic(Struct):
|
|
|
|
tid: int
|
|
|
|
mainAffixId: int
|
|
|
|
type_: int = field(name="type")
|
|
|
|
subAffixList: Union[List[SubAffix], None] = field(default=[])
|
|
|
|
level: Union[int, None] = field(default=0)
|
|
|
|
|
|
|
|
|
|
|
|
class Avatar(Struct):
|
|
|
|
skillTreeList: List[Behavior]
|
|
|
|
avatarId: int
|
|
|
|
level: int
|
|
|
|
equipment: Union[Equipment, None] = None
|
|
|
|
relicList: Union[List[Relic], None] = field(default=[])
|
|
|
|
pos: Union[int, None] = field(default=0)
|
|
|
|
rank: Union[int, None] = field(default=0)
|
|
|
|
promotion: Union[int, None] = field(default=0)
|
|
|
|
|
|
|
|
|
|
|
|
class Challenge(Struct):
|
|
|
|
scheduleMaxLevel: Union[int, None] = None
|
|
|
|
MazeGroupIndex: Union[int, None] = None
|
|
|
|
PreMazeGroupIndex: Union[int, None] = None
|
|
|
|
|
|
|
|
|
2024-02-07 10:22:05 +00:00
|
|
|
class ChallengeInfo(Struct):
|
2024-02-10 15:49:34 +00:00
|
|
|
scheduleMaxLevel: Union[int, None] = None
|
2024-02-10 12:57:45 +00:00
|
|
|
scheduleGroupId: Union[int, None] = None
|
2024-02-10 12:55:14 +00:00
|
|
|
noneScheduleMaxLevel: Union[int, None] = None
|
2024-02-07 10:22:05 +00:00
|
|
|
|
|
|
|
|
2023-10-30 06:31:15 +00:00
|
|
|
class PlayerSpaceInfo(Struct):
|
|
|
|
avatarCount: int
|
2024-02-07 10:22:05 +00:00
|
|
|
challengeInfo: ChallengeInfo
|
2024-02-10 15:49:34 +00:00
|
|
|
achievementCount: Union[int, None] = field(default=0)
|
|
|
|
equipmentCount: Union[int, None] = field(default=0)
|
|
|
|
maxRogueChallengeScore: Union[int, None] = field(default=0)
|
2023-10-30 06:31:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
class PlayerDetailInfo(Struct):
|
2024-02-07 10:22:05 +00:00
|
|
|
assistAvatarList: Union[List[Avatar], None]
|
|
|
|
platform: Union[int, str]
|
2023-10-30 06:31:15 +00:00
|
|
|
isDisplayAvatar: bool
|
|
|
|
uid: int
|
|
|
|
nickname: str
|
|
|
|
level: int
|
|
|
|
recordInfo: Union[PlayerSpaceInfo, None]
|
|
|
|
headIcon: int
|
2024-02-10 15:49:34 +00:00
|
|
|
friendCount: Union[int, None] = field(default=0)
|
|
|
|
worldLevel: Union[int, None] = field(default=0)
|
|
|
|
avatarDetailList: Union[List[Avatar], None] = None
|
2023-10-30 06:31:15 +00:00
|
|
|
signature: Union[str, None] = None
|
|
|
|
Birthday: Union[int, None] = None
|
|
|
|
|
|
|
|
|
|
|
|
class MihomoData(Struct):
|
|
|
|
detailInfo: PlayerDetailInfo
|