31 lines
944 B
Python
Raw Normal View History

2023-10-10 12:01:34 +08:00
from typing import List
from .constants import FrameType, AbilityType
from .progress import Ability
class StartAttr:
abilities: List[Ability]
frame_attr: FrameType
def __init__(self, abilities: List[Ability], frame_attr: FrameType) -> None:
self.abilities = abilities
self.frame_attr = frame_attr
def __json__(self):
return {
"abilities": [ability.__json__() for ability in self.abilities],
"frame_attr": self.frame_attr.value,
}
def __text__(self) -> str:
text = ""
for ability in self.abilities:
if ability.type == AbilityType.Persistent:
type_text = "[常]"
elif ability.type == AbilityType.Automatic:
type_text = "[自]"
elif ability.type == AbilityType.Activated:
type_text = "[起]"
text += f"{type_text} {ability.effect}\n"
return text