Archipelago/worlds/stardew_valley/data/requirement.py

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