Files
neonsr/game_server/srtools/models/srtools_data.py
2025-04-17 20:13:39 +08:00

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] = ""