mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-04-07 17:28:13 -07:00
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:
@@ -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",
|
||||
|
||||
|
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)))
|
||||
|
||||
|
||||
@@ -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.")
|
||||
|
||||
@@ -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}")
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()]
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user