74 lines
2.0 KiB
Python
74 lines
2.0 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional
|
|
|
|
class SRToolData(BaseModel):
|
|
class RelicSubAffixData(BaseModel):
|
|
sub_affix_id: int
|
|
count: int
|
|
step: int
|
|
|
|
class RelicData(BaseModel):
|
|
level: int
|
|
relic_id: int
|
|
relic_set_id: int
|
|
main_affix_id: int
|
|
sub_affixes: Optional[list["SRToolData.RelicSubAffixData"]] = None
|
|
internal_uid: int
|
|
equip_avatar: int
|
|
|
|
class LightconeData(BaseModel):
|
|
level: int
|
|
internal_uid: int
|
|
equip_avatar: int
|
|
item_id: int
|
|
rank: int
|
|
promotion: int
|
|
|
|
class AvatarData(BaseModel):
|
|
avatar_id: int
|
|
data: Optional["SRToolData.AvatarInnerData"] = None
|
|
level: int
|
|
promotion: int
|
|
techniques: Optional[list[int]] = []
|
|
sp_value: int
|
|
sp_max: int
|
|
|
|
class AvatarInnerData(BaseModel):
|
|
rank: int
|
|
skills: dict[str,int]
|
|
|
|
class DynamicKey(BaseModel):
|
|
key: Optional[str] = ""
|
|
value: int
|
|
|
|
class BlessingData(BaseModel):
|
|
level: int
|
|
id: int
|
|
dynamic_key: Optional["SRToolData.DynamicKey"] = None
|
|
|
|
class MonsterData(BaseModel):
|
|
level: int
|
|
monster_id: int
|
|
amount: int
|
|
|
|
class BattleConfigData(BaseModel):
|
|
battle_type: Optional[str] = ""
|
|
blessings: Optional[list["SRToolData.BlessingData"]] = None
|
|
custom_stats: Optional[list["SRToolData.RelicSubAffixData"]] = None
|
|
cycle_count: int
|
|
monsters: Optional[list["SRToolData.MonsterData"]] = None
|
|
path_resonance_id: int
|
|
stage_id: int
|
|
|
|
relics: Optional[list[RelicData]] = None
|
|
lightcones: Optional[list[LightconeData]] = None
|
|
avatars: Optional[dict[int,AvatarData]] = {}
|
|
|
|
class SRToolDataReq(BaseModel):
|
|
data: Optional[SRToolData] = None
|
|
username: Optional[str] = ""
|
|
password: Optional[str] = ""
|
|
|
|
class SRToolDataRsp(BaseModel):
|
|
status: int
|
|
message: Optional[str] = "" |