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:
@@ -1,7 +1,7 @@
|
||||
import argparse
|
||||
import json
|
||||
|
||||
from ...test import setup_solo_multiworld, allsanity_options_with_mods
|
||||
from ...test import setup_solo_multiworld, allsanity_mods_6_x_x
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser()
|
||||
@@ -11,7 +11,7 @@ if __name__ == "__main__":
|
||||
seed = args.seed
|
||||
|
||||
multi_world = setup_solo_multiworld(
|
||||
allsanity_options_with_mods(),
|
||||
allsanity_mods_6_x_x(),
|
||||
seed=seed
|
||||
)
|
||||
|
||||
|
||||
@@ -2,10 +2,14 @@ import json
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
from BaseClasses import get_seed
|
||||
from .. import SVTestCase
|
||||
|
||||
# There seems to be 4 bytes that appear at random at the end of the output, breaking the json... I don't know where they came from.
|
||||
BYTES_TO_REMOVE = 4
|
||||
|
||||
# <function Location.<lambda> at 0x102ca98a0>
|
||||
lambda_regex = re.compile(r"^<function Location\.<lambda> at (.*)>$")
|
||||
# Python 3.10.2\r\n
|
||||
@@ -18,16 +22,16 @@ class TestGenerationIsStable(SVTestCase):
|
||||
|
||||
def test_all_locations_and_items_are_the_same_between_two_generations(self):
|
||||
if self.skip_long_tests:
|
||||
return
|
||||
raise unittest.SkipTest("Long tests disabled")
|
||||
|
||||
# seed = get_seed(33778671150797368040) # troubleshooting seed
|
||||
seed = get_seed()
|
||||
seed = get_seed(74716545478307145559)
|
||||
|
||||
output_a = subprocess.check_output([sys.executable, '-m', 'worlds.stardew_valley.test.stability.StabilityOutputScript', '--seed', str(seed)])
|
||||
output_b = subprocess.check_output([sys.executable, '-m', 'worlds.stardew_valley.test.stability.StabilityOutputScript', '--seed', str(seed)])
|
||||
|
||||
result_a = json.loads(output_a)
|
||||
result_b = json.loads(output_b)
|
||||
result_a = json.loads(output_a[:-BYTES_TO_REMOVE])
|
||||
result_b = json.loads(output_b[:-BYTES_TO_REMOVE])
|
||||
|
||||
for i, ((room_a, bundles_a), (room_b, bundles_b)) in enumerate(zip(result_a["bundles"].items(), result_b["bundles"].items())):
|
||||
self.assertEqual(room_a, room_b, f"Bundle rooms at index {i} is different between both executions. Seed={seed}")
|
||||
|
||||
Reference in New Issue
Block a user