mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Stardew Valley 6.x.x: The Content Update (#3478)
Focus of the Update: Compatibility with Stardew Valley 1.6 Released on March 19th 2024 This includes randomization for pretty much all of the new content, including but not limited to - Raccoon Bundles - Booksanity - Skill Masteries - New Recipes, Craftables, Fish, Maps, Farm Type, Festivals and Quests This also includes a significant reorganisation of the code into "Content Packs", to allow for easier modularity of various game mechanics between the settings and the supported mods. This improves maintainability quite a bit. In addition to that, a few **very** requested new features have been introduced, although they weren't the focus of this update - Walnutsanity - Player Buffs - More customizability in settings, such as shorter special orders, ER without farmhouse - New Remixed Bundles
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import List, Tuple, Union, Optional, Set
|
||||
from typing import Tuple, Union, Optional
|
||||
|
||||
from . import season_data as season
|
||||
from ..strings.fish_names import Fish, SVEFish, DistantLandsFish
|
||||
from ..strings.region_names import Region, SVERegion
|
||||
from ..mods.mod_data import ModNames
|
||||
from ..strings.fish_names import Fish, SVEFish, DistantLandsFish
|
||||
from ..strings.region_names import Region, SVERegion, LogicRegion
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -30,6 +30,7 @@ town_river = (Region.town,)
|
||||
mountain_lake = (Region.mountain,)
|
||||
forest_pond = (Region.forest,)
|
||||
forest_river = (Region.forest,)
|
||||
forest_waterfall = (LogicRegion.forest_waterfall,)
|
||||
secret_woods = (Region.secret_woods,)
|
||||
mines_floor_20 = (Region.mines_floor_20,)
|
||||
mines_floor_60 = (Region.mines_floor_60,)
|
||||
@@ -50,8 +51,6 @@ sprite_spring = (SVERegion.sprite_spring,)
|
||||
fable_reef = (SVERegion.fable_reef,)
|
||||
vineyard = (SVERegion.blue_moon_vineyard,)
|
||||
|
||||
all_fish: List[FishItem] = []
|
||||
|
||||
|
||||
def create_fish(name: str, locations: Tuple[str, ...], seasons: Union[str, Tuple[str, ...]],
|
||||
difficulty: int, legendary: bool = False, extended_family: bool = False, mod_name: Optional[str] = None) -> FishItem:
|
||||
@@ -59,63 +58,63 @@ def create_fish(name: str, locations: Tuple[str, ...], seasons: Union[str, Tuple
|
||||
seasons = (seasons,)
|
||||
|
||||
fish_item = FishItem(name, locations, seasons, difficulty, legendary, extended_family, mod_name)
|
||||
all_fish.append(fish_item)
|
||||
return fish_item
|
||||
|
||||
|
||||
albacore = create_fish("Albacore", ocean, (season.fall, season.winter), 60)
|
||||
anchovy = create_fish("Anchovy", ocean, (season.spring, season.fall), 30)
|
||||
blue_discus = create_fish("Blue Discus", ginger_island_river, season.all_seasons, 60)
|
||||
bream = create_fish("Bream", town_river + forest_river, season.all_seasons, 35)
|
||||
bullhead = create_fish("Bullhead", mountain_lake, season.all_seasons, 46)
|
||||
albacore = create_fish(Fish.albacore, ocean, (season.fall, season.winter), 60)
|
||||
anchovy = create_fish(Fish.anchovy, ocean, (season.spring, season.fall), 30)
|
||||
blue_discus = create_fish(Fish.blue_discus, ginger_island_river, season.all_seasons, 60)
|
||||
bream = create_fish(Fish.bream, town_river + forest_river, season.all_seasons, 35)
|
||||
bullhead = create_fish(Fish.bullhead, mountain_lake, season.all_seasons, 46)
|
||||
carp = create_fish(Fish.carp, mountain_lake + secret_woods + sewers + mutant_bug_lair, season.not_winter, 15)
|
||||
catfish = create_fish("Catfish", town_river + forest_river + secret_woods, (season.spring, season.fall), 75)
|
||||
chub = create_fish("Chub", forest_river + mountain_lake, season.all_seasons, 35)
|
||||
dorado = create_fish("Dorado", forest_river, season.summer, 78)
|
||||
eel = create_fish("Eel", ocean, (season.spring, season.fall), 70)
|
||||
flounder = create_fish("Flounder", ocean, (season.spring, season.summer), 50)
|
||||
ghostfish = create_fish("Ghostfish", mines_floor_20 + mines_floor_60, season.all_seasons, 50)
|
||||
halibut = create_fish("Halibut", ocean, season.not_fall, 50)
|
||||
herring = create_fish("Herring", ocean, (season.spring, season.winter), 25)
|
||||
ice_pip = create_fish("Ice Pip", mines_floor_60, season.all_seasons, 85)
|
||||
largemouth_bass = create_fish("Largemouth Bass", mountain_lake, season.all_seasons, 50)
|
||||
lava_eel = create_fish("Lava Eel", mines_floor_100, season.all_seasons, 90)
|
||||
lingcod = create_fish("Lingcod", town_river + forest_river + mountain_lake, season.winter, 85)
|
||||
lionfish = create_fish("Lionfish", ginger_island_ocean, season.all_seasons, 50)
|
||||
midnight_carp = create_fish("Midnight Carp", mountain_lake + forest_pond + ginger_island_river,
|
||||
catfish = create_fish(Fish.catfish, town_river + forest_river + secret_woods, (season.spring, season.fall), 75)
|
||||
chub = create_fish(Fish.chub, forest_river + mountain_lake, season.all_seasons, 35)
|
||||
dorado = create_fish(Fish.dorado, forest_river, season.summer, 78)
|
||||
eel = create_fish(Fish.eel, ocean, (season.spring, season.fall), 70)
|
||||
flounder = create_fish(Fish.flounder, ocean, (season.spring, season.summer), 50)
|
||||
ghostfish = create_fish(Fish.ghostfish, mines_floor_20 + mines_floor_60, season.all_seasons, 50)
|
||||
goby = create_fish(Fish.goby, forest_waterfall, season.all_seasons, 55)
|
||||
halibut = create_fish(Fish.halibut, ocean, season.not_fall, 50)
|
||||
herring = create_fish(Fish.herring, ocean, (season.spring, season.winter), 25)
|
||||
ice_pip = create_fish(Fish.ice_pip, mines_floor_60, season.all_seasons, 85)
|
||||
largemouth_bass = create_fish(Fish.largemouth_bass, mountain_lake, season.all_seasons, 50)
|
||||
lava_eel = create_fish(Fish.lava_eel, mines_floor_100, season.all_seasons, 90)
|
||||
lingcod = create_fish(Fish.lingcod, town_river + forest_river + mountain_lake, season.winter, 85)
|
||||
lionfish = create_fish(Fish.lionfish, ginger_island_ocean, season.all_seasons, 50)
|
||||
midnight_carp = create_fish(Fish.midnight_carp, mountain_lake + forest_pond + ginger_island_river,
|
||||
(season.fall, season.winter), 55)
|
||||
octopus = create_fish("Octopus", ocean, season.summer, 95)
|
||||
perch = create_fish("Perch", town_river + forest_river + forest_pond + mountain_lake, season.winter, 35)
|
||||
pike = create_fish("Pike", town_river + forest_river + forest_pond, (season.summer, season.winter), 60)
|
||||
pufferfish = create_fish("Pufferfish", ocean + ginger_island_ocean, season.summer, 80)
|
||||
rainbow_trout = create_fish("Rainbow Trout", town_river + forest_river + mountain_lake, season.summer, 45)
|
||||
red_mullet = create_fish("Red Mullet", ocean, (season.summer, season.winter), 55)
|
||||
red_snapper = create_fish("Red Snapper", ocean, (season.summer, season.fall), 40)
|
||||
salmon = create_fish("Salmon", town_river + forest_river, season.fall, 50)
|
||||
sandfish = create_fish("Sandfish", desert, season.all_seasons, 65)
|
||||
sardine = create_fish("Sardine", ocean, (season.spring, season.fall, season.winter), 30)
|
||||
scorpion_carp = create_fish("Scorpion Carp", desert, season.all_seasons, 90)
|
||||
sea_cucumber = create_fish("Sea Cucumber", ocean, (season.fall, season.winter), 40)
|
||||
shad = create_fish("Shad", town_river + forest_river, season.not_winter, 45)
|
||||
slimejack = create_fish("Slimejack", mutant_bug_lair, season.all_seasons, 55)
|
||||
smallmouth_bass = create_fish("Smallmouth Bass", town_river + forest_river, (season.spring, season.fall), 28)
|
||||
squid = create_fish("Squid", ocean, season.winter, 75)
|
||||
stingray = create_fish("Stingray", pirate_cove, season.all_seasons, 80)
|
||||
stonefish = create_fish("Stonefish", mines_floor_20, season.all_seasons, 65)
|
||||
sturgeon = create_fish("Sturgeon", mountain_lake, (season.summer, season.winter), 78)
|
||||
sunfish = create_fish("Sunfish", town_river + forest_river, (season.spring, season.summer), 30)
|
||||
super_cucumber = create_fish("Super Cucumber", ocean + ginger_island_ocean, (season.summer, season.fall), 80)
|
||||
tiger_trout = create_fish("Tiger Trout", town_river + forest_river, (season.fall, season.winter), 60)
|
||||
tilapia = create_fish("Tilapia", ocean + ginger_island_ocean, (season.summer, season.fall), 50)
|
||||
octopus = create_fish(Fish.octopus, ocean, season.summer, 95)
|
||||
perch = create_fish(Fish.perch, town_river + forest_river + forest_pond + mountain_lake, season.winter, 35)
|
||||
pike = create_fish(Fish.pike, town_river + forest_river + forest_pond, (season.summer, season.winter), 60)
|
||||
pufferfish = create_fish(Fish.pufferfish, ocean + ginger_island_ocean, season.summer, 80)
|
||||
rainbow_trout = create_fish(Fish.rainbow_trout, town_river + forest_river + mountain_lake, season.summer, 45)
|
||||
red_mullet = create_fish(Fish.red_mullet, ocean, (season.summer, season.winter), 55)
|
||||
red_snapper = create_fish(Fish.red_snapper, ocean, (season.summer, season.fall), 40)
|
||||
salmon = create_fish(Fish.salmon, town_river + forest_river, season.fall, 50)
|
||||
sandfish = create_fish(Fish.sandfish, desert, season.all_seasons, 65)
|
||||
sardine = create_fish(Fish.sardine, ocean, (season.spring, season.fall, season.winter), 30)
|
||||
scorpion_carp = create_fish(Fish.scorpion_carp, desert, season.all_seasons, 90)
|
||||
sea_cucumber = create_fish(Fish.sea_cucumber, ocean, (season.fall, season.winter), 40)
|
||||
shad = create_fish(Fish.shad, town_river + forest_river, season.not_winter, 45)
|
||||
slimejack = create_fish(Fish.slimejack, mutant_bug_lair, season.all_seasons, 55)
|
||||
smallmouth_bass = create_fish(Fish.smallmouth_bass, town_river + forest_river, (season.spring, season.fall), 28)
|
||||
squid = create_fish(Fish.squid, ocean, season.winter, 75)
|
||||
stingray = create_fish(Fish.stingray, pirate_cove, season.all_seasons, 80)
|
||||
stonefish = create_fish(Fish.stonefish, mines_floor_20, season.all_seasons, 65)
|
||||
sturgeon = create_fish(Fish.sturgeon, mountain_lake, (season.summer, season.winter), 78)
|
||||
sunfish = create_fish(Fish.sunfish, town_river + forest_river, (season.spring, season.summer), 30)
|
||||
super_cucumber = create_fish(Fish.super_cucumber, ocean + ginger_island_ocean, (season.summer, season.fall), 80)
|
||||
tiger_trout = create_fish(Fish.tiger_trout, town_river + forest_river, (season.fall, season.winter), 60)
|
||||
tilapia = create_fish(Fish.tilapia, ocean + ginger_island_ocean, (season.summer, season.fall), 50)
|
||||
# Tuna has different seasons on ginger island. Should be changed when the whole fish thing is refactored
|
||||
tuna = create_fish("Tuna", ocean + ginger_island_ocean, (season.summer, season.winter), 70)
|
||||
void_salmon = create_fish("Void Salmon", witch_swamp, season.all_seasons, 80)
|
||||
walleye = create_fish("Walleye", town_river + forest_river + forest_pond + mountain_lake, season.fall, 45)
|
||||
woodskip = create_fish("Woodskip", secret_woods, season.all_seasons, 50)
|
||||
tuna = create_fish(Fish.tuna, ocean + ginger_island_ocean, (season.summer, season.winter), 70)
|
||||
void_salmon = create_fish(Fish.void_salmon, witch_swamp, season.all_seasons, 80)
|
||||
walleye = create_fish(Fish.walleye, town_river + forest_river + forest_pond + mountain_lake, season.fall, 45)
|
||||
woodskip = create_fish(Fish.woodskip, secret_woods, season.all_seasons, 50)
|
||||
|
||||
blob_fish = create_fish("Blobfish", night_market, season.winter, 75)
|
||||
midnight_squid = create_fish("Midnight Squid", night_market, season.winter, 55)
|
||||
spook_fish = create_fish("Spook Fish", night_market, season.winter, 60)
|
||||
blobfish = create_fish(Fish.blobfish, night_market, season.winter, 75)
|
||||
midnight_squid = create_fish(Fish.midnight_squid, night_market, season.winter, 55)
|
||||
spook_fish = create_fish(Fish.spook_fish, night_market, season.winter, 60)
|
||||
|
||||
angler = create_fish(Fish.angler, town_river, season.fall, 85, True, False)
|
||||
crimsonfish = create_fish(Fish.crimsonfish, ocean, season.summer, 95, True, False)
|
||||
@@ -155,37 +154,21 @@ undeadfish = create_fish(SVEFish.undeadfish, crimson_badlands, season.all_season
|
||||
void_eel = create_fish(SVEFish.void_eel, witch_swamp, season.all_seasons, 100, mod_name=ModNames.sve)
|
||||
water_grub = create_fish(SVEFish.water_grub, mutant_bug_lair, season.all_seasons, 60, mod_name=ModNames.sve)
|
||||
sea_sponge = create_fish(SVEFish.sea_sponge, ginger_island_ocean, season.all_seasons, 40, mod_name=ModNames.sve)
|
||||
dulse_seaweed = create_fish(SVEFish.dulse_seaweed, vineyard, season.all_seasons, 50, mod_name=ModNames.sve)
|
||||
|
||||
void_minnow = create_fish(DistantLandsFish.void_minnow, witch_swamp, season.all_seasons, 15, mod_name=ModNames.distant_lands)
|
||||
purple_algae = create_fish(DistantLandsFish.purple_algae, witch_swamp, season.all_seasons, 15, mod_name=ModNames.distant_lands)
|
||||
swamp_leech = create_fish(DistantLandsFish.swamp_leech, witch_swamp, season.all_seasons, 15, mod_name=ModNames.distant_lands)
|
||||
giant_horsehoe_crab = create_fish(DistantLandsFish.giant_horsehoe_crab, witch_swamp, season.all_seasons, 90, mod_name=ModNames.distant_lands)
|
||||
|
||||
clam = create_fish(Fish.clam, ocean, season.all_seasons, -1)
|
||||
cockle = create_fish(Fish.cockle, ocean, season.all_seasons, -1)
|
||||
crab = create_fish(Fish.crab, ocean, season.all_seasons, -1)
|
||||
crayfish = create_fish(Fish.crayfish, fresh_water, season.all_seasons, -1)
|
||||
lobster = create_fish(Fish.lobster, ocean, season.all_seasons, -1)
|
||||
mussel = create_fish(Fish.mussel, ocean, season.all_seasons, -1)
|
||||
oyster = create_fish(Fish.oyster, ocean, season.all_seasons, -1)
|
||||
periwinkle = create_fish(Fish.periwinkle, fresh_water, season.all_seasons, -1)
|
||||
shrimp = create_fish(Fish.shrimp, ocean, season.all_seasons, -1)
|
||||
snail = create_fish(Fish.snail, fresh_water, season.all_seasons, -1)
|
||||
|
||||
clam = create_fish("Clam", ocean, season.all_seasons, -1)
|
||||
cockle = create_fish("Cockle", ocean, season.all_seasons, -1)
|
||||
crab = create_fish("Crab", ocean, season.all_seasons, -1)
|
||||
crayfish = create_fish("Crayfish", fresh_water, season.all_seasons, -1)
|
||||
lobster = create_fish("Lobster", ocean, season.all_seasons, -1)
|
||||
mussel = create_fish("Mussel", ocean, season.all_seasons, -1)
|
||||
oyster = create_fish("Oyster", ocean, season.all_seasons, -1)
|
||||
periwinkle = create_fish("Periwinkle", fresh_water, season.all_seasons, -1)
|
||||
shrimp = create_fish("Shrimp", ocean, season.all_seasons, -1)
|
||||
snail = create_fish("Snail", fresh_water, season.all_seasons, -1)
|
||||
|
||||
legendary_fish = [angler, crimsonfish, glacierfish, legend, mutant_carp]
|
||||
extended_family = [ms_angler, son_of_crimsonfish, glacierfish_jr, legend_ii, radioactive_carp]
|
||||
special_fish = [*legendary_fish, blob_fish, lava_eel, octopus, scorpion_carp, ice_pip, super_cucumber, dorado]
|
||||
island_fish = [lionfish, blue_discus, stingray, *extended_family]
|
||||
|
||||
all_fish_by_name = {fish.name: fish for fish in all_fish}
|
||||
|
||||
|
||||
def get_fish_for_mods(mods: Set[str]) -> List[FishItem]:
|
||||
fish_for_mods = []
|
||||
for fish in all_fish:
|
||||
if fish.mod_name and fish.mod_name not in mods:
|
||||
continue
|
||||
fish_for_mods.append(fish)
|
||||
return fish_for_mods
|
||||
vanilla_legendary_fish = [angler, crimsonfish, glacierfish, legend, mutant_carp]
|
||||
|
||||
Reference in New Issue
Block a user