58 lines
969 B
Python
58 lines
969 B
Python
from dataclasses import dataclass
|
|
|
|
from .game_item import Requirement
|
|
from ..strings.tool_names import ToolMaterial
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class BookRequirement(Requirement):
|
|
book: str
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class ToolRequirement(Requirement):
|
|
tool: str
|
|
tier: str = ToolMaterial.basic
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class SkillRequirement(Requirement):
|
|
skill: str
|
|
level: int
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class SeasonRequirement(Requirement):
|
|
season: str
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class YearRequirement(Requirement):
|
|
year: int
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class CombatRequirement(Requirement):
|
|
level: str
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class QuestRequirement(Requirement):
|
|
quest: str
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class RelationshipRequirement(Requirement):
|
|
npc: str
|
|
hearts: int
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class FishingRequirement(Requirement):
|
|
region: str
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class WalnutRequirement(Requirement):
|
|
amount: int
|