Stardew Valley: Turned the Treehouse into an unlockable item (#2004)

This commit is contained in:
agilbert1412 2023-07-21 13:56:03 -04:00 committed by GitHub
parent 7f180a6d5a
commit 57c1bc800c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 6 additions and 5 deletions

View File

@ -56,7 +56,7 @@ class StardewValleyWorld(World):
item_name_to_id = {name: data.code for name, data in item_table.items()}
location_name_to_id = {name: data.code for name, data in location_table.items()}
data_version = 2
data_version = 3
required_client_version = (0, 4, 0)
options: StardewOptions

View File

@ -271,6 +271,7 @@ id,name,classification,groups,mod_name
284,Cute Baby,progression,"BABY",
285,Ugly Baby,progression,"BABY",
286,Deluxe Scarecrow Recipe,progression,"FESTIVAL,RARECROW",
287,Treehouse,progression,"GINGER_ISLAND",
4001,Burnt,trap,TRAP,
4002,Darkness,trap,TRAP,
4003,Frozen,trap,TRAP,

1 id name classification groups mod_name
271 284 Cute Baby progression BABY
272 285 Ugly Baby progression BABY
273 286 Deluxe Scarecrow Recipe progression FESTIVAL,RARECROW
274 287 Treehouse progression GINGER_ISLAND
275 4001 Burnt trap TRAP
276 4002 Darkness trap TRAP
277 4003 Frozen trap TRAP

View File

@ -415,6 +415,7 @@ def create_walnut_purchase_rewards(item_factory: StardewItemFactory, world_optio
items.extend([item_factory("Boat Repair"),
item_factory("Open Professor Snail Cave"),
item_factory("Ostrich Incubator Recipe"),
item_factory("Treehouse"),
*[item_factory(item) for item in items_by_group[Group.WALNUT_PURCHASE]]])

View File

@ -211,8 +211,7 @@ def set_entrance_rules(logic, multi_world, player, world_options: StardewOptions
MultiWorldRules.set_rule(multi_world.get_entrance(Entrance.enter_wizard_basement, player),
logic.has_relationship(NPC.wizard, 4))
MultiWorldRules.set_rule(multi_world.get_entrance(Entrance.mountain_to_leo_treehouse, player),
logic.has_relationship(NPC.leo, 6) & logic.can_reach_region(Region.island_south) &
logic.can_reach_region(Region.island_east) & logic.can_reach_region(Region.leo_hut))
logic.received("Treehouse"))
if ModNames.alec in world_options[options.Mods]:
MultiWorldRules.set_rule(multi_world.get_entrance(AlecEntrance.petshop_to_bedroom, player),
(logic.has_relationship(ModNPC.alec, 2) | magic.can_blink(logic)).simplify())

View File

@ -67,8 +67,8 @@ class TestGenerateDynamicOptions(SVTestBase):
continue
for value in option.options:
with self.subTest(f"{option.internal_name}: {value} [Seed: {seed}]"):
choices = {option.internal_name: option.options[value]}
multiworld = setup_solo_multiworld(choices, seed)
world_options = {option.internal_name: option.options[value]}
multiworld = setup_solo_multiworld(world_options, seed)
basic_checks(self, multiworld)