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

The Archaeology Update (and let some other mods in they're cool) #23

Merged
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
12 changes: 11 additions & 1 deletion worlds/stardew_valley/content/mods/archeology.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
from ..game_content import ContentPack
from ..mod_registry import register_mod_content_pack
from ...data.game_item import ItemTag, Tag
from ...data.shop import ShopSource
from ...data.skill import Skill
from ...mods.mod_data import ModNames
from ...strings.book_names import ModBook
from ...strings.region_names import LogicRegion
from ...strings.skill_names import ModSkill

register_mod_content_pack(ContentPack(
ModNames.archaeology,
skills=(Skill(name=ModSkill.archaeology, has_mastery=False),)
shop_sources={
Witchybun marked this conversation as resolved.
Show resolved Hide resolved
ModBook.digging_like_worms: (
Tag(ItemTag.BOOK, ItemTag.BOOK_SKILL),
ShopSource(money_price=500, shop_region=LogicRegion.bookseller_1),),
},
skills=(Skill(name=ModSkill.archaeology, has_mastery=False),),

))
26 changes: 16 additions & 10 deletions worlds/stardew_valley/data/craftable_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
from .recipe_source import RecipeSource, StarterSource, QueenOfSauceSource, ShopSource, SkillSource, FriendshipSource, ShopTradeSource, CutsceneSource, \
ArchipelagoSource, LogicSource, SpecialOrderSource, FestivalShopSource, QuestSource, MasterySource
from ..mods.mod_data import ModNames
from ..strings.animal_product_names import AnimalProduct
from ..strings.artisan_good_names import ArtisanGood
from ..strings.craftable_names import Bomb, Fence, Sprinkler, WildSeeds, Floor, Fishing, Ring, Consumable, Edible, Lighting, Storage, Furniture, Sign, \
Craftable, \
ModEdible, ModCraftable, ModMachine, ModFloor, ModConsumable, Statue
from ..strings.crop_names import Fruit, Vegetable
from ..strings.currency_names import Currency
from ..strings.fertilizer_names import Fertilizer, RetainingSoil, SpeedGro
from ..strings.fish_names import Fish, WaterItem
from ..strings.fish_names import Fish, WaterItem, ModTrash
from ..strings.flower_names import Flower
from ..strings.food_names import Meal
from ..strings.forageable_names import Forageable, SVEForage, DistantLandsForageable, Mushroom
Expand Down Expand Up @@ -306,22 +307,27 @@ def create_recipe(name: str, ingredients: Dict[str, int], source: RecipeSource,
mini_forge = mastery_recipe(Machine.mini_forge, Skill.combat, {Forageable.dragon_tooth: 5, MetalBar.iron: 10, MetalBar.gold: 10, MetalBar.iridium: 5})

travel_charm = shop_recipe(ModCraftable.travel_core, Region.adventurer_guild, 250, {Loot.solar_essence: 1, Loot.void_essence: 1}, ModNames.magic)
preservation_chamber = skill_recipe(ModMachine.preservation_chamber, ModSkill.archaeology, 2,
preservation_chamber = skill_recipe(ModMachine.preservation_chamber, ModSkill.archaeology, 1,
{MetalBar.copper: 1, Material.wood: 15, ArtisanGood.oak_resin: 30},
ModNames.archaeology)
preservation_chamber_h = skill_recipe(ModMachine.hardwood_preservation_chamber, ModSkill.archaeology, 7, {MetalBar.copper: 1, Material.hardwood: 15,
restoration_table = skill_recipe(ModMachine.restoration_table, ModSkill.archaeology, 1, {Material.wood: 15, MetalBar.copper: 1, MetalBar.iron: 1}, ModNames.archaeology)
preservation_chamber_h = skill_recipe(ModMachine.hardwood_preservation_chamber, ModSkill.archaeology, 6, {MetalBar.copper: 1, Material.hardwood: 15,
ArtisanGood.oak_resin: 30}, ModNames.archaeology)
grinder = skill_recipe(ModMachine.grinder, ModSkill.archaeology, 8, {Artifact.rusty_cog: 10, MetalBar.iron: 5, ArtisanGood.battery_pack: 1},
grinder = skill_recipe(ModMachine.grinder, ModSkill.archaeology, 2, {Artifact.rusty_cog: 10, MetalBar.iron: 5, ArtisanGood.battery_pack: 1},
ModNames.archaeology)
ancient_battery = skill_recipe(ModMachine.ancient_battery, ModSkill.archaeology, 6, {Material.stone: 40, MetalBar.copper: 10, MetalBar.iron: 5},
ancient_battery = skill_recipe(ModMachine.ancient_battery, ModSkill.archaeology, 7, {Material.stone: 40, MetalBar.copper: 10, MetalBar.iron: 5},
ModNames.archaeology)
glass_bazier = skill_recipe(ModCraftable.glass_bazier, ModSkill.archaeology, 1, {Artifact.glass_shards: 10}, ModNames.archaeology)
glass_path = skill_recipe(ModFloor.glass_path, ModSkill.archaeology, 1, {Artifact.glass_shards: 1}, ModNames.archaeology)
glass_fence = skill_recipe(ModCraftable.glass_fence, ModSkill.archaeology, 1, {Artifact.glass_shards: 5}, ModNames.archaeology)
bone_path = skill_recipe(ModFloor.bone_path, ModSkill.archaeology, 3, {Fossil.bone_fragment: 1}, ModNames.archaeology)
glass_bazier = skill_recipe(ModCraftable.glass_brazier, ModSkill.archaeology, 4, {Artifact.glass_shards: 10}, ModNames.archaeology)
glass_path = skill_recipe(ModFloor.glass_path, ModSkill.archaeology, 3, {Artifact.glass_shards: 1}, ModNames.archaeology)
glass_fence = skill_recipe(ModCraftable.glass_fence, ModSkill.archaeology, 7, {Artifact.glass_shards: 5}, ModNames.archaeology)
bone_path = skill_recipe(ModFloor.bone_path, ModSkill.archaeology, 4, {Fossil.bone_fragment: 1}, ModNames.archaeology)
rust_path = skill_recipe(ModFloor.rusty_path, ModSkill.archaeology, 2, {ModTrash.rusty_scrap: 2}, ModNames.archaeology)
rusty_brazier = skill_recipe(ModCraftable.rusty_brazier, ModSkill.archaeology, 3, {ModTrash.rusty_scrap: 10, Material.coal: 1, Material.fiber: 1}, ModNames.archaeology)
bone_fence = skill_recipe(ModCraftable.bone_fence, ModSkill.archaeology, 8, {Fossil.bone_fragment: 2}, ModNames.archaeology)
water_shifter = skill_recipe(ModCraftable.water_shifter, ModSkill.archaeology, 4, {Material.wood: 40, MetalBar.copper: 4}, ModNames.archaeology)
wooden_display = skill_recipe(ModCraftable.wooden_display, ModSkill.archaeology, 2, {Material.wood: 25}, ModNames.archaeology)
wooden_display = skill_recipe(ModCraftable.wooden_display, ModSkill.archaeology, 1, {Material.wood: 25}, ModNames.archaeology)
hardwood_display = skill_recipe(ModCraftable.hardwood_display, ModSkill.archaeology, 7, {Material.hardwood: 10}, ModNames.archaeology)
lucky_ring = skill_recipe(Ring.lucky_ring, ModSkill.archaeology, 8, {Artifact.elvish_jewelry: 1, AnimalProduct.rabbit_foot: 5, Mineral.tigerseye: 1}, ModNames.archaeology)
volcano_totem = skill_recipe(ModConsumable.volcano_totem, ModSkill.archaeology, 9, {Material.cinder_shard: 5, Artifact.rare_disc: 1, Artifact.dwarf_gadget: 1},
ModNames.archaeology)
haste_elixir = shop_recipe(ModEdible.haste_elixir, SVERegion.alesia_shop, 35000, {Loot.void_essence: 35, SVEForage.void_soul: 5, Ingredient.sugar: 1,
Expand Down
3 changes: 3 additions & 0 deletions worlds/stardew_valley/data/items.csv
Original file line number Diff line number Diff line change
Expand Up @@ -889,6 +889,9 @@ id,name,classification,groups,mod_name
10414,Void Mint Tea Recipe,progression,"CHEFSANITY,CHEFSANITY_FRIENDSHIP",Distant Lands - Witch Swamp Overhaul
10415,Ginger Tincture Recipe,progression,GINGER_ISLAND,Distant Lands - Witch Swamp Overhaul
10416,Special Pumpkin Soup Recipe,progression,,Boarding House and Bus Stop Extension
10417,Rocky Root Coffee Recipe,progression,"CHEFSANITY,CHEFSANITY_SKILL",Archaeology
10418,Digger's Delight Recipe,progression,"CHEFSANITY,CHEFSANITY_SKILL",Archaeology
10419,Ancient Jello Recipe,progression,"CHEFSANITY,CHEFSANITY_SKILL",Archaeology
10450,Void Mint Seeds,progression,DEPRECATED,Distant Lands - Witch Swamp Overhaul
10451,Vile Ancient Fruit Seeds,progression,DEPRECATED,Distant Lands - Witch Swamp Overhaul
10501,Marlon's Boat Paddle,progression,GINGER_ISLAND,Stardew Valley Expanded
Expand Down
20 changes: 19 additions & 1 deletion worlds/stardew_valley/data/locations.csv
Original file line number Diff line number Diff line change
Expand Up @@ -2899,14 +2899,15 @@ 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
7404,Farm,Craft Hero Elixir,CRAFTSANITY,Stardew Valley Expanded
7405,Farm,Craft Armor Elixir,CRAFTSANITY,Stardew Valley Expanded
7406,Witch's Swamp,Craft Ginger Tincture,"CRAFTSANITY,GINGER_ISLAND",Distant Lands - Witch Swamp Overhaul
7407,Farm,Craft Glass Path,CRAFTSANITY,Archaeology
7408,Farm,Craft Glass Bazier,CRAFTSANITY,Archaeology
7408,Farm,Craft Glass Brazier,CRAFTSANITY,Archaeology
7409,Farm,Craft Glass Fence,CRAFTSANITY,Archaeology
7410,Farm,Craft Bone Path,CRAFTSANITY,Archaeology
7411,Farm,Craft Water Shifter,CRAFTSANITY,Archaeology
Expand All @@ -2924,6 +2925,11 @@ id,region,name,tags,mod_name
7423,Farm,Craft T-Rex Skeleton L,CRAFTSANITY,Boarding House and Bus Stop Extension
7424,Farm,Craft T-Rex Skeleton M,CRAFTSANITY,Boarding House and Bus Stop Extension
7425,Farm,Craft T-Rex Skeleton R,CRAFTSANITY,Boarding House and Bus Stop Extension
7426,Farm,Craft Restoration Table,CRAFTSANITY,Archaeology
7427,Farm,Craft Rusty Path,CRAFTSANITY,Archaeology
7428,Farm,Craft Rusty Brazier,CRAFTSANITY,Archaeology
7429,Farm,Craft Lucky Ring,CRAFTSANITY,Archaeology
7430,Farm,Craft Bone Fence,CRAFTSANITY,Archaeology
7451,Adventurer's Guild,Magic Elixir Recipe,"CHEFSANITY,CHEFSANITY_PURCHASE",Magic
7452,Adventurer's Guild,Travel Core Recipe,CRAFTSANITY,Magic
7453,Alesia Shop,Haste Elixir Recipe,CRAFTSANITY,Stardew Valley Expanded
Expand Down Expand Up @@ -2969,6 +2975,9 @@ id,region,name,tags,mod_name
7563,Kitchen,Cook Pemmican,COOKSANITY,Distant Lands - Witch Swamp Overhaul
7564,Kitchen,Cook Void Mint Tea,COOKSANITY,Distant Lands - Witch Swamp Overhaul
7565,Kitchen,Cook Special Pumpkin Soup,COOKSANITY,Boarding House and Bus Stop Extension
7566,Kitchen,Cook Digger's Delight,COOKSANITY,Archaeology
7567,Kitchen,Cook Rocky Root Coffee,COOKSANITY,Archaeology
7568,Kitchen,Cook Ancient Jello,COOKSANITY,Archaeology
7601,Bear Shop,Baked Berry Oatmeal Recipe,"CHEFSANITY,CHEFSANITY_PURCHASE",Stardew Valley Expanded
7602,Bear Shop,Flower Cookie Recipe,"CHEFSANITY,CHEFSANITY_PURCHASE",Stardew Valley Expanded
7603,Saloon,Big Bark Burger Recipe,"CHEFSANITY,CHEFSANITY_FRIENDSHIP",Stardew Valley Expanded
Expand All @@ -2989,6 +2998,9 @@ id,region,name,tags,mod_name
7620,Mines Dwarf Shop,T-Rex Skeleton L Recipe,CRAFTSANITY,Boarding House and Bus Stop Extension
7621,Mines Dwarf Shop,T-Rex Skeleton M Recipe,CRAFTSANITY,Boarding House and Bus Stop Extension
7622,Mines Dwarf Shop,T-Rex Skeleton R Recipe,CRAFTSANITY,Boarding House and Bus Stop Extension
7623,Farm,Digger's Delight Recipe,"CHEFSANITY,CHEFSANITY_SKILL",Archaeology
7624,Farm,Rocky Root Coffee Recipe,"CHEFSANITY,CHEFSANITY_SKILL",Archaeology
7625,Farm,Ancient Jello Recipe,"CHEFSANITY,CHEFSANITY_SKILL",Archaeology
7651,Alesia Shop,Tempered Galaxy Dagger,MANDATORY,Stardew Valley Expanded
7652,Isaac Shop,Tempered Galaxy Sword,MANDATORY,Stardew Valley Expanded
7653,Isaac Shop,Tempered Galaxy Hammer,MANDATORY,Stardew Valley Expanded
Expand Down Expand Up @@ -3258,3 +3270,9 @@ id,region,name,tags,mod_name
8235,Shipping,Shipsanity: Pterodactyl Claw,SHIPSANITY,Boarding House and Bus Stop Extension
8236,Shipping,Shipsanity: Neanderthal Skull,SHIPSANITY,Boarding House and Bus Stop Extension
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
15 changes: 9 additions & 6 deletions worlds/stardew_valley/data/recipe_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@
from ..strings.flower_names import Flower
from ..strings.forageable_names import Forageable, SVEForage, DistantLandsForageable, Mushroom
from ..strings.ingredient_names import Ingredient
from ..strings.food_names import Meal, SVEMeal, Beverage, DistantLandsMeal, BoardingHouseMeal
from ..strings.food_names import Meal, SVEMeal, Beverage, DistantLandsMeal, BoardingHouseMeal, ArchaeologyMeal
from ..strings.material_names import Material
from ..strings.metal_names import Fossil
from ..strings.metal_names import Fossil, Artifact
from ..strings.monster_drop_names import Loot
from ..strings.region_names import Region, SVERegion
from ..strings.season_names import Season
from ..strings.skill_names import Skill
from ..strings.seed_names import Seed
from ..strings.skill_names import Skill, ModSkill
from ..strings.villager_names import NPC, ModNPC


Expand Down Expand Up @@ -49,9 +50,9 @@ def friendship_and_shop_recipe(name: str, friend: str, hearts: int, region: str,
return create_recipe(name, ingredients, source, mod_name)


def skill_recipe(name: str, skill: str, level: int, ingredients: Dict[str, int]) -> CookingRecipe:
def skill_recipe(name: str, skill: str, level: int, ingredients: Dict[str, int], mod_name: Optional[str] = None) -> CookingRecipe:
source = SkillSource(skill, level)
return create_recipe(name, ingredients, source)
return create_recipe(name, ingredients, source, mod_name)


def shop_recipe(name: str, region: str, price: int, ingredients: Dict[str, int], mod_name: Optional[str] = None) -> CookingRecipe:
Expand Down Expand Up @@ -210,6 +211,8 @@ def create_recipe(name: str, ingredients: Dict[str, int], source: RecipeSource,

special_pumpkin_soup = friendship_recipe(BoardingHouseMeal.special_pumpkin_soup, ModNPC.joel, 6, {Vegetable.pumpkin: 2, AnimalProduct.large_goat_milk: 1,
Vegetable.garlic: 1}, ModNames.boarding_house)

diggers_delight = skill_recipe(ArchaeologyMeal.diggers_delight, ModSkill.archaeology, 3, {Forageable.cave_carrot: 2, Ingredient.sugar: 1, AnimalProduct.milk: 1}, ModNames.archaeology)
rocky_root = skill_recipe(ArchaeologyMeal.rocky_root, ModSkill.archaeology, 7, {Forageable.cave_carrot: 3, Seed.coffee: 1, Material.stone: 1}, ModNames.archaeology)
ancient_jello = skill_recipe(ArchaeologyMeal.ancient_jello, ModSkill.archaeology, 9, {WaterItem.cave_jelly: 6, Ingredient.sugar: 5, AnimalProduct.egg: 1, AnimalProduct.milk: 1, Artifact.chipped_amphora: 1}, ModNames.archaeology)

all_cooking_recipes_by_name = {recipe.meal: recipe for recipe in all_cooking_recipes}
3 changes: 2 additions & 1 deletion worlds/stardew_valley/mods/logic/item_logic.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from ...strings.artisan_good_names import ModArtisanGood
from ...strings.craftable_names import ModCraftable, ModEdible, ModMachine
from ...strings.crop_names import SVEVegetable, SVEFruit, DistantLandsCrop, Fruit
from ...strings.fish_names import WaterItem
from ...strings.fish_names import WaterItem, ModTrash
from ...strings.flower_names import Flower
from ...strings.food_names import SVEMeal, SVEBeverage
from ...strings.forageable_names import SVEForage, DistantLandsForageable, Forageable, Mushroom
Expand Down Expand Up @@ -196,6 +196,7 @@ def get_archaeology_item_rules(self):
archaeology_item_rules[location_name] = display_item_rule & preservation_chamber_rule
else:
archaeology_item_rules[location_name] = display_item_rule & hardwood_preservation_chamber_rule
archaeology_item_rules[ModTrash.rusty_scrap] = self.logic.has(ModMachine.grinder) & self.logic.has_any(*all_artifacts)
return archaeology_item_rules

def get_distant_lands_item_rules(self):
Expand Down
4 changes: 2 additions & 2 deletions worlds/stardew_valley/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -756,8 +756,8 @@ class Gifting(Toggle):
disabled_mods = {ModNames.deepwoods, ModNames.magic,
ModNames.cooking_skill, ModNames.jasper,
ModNames.yoba, ModNames.eugene,
ModNames.wellwick, ModNames.shiko, ModNames.delores, ModNames.riley, ModNames.distant_lands,
ModNames.lacey, ModNames.boarding_house}
ModNames.wellwick, ModNames.shiko, ModNames.delores, ModNames.riley,
ModNames.boarding_house}

# In Progress:
# Tractor
Expand Down
4 changes: 4 additions & 0 deletions worlds/stardew_valley/strings/book_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ class Book:
the_diamond_hunter = "The Diamond Hunter"


class ModBook:
digging_like_worms = "Digging Like Worms"


ordered_lost_books = []
all_lost_books = set()

Expand Down
7 changes: 6 additions & 1 deletion worlds/stardew_valley/strings/craftable_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ class Ring:
glowstone_ring = "Glowstone Ring"
iridium_band = "Iridium Band"
wedding_ring = "Wedding Ring"
lucky_ring = "Lucky Ring"


class Edible:
Expand Down Expand Up @@ -174,9 +175,11 @@ class ModEdible:

class ModCraftable:
travel_core = "Travel Core"
glass_bazier = "Glass Bazier"
glass_brazier = "Glass Brazier"
water_shifter = "Water Shifter"
rusty_brazier = "Rusty Brazier"
glass_fence = "Glass Fence"
bone_fence = "Bone Fence"
wooden_display = "Wooden Display"
hardwood_display = "Hardwood Display"
neanderthal_skeleton = "Neanderthal Skeleton"
Expand All @@ -193,11 +196,13 @@ class ModMachine:
hardwood_preservation_chamber = "Hardwood Preservation Chamber"
grinder = "Grinder"
ancient_battery = "Ancient Battery Production Station"
restoration_table = "Restoration Table"


class ModFloor:
glass_path = "Glass Path"
bone_path = "Bone Path"
rusty_path = "Rusty Path"


class ModConsumable:
Expand Down
4 changes: 4 additions & 0 deletions worlds/stardew_valley/strings/fish_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,4 +147,8 @@ class DistantLandsFish:
giant_horsehoe_crab = "Giant Horsehoe Crab"


class ModTrash:
rusty_scrap = "Scrap Rust"


all_fish = tuple(all_fish)
6 changes: 6 additions & 0 deletions worlds/stardew_valley/strings/food_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,12 @@ class SVEMeal:
grampleton_orange_chicken = "Grampleton Orange Chicken"


class ArchaeologyMeal:
diggers_delight = "Digger's Delight"
rocky_root = "Rocky Root Coffee"
ancient_jello = "Ancient Jello"


class SVEBeverage:
sports_drink = "Sports Drink"

Expand Down
1 change: 1 addition & 0 deletions worlds/stardew_valley/strings/metal_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class Mineral:
ruby = "Ruby"
emerald = "Emerald"
amethyst = "Amethyst"
tigerseye = "Tigerseye"


class Artifact:
Expand Down
Loading