Add OWG clip to dark world floating island.

This commit is contained in:
compiling 2020-05-08 18:23:55 +10:00
parent 5b268ef8ae
commit e7a3637cc9
5 changed files with 13 additions and 48 deletions

25
Main.py
View File

@ -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

View File

@ -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')

View File

@ -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']],
])

View File

@ -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']],
])

View File

@ -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']]
])