Stardew Valley: 0.6.7 Day 1 fixes (#6098)

- The Shane and Sebastian Portrait filler items werent tagged properly.
- The Beach Farm adds one secretsanity check, so it needs to be in the allsanity preset
- The Allsanity preset is renamed to "Maxsanity" to encourage better defined terminology and Allsanity means something else
- The "All Random" preset has been removed entirely. It has been the cause of too many beginner footguns over the years. People can still achieve the effect manually, but at least they'll have to try a little bit to ruin their own experience.
This commit is contained in:
agilbert1412
2026-04-07 15:38:04 -04:00
committed by GitHub
parent e0cfef3407
commit 36bab6f52a
16 changed files with 74 additions and 129 deletions

View File

@@ -589,8 +589,8 @@ id,name,classification,groups,content_packs
666,Maru Portrait,filler,"ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE",
667,Penny Portrait,filler,"ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE",
668,Sam Portrait,filler,"ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE",
669,Sebastian Portrait,filler,"FILLER_DECORATION",
670,Shane Portrait,filler,"FILLER_DECORATION",
669,Sebastian Portrait,filler,"ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE",
670,Shane Portrait,filler,"ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE",
671,Trash Bear Arrival,progression,"TRASH_BEAR,COMMUNITY_REWARD",
672,Trash Bear Cleanup,filler,"TRASH_BEAR,COMMUNITY_REWARD",
673,Progressive Bookseller Days,progression,"BOOKSELLER",
1 id name classification groups content_packs
589 666 Maru Portrait filler ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE
590 667 Penny Portrait filler ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE
591 668 Sam Portrait filler ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE
592 669 Sebastian Portrait filler FILLER_DECORATION ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE
593 670 Shane Portrait filler FILLER_DECORATION ENDGAME_LOCATION_ITEMS,MAXIMUM_ONE,FILLER_DECORATION,REQUIRES_FRIENDSANITY_MARRIAGE
594 671 Trash Bear Arrival progression TRASH_BEAR,COMMUNITY_REWARD
595 672 Trash Bear Cleanup filler TRASH_BEAR,COMMUNITY_REWARD
596 673 Progressive Bookseller Days progression BOOKSELLER

View File

@@ -6,60 +6,6 @@ from . import options
from .jojapocalypse_options import Jojapocalypse, JojaStartPrice, JojaEndPrice, JojaPricingPattern, JojaPurchasesForMembership, JojaAreYouSure
from ..strings.ap_names.ap_option_names import EatsanityOptionName, ChefsanityOptionName, HatsanityOptionName
all_random_settings = {
"progression_balancing": "random",
"accessibility": "random",
options.Goal.internal_name: "random",
options.FarmType.internal_name: "random",
options.StartingMoney.internal_name: "random",
options.ProfitMargin.internal_name: "random",
options.BundleRandomization.internal_name: "random",
options.BundlePrice.internal_name: "random",
options.BundlePerRoom.internal_name: "random",
options.EntranceRandomization.internal_name: "random",
options.SeasonRandomization.internal_name: "random",
options.Cropsanity.internal_name: "random",
options.BackpackProgression.internal_name: "random",
options.BackpackSize.internal_name: "random",
options.ToolProgression.internal_name: "random",
options.ElevatorProgression.internal_name: "random",
options.SkillProgression.internal_name: "random",
options.BuildingProgression.internal_name: "random",
options.FestivalLocations.internal_name: "random",
options.ArcadeMachineLocations.internal_name: "random",
options.SpecialOrderLocations.internal_name: "random",
options.QuestLocations.internal_name: "random",
options.Fishsanity.internal_name: "random",
options.Museumsanity.internal_name: "random",
options.Monstersanity.internal_name: "random",
options.Shipsanity.internal_name: "random",
options.Cooksanity.internal_name: "random",
options.Craftsanity.internal_name: "random",
options.Friendsanity.internal_name: "random",
options.FriendsanityHeartSize.internal_name: "random",
options.Booksanity.internal_name: "random",
options.Moviesanity.internal_name: "random",
options.IncludeEndgameLocations.internal_name: "random",
options.NumberOfMovementBuffs.internal_name: "random",
options.ExcludeGingerIsland.internal_name: "random",
options.TrapDifficulty.internal_name: "random",
options.MultipleDaySleepEnabled.internal_name: "random",
options.MultipleDaySleepCost.internal_name: "random",
options.ExperienceMultiplier.internal_name: "random",
options.FriendshipMultiplier.internal_name: "random",
options.DebrisMultiplier.internal_name: "random",
options.QuickStart.internal_name: "random",
options.Gifting.internal_name: "random",
"death_link": "random",
options.Jojapocalypse.internal_name: Jojapocalypse.option_disabled,
options.JojaStartPrice.internal_name: JojaStartPrice.default,
options.JojaEndPrice.internal_name: JojaEndPrice.default,
options.JojaPricingPattern.internal_name: JojaPricingPattern.default,
options.JojaPurchasesForMembership.internal_name: JojaPurchasesForMembership.default,
options.JojaAreYouSure.internal_name: JojaAreYouSure.option_false,
}
easy_settings = {
options.Goal.internal_name: options.Goal.option_community_center,
options.FarmType.internal_name: "random",
@@ -414,9 +360,9 @@ minsanity_settings = {
options.JojaAreYouSure.internal_name: JojaAreYouSure.option_false,
}
allsanity_settings = {
maxsanity_settings = {
options.Goal.internal_name: options.Goal.default,
options.FarmType.internal_name: "random",
options.FarmType.internal_name: options.FarmType.option_beach,
options.StartingMoney.internal_name: options.StartingMoney.default,
options.ProfitMargin.internal_name: options.ProfitMargin.default,
options.BundleRandomization.internal_name: options.BundleRandomization.default,
@@ -476,12 +422,11 @@ allsanity_settings = {
sv_options_presets: Dict[str, Dict[str, Any]] = {
"All random": all_random_settings,
"Easy": easy_settings,
"Medium": medium_settings,
"Hard": hard_settings,
"Nightmare": nightmare_settings,
"Short": short_settings,
"Minsanity": minsanity_settings,
"Allsanity": allsanity_settings,
"Maxsanity": maxsanity_settings,
}

View File

@@ -12,7 +12,7 @@ class TestItemLinksEverythingIncluded(SVTestBase):
}
def test_filler_of_all_types_generated(self):
max_number_filler = 199
max_number_filler = 197
filler_generated = []
at_least_one_trap = False
at_least_one_island = False
@@ -41,7 +41,7 @@ class TestItemLinksNoIsland(SVTestBase):
}
def test_filler_has_no_island_but_has_traps(self):
max_number_filler = 192
max_number_filler = 190
filler_generated = []
at_least_one_trap = False
for i in range(0, max_iterations):
@@ -67,7 +67,7 @@ class TestItemLinksNoTraps(SVTestBase):
}
def test_filler_has_no_traps_but_has_island(self):
max_number_filler = 176
max_number_filler = 174
filler_generated = []
at_least_one_island = False
for i in range(0, max_iterations):
@@ -93,7 +93,7 @@ class TestItemLinksNoTrapsAndIsland(SVTestBase):
}
def test_filler_generated_without_island_or_traps(self):
max_number_filler = 169
max_number_filler = 167
filler_generated = []
for i in range(0, max_iterations):
filler = self.multiworld.worlds[1].get_filler_item_name()

View File

@@ -1,6 +1,6 @@
from BaseClasses import MultiWorld, get_seed, ItemClassification
from .bases import SVTestCase, solo_multiworld, setup_solo_multiworld
from .options.presets import get_minsanity_options, allsanity_no_mods_7_x_x
from .options.presets import get_minsanity_options, maxsanity_no_mods_7_x_x
from .. import StardewValleyWorld
from ..items import Group, item_table
from ..options import Friendsanity, SeasonRandomization, Museumsanity, Shipsanity, Goal
@@ -44,14 +44,14 @@ class TestItems(SVTestCase):
self.assertEqual(len(baby_permutations), 4)
def test_correct_number_of_stardrops(self):
allsanity_options = allsanity_no_mods_7_x_x()
with solo_multiworld(allsanity_options) as (multiworld, _):
maxsanity_options = maxsanity_no_mods_7_x_x()
with solo_multiworld(maxsanity_options) as (multiworld, _):
stardrop_items = [item for item in multiworld.get_items() if item.name == "Stardrop"]
self.assertEqual(len(stardrop_items), 7)
def test_no_duplicate_rings(self):
allsanity_options = allsanity_no_mods_7_x_x()
with solo_multiworld(allsanity_options) as (multiworld, _):
maxsanity_options = maxsanity_no_mods_7_x_x()
with solo_multiworld(maxsanity_options) as (multiworld, _):
ring_items = [item.name for item in multiworld.get_items() if Group.FILLER_RING in item_table[item.name].groups]
self.assertEqual(len(ring_items), len(set(ring_items)))

View File

@@ -5,7 +5,7 @@ from unittest import TestCase, SkipTest
from BaseClasses import MultiWorld
from .assertion import RuleAssertMixin
from .bases import setup_solo_multiworld, skip_long_tests
from .options.presets import minimal_locations_maximal_items, allsanity_mods_7_x_x
from .options.presets import minimal_locations_maximal_items, maxsanity_mods_7_x_x
from .. import StardewValleyWorld
from ..data.bundles_data.bundle_data import all_bundle_items_except_money
from ..logic.logic import StardewLogic
@@ -101,7 +101,7 @@ class LogicTestBase(RuleAssertMixin, TestCase):
class TestAllSanityLogic(LogicTestBase):
options = allsanity_mods_7_x_x()
options = maxsanity_mods_7_x_x()
@unittest.skip("This test does not pass because some content is still not in content packs.")

View File

@@ -1,7 +1,7 @@
from BaseClasses import ItemClassification
from .bases import SVTestBase
from .options.presets import default_7_x_x, allsanity_no_mods_7_x_x, get_minsanity_options, \
minimal_locations_maximal_items, minimal_locations_maximal_items_with_island, allsanity_mods_7_x_x_exclude_disabled
from .options.presets import default_7_x_x, maxsanity_no_mods_7_x_x, get_minsanity_options, \
minimal_locations_maximal_items, minimal_locations_maximal_items_with_island, maxsanity_mods_7_x_x_exclude_disabled
from .. import location_table
from ..items import Group, item_table
from ..items.item_data import FILLER_GROUPS
@@ -63,7 +63,7 @@ class TestDefaultSettingsHasAllExpectedLocations(SVTestBase):
options = default_7_x_x()
def test_default_settings_has_exactly_locations(self):
expected_locations = 475
expected_locations = 471
real_locations = self.get_real_locations()
number_locations = len(real_locations)
print(f"Stardew Valley - Default options locations: {number_locations}")
@@ -75,33 +75,33 @@ class TestDefaultSettingsHasAllExpectedLocations(SVTestBase):
class TestAllSanitySettingsHasAllExpectedLocations(SVTestBase):
options = allsanity_no_mods_7_x_x()
options = maxsanity_no_mods_7_x_x()
def test_allsanity_without_mods_has_at_least_locations(self):
def test_maxsanity_without_mods_has_at_least_locations(self):
expected_locations = 2812
real_locations = self.get_real_locations()
number_locations = len(real_locations)
print(f"Stardew Valley - Allsanity Locations without mods: {number_locations}")
print(f"Stardew Valley - Maxsanity Locations without mods: {number_locations}")
self.assertGreaterEqual(number_locations, expected_locations)
if number_locations != expected_locations:
print(f"\tNew locations detected!"
f"\n\tPlease update test_allsanity_without_mods_has_at_least_locations"
f"\n\tPlease update test_maxsanity_without_mods_has_at_least_locations"
f"\n\t\tExpected: {expected_locations}"
f"\n\t\tActual: {number_locations}")
class TestAllSanityWithModsSettingsHasAllExpectedLocations(SVTestBase):
options = allsanity_mods_7_x_x_exclude_disabled()
options = maxsanity_mods_7_x_x_exclude_disabled()
def test_allsanity_with_mods_has_at_least_locations(self):
def test_maxsanity_with_mods_has_at_least_locations(self):
expected_locations = 3180 # It was 3473 before disabling SVE
real_locations = self.get_real_locations()
number_locations = len(real_locations)
print(f"Stardew Valley - Allsanity Locations with all mods: {number_locations}")
print(f"Stardew Valley - Maxsanity Locations with all mods: {number_locations}")
self.assertGreaterEqual(number_locations, expected_locations)
if number_locations != expected_locations:
print(f"\tNew locations detected!"
f"\n\tPlease update test_allsanity_with_mods_has_at_least_locations"
f"\n\tPlease update test_maxsanity_with_mods_has_at_least_locations"
f"\n\t\tExpected: {expected_locations}"
f"\n\t\tActual: {number_locations}")

View File

@@ -3,7 +3,7 @@ import unittest
from BaseClasses import ItemClassification
from ..assertion import get_all_location_names
from ..bases import skip_long_tests, SVTestCase, solo_multiworld
from ..options.presets import setting_mins_and_maxes, allsanity_no_mods_7_x_x, get_minsanity_options, default_7_x_x
from ..options.presets import setting_mins_and_maxes, maxsanity_no_mods_7_x_x, get_minsanity_options, default_7_x_x
from ...items import Group, item_table
from ...items.item_data import FILLER_GROUPS
@@ -30,7 +30,7 @@ class TestCountsPerSetting(SVTestCase):
with self.subTest(f"{name}"):
highest_variance_items = -1
highest_variance_locations = -1
for preset in [allsanity_no_mods_7_x_x, default_7_x_x, get_minsanity_options]:
for preset in [maxsanity_no_mods_7_x_x, default_7_x_x, get_minsanity_options]:
lowest_items = 9999
lowest_locations = 9999
highest_items = -1

View File

@@ -1,21 +1,21 @@
from ..TestGeneration import get_all_permanent_progression_items
from ..assertion import ModAssertMixin, WorldAssertMixin
from ..bases import SVTestCase, SVTestBase, solo_multiworld
from ..options.presets import allsanity_mods_7_x_x
from ..options.presets import maxsanity_mods_7_x_x
from ... import options
from ...items import Group
from ...mods.mod_data import invalid_mod_combinations
from ...options.options import all_mods
class TestCanGenerateAllsanityWithMods(WorldAssertMixin, ModAssertMixin, SVTestCase):
class TestCanGenerateMaxsanityWithMods(WorldAssertMixin, ModAssertMixin, SVTestCase):
def test_allsanity_all_mods_when_generate_then_basic_checks(self):
with solo_multiworld(allsanity_mods_7_x_x()) as (multi_world, _):
def test_maxsanity_all_mods_when_generate_then_basic_checks(self):
with solo_multiworld(maxsanity_mods_7_x_x()) as (multi_world, _):
self.assert_basic_checks(multi_world)
def test_allsanity_all_mods_exclude_island_when_generate_then_basic_checks(self):
world_options = allsanity_mods_7_x_x()
def test_maxsanity_all_mods_exclude_island_when_generate_then_basic_checks(self):
world_options = maxsanity_mods_7_x_x()
world_options.update({options.ExcludeGingerIsland.internal_name: options.ExcludeGingerIsland.option_true})
with solo_multiworld(world_options) as (multi_world, _):
self.assert_basic_checks(multi_world)
@@ -106,7 +106,7 @@ class TestVanillaLogicAlternativeWhenQuestsAreNotRandomized(WorldAssertMixin, SV
"""We often forget to add an alternative rule that works when quests are not randomized. When this happens, some
Location are not reachable because they depend on items that are only added to the pool when quests are randomized.
"""
options = allsanity_mods_7_x_x() | {
options = maxsanity_mods_7_x_x() | {
options.QuestLocations.internal_name: options.QuestLocations.special_range_names["none"],
options.Goal.internal_name: options.Goal.option_perfection,
}

View File

@@ -45,7 +45,7 @@ def default_6_x_x():
}
def allsanity_no_mods_6_x_x():
def maxsanity_no_mods_6_x_x():
return {
options.ArcadeMachineLocations.internal_name: options.ArcadeMachineLocations.option_full_shuffling,
options.BackpackProgression.internal_name: options.BackpackProgression.option_progressive,
@@ -88,16 +88,16 @@ def allsanity_no_mods_6_x_x():
}
def allsanity_mods_6_x_x_exclude_disabled():
allsanity = allsanity_no_mods_6_x_x()
allsanity.update({options.Mods.internal_name: frozenset(options.enabled_mods_except_invalid_combinations)})
return allsanity
def maxsanity_mods_6_x_x_exclude_disabled():
maxsanity = maxsanity_no_mods_6_x_x()
maxsanity.update({options.Mods.internal_name: frozenset(options.enabled_mods_except_invalid_combinations)})
return maxsanity
def allsanity_mods_6_x_x():
allsanity = allsanity_no_mods_6_x_x()
allsanity.update({options.Mods.internal_name: frozenset(options.all_mods_except_invalid_combinations)})
return allsanity
def maxsanity_mods_6_x_x():
maxsanity = maxsanity_no_mods_6_x_x()
maxsanity.update({options.Mods.internal_name: frozenset(options.all_mods_except_invalid_combinations)})
return maxsanity
def default_7_x_x():
@@ -143,7 +143,7 @@ def default_7_x_x():
}
def allsanity_no_mods_7_x_x():
def maxsanity_no_mods_7_x_x():
return {
options.ArcadeMachineLocations.internal_name: options.ArcadeMachineLocations.option_full_shuffling,
options.BackpackProgression.internal_name: options.BackpackProgression.option_progressive,
@@ -188,16 +188,16 @@ def allsanity_no_mods_7_x_x():
}
def allsanity_mods_7_x_x():
allsanity = allsanity_no_mods_7_x_x()
allsanity.update({options.Mods.internal_name: frozenset(options.all_mods_except_invalid_combinations)})
return allsanity
def maxsanity_mods_7_x_x():
maxsanity = maxsanity_no_mods_7_x_x()
maxsanity.update({options.Mods.internal_name: frozenset(options.all_mods_except_invalid_combinations)})
return maxsanity
def allsanity_mods_7_x_x_exclude_disabled():
allsanity = allsanity_no_mods_7_x_x()
allsanity.update({options.Mods.internal_name: frozenset(options.enabled_mods_except_invalid_combinations)})
return allsanity
def maxsanity_mods_7_x_x_exclude_disabled():
maxsanity = maxsanity_no_mods_7_x_x()
maxsanity.update({options.Mods.internal_name: frozenset(options.enabled_mods_except_invalid_combinations)})
return maxsanity
def get_minsanity_options():
@@ -318,7 +318,7 @@ def setting_mins_and_maxes():
options.Fishsanity.internal_name: [options.Fishsanity.option_none, options.Fishsanity.option_all],
options.Friendsanity.internal_name: [options.Friendsanity.option_none, options.Friendsanity.option_all_with_marriage],
options.FriendsanityHeartSize.internal_name: [1, 8],
options.Goal.internal_name: options.Goal.option_allsanity,
options.Goal.internal_name: options.Goal.option_maxsanity,
options.IncludeEndgameLocations.internal_name: [options.IncludeEndgameLocations.option_false, options.IncludeEndgameLocations.option_true],
options.Mods.internal_name: frozenset(),
options.Monstersanity.internal_name: [options.Monstersanity.option_none, options.Monstersanity.option_one_per_monster],

View File

@@ -9,7 +9,7 @@ from BaseClasses import get_seed
from Fill import distribute_items_restrictive, balance_multiworld_progression
from worlds import AutoWorld
from ..bases import SVTestCase, setup_multiworld
from ..options.presets import default_6_x_x, allsanity_no_mods_6_x_x, minimal_locations_maximal_items, allsanity_mods_7_x_x, allsanity_no_mods_7_x_x, \
from ..options.presets import default_6_x_x, maxsanity_no_mods_6_x_x, minimal_locations_maximal_items, maxsanity_mods_7_x_x, maxsanity_no_mods_7_x_x, \
default_7_x_x
default_number_generations = 25
@@ -213,9 +213,9 @@ class TestMinLocationMaxItems(SVPerformanceTestCase):
self.performance_test_multiworld(multiworld_options)
class TestAllsanityWithoutMods6xx(SVPerformanceTestCase):
class TestMaxsanityWithoutMods6xx(SVPerformanceTestCase):
acceptable_time_per_player = 10
options = allsanity_no_mods_6_x_x()
options = maxsanity_no_mods_6_x_x()
results = []
def test_solo(self):
@@ -242,9 +242,9 @@ class TestAllsanityWithoutMods6xx(SVPerformanceTestCase):
self.performance_test_multiworld(multiworld_options)
class TestAllsanityWithoutMods7xx(SVPerformanceTestCase):
class TestMaxsanityWithoutMods7xx(SVPerformanceTestCase):
acceptable_time_per_player = 10
options = allsanity_no_mods_7_x_x()
options = maxsanity_no_mods_7_x_x()
results = []
def test_solo(self):
@@ -270,9 +270,9 @@ class TestAllsanityWithoutMods7xx(SVPerformanceTestCase):
self.performance_test_multiworld(multiworld_options)
class TestAllsanityWithMods7xx(SVPerformanceTestCase):
class TestMaxsanityWithMods7xx(SVPerformanceTestCase):
acceptable_time_per_player = 25
options = allsanity_mods_7_x_x()
options = maxsanity_mods_7_x_x()
results = []
@unittest.skip

View File

@@ -1,5 +1,5 @@
from ..bases import SVTestBase
from ..options.presets import allsanity_mods_7_x_x
from ..options.presets import maxsanity_mods_7_x_x
from ... import locations_by_tag
from ...content.feature.hatsanity import to_location_name
from ...data.hats_data import Hats
@@ -75,7 +75,7 @@ class TestNoHatsLogic(SVTestBase):
class TestHatLocations(SVTestBase):
options = allsanity_mods_7_x_x()
options = maxsanity_mods_7_x_x()
def test_all_hat_locations_are_added(self):
location_names = [location.name for location in self.multiworld.get_locations()]

View File

@@ -36,7 +36,7 @@ class DisabledMuseumRule(LiteralStardewRule):
class TestMuseumsanityDisabledExcludesMuseumDonationsFromOtherLocations(SVTestBase):
options = {
**presets.allsanity_mods_7_x_x(),
**presets.maxsanity_mods_7_x_x(),
options.Museumsanity.internal_name: options.Museumsanity.option_none
}

View File

@@ -1,10 +1,10 @@
from ..bases import SVTestBase
from ..options.presets import allsanity_mods_7_x_x
from ..options.presets import maxsanity_mods_7_x_x
from ...stardew_rule import HasProgressionPercent
class TestHasProgressionPercentWithVictory(SVTestBase):
options = allsanity_mods_7_x_x()
options = maxsanity_mods_7_x_x()
skip_default_tests = True
def test_has_100_progression_percent_is_false_while_items_are_missing(self):

View File

@@ -1,7 +1,7 @@
import argparse
import json
from worlds.stardew_valley.test.options.presets import allsanity_mods_7_x_x_exclude_disabled
from worlds.stardew_valley.test.options.presets import maxsanity_mods_7_x_x_exclude_disabled
from ..bases import setup_solo_multiworld
from ...options import FarmType, EntranceRandomization
@@ -12,7 +12,7 @@ if __name__ == "__main__":
args = parser.parse_args()
seed = args.seed
options = allsanity_mods_7_x_x_exclude_disabled()
options = maxsanity_mods_7_x_x_exclude_disabled()
options[FarmType.internal_name] = FarmType.option_standard
options[EntranceRandomization.internal_name] = EntranceRandomization.option_buildings
multi_world = setup_solo_multiworld(options, seed=seed)

View File

@@ -2,7 +2,7 @@ import unittest
from unittest.mock import Mock
from ..bases import skip_long_tests, SVTestBase
from ..options.presets import allsanity_mods_7_x_x
from ..options.presets import maxsanity_mods_7_x_x
from ..options.utils import fill_namespace_with_default
from ... import STARDEW_VALLEY
from ...options import FarmType, BundleRandomization, EntranceRandomization
@@ -10,7 +10,7 @@ from ...options import FarmType, BundleRandomization, EntranceRandomization
@unittest.skipIf(skip_long_tests(), "Long tests disabled")
class TestUniversalTrackerGenerationIsStable(SVTestBase):
options = allsanity_mods_7_x_x()
options = maxsanity_mods_7_x_x()
options.update({
EntranceRandomization.internal_name: EntranceRandomization.option_buildings,
BundleRandomization.internal_name: BundleRandomization.option_shuffled,

View File

@@ -1,12 +1,12 @@
from ...items import items_by_group, Group
from ...options import TrapDifficulty
from ...test.bases import SVTestCase, solo_multiworld
from ...test.options.presets import allsanity_mods_7_x_x, allsanity_no_mods_7_x_x
from ...test.options.presets import maxsanity_mods_7_x_x, maxsanity_no_mods_7_x_x
class TestTraps(SVTestCase):
def test_given_no_traps_when_generate_then_no_trap_in_pool(self):
world_options = allsanity_no_mods_7_x_x().copy()
world_options = maxsanity_no_mods_7_x_x().copy()
world_options[TrapDifficulty.internal_name] = TrapDifficulty.option_no_traps
with solo_multiworld(world_options) as (multi_world, _):
trap_items = [item_data.name for item_data in items_by_group[Group.TRAP]]
@@ -18,7 +18,7 @@ class TestTraps(SVTestCase):
def test_given_traps_when_generate_then_all_traps_in_pool(self):
trap_option = TrapDifficulty
world_options = allsanity_mods_7_x_x()
world_options = maxsanity_mods_7_x_x()
world_options.update({TrapDifficulty.internal_name: trap_option.option_easy})
with solo_multiworld(world_options) as (multi_world, _):
trap_items = [item_data.name for item_data in items_by_group[Group.TRAP] if Group.DEPRECATED not in item_data.groups]