Files
Grinch-AP/worlds/stardew_valley/test/mods/TestSVE.py
agilbert1412 d83294efa7 Stardew valley: Fix Aurora Vineyard Tablet logic (#4512)
* - Add requirement on Aurora Vineyard tablet to start the quest

* - Add rule for using the aurora vineyard staircase

* - Added a test for the tablet

* - Add a few missing items to the test

* - Introduce a new item to split the quest from the door and avoir ER issues

* - Optimize imports

* - Forgot to generate the item

* fix Aurora mess

# Conflicts:
#	worlds/stardew_valley/rules.py
#	worlds/stardew_valley/test/mods/TestMods.py

* fix a couple errors in the cherry picked commit, added a method to improve readability and reduce chance of human error on story quest conditions

* - remove blank line

* - Code review comments

* - fixed weird assert name

* - fixed accidentally surviving line

* - Fixed imports

---------

Co-authored-by: Jouramie <16137441+Jouramie@users.noreply.github.com>
2025-03-10 11:39:35 -04:00

30 lines
1.2 KiB
Python

from .. import SVTestBase
from ... import options
from ...mods.mod_data import ModNames
from ...strings.ap_names.mods.mod_items import SVEQuestItem
from ...strings.quest_names import ModQuest
from ...strings.region_names import SVERegion
class TestAuroraVineyard(SVTestBase):
options = {
options.Cropsanity.internal_name: options.Cropsanity.option_enabled,
options.Mods.internal_name: frozenset({ModNames.sve})
}
def test_need_tablet_to_do_quest(self):
self.collect("Starfruit Seeds")
self.collect("Bus Repair")
self.collect("Shipping Bin")
self.collect("Summer")
location_name = ModQuest.AuroraVineyard
self.assert_cannot_reach_location(location_name, self.multiworld.state)
self.collect(SVEQuestItem.aurora_vineyard_tablet)
self.assert_can_reach_location(location_name, self.multiworld.state)
def test_need_reclamation_to_go_downstairs(self):
region_name = SVERegion.aurora_vineyard_basement
self.assert_cannot_reach_region(region_name, self.multiworld.state)
self.collect(SVEQuestItem.aurora_vineyard_reclamation, 1)
self.assert_can_reach_region(region_name, self.multiworld.state)