Stardew valley: Fix Queen of Sauce Cookbook conditions (#3651)

* - Extracted walnut logic to a Mixin so it can be used in content pack requirements

* - Add 100 walnut requirements to the Queen of Sauce Cookbook

* - Woops a file wasn't added to previous commits

* - Make the queen of sauce cookbook a ginger island only thing, due to the walnut requirement

* - Moved the book in the correct content pack

* - Removed an empty class that I'm not sure where it came from
This commit is contained in:
agilbert1412
2024-07-23 01:36:42 +03:00
committed by GitHub
parent f7989780fa
commit c12d3dd6ad
9 changed files with 171 additions and 133 deletions

View File

@@ -9,8 +9,9 @@ from .season_logic import SeasonLogicMixin
from .skill_logic import SkillLogicMixin
from .time_logic import TimeLogicMixin
from .tool_logic import ToolLogicMixin
from .walnut_logic import WalnutLogicMixin
from ..data.game_item import Requirement
from ..data.requirement import ToolRequirement, BookRequirement, SkillRequirement, SeasonRequirement, YearRequirement
from ..data.requirement import ToolRequirement, BookRequirement, SkillRequirement, SeasonRequirement, YearRequirement, WalnutRequirement
class RequirementLogicMixin(BaseLogicMixin):
@@ -20,7 +21,7 @@ class RequirementLogicMixin(BaseLogicMixin):
class RequirementLogic(BaseLogic[Union[RequirementLogicMixin, HasLogicMixin, ReceivedLogicMixin, ToolLogicMixin, SkillLogicMixin, BookLogicMixin,
SeasonLogicMixin, TimeLogicMixin]]):
SeasonLogicMixin, TimeLogicMixin, WalnutLogicMixin]]):
def meet_all_requirements(self, requirements: Iterable[Requirement]):
if not requirements:
@@ -50,3 +51,7 @@ SeasonLogicMixin, TimeLogicMixin]]):
@meet_requirement.register
def _(self, requirement: YearRequirement):
return self.logic.time.has_year(requirement.year)
@meet_requirement.register
def _(self, requirement: WalnutRequirement):
return self.logic.walnut.has_walnut(requirement.amount)