mirror of
https://github.com/PaiGramTeam/StarRailDamageCal.git
synced 2024-11-24 09:15:37 +00:00
75 lines
1.7 KiB
Python
75 lines
1.7 KiB
Python
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
|
|
|
|
|
|
class PlayerSpaceInfo(Struct):
|
|
challengeInfo: Challenge
|
|
maxRogueChallengeScore: int
|
|
equipmentCount: int
|
|
avatarCount: int
|
|
achievementCount: int
|
|
|
|
|
|
class PlayerDetailInfo(Struct):
|
|
assistAvatarDetail: Avatar
|
|
platform: str
|
|
isDisplayAvatar: bool
|
|
avatarDetailList: Union[List[Avatar], None]
|
|
uid: int
|
|
friendCount: int
|
|
worldLevel: int
|
|
nickname: str
|
|
level: int
|
|
recordInfo: Union[PlayerSpaceInfo, None]
|
|
headIcon: int
|
|
signature: Union[str, None] = None
|
|
Birthday: Union[int, None] = None
|
|
|
|
|
|
class MihomoData(Struct):
|
|
detailInfo: PlayerDetailInfo
|