mirror of
https://github.com/PaiGramTeam/SIMNet.git
synced 2024-11-26 15:59:33 +00:00
45 lines
961 B
Python
45 lines
961 B
Python
|
"""Starrail chronicle challenge."""
|
||
|
from typing import List
|
||
|
|
||
|
from pydantic import Field
|
||
|
|
||
|
from simnet.models.base import APIModel
|
||
|
from simnet.models.starrail.character import FloorCharacter
|
||
|
|
||
|
from .base import PartialTime
|
||
|
|
||
|
__all__ = ["StarRailFloor", "FloorNode", "StarRailChallenge"]
|
||
|
|
||
|
|
||
|
class FloorNode(APIModel):
|
||
|
"""Node for a floor."""
|
||
|
|
||
|
challenge_time: PartialTime
|
||
|
avatars: List[FloorCharacter]
|
||
|
|
||
|
|
||
|
class StarRailFloor(APIModel):
|
||
|
"""Floor in a challenge."""
|
||
|
|
||
|
name: str
|
||
|
round_num: int
|
||
|
star_num: int
|
||
|
node_1: FloorNode
|
||
|
node_2: FloorNode
|
||
|
is_chaos: bool
|
||
|
|
||
|
|
||
|
class StarRailChallenge(APIModel):
|
||
|
"""Challenge in a season."""
|
||
|
|
||
|
season: int = Field(alias="schedule_id")
|
||
|
begin_time: PartialTime
|
||
|
end_time: PartialTime
|
||
|
|
||
|
total_stars: int = Field(alias="star_num")
|
||
|
max_floor: str
|
||
|
total_battles: int = Field(alias="battle_num")
|
||
|
has_data: bool
|
||
|
|
||
|
floors: List[StarRailFloor] = Field(alias="all_floor_detail")
|