From e7a3637cc95ca6507046ded6723b15420b4c262b Mon Sep 17 00:00:00 2001 From: compiling <8335770+compiling@users.noreply.github.com> Date: Fri, 8 May 2020 18:23:55 +1000 Subject: [PATCH] Add OWG clip to dark world floating island. --- Main.py | 25 ------------------------- OverworldGlitchRules.py | 1 + test/inverted_owg/TestDeathMountain.py | 13 ++++--------- test/owg/TestDeathMountain.py | 12 ++++-------- test/owg/TestLightWorld.py | 10 ++++------ 5 files changed, 13 insertions(+), 48 deletions(-) diff --git a/Main.py b/Main.py index 97d8c121..4e7e5c01 100644 --- a/Main.py +++ b/Main.py @@ -266,31 +266,6 @@ def main(args, seed=None): return world -def copy_dynamic_regions_and_locations(world, ret): - for region in world.dynamic_regions: - new_reg = Region(region.name, region.type, region.hint_text, region.player) - ret.regions.append(new_reg) - ret.initialize_regions([new_reg]) - ret.dynamic_regions.append(new_reg) - - # Note: ideally exits should be copied here, but the current use case (Take anys) do not require this - - if region.shop: - new_reg.shop = Shop(new_reg, region.shop.room_id, region.shop.type, region.shop.shopkeeper_config, region.shop.custom, region.shop.locked) - ret.shops.append(new_reg.shop) - - for location in world.dynamic_locations: - new_reg = ret.get_region(location.parent_region.name, location.parent_region.player) - new_loc = Location(location.player, location.name, location.address, location.crystal, location.hint_text, new_reg) - # todo: this is potentially dangerous. later refactor so we - # can apply dynamic region rules on top of copied world like other rules - new_loc.access_rule = location.access_rule - new_loc.always_allow = location.always_allow - new_loc.item_rule = location.item_rule - new_reg.locations.append(new_loc) - - ret.clear_location_cache() - def create_playthrough(world): # create a copy as we will modify it diff --git a/OverworldGlitchRules.py b/OverworldGlitchRules.py index 88d626e7..f2dfd331 100644 --- a/OverworldGlitchRules.py +++ b/OverworldGlitchRules.py @@ -132,6 +132,7 @@ def get_boots_clip_exits_dw(inverted = False): yield ('Hammer Pegs River Clip Spot', 'East Dark World', 'Hammer Peg Area') yield ('Dark Lake Hylia Ledge Clip Spot', 'East Dark World', 'Dark Lake Hylia Ledge') yield ('Dark Desert Cliffs Clip Spot', 'South Dark World', 'Dark Desert') + yield ('DW Floating Island Clip Spot', 'Dark Death Mountain (East Bottom)', 'Death Mountain Floating Island (Dark World)') if not inverted: yield ('Dark Death Mountain Descent', 'Dark Death Mountain (West Bottom)', 'West Dark World') diff --git a/test/inverted_owg/TestDeathMountain.py b/test/inverted_owg/TestDeathMountain.py index 7688a20e..093331c2 100644 --- a/test/inverted_owg/TestDeathMountain.py +++ b/test/inverted_owg/TestDeathMountain.py @@ -94,25 +94,20 @@ class TestDeathMountain(TestInvertedOWG): ["Hookshot Cave - Bottom Right", False, []], ["Hookshot Cave - Bottom Right", False, [], ['Hookshot', 'Pegasus Boots']], ["Hookshot Cave - Bottom Right", False, [], ['Progressive Glove', 'Pegasus Boots', 'Magic Mirror']], - #todo: Floating island clip - #["Hookshot Cave - Bottom Right", True, ['Pegasus Boots']], - ["Hookshot Cave - Bottom Right", True, ['Pegasus Boots', 'Progressive Glove']], + ["Hookshot Cave - Bottom Right", True, ['Pegasus Boots']], ["Hookshot Cave - Bottom Left", False, []], ["Hookshot Cave - Bottom Left", False, [], ['Hookshot']], ["Hookshot Cave - Bottom Left", False, [], ['Progressive Glove', 'Pegasus Boots', 'Magic Mirror']], - #["Hookshot Cave - Bottom Left", True, ['Pegasus Boots', 'Hookshot']], - ["Hookshot Cave - Bottom Left", True, ['Pegasus Boots', 'Hookshot', 'Progressive Glove']], + ["Hookshot Cave - Bottom Left", True, ['Pegasus Boots', 'Hookshot']], ["Hookshot Cave - Top Left", False, []], ["Hookshot Cave - Top Left", False, [], ['Hookshot']], ["Hookshot Cave - Top Left", False, [], ['Progressive Glove', 'Pegasus Boots', 'Magic Mirror']], - #["Hookshot Cave - Top Left", True, ['Pegasus Boots', 'Hookshot']], - ["Hookshot Cave - Top Left", True, ['Pegasus Boots', 'Hookshot', 'Progressive Glove']], + ["Hookshot Cave - Top Left", True, ['Pegasus Boots', 'Hookshot']], ["Hookshot Cave - Top Right", False, []], ["Hookshot Cave - Top Right", False, [], ['Hookshot']], ["Hookshot Cave - Top Right", False, [], ['Progressive Glove', 'Pegasus Boots', 'Magic Mirror']], - #["Hookshot Cave - Top Right", True, ['Pegasus Boots', 'Hookshot']], - ["Hookshot Cave - Top Right", True, ['Pegasus Boots', 'Hookshot', 'Progressive Glove']], + ["Hookshot Cave - Top Right", True, ['Pegasus Boots', 'Hookshot']], ]) \ No newline at end of file diff --git a/test/owg/TestDeathMountain.py b/test/owg/TestDeathMountain.py index 49d95b9b..30c58f85 100644 --- a/test/owg/TestDeathMountain.py +++ b/test/owg/TestDeathMountain.py @@ -169,8 +169,7 @@ class TestDeathMountain(TestVanillaOWG): ["Hookshot Cave - Bottom Right", False, []], ["Hookshot Cave - Bottom Right", False, [], ['Progressive Glove', 'Pegasus Boots']], ["Hookshot Cave - Bottom Right", False, [], ['Moon Pearl']], - #todo: DW Floating island clip not in logic - #["Hookshot Cave - Bottom Right", True, ['Moon Pearl', 'Pegasus Boots']], + ["Hookshot Cave - Bottom Right", True, ['Moon Pearl', 'Pegasus Boots']], ["Hookshot Cave - Bottom Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']], ["Hookshot Cave - Bottom Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Magic Mirror', 'Hammer', 'Flute', 'Pegasus Boots']], ["Hookshot Cave - Bottom Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']], @@ -180,8 +179,7 @@ class TestDeathMountain(TestVanillaOWG): ["Hookshot Cave - Bottom Left", False, [], ['Progressive Glove', 'Pegasus Boots']], ["Hookshot Cave - Bottom Left", False, [], ['Moon Pearl']], ["Hookshot Cave - Bottom Left", False, [], ['Hookshot']], - #todo: DW Floating island clip not in logic - #["Hookshot Cave - Bottom Left", True, ['Moon Pearl', 'Pegasus Boots', 'Hookshot']], + ["Hookshot Cave - Bottom Left", True, ['Moon Pearl', 'Pegasus Boots', 'Hookshot']], ["Hookshot Cave - Bottom Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']], ["Hookshot Cave - Bottom Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']], @@ -189,8 +187,7 @@ class TestDeathMountain(TestVanillaOWG): ["Hookshot Cave - Top Left", False, [], ['Progressive Glove', 'Pegasus Boots']], ["Hookshot Cave - Top Left", False, [], ['Moon Pearl']], ["Hookshot Cave - Top Left", False, [], ['Hookshot']], - #todo: DW Floating island clip not in logic - #["Hookshot Cave - Top Left", True, ['Moon Pearl', 'Pegasus Boots', 'Hookshot']], + ["Hookshot Cave - Top Left", True, ['Moon Pearl', 'Pegasus Boots', 'Hookshot']], ["Hookshot Cave - Top Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']], ["Hookshot Cave - Top Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']], @@ -198,8 +195,7 @@ class TestDeathMountain(TestVanillaOWG): ["Hookshot Cave - Top Right", False, [], ['Progressive Glove', 'Pegasus Boots']], ["Hookshot Cave - Top Right", False, [], ['Moon Pearl']], ["Hookshot Cave - Top Right", False, [], ['Hookshot']], - #todo: DW Floating island clip not in logic - #["Hookshot Cave - Top Right", True, ['Moon Pearl', 'Pegasus Boots', 'Hookshot']], + ["Hookshot Cave - Top Right", True, ['Moon Pearl', 'Pegasus Boots', 'Hookshot']], ["Hookshot Cave - Top Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Flute']], ["Hookshot Cave - Top Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove', 'Hookshot', 'Lamp']], ]) \ No newline at end of file diff --git a/test/owg/TestLightWorld.py b/test/owg/TestLightWorld.py index e64c3681..e58553fb 100644 --- a/test/owg/TestLightWorld.py +++ b/test/owg/TestLightWorld.py @@ -184,13 +184,11 @@ class TestLightWorld(TestVanillaOWG): ["Waterfall Fairy - Left", False, []], ["Waterfall Fairy - Left", True, ['Flippers']], - #todo: not in logic yet - need to determine which caves are ok to waterwalk into - #["Waterfall Fairy - Left", True, ['Moon Pearl']], - #["Waterfall Fairy - Left", True, ['Pegasus Boots']], + ["Waterfall Fairy - Left", True, ['Moon Pearl']], + ["Waterfall Fairy - Left", True, ['Pegasus Boots']], ["Waterfall Fairy - Right", False, []], ["Waterfall Fairy - Right", True, ['Flippers']], - #todo: not in logic yet - need to determine which caves are ok to waterwalk into - #["Waterfall Fairy - Right", True, ['Moon Pearl']], - #["Waterfall Fairy - Right", True, ['Pegasus Boots']] + ["Waterfall Fairy - Right", True, ['Moon Pearl']], + ["Waterfall Fairy - Right", True, ['Pegasus Boots']] ]) \ No newline at end of file