mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Stardew Valley: Refactor skill progression to use new feature system (#3662)
* create a first draft of the feature * use feature in items and locations * add content to more places * use feature in logic * replace option check by feature * remove unused code * remove weird white space * some import nitpicking * flip negative if
This commit is contained in:
@@ -1,7 +1,21 @@
|
||||
from dataclasses import dataclass, field
|
||||
from functools import cached_property
|
||||
from typing import Iterable, Tuple
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class Skill:
|
||||
name: str
|
||||
has_mastery: bool = field(kw_only=True)
|
||||
|
||||
@cached_property
|
||||
def mastery_name(self) -> str:
|
||||
return f"{self.name} Mastery"
|
||||
|
||||
@cached_property
|
||||
def level_name(self) -> str:
|
||||
return f"{self.name} Level"
|
||||
|
||||
@cached_property
|
||||
def level_names_by_level(self) -> Iterable[Tuple[int, str]]:
|
||||
return tuple((level, f"Level {level} {self.name}") for level in range(1, 11))
|
||||
|
||||
Reference in New Issue
Block a user