39 lines
1023 B
Python
39 lines
1023 B
Python
"""Модели экономики (очищение, яички)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass(slots=True)
|
|
class PurificationResult:
|
|
"""Результат ежедневного очищения."""
|
|
|
|
success: bool
|
|
exp_add: int = 0
|
|
money_add: int = 0
|
|
hours: int = 0
|
|
minutes: int = 0
|
|
seconds: int = 0
|
|
#: Уровень до и после очищения (для события `level_up`).
|
|
level_before: int = 0
|
|
level: int = 0
|
|
#: Серия ежедневных очищений (для события `exp_accrual`).
|
|
streak: int = 0
|
|
|
|
@property
|
|
def level_up(self) -> bool:
|
|
"""Повысился ли уровень по итогам очищения."""
|
|
return self.level > self.level_before
|
|
|
|
|
|
@dataclass(slots=True)
|
|
class EggsResult:
|
|
"""Результат получения яичек."""
|
|
|
|
success: bool
|
|
eggs: int = 0
|
|
hours: int = 0
|
|
minutes: int = 0
|
|
seconds: int = 0
|