mirror of
https://github.com/PaiGramTeam/SIMNet.git
synced 2024-11-16 03:55:28 +00:00
✨ Support starrail rogue nous
This commit is contained in:
parent
338f5367a0
commit
8a1ac17eda
@ -11,7 +11,7 @@ from simnet.models.starrail.chronicle.characters import StarRailDetailCharacters
|
|||||||
from simnet.models.starrail.chronicle.museum import StarRailMuseumBasic, StarRailMuseumDetail
|
from simnet.models.starrail.chronicle.museum import StarRailMuseumBasic, StarRailMuseumDetail
|
||||||
from simnet.models.starrail.chronicle.notes import StarRailNote, StarRailNoteWidget, StarRailNoteOverseaWidget
|
from simnet.models.starrail.chronicle.notes import StarRailNote, StarRailNoteWidget, StarRailNoteOverseaWidget
|
||||||
from simnet.models.starrail.chronicle.resident import StarRailResident
|
from simnet.models.starrail.chronicle.resident import StarRailResident
|
||||||
from simnet.models.starrail.chronicle.rogue import StarRailRogue, StarRailRogueLocust
|
from simnet.models.starrail.chronicle.rogue import StarRailRogue, StarRailRogueLocust, StarRailRogueNous
|
||||||
from simnet.models.starrail.chronicle.stats import StarRailUserStats, StarRailUserInfo
|
from simnet.models.starrail.chronicle.stats import StarRailUserStats, StarRailUserInfo
|
||||||
from simnet.utils.enums import Game, Region
|
from simnet.utils.enums import Game, Region
|
||||||
from simnet.utils.player import recognize_starrail_server, recognize_region
|
from simnet.utils.player import recognize_starrail_server, recognize_region
|
||||||
@ -251,6 +251,28 @@ class StarRailBattleChronicleClient(BaseChronicleClient):
|
|||||||
data = await self._request_starrail_record("rogue_locust", player_id, lang=lang, payload=payload)
|
data = await self._request_starrail_record("rogue_locust", player_id, lang=lang, payload=payload)
|
||||||
return StarRailRogueLocust(**data)
|
return StarRailRogueLocust(**data)
|
||||||
|
|
||||||
|
async def get_starrail_rogue_nous(
|
||||||
|
self,
|
||||||
|
player_id: Optional[int] = None,
|
||||||
|
lang: Optional[str] = None,
|
||||||
|
) -> StarRailRogueNous:
|
||||||
|
"""Get starrail rogue nous runs.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
player_id (Optional[int], optional): The player ID. Defaults to None.
|
||||||
|
lang (Optional[str], optional): The language of the data. Defaults to None.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
StarRailRogueNous: The requested rogue nous runs.
|
||||||
|
|
||||||
|
Raises:
|
||||||
|
BadRequest: If the request is invalid.
|
||||||
|
DataNotPublic: If the requested data is not public.
|
||||||
|
"""
|
||||||
|
payload = dict(need_detail="true")
|
||||||
|
data = await self._request_starrail_record("rogue_nous", player_id, lang=lang, payload=payload)
|
||||||
|
return StarRailRogueNous(**data)
|
||||||
|
|
||||||
async def get_starrail_museum_info(
|
async def get_starrail_museum_info(
|
||||||
self,
|
self,
|
||||||
uid: Optional[int] = None,
|
uid: Optional[int] = None,
|
||||||
|
@ -170,3 +170,78 @@ class StarRailRogueLocust(APIModel):
|
|||||||
basic: RogueLocustBasic
|
basic: RogueLocustBasic
|
||||||
detail: RogueLocustRecords
|
detail: RogueLocustRecords
|
||||||
role: RogueUserRole
|
role: RogueUserRole
|
||||||
|
|
||||||
|
|
||||||
|
class StarRailRogueNousBasic(APIModel):
|
||||||
|
"""StarRail Rogue Nous Basic"""
|
||||||
|
|
||||||
|
cur_progress: int
|
||||||
|
max_progress: int
|
||||||
|
cur_rolling: int
|
||||||
|
max_rolling: int
|
||||||
|
unlock_miracle: int
|
||||||
|
active_nerve: int
|
||||||
|
unlock_event: int
|
||||||
|
exist_data: bool
|
||||||
|
|
||||||
|
|
||||||
|
class StarRailRogueNousSide(APIModel):
|
||||||
|
"""StarRail Rogue Nous Side"""
|
||||||
|
|
||||||
|
icon: str
|
||||||
|
rarity: int
|
||||||
|
|
||||||
|
|
||||||
|
class StarRailRogueNousRolling(APIModel):
|
||||||
|
"""StarRail Rogue Nous Rolling"""
|
||||||
|
|
||||||
|
id: int
|
||||||
|
name_mi18n: str
|
||||||
|
icon: str
|
||||||
|
sides: List[StarRailRogueNousSide]
|
||||||
|
main_buff_mi18n: str
|
||||||
|
aeon_id: int
|
||||||
|
|
||||||
|
|
||||||
|
class StarRailRogueNousRecordDetail(APIModel):
|
||||||
|
"""Detailed Rogue nous record info."""
|
||||||
|
|
||||||
|
name_mi18n: str
|
||||||
|
finish_time: PartialTime
|
||||||
|
final_lineup: List[RogueCharacter]
|
||||||
|
base_type_list: List[RogueBuffType]
|
||||||
|
cached_avatars: List[RogueCharacter]
|
||||||
|
buffs: List[RogueBuff]
|
||||||
|
miracles: List[RogueMiracle]
|
||||||
|
blocks: List[RogueLocustRecordDetailBlock]
|
||||||
|
boss_effect: List[str]
|
||||||
|
rolling: StarRailRogueNousRolling
|
||||||
|
|
||||||
|
difficulty: int
|
||||||
|
difficulty_type1_value: int
|
||||||
|
difficulty_type2_value: int
|
||||||
|
has_difficulty_type: bool
|
||||||
|
|
||||||
|
fury: RogueLocustRecordDetailFury
|
||||||
|
|
||||||
|
@property
|
||||||
|
def time_str(self) -> str:
|
||||||
|
"""Get the time as a string."""
|
||||||
|
if self.finish_time is None:
|
||||||
|
return "N/A"
|
||||||
|
|
||||||
|
return self.finish_time.datetime.strftime("%Y.%m.%d %H:%M")
|
||||||
|
|
||||||
|
|
||||||
|
class StarRailRogueNousRecords(APIModel):
|
||||||
|
"""Rogue Nous records"""
|
||||||
|
|
||||||
|
records: List[StarRailRogueNousRecordDetail]
|
||||||
|
|
||||||
|
|
||||||
|
class StarRailRogueNous(APIModel):
|
||||||
|
"""StarRail Rogue Nous"""
|
||||||
|
|
||||||
|
basic: StarRailRogueNousBasic
|
||||||
|
detail: StarRailRogueNousRecords
|
||||||
|
role: RogueUserRole
|
||||||
|
Loading…
Reference in New Issue
Block a user