diff --git a/worlds/stardew_valley/data/villagers_data.py b/worlds/stardew_valley/data/villagers_data.py index ae6a346d56d7..718bce743b1c 100644 --- a/worlds/stardew_valley/data/villagers_data.py +++ b/worlds/stardew_valley/data/villagers_data.py @@ -13,9 +13,9 @@ class Villager: name: str bachelor: bool - locations: Tuple[str] + locations: Tuple[str, ...] birthday: str - gifts: Tuple[str] + gifts: Tuple[str, ...] available: bool mod_name: str @@ -366,10 +366,11 @@ def villager(name: str, bachelor: bool, locations: Tuple[str, ...], birthday: st return npc -def make_bachelor(mod_name: str, npc: Villager): +def adapt_wizard_to_sve(mod_name: str, npc: Villager): if npc.mod_name: mod_name = npc.mod_name - return Villager(npc.name, True, npc.locations, npc.birthday, npc.gifts, npc.available, mod_name) + # The wizard leaves his tower on sunday, for like 1 hour... Good enough to meet him! + return Villager(npc.name, True, npc.locations + forest, npc.birthday, npc.gifts, npc.available, mod_name) def register_villager_modification(mod_name: str, npc: Villager, modification_function): @@ -452,7 +453,7 @@ def register_villager_modification(mod_name: str, npc: Villager, modification_fu # Modified villagers; not included in all villagers -register_villager_modification(ModNames.sve, wizard, make_bachelor) +register_villager_modification(ModNames.sve, wizard, adapt_wizard_to_sve) all_villagers_by_name: Dict[str, Villager] = {villager.name: villager for villager in all_villagers} all_villagers_by_mod: Dict[str, List[Villager]] = {} diff --git a/worlds/stardew_valley/logic/logic.py b/worlds/stardew_valley/logic/logic.py index 1c79e9345930..a7fcec922838 100644 --- a/worlds/stardew_valley/logic/logic.py +++ b/worlds/stardew_valley/logic/logic.py @@ -546,6 +546,7 @@ def can_succeed_luau_soup(self) -> StardewRule: def can_succeed_grange_display(self) -> StardewRule: if self.options.festival_locations != FestivalLocations.option_hard: return True_() + animal_rule = self.animal.has_animal(Generic.any) artisan_rule = self.artisan.can_keg(Generic.any) | self.artisan.can_preserves_jar(Generic.any) cooking_rule = self.money.can_spend_at(Region.saloon, 220) # Salads at the bar are good enough