mirror of
https://github.com/PaiGramTeam/SIMNet.git
synced 2024-11-26 07:55:42 +00:00
73 lines
1.6 KiB
Python
73 lines
1.6 KiB
Python
|
"""Starrail chronicle challenge story."""
|
||
|
from typing import List
|
||
|
|
||
|
from pydantic import Field
|
||
|
|
||
|
from simnet.models.base import APIModel
|
||
|
from simnet.models.starrail.character import RogueCharacter
|
||
|
|
||
|
from .base import PartialTime
|
||
|
|
||
|
__all__ = [
|
||
|
"StarRailChallengeStoryGroup",
|
||
|
"StarRailChallengeStoryFloorNode",
|
||
|
"StarRailChallengeStoryFloor",
|
||
|
"StarRailChallengeStory",
|
||
|
]
|
||
|
|
||
|
|
||
|
class StarRailChallengeStoryGroup(APIModel):
|
||
|
"""Group in a challenge story."""
|
||
|
|
||
|
season: int = Field(alias="schedule_id")
|
||
|
begin_time: PartialTime
|
||
|
end_time: PartialTime
|
||
|
status: str
|
||
|
name_mi18n: str
|
||
|
|
||
|
|
||
|
class StarRailChallengeStoryBuff(APIModel):
|
||
|
"""Challenge Story Buff"""
|
||
|
|
||
|
id: int
|
||
|
name_mi18n: str
|
||
|
desc_mi18n: str
|
||
|
icon: str
|
||
|
|
||
|
|
||
|
class StarRailChallengeStoryFloorNode(APIModel):
|
||
|
"""Node for a floor."""
|
||
|
|
||
|
challenge_time: PartialTime
|
||
|
avatars: List[RogueCharacter]
|
||
|
|
||
|
challenge_time: PartialTime
|
||
|
avatars: List[RogueCharacter]
|
||
|
buff: StarRailChallengeStoryBuff
|
||
|
score: int
|
||
|
|
||
|
|
||
|
class StarRailChallengeStoryFloor(APIModel):
|
||
|
"""Floor in a challenge."""
|
||
|
|
||
|
name: str
|
||
|
round_num: int
|
||
|
star_num: int
|
||
|
node_1: StarRailChallengeStoryFloorNode
|
||
|
node_2: StarRailChallengeStoryFloorNode
|
||
|
is_fast: bool
|
||
|
maze_id: int
|
||
|
|
||
|
|
||
|
class StarRailChallengeStory(APIModel):
|
||
|
"""Challenge story in a season."""
|
||
|
|
||
|
groups: List[StarRailChallengeStoryGroup]
|
||
|
total_stars: int = Field(alias="star_num")
|
||
|
max_floor: str
|
||
|
max_floor_id: int
|
||
|
total_battles: int = Field(alias="battle_num")
|
||
|
has_data: bool
|
||
|
|
||
|
floors: List[StarRailChallengeStoryFloor] = Field(alias="all_floor_detail")
|