mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-04-13 21:33:31 -07:00
Stardew Valley: Fix Daggerfish, Cropsanity; Move Some Rules to Content Packs; Add Missing Shipsanity Location (#3626)
* Fix logic bug on daggerfish * Make new region for pond. * Fix SVE logic for crops * Fix Distant Lands Cropsanity * Fix failing tests. * Reverting removing these for now. * Fix bugs, add combat requirement * convert str into tuple directly * add ginger island to mod tests * Move a lot of mod item logic to content pack * Gut the rules from DL while we're at it. * Import nuke * Fix alecto * Move back some rules for now. * Move archaeology rules * Add some comments why its done. * Clean up archaeology and fix sve * Moved dulse to water item class * Remove digging like worms for now * fix * Add missing shipsanity location * Move background names around or something idk * Revert ArchaeologyTrash for now --------- Co-authored-by: Jouramie <jouramie@hotmail.com>
This commit is contained in:
@@ -46,7 +46,8 @@ pirate_cove = (Region.pirate_cove,)
|
||||
|
||||
crimson_badlands = (SVERegion.crimson_badlands,)
|
||||
shearwater = (SVERegion.shearwater,)
|
||||
highlands = (SVERegion.highlands_outside,)
|
||||
highlands_pond = (SVERegion.highlands_pond,)
|
||||
highlands_cave = (SVERegion.highlands_cavern,)
|
||||
sprite_spring = (SVERegion.sprite_spring,)
|
||||
fable_reef = (SVERegion.fable_reef,)
|
||||
vineyard = (SVERegion.blue_moon_vineyard,)
|
||||
@@ -133,9 +134,9 @@ bonefish = create_fish(SVEFish.bonefish, crimson_badlands, season.all_seasons, 7
|
||||
bull_trout = create_fish(SVEFish.bull_trout, forest_river, season.not_spring, 45, mod_name=ModNames.sve)
|
||||
butterfish = create_fish(SVEFish.butterfish, shearwater, season.not_winter, 75, mod_name=ModNames.sve)
|
||||
clownfish = create_fish(SVEFish.clownfish, ginger_island_ocean, season.all_seasons, 45, mod_name=ModNames.sve)
|
||||
daggerfish = create_fish(SVEFish.daggerfish, highlands, season.all_seasons, 50, mod_name=ModNames.sve)
|
||||
daggerfish = create_fish(SVEFish.daggerfish, highlands_pond, season.all_seasons, 50, mod_name=ModNames.sve)
|
||||
frog = create_fish(SVEFish.frog, mountain_lake, (season.spring, season.summer), 70, mod_name=ModNames.sve)
|
||||
gemfish = create_fish(SVEFish.gemfish, highlands, season.all_seasons, 100, mod_name=ModNames.sve)
|
||||
gemfish = create_fish(SVEFish.gemfish, highlands_cave, season.all_seasons, 100, mod_name=ModNames.sve)
|
||||
goldenfish = create_fish(SVEFish.goldenfish, sprite_spring, season.all_seasons, 60, mod_name=ModNames.sve)
|
||||
grass_carp = create_fish(SVEFish.grass_carp, secret_woods, (season.spring, season.summer), 85, mod_name=ModNames.sve)
|
||||
king_salmon = create_fish(SVEFish.king_salmon, forest_river, (season.spring, season.summer), 80, mod_name=ModNames.sve)
|
||||
|
||||
@@ -2900,7 +2900,6 @@ id,region,name,tags,mod_name
|
||||
7055,Abandoned Mines - 3,Abandoned Treasure - Floor 3,MANDATORY,Boarding House and Bus Stop Extension
|
||||
7056,Abandoned Mines - 4,Abandoned Treasure - Floor 4,MANDATORY,Boarding House and Bus Stop Extension
|
||||
7057,Abandoned Mines - 5,Abandoned Treasure - Floor 5,MANDATORY,Boarding House and Bus Stop Extension
|
||||
7351,Farm,Read Digging Like Worms,"BOOKSANITY,BOOKSANITY_SKILL",Archaeology
|
||||
7401,Farm,Cook Magic Elixir,COOKSANITY,Magic
|
||||
7402,Farm,Craft Travel Core,CRAFTSANITY,Magic
|
||||
7403,Farm,Craft Haste Elixir,CRAFTSANITY,Stardew Valley Expanded
|
||||
@@ -3280,10 +3279,10 @@ id,region,name,tags,mod_name
|
||||
8237,Shipping,Shipsanity: Pterodactyl R Wing Bone,SHIPSANITY,Boarding House and Bus Stop Extension
|
||||
8238,Shipping,Shipsanity: Scrap Rust,SHIPSANITY,Archaeology
|
||||
8239,Shipping,Shipsanity: Rusty Path,SHIPSANITY,Archaeology
|
||||
8240,Shipping,Shipsanity: Digging Like Worms,SHIPSANITY,Archaeology
|
||||
8241,Shipping,Shipsanity: Digger's Delight,SHIPSANITY,Archaeology
|
||||
8242,Shipping,Shipsanity: Rocky Root Coffee,SHIPSANITY,Archaeology
|
||||
8243,Shipping,Shipsanity: Ancient Jello,SHIPSANITY,Archaeology
|
||||
8244,Shipping,Shipsanity: Bone Fence,SHIPSANITY,Archaeology
|
||||
8245,Shipping,Shipsanity: Grilled Cheese,SHIPSANITY,Binning Skill
|
||||
8246,Shipping,Shipsanity: Fish Casserole,SHIPSANITY,Binning Skill
|
||||
8247,Shipping,Shipsanity: Snatcher Worm,SHIPSANITY,Stardew Valley Expanded
|
||||
|
||||
|
@@ -5,7 +5,7 @@ from ..strings.animal_product_names import AnimalProduct
|
||||
from ..strings.artisan_good_names import ArtisanGood
|
||||
from ..strings.craftable_names import ModEdible, Edible
|
||||
from ..strings.crop_names import Fruit, Vegetable, SVEFruit, DistantLandsCrop
|
||||
from ..strings.fish_names import Fish, SVEFish, WaterItem, DistantLandsFish
|
||||
from ..strings.fish_names import Fish, SVEFish, WaterItem, DistantLandsFish, SVEWaterItem
|
||||
from ..strings.flower_names import Flower
|
||||
from ..strings.forageable_names import Forageable, SVEForage, DistantLandsForageable, Mushroom
|
||||
from ..strings.ingredient_names import Ingredient
|
||||
@@ -195,7 +195,7 @@ mixed_berry_pie = shop_recipe(SVEMeal.mixed_berry_pie, Region.saloon, 3500, {Fru
|
||||
ModNames.sve)
|
||||
mushroom_berry_rice = friendship_and_shop_recipe(SVEMeal.mushroom_berry_rice, ModNPC.marlon, 6, Region.adventurer_guild, 1500, {SVEForage.poison_mushroom: 3, SVEForage.red_baneberry: 10,
|
||||
Ingredient.rice: 1, Ingredient.sugar: 2}, ModNames.sve)
|
||||
seaweed_salad = shop_recipe(SVEMeal.seaweed_salad, Region.fish_shop, 1250, {SVEFish.dulse_seaweed: 2, WaterItem.seaweed: 2, Ingredient.oil: 1}, ModNames.sve)
|
||||
seaweed_salad = shop_recipe(SVEMeal.seaweed_salad, Region.fish_shop, 1250, {SVEWaterItem.dulse_seaweed: 2, WaterItem.seaweed: 2, Ingredient.oil: 1}, ModNames.sve)
|
||||
void_delight = friendship_and_shop_recipe(SVEMeal.void_delight, NPC.krobus, 10, Region.sewer, 5000,
|
||||
{SVEFish.void_eel: 1, Loot.void_essence: 50, Loot.solar_essence: 20}, ModNames.sve)
|
||||
void_salmon_sushi = friendship_and_shop_recipe(SVEMeal.void_salmon_sushi, NPC.krobus, 10, Region.sewer, 5000,
|
||||
|
||||
@@ -31,6 +31,27 @@ class YearRequirement(Requirement):
|
||||
year: int
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class CombatRequirement(Requirement):
|
||||
level: str
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class QuestRequirement(Requirement):
|
||||
quest: str
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class RelationshipRequirement(Requirement):
|
||||
npc: str
|
||||
hearts: int
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class FishingRequirement(Requirement):
|
||||
region: str
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class WalnutRequirement(Requirement):
|
||||
amount: int
|
||||
|
||||
@@ -16,8 +16,8 @@ class ShopSource(ItemSource):
|
||||
other_requirements: Tuple[Requirement, ...] = ()
|
||||
|
||||
def __post_init__(self):
|
||||
assert self.money_price or self.items_price, "At least money price or items price need to be defined."
|
||||
assert self.items_price is None or all(type(p) == tuple for p in self.items_price), "Items price should be a tuple."
|
||||
assert self.money_price is not None or self.items_price is not None, "At least money price or items price need to be defined."
|
||||
assert self.items_price is None or all(isinstance(p, tuple) for p in self.items_price), "Items price should be a tuple."
|
||||
|
||||
|
||||
@dataclass(frozen=True, **kw_only)
|
||||
|
||||
Reference in New Issue
Block a user