2023-04-24 15:06:39 +00:00
|
|
|
from typing import TYPE_CHECKING
|
|
|
|
|
2023-05-02 03:10:53 +00:00
|
|
|
from model.enums import Association, AvatarQuality, Element, WeaponType
|
2023-04-24 15:06:39 +00:00
|
|
|
from utils.model import BaseModel
|
|
|
|
|
|
|
|
if TYPE_CHECKING:
|
|
|
|
from model.item import Item
|
2023-05-02 03:10:53 +00:00
|
|
|
from model.avatar._talente import AvatarTalents
|
2023-04-24 15:06:39 +00:00
|
|
|
|
2023-04-29 14:59:16 +00:00
|
|
|
__all__ = (
|
|
|
|
"Avatar",
|
|
|
|
"AvatarBirth",
|
|
|
|
"AvatarInfo",
|
|
|
|
"AvatarConstellation",
|
|
|
|
"AvatarPromote",
|
2023-05-02 03:10:53 +00:00
|
|
|
"AvatarStories",
|
|
|
|
"Story",
|
2023-04-29 14:59:16 +00:00
|
|
|
"Seuyu",
|
|
|
|
"ItemCount",
|
|
|
|
)
|
|
|
|
|
2023-04-24 15:06:39 +00:00
|
|
|
|
|
|
|
class AvatarBirth(BaseModel):
|
|
|
|
"""角色生日"""
|
|
|
|
|
|
|
|
month: int
|
|
|
|
"""月"""
|
|
|
|
day: int
|
|
|
|
"""日"""
|
|
|
|
|
|
|
|
|
|
|
|
class Seuyu(BaseModel):
|
|
|
|
"""声优"""
|
|
|
|
|
|
|
|
cn: str
|
|
|
|
"""汉语CV"""
|
|
|
|
jp: str
|
|
|
|
"""日语CV"""
|
|
|
|
en: str
|
|
|
|
"""英语CV"""
|
|
|
|
kr: str
|
|
|
|
"""韩语CV"""
|
|
|
|
|
|
|
|
|
2023-05-02 03:10:53 +00:00
|
|
|
class Story(BaseModel):
|
|
|
|
"""故事"""
|
|
|
|
|
|
|
|
title: str
|
|
|
|
"""标题"""
|
|
|
|
content: str
|
|
|
|
"""内容"""
|
|
|
|
tips: list[str]
|
|
|
|
"""提示"""
|
|
|
|
|
|
|
|
|
|
|
|
class AvatarStories(BaseModel):
|
|
|
|
"""角色故事"""
|
|
|
|
|
|
|
|
details: Story
|
|
|
|
"""角色详情"""
|
|
|
|
|
|
|
|
story_1: Story
|
|
|
|
"""角色故事1"""
|
|
|
|
|
|
|
|
story_2: Story
|
|
|
|
"""角色故事2"""
|
|
|
|
|
|
|
|
story_3: Story
|
|
|
|
"""角色故事3"""
|
|
|
|
|
|
|
|
story_4: Story
|
|
|
|
"""角色故事4"""
|
|
|
|
|
|
|
|
story_5: Story
|
|
|
|
"""角色故事5"""
|
|
|
|
|
|
|
|
miscellaneous: Story
|
|
|
|
"""角色杂谈"""
|
|
|
|
|
|
|
|
vision: Story
|
|
|
|
"""神之眼"""
|
|
|
|
|
|
|
|
|
2023-04-24 15:06:39 +00:00
|
|
|
class AvatarInfo(BaseModel):
|
|
|
|
title: str
|
|
|
|
"""称号"""
|
|
|
|
birth: AvatarBirth
|
|
|
|
"""生日"""
|
|
|
|
occupation: str
|
|
|
|
"""所属"""
|
|
|
|
vision: str
|
|
|
|
"""神之眼"""
|
|
|
|
constellation: str
|
|
|
|
"""星座"""
|
|
|
|
description: str
|
|
|
|
"""描述"""
|
2023-05-02 03:10:53 +00:00
|
|
|
association: Association
|
|
|
|
"""区域"""
|
2023-04-24 15:06:39 +00:00
|
|
|
seuyu: Seuyu
|
|
|
|
"""声优"""
|
2023-05-02 03:10:53 +00:00
|
|
|
stories: AvatarStories
|
|
|
|
"""故事"""
|
2023-04-24 15:06:39 +00:00
|
|
|
|
|
|
|
|
2023-04-29 14:59:16 +00:00
|
|
|
class ItemCount(BaseModel):
|
2023-04-24 15:06:39 +00:00
|
|
|
item: "Item"
|
|
|
|
"""物品"""
|
|
|
|
count: int
|
|
|
|
"""数量"""
|
|
|
|
|
|
|
|
|
|
|
|
class AvatarPromote(BaseModel):
|
|
|
|
required_level: int = 0
|
|
|
|
"""突破所需等级"""
|
|
|
|
promote_level: int = 0
|
|
|
|
"""突破等级"""
|
|
|
|
max_level: int
|
|
|
|
"""解锁的等级上限"""
|
|
|
|
|
|
|
|
coin: int = 0
|
|
|
|
"""摩拉"""
|
2023-04-29 14:59:16 +00:00
|
|
|
items: list[ItemCount] = []
|
2023-04-24 15:06:39 +00:00
|
|
|
"""突破所需材料"""
|
|
|
|
|
|
|
|
|
|
|
|
class AvatarConstellation(BaseModel):
|
|
|
|
"""角色命座"""
|
|
|
|
|
|
|
|
name: str
|
|
|
|
"""命座名"""
|
|
|
|
description: str
|
|
|
|
"""命座描述"""
|
|
|
|
icon: str
|
|
|
|
"""命座图标"""
|
|
|
|
|
|
|
|
|
|
|
|
class Avatar(BaseModel):
|
|
|
|
"""角色"""
|
|
|
|
|
|
|
|
id: int
|
|
|
|
"""角色ID"""
|
|
|
|
name: str
|
|
|
|
"""名称"""
|
|
|
|
element: Element
|
|
|
|
"""元素"""
|
|
|
|
quality: AvatarQuality
|
|
|
|
"""品质"""
|
|
|
|
weapon_type: WeaponType
|
|
|
|
"""武器类型"""
|
|
|
|
information: AvatarInfo
|
|
|
|
"""角色信息"""
|
|
|
|
promote: AvatarPromote
|
|
|
|
"""角色突破数据"""
|
2023-05-02 03:10:53 +00:00
|
|
|
talents: "AvatarTalents"
|
|
|
|
"""角色天赋信息"""
|
2023-04-24 15:06:39 +00:00
|
|
|
constellations: list[AvatarConstellation]
|
|
|
|
"""角色命座信息"""
|