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:
55
worlds/stardew_valley/test/content/TestGingerIsland.py
Normal file
55
worlds/stardew_valley/test/content/TestGingerIsland.py
Normal file
@@ -0,0 +1,55 @@
|
||||
from . import SVContentPackTestBase
|
||||
from .. import SVTestBase
|
||||
from ... import options
|
||||
from ...content import content_packs
|
||||
from ...data.artisan import MachineSource
|
||||
from ...strings.artisan_good_names import ArtisanGood
|
||||
from ...strings.crop_names import Fruit, Vegetable
|
||||
from ...strings.fish_names import Fish
|
||||
from ...strings.machine_names import Machine
|
||||
from ...strings.villager_names import NPC
|
||||
|
||||
|
||||
class TestGingerIsland(SVContentPackTestBase):
|
||||
vanilla_packs = SVContentPackTestBase.vanilla_packs + (content_packs.ginger_island_content_pack,)
|
||||
|
||||
def test_leo_is_included(self):
|
||||
self.assertIn(NPC.leo, self.content.villagers)
|
||||
|
||||
def test_ginger_island_fishes_are_included(self):
|
||||
fish_names = self.content.fishes.keys()
|
||||
|
||||
self.assertIn(Fish.blue_discus, fish_names)
|
||||
self.assertIn(Fish.lionfish, fish_names)
|
||||
self.assertIn(Fish.stingray, fish_names)
|
||||
|
||||
# 63 from pelican town + 3 ginger island exclusive
|
||||
self.assertEqual(63 + 3, len(self.content.fishes))
|
||||
|
||||
def test_ginger_island_fruits_can_be_made_into_wines(self):
|
||||
self.assertIn(MachineSource(item=Fruit.banana, machine=Machine.keg), self.content.game_items[ArtisanGood.specific_wine(Fruit.banana)].sources)
|
||||
self.assertIn(MachineSource(item=Fruit.banana, machine=Machine.keg), self.content.game_items[ArtisanGood.wine].sources)
|
||||
|
||||
self.assertIn(MachineSource(item=Fruit.mango, machine=Machine.keg), self.content.game_items[ArtisanGood.specific_wine(Fruit.mango)].sources)
|
||||
self.assertIn(MachineSource(item=Fruit.mango, machine=Machine.keg), self.content.game_items[ArtisanGood.wine].sources)
|
||||
|
||||
self.assertIn(MachineSource(item=Fruit.pineapple, machine=Machine.keg), self.content.game_items[ArtisanGood.specific_wine(Fruit.pineapple)].sources)
|
||||
self.assertIn(MachineSource(item=Fruit.pineapple, machine=Machine.keg), self.content.game_items[ArtisanGood.wine].sources)
|
||||
|
||||
def test_ginger_island_vegetables_can_be_made_into_wines(self):
|
||||
taro_root_juice_sources = self.content.game_items[ArtisanGood.specific_juice(Vegetable.taro_root)].sources
|
||||
self.assertIn(MachineSource(item=Vegetable.taro_root, machine=Machine.keg), taro_root_juice_sources)
|
||||
self.assertIn(MachineSource(item=Vegetable.taro_root, machine=Machine.keg), self.content.game_items[ArtisanGood.juice].sources)
|
||||
|
||||
|
||||
class TestWithoutGingerIslandE2E(SVTestBase):
|
||||
options = {
|
||||
options.ExcludeGingerIsland: options.ExcludeGingerIsland.option_true
|
||||
}
|
||||
|
||||
def test_leo_is_not_in_the_pool(self):
|
||||
for item in self.multiworld.itempool:
|
||||
self.assertFalse(("Friendsanity: " + NPC.leo) in item.name)
|
||||
|
||||
for location in self.multiworld.get_locations(self.player):
|
||||
self.assertFalse(("Friendsanity: " + NPC.leo) in location.name)
|
||||
Reference in New Issue
Block a user