Skip to content

Commit 3231577

Browse files
authored
Stardew Valley: Fix extended family legendary fishes being locations with fishsanity set to exclude legendary (#2967)
1 parent e9620be commit 3231577

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

worlds/stardew_valley/locations.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from . import data
88
from .bundles.bundle_room import BundleRoom
9-
from .data.fish_data import legendary_fish, special_fish, get_fish_for_mods
9+
from .data.fish_data import special_fish, get_fish_for_mods
1010
from .data.museum_data import all_museum_items
1111
from .data.villagers_data import get_villagers_for_mods
1212
from .mods.mod_data import ModNames
@@ -206,7 +206,8 @@ def extend_fishsanity_locations(randomized_locations: List[LocationData], option
206206
if fishsanity == Fishsanity.option_none:
207207
return
208208
elif fishsanity == Fishsanity.option_legendaries:
209-
randomized_locations.extend(location_table[f"{prefix}{legendary.name}"] for legendary in legendary_fish)
209+
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish if fish.legendary]
210+
randomized_locations.extend(filter_disabled_locations(options, fish_locations))
210211
elif fishsanity == Fishsanity.option_special:
211212
randomized_locations.extend(location_table[f"{prefix}{special.name}"] for special in special_fish)
212213
elif fishsanity == Fishsanity.option_randomized:
@@ -216,7 +217,7 @@ def extend_fishsanity_locations(randomized_locations: List[LocationData], option
216217
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish]
217218
randomized_locations.extend(filter_disabled_locations(options, fish_locations))
218219
elif fishsanity == Fishsanity.option_exclude_legendaries:
219-
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish if fish not in legendary_fish]
220+
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish if not fish.legendary]
220221
randomized_locations.extend(filter_disabled_locations(options, fish_locations))
221222
elif fishsanity == Fishsanity.option_exclude_hard_fish:
222223
fish_locations = [location_table[f"{prefix}{fish.name}"] for fish in active_fish if fish.difficulty < 80]

worlds/stardew_valley/options.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ class QuestLocations(NamedRange):
356356
class Fishsanity(Choice):
357357
"""Locations for catching a fish the first time?
358358
None: There are no locations for catching fish
359-
Legendaries: Each of the 5 legendary fish are checks
359+
Legendaries: Each of the 5 legendary fish are checks, plus the extended family if qi board is turned on
360360
Special: A curated selection of strong fish are checks
361361
Randomized: A random selection of fish are checks
362362
All: Every single fish in the game is a location that contains an item. Pairs well with the Master Angler Goal

0 commit comments

Comments
 (0)