mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 04:01:32 -06:00
Stardew Valley: Remove Crab Pot Requirement for Help Wanted Fishing (#4985)
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
This commit is contained in:
@@ -117,7 +117,7 @@ class FishingLogic(BaseLogic):
|
||||
|
||||
@cached_property
|
||||
def can_crab_pot_anywhere(self) -> StardewRule:
|
||||
return self.logic.fishing.can_fish() & self.logic.region.can_reach_any(fishing_regions)
|
||||
return self.logic.fishing.can_crab_pot & self.logic.region.can_reach_any(fishing_regions)
|
||||
|
||||
@cache_self1
|
||||
def can_crab_pot_at(self, region: str) -> StardewRule:
|
||||
@@ -125,12 +125,4 @@ class FishingLogic(BaseLogic):
|
||||
|
||||
@cached_property
|
||||
def can_crab_pot(self) -> StardewRule:
|
||||
crab_pot_rule = self.logic.has(Fishing.bait)
|
||||
|
||||
# We can't use the same rule if skills are vanilla, because fishing levels are required to crab pot, which is required to get fishing levels...
|
||||
if self.content.features.skill_progression.is_progressive:
|
||||
crab_pot_rule = crab_pot_rule & self.logic.has(Machine.crab_pot)
|
||||
else:
|
||||
crab_pot_rule = crab_pot_rule & self.logic.skill.can_get_fishing_xp
|
||||
|
||||
return crab_pot_rule
|
||||
return self.logic.has(Machine.crab_pot) & self.logic.has(Fishing.bait)
|
||||
|
@@ -34,7 +34,8 @@ class SkillLogic(BaseLogic):
|
||||
previous_level_rule = self.logic.skill.has_previous_level(skill, level)
|
||||
|
||||
if skill == Skill.fishing:
|
||||
xp_rule = self.logic.tool.has_fishing_rod(max(tool_level, 3))
|
||||
# Not checking crab pot as this is used for not randomized skills logic, for which players need a fishing rod to start gaining xp.
|
||||
xp_rule = self.logic.tool.has_fishing_rod(max(tool_level, 3)) & self.logic.fishing.can_fish_anywhere()
|
||||
elif skill == Skill.farming:
|
||||
xp_rule = self.can_get_farming_xp & self.logic.tool.has_tool(Tool.hoe, tool_material) & self.logic.tool.can_water(tool_level)
|
||||
elif skill == Skill.foraging:
|
||||
@@ -134,7 +135,7 @@ class SkillLogic(BaseLogic):
|
||||
@cached_property
|
||||
def can_get_fishing_xp(self) -> StardewRule:
|
||||
if self.content.features.skill_progression.is_progressive:
|
||||
return self.logic.fishing.can_fish_anywhere() | self.logic.fishing.can_crab_pot
|
||||
return self.logic.fishing.can_fish_anywhere() | self.logic.fishing.can_crab_pot_anywhere
|
||||
|
||||
return self.logic.fishing.can_fish_anywhere()
|
||||
|
||||
|
@@ -24,7 +24,8 @@ vanilla_regions = [
|
||||
RegionData(RegionName.farm,
|
||||
[Entrance.farm_to_backwoods, Entrance.farm_to_bus_stop, Entrance.farm_to_forest, Entrance.farm_to_farmcave, Entrance.enter_greenhouse,
|
||||
Entrance.enter_coop, Entrance.enter_barn, Entrance.enter_shed, Entrance.enter_slime_hutch, LogicEntrance.grow_spring_crops,
|
||||
LogicEntrance.grow_summer_crops, LogicEntrance.grow_fall_crops, LogicEntrance.grow_winter_crops, LogicEntrance.shipping]),
|
||||
LogicEntrance.grow_summer_crops, LogicEntrance.grow_fall_crops, LogicEntrance.grow_winter_crops, LogicEntrance.shipping,
|
||||
LogicEntrance.fishing, ]),
|
||||
RegionData(RegionName.backwoods, [Entrance.backwoods_to_mountain]),
|
||||
RegionData(RegionName.bus_stop,
|
||||
[Entrance.bus_stop_to_town, Entrance.take_bus_to_desert, Entrance.bus_stop_to_tunnel_entrance]),
|
||||
@@ -54,7 +55,7 @@ vanilla_regions = [
|
||||
Entrance.purchase_movie_ticket, LogicEntrance.buy_experience_books, LogicEntrance.attend_egg_festival, LogicEntrance.attend_fair,
|
||||
LogicEntrance.attend_spirit_eve, LogicEntrance.attend_winter_star]),
|
||||
RegionData(RegionName.beach,
|
||||
[Entrance.beach_to_willy_fish_shop, Entrance.enter_elliott_house, Entrance.enter_tide_pools, LogicEntrance.fishing, LogicEntrance.attend_luau,
|
||||
[Entrance.beach_to_willy_fish_shop, Entrance.enter_elliott_house, Entrance.enter_tide_pools, LogicEntrance.attend_luau,
|
||||
LogicEntrance.attend_moonlight_jellies, LogicEntrance.attend_night_market, LogicEntrance.attend_squidfest]),
|
||||
RegionData(RegionName.railroad, [Entrance.enter_bathhouse_entrance, Entrance.enter_witch_warp_cave]),
|
||||
RegionData(RegionName.ranch),
|
||||
|
@@ -284,7 +284,7 @@ def set_skull_cavern_floor_entrance_rules(logic, multiworld, player):
|
||||
set_entrance_rule(multiworld, player, dig_to_skull_floor(floor), rule)
|
||||
|
||||
|
||||
def set_skill_entrance_rules(logic, multiworld, player, world_options: StardewValleyOptions):
|
||||
def set_skill_entrance_rules(logic: StardewLogic, multiworld, player, world_options: StardewValleyOptions):
|
||||
set_entrance_rule(multiworld, player, LogicEntrance.grow_spring_crops, logic.farming.has_farming_tools & logic.season.has_spring)
|
||||
set_entrance_rule(multiworld, player, LogicEntrance.grow_summer_crops, logic.farming.has_farming_tools & logic.season.has_summer)
|
||||
set_entrance_rule(multiworld, player, LogicEntrance.grow_fall_crops, logic.farming.has_farming_tools & logic.season.has_fall)
|
||||
@@ -299,7 +299,7 @@ def set_skill_entrance_rules(logic, multiworld, player, world_options: StardewVa
|
||||
set_entrance_rule(multiworld, player, LogicEntrance.grow_summer_fall_crops_in_summer, true_)
|
||||
set_entrance_rule(multiworld, player, LogicEntrance.grow_summer_fall_crops_in_fall, true_)
|
||||
|
||||
set_entrance_rule(multiworld, player, LogicEntrance.fishing, logic.skill.can_get_fishing_xp)
|
||||
set_entrance_rule(multiworld, player, LogicEntrance.fishing, logic.fishing.can_fish_anywhere())
|
||||
|
||||
|
||||
def set_blacksmith_entrance_rules(logic, multiworld, player):
|
||||
|
Reference in New Issue
Block a user