Archipelago/test/vanilla/TestEntrances.py

134 lines
9.6 KiB
Python
Raw Normal View History

OWG fixes (#79) * Fix Waterfall entrance being inaccessible with the flippers. Fix Spectacle Rock and Bombos Tablet requiring moon pearl * Inverted - make the blacksmith, purple chest, bottle merchant and master sword pedestal accessible without the moon pearl. * Fix moon pearl checks to avoid requiring moon pearl for mirror accessible locations. * Dark Desert Teleporter requires the mitts * Fix OWG bunny rules * Fix another bunny rule bug. * Separate superbunny cave into 2 regions. For OWG, allow superbunny in superbunny cave with no mirror when entering from the bottom Fix boots clip logic to desert teleporter ledge and TR teleporter Fix mirror wrap logic for pyramid fairy For insanity shuffle, exiting Superbunny Cave bottom is now in logic. * Always require pearl for Swamp (Superbunny cannot do anything) * Allow clipping into the GT entrance * Add OWG tests from vt_randomizer * Add some extra vanilla test cases * Allow superbunny into the Blind's Hideout entrance. * More moon pearl / superbunny fixes Use the Catfish region properly, so Catfish Descent works. * Allow superbunny into tavern Fix inverted Kings Grave logic * Inverted OWG tests * Update unit tests for King's Tomb clip. * All superbunny to spiral cave item (with sword) * Bunny revive is not possible in Sanctuary. * More inverted tests * Add/fix test cases * Fix logic for Magic Bat * Fix merge to multiworld * Fix Floodgate superbunny rule * Require bunny revival for all dungeons except for Swamp/TR Main/Hera/Sanctuary, which have extra requirements * Require a weapon for Castle Tower. * Test case fixes * Update test case - superbunny into Kakariko Tavern is in logic
2020-04-28 15:34:30 +00:00
from test.vanilla.TestVanilla import TestVanilla
class TestEntrances(TestVanilla):
def testDungeonEntrances(self):
self.run_entrance_tests([
["Hyrule Castle Entrance (South)", True, []],
["Eastern Palace", True, []],
["Desert Palace Entrance (South)", False, []],
["Desert Palace Entrance (South)", False, [], ["Book of Mudora", "Flute"]],
["Desert Palace Entrance (South)", False, [], ["Book of Mudora", "Magic Mirror"]],
["Desert Palace Entrance (South)", False, ["Progressive Glove"], ["Book of Mudora", "Progressive Glove"]],
["Desert Palace Entrance (South)", True, ["Book of Mudora"]],
["Desert Palace Entrance (South)", True, ["Flute", "Progressive Glove", "Progressive Glove", "Magic Mirror"]],
["Desert Palace Entrance (North)", False, []],
["Desert Palace Entrance (North)", False, [], ["Progressive Glove"]],
["Desert Palace Entrance (North)", False, [], ["Book of Mudora", "Flute"]],
["Desert Palace Entrance (North)", False, [], ["Book of Mudora", "Magic Mirror"]],
["Desert Palace Entrance (North)", True, ["Book of Mudora", "Progressive Glove"]],
["Desert Palace Entrance (North)", True, ["Flute", "Progressive Glove", "Progressive Glove", "Magic Mirror"]],
["Tower of Hera", False, []],
["Tower of Hera", False, [], ["Flute", "Progressive Glove"]],
["Tower of Hera", False, [], ["Flute", "Lamp"]],
["Tower of Hera", False, [], ["Magic Mirror", "Hammer"]],
["Tower of Hera", False, [], ["Magic Mirror", "Hookshot"]],
["Tower of Hera", True, ["Flute", "Magic Mirror"]],
["Tower of Hera", True, ["Progressive Glove", "Lamp", "Magic Mirror"]],
["Tower of Hera", True, ["Flute", "Hookshot", "Hammer"]],
["Tower of Hera", True, ["Progressive Glove", "Lamp", "Magic Mirror"]],
["Agahnims Tower", False, []],
["Agahnims Tower", False, ["Progressive Sword"], ["Cape", "Progressive Sword", "Beat Agahnim 1"]],
["Agahnims Tower", True, ["Cape"]],
["Agahnims Tower", True, ["Progressive Sword", "Progressive Sword"]],
["Agahnims Tower", True, ["Beat Agahnim 1"]],
["Palace of Darkness", False, []],
["Palace of Darkness", False, [], ["Moon Pearl"]],
["Palace of Darkness", False, [], ["Beat Agahnim 1", "Progressive Glove"]],
["Palace of Darkness", False, ["Progressive Glove"], ["Beat Agahnim 1", "Hammer", "Progressive Glove"]],
["Palace of Darkness", False, [], ["Beat Agahnim 1", "Hammer", "Flippers"]],
["Palace of Darkness", True, ["Beat Agahnim 1", "Moon Pearl"]],
["Palace of Darkness", True, ["Hammer", "Progressive Glove", "Moon Pearl"]],
["Palace of Darkness", True, ["Progressive Glove", "Progressive Glove", "Flippers", "Moon Pearl"]],
["Swamp Palace", False, []],
["Swamp Palace", False, [], ["Moon Pearl"]],
["Swamp Palace", False, [], ["Beat Agahnim 1", "Progressive Glove"]],
["Swamp Palace", False, ["Progressive Glove"], ["Beat Agahnim 1", "Hammer", "Progressive Glove"]],
["Swamp Palace", True, ["Beat Agahnim 1", "Moon Pearl", "Hammer"]],
["Swamp Palace", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Flippers"]],
["Swamp Palace", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Progressive Glove"]],
["Swamp Palace", True, ["Hammer", "Progressive Glove", "Moon Pearl"]],
["Swamp Palace", True, ["Progressive Glove", "Progressive Glove", "Moon Pearl"]],
["Thieves Town", False, []],
["Thieves Town", False, [], ["Moon Pearl"]],
["Thieves Town", False, [], ["Beat Agahnim 1", "Progressive Glove"]],
["Thieves Town", False, ["Progressive Glove"], ["Beat Agahnim 1", "Hammer", "Progressive Glove"]],
["Thieves Town", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Flippers"]],
["Thieves Town", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Hammer"]],
["Thieves Town", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Progressive Glove"]],
["Thieves Town", True, ["Hammer", "Progressive Glove", "Moon Pearl"]],
["Thieves Town", True, ["Progressive Glove", "Progressive Glove", "Moon Pearl"]],
["Skull Woods First Section Door", False, []],
["Skull Woods First Section Door", False, [], ["Moon Pearl"]],
["Skull Woods First Section Door", False, [], ["Beat Agahnim 1", "Progressive Glove"]],
["Skull Woods First Section Door", False, ["Progressive Glove"], ["Beat Agahnim 1", "Hammer", "Progressive Glove"]],
["Skull Woods First Section Door", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Flippers"]],
["Skull Woods First Section Door", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Hammer"]],
["Skull Woods First Section Door", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Progressive Glove"]],
["Skull Woods First Section Door", True, ["Hammer", "Progressive Glove", "Moon Pearl"]],
["Skull Woods First Section Door", True, ["Progressive Glove", "Progressive Glove", "Moon Pearl"]],
["Skull Woods Final Section", False, []],
["Skull Woods Final Section", False, [], ["Moon Pearl"]],
["Skull Woods Final Section", False, [], ["Fire Rod"]],
["Skull Woods Final Section", False, [], ["Beat Agahnim 1", "Progressive Glove"]],
["Skull Woods Final Section", False, ["Progressive Glove"], ["Beat Agahnim 1", "Hammer", "Progressive Glove"]],
["Skull Woods Final Section", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Flippers", "Fire Rod"]],
["Skull Woods Final Section", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Hammer", "Fire Rod"]],
["Skull Woods Final Section", True, ["Beat Agahnim 1", "Moon Pearl", "Hookshot", "Progressive Glove", "Fire Rod"]],
["Skull Woods Final Section", True, ["Hammer", "Progressive Glove", "Moon Pearl", "Fire Rod"]],
["Skull Woods Final Section", True, ["Progressive Glove", "Progressive Glove", "Moon Pearl", "Fire Rod"]],
["Ice Palace", False, []],
["Ice Palace", False, [], ["Flippers"]],
["Ice Palace", False, ["Progressive Glove"], ["Progressive Glove"]],
["Ice Palace", True, ["Progressive Glove", "Progressive Glove", "Flippers"]],
["Misery Mire", False, []],
["Misery Mire", False, [], ["Moon Pearl"]],
["Misery Mire", False, [], ["Flute"]],
["Misery Mire", False, [], ["Ether"]],
["Misery Mire", False, [], ["Progressive Sword"]],
["Misery Mire", False, ["Progressive Glove"], ["Progressive Glove"]],
["Misery Mire", True, ["Progressive Glove", "Progressive Glove", "Flute", "Moon Pearl", "Ether", "Progressive Sword"]],
["Turtle Rock", False, []],
["Turtle Rock", False, [], ["Moon Pearl"]],
["Turtle Rock", False, [], ["Hammer"]],
["Turtle Rock", False, ["Progressive Glove"], ["Progressive Glove"]],
["Turtle Rock", False, [], ["Quake"]],
["Turtle Rock", False, [], ["Progressive Sword"]],
["Turtle Rock", False, [], ["Lamp", "Flute"]],
["Turtle Rock", False, [], ["Hookshot", "Magic Mirror"]],
["Turtle Rock", True, ["Progressive Glove", "Progressive Glove", "Moon Pearl", "Hammer", "Quake", "Progressive Sword", "Lamp", "Hookshot"]],
["Turtle Rock", True, ["Progressive Glove", "Progressive Glove", "Moon Pearl", "Hammer", "Quake", "Progressive Sword", "Lamp", "Magic Mirror"]],
["Turtle Rock", True, ["Progressive Glove", "Progressive Glove", "Moon Pearl", "Hammer", "Quake", "Progressive Sword", "Flute", "Hookshot"]],
["Turtle Rock", True, ["Progressive Glove", "Progressive Glove", "Moon Pearl", "Hammer", "Quake", "Progressive Sword", "Flute", "Magic Mirror"]],
["Ganons Tower", False, []],
["Ganons Tower", False, ["Progressive Glove"], ["Progressive Glove"]],
["Ganons Tower", False, [], ["Lamp", "Flute"]],
["Ganons Tower", False, [], ["Hookshot", "Hammer"]],
["Ganons Tower", False, [], ["Hookshot", "Magic Mirror"]],
["Ganons Tower", False, [], ["Crystal 1"]],
["Ganons Tower", False, [], ["Crystal 2"]],
["Ganons Tower", False, [], ["Crystal 3"]],
["Ganons Tower", False, [], ["Crystal 4"]],
["Ganons Tower", False, [], ["Crystal 5"]],
["Ganons Tower", False, [], ["Crystal 6"]],
["Ganons Tower", False, [], ["Crystal 7"]],
["Ganons Tower", True, ["Lamp", "Magic Mirror", "Hammer", "Progressive Glove", "Progressive Glove", "Crystal 1", "Crystal 2", "Crystal 3", "Crystal 4", "Crystal 5", "Crystal 6", "Crystal 7"]],
["Ganons Tower", True, ["Lamp", "Hookshot", "Progressive Glove", "Progressive Glove", "Crystal 1", "Crystal 2", "Crystal 3", "Crystal 4", "Crystal 5", "Crystal 6", "Crystal 7"]],
["Ganons Tower", True, ["Flute", "Magic Mirror", "Hammer", "Progressive Glove", "Progressive Glove", "Crystal 1", "Crystal 2", "Crystal 3", "Crystal 4", "Crystal 5", "Crystal 6", "Crystal 7"]],
["Ganons Tower", True, ["Flute", "Hookshot", "Progressive Glove", "Progressive Glove", "Crystal 1", "Crystal 2", "Crystal 3", "Crystal 4", "Crystal 5", "Crystal 6", "Crystal 7"]],
])