Stardew Valley: Fixed Traveling merchant flaky test (#5434)

* - Made the traveling cart test not be flaky due to worlds caching

# Conflicts:
#	worlds/stardew_valley/rules.py

* - Made the traveling merchant test less flaky

# Conflicts:
#	worlds/stardew_valley/test/rules/TestTravelingMerchant.py
This commit is contained in:
agilbert1412
2025-09-21 12:58:15 -04:00
committed by GitHub
parent 7badc3e745
commit 1bd44e1e35
2 changed files with 6 additions and 1 deletions

View File

@@ -206,7 +206,7 @@ def set_entrance_rules(logic: StardewLogic, multiworld, player, world_options: S
set_entrance_rule(multiworld, player, Entrance.enter_skull_cavern, logic.received(Wallet.skull_key)) set_entrance_rule(multiworld, player, Entrance.enter_skull_cavern, logic.received(Wallet.skull_key))
set_entrance_rule(multiworld, player, LogicEntrance.talk_to_mines_dwarf, set_entrance_rule(multiworld, player, LogicEntrance.talk_to_mines_dwarf,
logic.wallet.can_speak_dwarf() & logic.tool.has_tool(Tool.pickaxe, ToolMaterial.iron)) logic.wallet.can_speak_dwarf() & logic.tool.has_tool(Tool.pickaxe, ToolMaterial.iron))
set_entrance_rule(multiworld, player, LogicEntrance.buy_from_traveling_merchant, logic.traveling_merchant.has_days() & logic.money.can_spend(1000)) set_entrance_rule(multiworld, player, LogicEntrance.buy_from_traveling_merchant, logic.traveling_merchant.has_days() & logic.money.can_spend(1200))
set_entrance_rule(multiworld, player, LogicEntrance.buy_from_raccoon, logic.quest.has_raccoon_shop()) set_entrance_rule(multiworld, player, LogicEntrance.buy_from_raccoon, logic.quest.has_raccoon_shop())
set_entrance_rule(multiworld, player, LogicEntrance.fish_in_waterfall, set_entrance_rule(multiworld, player, LogicEntrance.fish_in_waterfall,
logic.skill.has_level(Skill.fishing, 5) & logic.tool.has_fishing_rod(2)) logic.skill.has_level(Skill.fishing, 5) & logic.tool.has_fishing_rod(2))

View File

@@ -1,8 +1,13 @@
from ..bases import SVTestBase from ..bases import SVTestBase
from ... import SeasonRandomization, EntranceRandomization
from ...locations import location_table, LocationTags from ...locations import location_table, LocationTags
class TestTravelingMerchant(SVTestBase): class TestTravelingMerchant(SVTestBase):
options = {
SeasonRandomization: SeasonRandomization.option_randomized_not_winter,
EntranceRandomization: EntranceRandomization.option_disabled,
}
def test_purchase_from_traveling_merchant_requires_money(self): def test_purchase_from_traveling_merchant_requires_money(self):
traveling_merchant_location_names = [l for l in self.get_real_location_names() if LocationTags.TRAVELING_MERCHANT in location_table[l].tags] traveling_merchant_location_names = [l for l in self.get_real_location_names() if LocationTags.TRAVELING_MERCHANT in location_table[l].tags]