mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
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
76 lines
3.5 KiB
Python
76 lines
3.5 KiB
Python
from ... import options
|
|
from ...options import ToolProgression
|
|
from ...test import SVTestBase
|
|
|
|
|
|
class TestWeaponsLogic(SVTestBase):
|
|
options = {
|
|
ToolProgression.internal_name: ToolProgression.option_progressive,
|
|
options.SkillProgression.internal_name: options.SkillProgression.option_progressive,
|
|
}
|
|
|
|
def test_mine(self):
|
|
self.multiworld.state.collect(self.create_item("Progressive Pickaxe"), event=True)
|
|
self.multiworld.state.collect(self.create_item("Progressive Pickaxe"), event=True)
|
|
self.multiworld.state.collect(self.create_item("Progressive Pickaxe"), event=True)
|
|
self.multiworld.state.collect(self.create_item("Progressive Pickaxe"), event=True)
|
|
self.multiworld.state.collect(self.create_item("Progressive House"), event=True)
|
|
self.collect([self.create_item("Combat Level")] * 10)
|
|
self.collect([self.create_item("Mining Level")] * 10)
|
|
self.collect([self.create_item("Progressive Mine Elevator")] * 24)
|
|
self.multiworld.state.collect(self.create_item("Bus Repair"), event=True)
|
|
self.multiworld.state.collect(self.create_item("Skull Key"), event=True)
|
|
|
|
self.GiveItemAndCheckReachableMine("Progressive Sword", 1)
|
|
self.GiveItemAndCheckReachableMine("Progressive Dagger", 1)
|
|
self.GiveItemAndCheckReachableMine("Progressive Club", 1)
|
|
|
|
self.GiveItemAndCheckReachableMine("Progressive Sword", 2)
|
|
self.GiveItemAndCheckReachableMine("Progressive Dagger", 2)
|
|
self.GiveItemAndCheckReachableMine("Progressive Club", 2)
|
|
|
|
self.GiveItemAndCheckReachableMine("Progressive Sword", 3)
|
|
self.GiveItemAndCheckReachableMine("Progressive Dagger", 3)
|
|
self.GiveItemAndCheckReachableMine("Progressive Club", 3)
|
|
|
|
self.GiveItemAndCheckReachableMine("Progressive Sword", 4)
|
|
self.GiveItemAndCheckReachableMine("Progressive Dagger", 4)
|
|
self.GiveItemAndCheckReachableMine("Progressive Club", 4)
|
|
|
|
self.GiveItemAndCheckReachableMine("Progressive Sword", 5)
|
|
self.GiveItemAndCheckReachableMine("Progressive Dagger", 5)
|
|
self.GiveItemAndCheckReachableMine("Progressive Club", 5)
|
|
|
|
def GiveItemAndCheckReachableMine(self, item_name: str, reachable_level: int):
|
|
item = self.multiworld.create_item(item_name, self.player)
|
|
self.multiworld.state.collect(item, event=True)
|
|
rule = self.world.logic.mine.can_mine_in_the_mines_floor_1_40()
|
|
if reachable_level > 0:
|
|
self.assert_rule_true(rule, self.multiworld.state)
|
|
else:
|
|
self.assert_rule_false(rule, self.multiworld.state)
|
|
|
|
rule = self.world.logic.mine.can_mine_in_the_mines_floor_41_80()
|
|
if reachable_level > 1:
|
|
self.assert_rule_true(rule, self.multiworld.state)
|
|
else:
|
|
self.assert_rule_false(rule, self.multiworld.state)
|
|
|
|
rule = self.world.logic.mine.can_mine_in_the_mines_floor_81_120()
|
|
if reachable_level > 2:
|
|
self.assert_rule_true(rule, self.multiworld.state)
|
|
else:
|
|
self.assert_rule_false(rule, self.multiworld.state)
|
|
|
|
rule = self.world.logic.mine.can_mine_in_the_skull_cavern()
|
|
if reachable_level > 3:
|
|
self.assert_rule_true(rule, self.multiworld.state)
|
|
else:
|
|
self.assert_rule_false(rule, self.multiworld.state)
|
|
|
|
rule = self.world.logic.ability.can_mine_perfectly_in_the_skull_cavern()
|
|
if reachable_level > 4:
|
|
self.assert_rule_true(rule, self.multiworld.state)
|
|
else:
|
|
self.assert_rule_false(rule, self.multiworld.state)
|