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>
This commit is contained in:
agilbert1412
2025-03-10 18:39:35 +03:00
committed by GitHub
parent be550ff6fb
commit d83294efa7
15 changed files with 120 additions and 52 deletions

View File

@@ -19,6 +19,12 @@ class SkillLevel:
class SVEQuestItem:
aurora_vineyard_tablet = "Aurora Vineyard Tablet"
"""Triggers the apparition of the bundle tablet in the Aurora Vineyard, so you can do the Aurora Vineyard quest.
This aim to break dependencies on completing the Community Center.
"""
aurora_vineyard_reclamation = "Aurora Vineyard Reclamation"
"""Triggers the unlock of the Aurora Vineyard basement, so you can meet Apples.
"""
iridium_bomb = "Iridium Bomb"
void_soul = "Void Spirit Peace Agreement"
kittyfish_spell = "Kittyfish Spell"
@@ -29,10 +35,10 @@ class SVEQuestItem:
fable_reef_portal = "Fable Reef Portal"
grandpa_shed = "Grandpa's Shed"
sve_always_quest_items: List[str] = [kittyfish_spell, scarlett_job_offer, morgan_schooling]
sve_always_quest_items_ginger_island: List[str] = [fable_reef_portal]
sve_quest_items: List[str] = [aurora_vineyard_tablet, iridium_bomb, void_soul, grandpa_shed]
sve_quest_items_ginger_island: List[str] = [marlon_boat_paddle]
sve_always_quest_items: list[str] = [kittyfish_spell, scarlett_job_offer, morgan_schooling, aurora_vineyard_tablet, ]
sve_always_quest_items_ginger_island: list[str] = [fable_reef_portal, ]
sve_quest_items: list[str] = [iridium_bomb, void_soul, grandpa_shed, aurora_vineyard_reclamation, ]
sve_quest_items_ginger_island: list[str] = [marlon_boat_paddle, ]
class SVELocation:
@@ -53,4 +59,3 @@ class SVERunes:
nexus_wizard = "Nexus: Wizard Runes"
nexus_items: List[str] = [nexus_farm, nexus_wizard, nexus_spring, nexus_aurora, nexus_guild, nexus_junimo, nexus_outpost]