2024-09-18 14:54:41 +08:00

55 lines
1.4 KiB
Python

from typing import List, Union
from msgspec import Struct, field
from ...model import (
MihomoAvatarAttributeBonus,
MihomoAvatarExtraAbility,
MihomoAvatarSkill,
Relic,
)
from ...mono.Character import Character
class DamageInstanceWeapon(Struct):
id_: int = field(name="id")
level: int
rank: int
promotion: int
class DamageInstanceAvatar(Struct):
id_: int = field(name="id")
level: int
rank: int
element: str
promotion: int
attribute_bonus: List[MihomoAvatarAttributeBonus]
extra_ability: List[MihomoAvatarExtraAbility]
class DamageInstance:
avatar: DamageInstanceAvatar
weapon: Union[DamageInstanceWeapon, None]
relic: List[Relic]
skill: List[MihomoAvatarSkill]
def __init__(self, char: Character):
self.avatar = DamageInstanceAvatar(
id_=char.char_id,
level=char.char_level,
rank=char.char_rank,
element=char.char_element,
promotion=char.char_promotion,
attribute_bonus=char.attribute_bonus,
extra_ability=char.extra_ability,
)
self.weapon = DamageInstanceWeapon(
id_=char.equipment.equipmentID,
level=char.equipment.equipmentLevel,
rank=char.equipment.equipmentRank,
promotion=char.equipment.equipmentPromotion,
)
self.relic = char.char_relic
self.skill = char.char_skill