Stardew Valley: Exclude maximum one resource packs from pool when in start inventory (#4839)

Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
This commit is contained in:
Jérémie Bolduc
2025-04-20 10:51:03 -04:00
committed by GitHub
parent 22941168cd
commit 543dcb27d8
7 changed files with 42 additions and 26 deletions

View File

@@ -1,4 +1,4 @@
from BaseClasses import MultiWorld, get_seed
from BaseClasses import MultiWorld, get_seed, ItemClassification
from . import setup_solo_multiworld, SVTestCase, solo_multiworld
from .options.presets import allsanity_no_mods_6_x_x, get_minsanity_options
from .. import StardewValleyWorld
@@ -72,6 +72,22 @@ class TestItems(SVTestCase):
self.assertEqual(len(starting_seasons_rolled), 4)
class TestStartInventoryFillersAreProperlyExcluded(SVTestCase):
def test_given_maximum_one_resource_pack_in_start_inventory_when_create_items_then_item_is_properly_excluded(self):
assert item_table[Wallet.key_to_the_town].classification == ItemClassification.useful \
and {Group.MAXIMUM_ONE, Group.RESOURCE_PACK_USEFUL}.issubset(item_table[Wallet.key_to_the_town].groups), \
"'Key to the Town' is no longer suitable to test this usecase."
options = {
"start_inventory": {
Wallet.key_to_the_town: 1,
}
}
with solo_multiworld(options, world_caching=False) as (multiworld, world):
self.assertNotIn(world.create_item(Wallet.key_to_the_town), multiworld.get_items())
class TestMetalDetectors(SVTestCase):
def test_minsanity_1_metal_detector(self):
options = get_minsanity_options()