Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stardew Valley: Fix extended family legendary fishes being locations with fishsanity set to exclude legendary #2967

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions worlds/stardew_valley/locations.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from . import data
from .bundles.bundle_room import BundleRoom
from .data.fish_data import legendary_fish, special_fish, get_fish_for_mods
from .data.fish_data import special_fish, get_fish_for_mods
from .data.museum_data import all_museum_items
from .data.villagers_data import get_villagers_for_mods
from .mods.mod_data import ModNames
Expand Down Expand Up @@ -206,7 +206,8 @@ def extend_fishsanity_locations(randomized_locations: List[LocationData], option
if fishsanity == Fishsanity.option_none:
return
elif fishsanity == Fishsanity.option_legendaries:
randomized_locations.extend(location_table[f"{prefix}{legendary.name}"] for legendary in legendary_fish)
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish if fish.legendary]
randomized_locations.extend(filter_disabled_locations(options, fish_locations))
elif fishsanity == Fishsanity.option_special:
randomized_locations.extend(location_table[f"{prefix}{special.name}"] for special in special_fish)
elif fishsanity == Fishsanity.option_randomized:
Expand All @@ -216,7 +217,7 @@ def extend_fishsanity_locations(randomized_locations: List[LocationData], option
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish]
randomized_locations.extend(filter_disabled_locations(options, fish_locations))
elif fishsanity == Fishsanity.option_exclude_legendaries:
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish if fish not in legendary_fish]
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish if not fish.legendary]
Jouramie marked this conversation as resolved.
Show resolved Hide resolved
randomized_locations.extend(filter_disabled_locations(options, fish_locations))
elif fishsanity == Fishsanity.option_exclude_hard_fish:
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish if fish.difficulty < 80]
Expand Down
2 changes: 1 addition & 1 deletion worlds/stardew_valley/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ class QuestLocations(NamedRange):
class Fishsanity(Choice):
"""Locations for catching a fish the first time?
None: There are no locations for catching fish
Legendaries: Each of the 5 legendary fish are checks
Legendaries: Each of the 5 legendary fish are checks, plus the extended family if qi board is turned on
Special: A curated selection of strong fish are checks
Randomized: A random selection of fish are checks
All: Every single fish in the game is a location that contains an item. Pairs well with the Master Angler Goal
Expand Down
Loading