Add OWG tests
This commit is contained in:
78
test/inverted_owg/TestDarkWorld.py
Normal file
78
test/inverted_owg/TestDarkWorld.py
Normal file
@@ -0,0 +1,78 @@
|
||||
from test.inverted_owg.TestInvertedOWG import TestInvertedOWG
|
||||
|
||||
|
||||
class TestDarkWorld(TestInvertedOWG):
|
||||
|
||||
def testSouthDarkWorld(self):
|
||||
self.run_location_tests([
|
||||
["Hype Cave - Top", True, []],
|
||||
|
||||
["Hype Cave - Middle Right", True, []],
|
||||
|
||||
["Hype Cave - Middle Left", True, []],
|
||||
|
||||
["Hype Cave - Bottom", True, []],
|
||||
|
||||
["Hype Cave - Generous Guy", True, []],
|
||||
|
||||
["Stumpy", True, []],
|
||||
|
||||
["Digging Game", True, []],
|
||||
])
|
||||
|
||||
def testWestDarkWorld(self):
|
||||
self.run_location_tests([
|
||||
["Brewery", True, []],
|
||||
|
||||
["C-Shaped House", True, []],
|
||||
|
||||
["Chest Game", True, []],
|
||||
|
||||
["Peg Cave", False, []],
|
||||
["Peg Cave", False, [], ['Hammer']],
|
||||
["Peg Cave", True, ['Hammer', 'Pegasus Boots']],
|
||||
|
||||
["Bumper Cave Ledge", False, []],
|
||||
["Bumper Cave Ledge", True, ['Pegasus Boots']],
|
||||
|
||||
["Blacksmith", False, []],
|
||||
["Blacksmith", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Blacksmith", True, ['Progressive Glove', 'Progressive Glove', 'Pegasus Boots', 'Moon Pearl']],
|
||||
|
||||
["Purple Chest", False, []],
|
||||
["Purple Chest", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Purple Chest", True, ['Progressive Glove', 'Progressive Glove', 'Pegasus Boots', 'Moon Pearl']],
|
||||
])
|
||||
|
||||
def testEastDarkWorld(self):
|
||||
self.run_location_tests([
|
||||
["Catfish", False, []],
|
||||
["Catfish", True, ['Pegasus Boots']],
|
||||
|
||||
#todo: Qirn Jump
|
||||
#["Pyramid", True, []],
|
||||
["Pyramid", False, []],
|
||||
["Pyramid", True, ['Pegasus Boots']],
|
||||
["Pyramid", True, ['Flippers']],
|
||||
|
||||
["Pyramid Fairy - Left", False, []],
|
||||
["Pyramid Fairy - Left", False, [], ['Magic Mirror']],
|
||||
["Pyramid Fairy - Left", False, [], ['Crystal 5']],
|
||||
["Pyramid Fairy - Left", False, [], ['Crystal 6']],
|
||||
["Pyramid Fairy - Left", True, ['Crystal 5', 'Crystal 6', 'Magic Mirror', 'Pegasus Boots']],
|
||||
|
||||
["Pyramid Fairy - Right", False, []],
|
||||
["Pyramid Fairy - Right", False, [], ['Magic Mirror']],
|
||||
["Pyramid Fairy - Right", False, [], ['Crystal 5']],
|
||||
["Pyramid Fairy - Right", False, [], ['Crystal 6']],
|
||||
["Pyramid Fairy - Right", True, ['Crystal 5', 'Crystal 6', 'Magic Mirror', 'Pegasus Boots']],
|
||||
])
|
||||
|
||||
def testMireArea(self):
|
||||
self.run_location_tests([
|
||||
["Mire Shed - Left", False, []],
|
||||
["Mire Shed - Left", True, ['Pegasus Boots']],
|
||||
|
||||
["Mire Shed - Right", False, []],
|
||||
["Mire Shed - Right", True, ['Pegasus Boots']],
|
||||
])
|
||||
113
test/inverted_owg/TestDeathMountain.py
Normal file
113
test/inverted_owg/TestDeathMountain.py
Normal file
@@ -0,0 +1,113 @@
|
||||
from test.inverted_owg.TestInvertedOWG import TestInvertedOWG
|
||||
|
||||
|
||||
class TestDeathMountain(TestInvertedOWG):
|
||||
|
||||
def testWestDeathMountain(self):
|
||||
self.run_location_tests([
|
||||
["Old Man", False, []],
|
||||
["Old Man", False, [], ['Lamp']],
|
||||
["Old Man", True, ['Pegasus Boots', 'Lamp']],
|
||||
|
||||
["Spectacle Rock Cave", False, []],
|
||||
["Spectacle Rock Cave", True, ['Pegasus Boots']],
|
||||
])
|
||||
|
||||
def testEastDeathMountain(self):
|
||||
self.run_location_tests([
|
||||
["Spiral Cave", False, []],
|
||||
["Spiral Cave", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Spiral Cave", False, [], ['Moon Pearl', 'Progressive Sword']],
|
||||
["Spiral Cave", True, ['Magic Mirror', 'Progressive Glove', 'Progressive Glove', 'Lamp', 'Progressive Sword']],
|
||||
["Spiral Cave", True, ['Magic Mirror', 'Progressive Glove', 'Progressive Glove', 'Pegasus Boots', 'Progressive Sword']],
|
||||
["Spiral Cave", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Paradox Cave Lower - Far Left", False, []],
|
||||
["Paradox Cave Lower - Far Left", False, [], ['Moon Pearl']],
|
||||
["Paradox Cave Lower - Far Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Paradox Cave Lower - Left", False, []],
|
||||
["Paradox Cave Lower - Left", False, [], ['Moon Pearl']],
|
||||
["Paradox Cave Lower - Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Paradox Cave Lower - Middle", False, []],
|
||||
["Paradox Cave Lower - Middle", False, [], ['Moon Pearl']],
|
||||
["Paradox Cave Lower - Middle", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Paradox Cave Lower - Right", False, []],
|
||||
["Paradox Cave Lower - Right", False, [], ['Moon Pearl']],
|
||||
["Paradox Cave Lower - Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Paradox Cave Lower - Far Right", False, []],
|
||||
["Paradox Cave Lower - Far Right", False, [], ['Moon Pearl']],
|
||||
["Paradox Cave Lower - Far Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Paradox Cave Upper - Left", False, []],
|
||||
["Paradox Cave Upper - Left", False, [], ['Moon Pearl']],
|
||||
["Paradox Cave Upper - Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Paradox Cave Upper - Right", False, []],
|
||||
["Paradox Cave Upper - Right", False, [], ['Moon Pearl']],
|
||||
["Paradox Cave Upper - Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Mimic Cave", False, []],
|
||||
["Mimic Cave", False, [], ['Moon Pearl']],
|
||||
["Mimic Cave", False, [], ['Hammer']],
|
||||
["Mimic Cave", True, ['Moon Pearl', 'Hammer', 'Pegasus Boots']],
|
||||
|
||||
["Ether Tablet", False, []],
|
||||
["Ether Tablet", False, ['Progressive Sword'], ['Progressive Sword']],
|
||||
["Ether Tablet", False, [], ['Book of Mudora']],
|
||||
["Ether Tablet", False, [], ['Moon Pearl']],
|
||||
["Ether Tablet", True, ['Pegasus Boots', 'Moon Pearl', 'Book of Mudora', 'Progressive Sword', 'Progressive Sword']],
|
||||
|
||||
["Spectacle Rock", False, []],
|
||||
["Spectacle Rock", False, [], ['Moon Pearl']],
|
||||
["Spectacle Rock", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
])
|
||||
|
||||
|
||||
def testWestDarkWorldDeathMountain(self):
|
||||
self.run_location_tests([
|
||||
["Spike Cave", False, []],
|
||||
["Spike Cave", False, [], ['Progressive Glove']],
|
||||
["Spike Cave", False, [], ['Hammer']],
|
||||
["Spike Cave", False, [], ['Cape', 'Cane of Byrna']],
|
||||
# ER doesn't put in an extra potion
|
||||
#["Spike Cave", True, ['Bottle', 'Hammer', 'Progressive Glove', 'Pegasus Boots', 'Cape']],
|
||||
["Spike Cave", True, ['Bottle', 'Hammer', 'Progressive Glove', 'Pegasus Boots', 'Cape', 'Moon Pearl']],
|
||||
["Spike Cave", True, ['Bottle', 'Hammer', 'Progressive Glove', 'Pegasus Boots', 'Cane of Byrna']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/2)', 'Hammer', 'Progressive Glove', 'Pegasus Boots', 'Cape']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/2)', 'Hammer', 'Progressive Glove', 'Pegasus Boots', 'Cane of Byrna']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/4)', 'Hammer', 'Progressive Glove', 'Pegasus Boots', 'Cape']],
|
||||
["Spike Cave", True, ['Magic Upgrade (1/4)', 'Hammer', 'Progressive Glove', 'Pegasus Boots', 'Cane of Byrna']],
|
||||
])
|
||||
|
||||
def testEastDarkWorldDeathMountain(self):
|
||||
self.run_location_tests([
|
||||
["Superbunny Cave - Top", False, []],
|
||||
["Superbunny Cave - Top", True, ['Pegasus Boots']],
|
||||
|
||||
["Superbunny Cave - Bottom", False, []],
|
||||
["Superbunny Cave - Bottom", True, ['Pegasus Boots']],
|
||||
|
||||
["Hookshot Cave - Bottom Right", False, []],
|
||||
["Hookshot Cave - Bottom Right", False, [], ['Hookshot', 'Pegasus Boots']],
|
||||
["Hookshot Cave - Bottom Right", False, [], ['Progressive Glove', 'Pegasus Boots', 'Magic Mirror']],
|
||||
["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 - 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 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']],
|
||||
])
|
||||
115
test/inverted_owg/TestDungeons.py
Normal file
115
test/inverted_owg/TestDungeons.py
Normal file
@@ -0,0 +1,115 @@
|
||||
from test.inverted_owg.TestInvertedOWG import TestInvertedOWG
|
||||
|
||||
class TestDungeons(TestInvertedOWG):
|
||||
|
||||
def testFirstDungeonChests(self):
|
||||
self.run_location_tests([
|
||||
["Hyrule Castle - Map Chest", False, []],
|
||||
["Hyrule Castle - Map Chest", True, ['Beat Agahnim 1']],
|
||||
["Hyrule Castle - Map Chest", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Hyrule Castle - Map Chest", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
|
||||
["Sanctuary", False, []],
|
||||
["Sanctuary", False, ['Beat Agahnim 1']],
|
||||
["Sanctuary", True, ['Magic Mirror', 'Beat Agahnim 1']],
|
||||
["Sanctuary", True, ['Lamp', 'Beat Agahnim 1', 'Small Key (Escape)']],
|
||||
["Sanctuary", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Sanctuary", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
|
||||
["Sewers - Secret Room - Left", False, []],
|
||||
["Sewers - Secret Room - Left", True, ['Moon Pearl', 'Progressive Glove', 'Pegasus Boots']],
|
||||
["Sewers - Secret Room - Left", True, ['Moon Pearl', 'Pegasus Boots', 'Lamp', 'Small Key (Escape)']],
|
||||
["Sewers - Secret Room - Left", True,
|
||||
['Magic Mirror', 'Pegasus Boots', 'Lamp', 'Small Key (Escape)']],
|
||||
["Sewers - Secret Room - Left", True, ['Beat Agahnim 1', 'Lamp', 'Small Key (Escape)']],
|
||||
|
||||
["Eastern Palace - Compass Chest", False, []],
|
||||
["Eastern Palace - Compass Chest", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Eastern Palace - Compass Chest", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Eastern Palace - Compass Chest", True, ['Beat Agahnim 1']],
|
||||
|
||||
["Desert Palace - Map Chest", False, []],
|
||||
["Desert Palace - Map Chest", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Desert Palace - Map Chest", True, ['Book of Mudora', 'Magic Mirror', 'Pegasus Boots']],
|
||||
|
||||
["Desert Palace - Boss", False, []],
|
||||
["Desert Palace - Boss", False, [], ['Small Key (Desert Palace)']],
|
||||
["Desert Palace - Boss", False, [], ['Big Key (Desert Palace)']],
|
||||
["Desert Palace - Boss", False, [], ['Lamp', 'Fire Rod']],
|
||||
["Desert Palace - Boss", True, ['Progressive Sword', 'Small Key (Desert Palace)', 'Big Key (Desert Palace)', 'Moon Pearl', 'Pegasus Boots', 'Lamp']],
|
||||
["Desert Palace - Boss", True, ['Progressive Sword', 'Small Key (Desert Palace)', 'Big Key (Desert Palace)', 'Moon Pearl', 'Pegasus Boots', 'Fire Rod']],
|
||||
|
||||
["Tower of Hera - Basement Cage", False, []],
|
||||
["Tower of Hera - Basement Cage", False, [], ['Moon Pearl']],
|
||||
["Tower of Hera - Basement Cage", True, ['Pegasus Boots', 'Moon Pearl']],
|
||||
|
||||
["Castle Tower - Room 03", False, []],
|
||||
["Castle Tower - Room 03", False, [], ['Progressive Sword', 'Hammer', 'Progressive Bow', 'Fire Rod', 'Ice Rod', 'Cane of Somaria', 'Cane of Byrna']],
|
||||
["Castle Tower - Room 03", True, ['Pegasus Boots', 'Progressive Sword']],
|
||||
["Castle Tower - Room 03", True, ['Pegasus Boots', 'Progressive Bow']],
|
||||
|
||||
#todo: Qirn Jump
|
||||
#["Palace of Darkness - Shooter Room", True, []],
|
||||
["Palace of Darkness - Shooter Room", True, ['Pegasus Boots']],
|
||||
["Palace of Darkness - Shooter Room", True, ['Hammer']],
|
||||
["Palace of Darkness - Shooter Room", True, ['Flippers']],
|
||||
["Palace of Darkness - Shooter Room", True, ['Pegasus Boots', 'Progressive Glove']],
|
||||
["Palace of Darkness - Shooter Room", True, ['Pegasus Boots', 'Magic Mirror']],
|
||||
|
||||
["Swamp Palace - Entrance", False, []],
|
||||
["Swamp Palace - Entrance", False, [], ['Magic Mirror']],
|
||||
["Swamp Palace - Entrance", False, [], ['Flippers']],
|
||||
["Swamp Palace - Entrance", True, ['Magic Mirror', 'Flippers', 'Pegasus Boots']],
|
||||
["Swamp Palace - Entrance", True, ['Magic Mirror', 'Flippers', 'Beat Agahnim 1']],
|
||||
|
||||
["Skull Woods - Compass Chest", True, []],
|
||||
|
||||
["Skull Woods - Big Chest", False, []],
|
||||
["Skull Woods - Big Chest", False, [], ['Big Key (Skull Woods)']],
|
||||
["Skull Woods - Big Chest", True, ['Big Key (Skull Woods)']],
|
||||
|
||||
["Skull Woods - Big Key Chest", True, []],
|
||||
|
||||
["Skull Woods - Bridge Room", False, []],
|
||||
["Skull Woods - Bridge Room", False, [], ['Fire Rod']],
|
||||
["Skull Woods - Bridge Room", True, ['Fire Rod']],
|
||||
|
||||
["Thieves' Town - Map Chest", True, []],
|
||||
|
||||
["Ice Palace - Compass Chest", False, []],
|
||||
["Ice Palace - Compass Chest", False, [], ['Fire Rod', 'Bombos', 'Progressive Sword']],
|
||||
#todo: Qirn Jump
|
||||
#["Ice Palace - Compass Chest", True, ['Fire Rod']],
|
||||
#["Ice Palace - Compass Chest", True, ['Bombos', 'Progressive Sword']],
|
||||
["Ice Palace - Compass Chest", True, ['Pegasus Boots', 'Fire Rod']],
|
||||
["Ice Palace - Compass Chest", True, ['Pegasus Boots', 'Bombos', 'Progressive Sword']],
|
||||
|
||||
["Misery Mire - Bridge Chest", False, []],
|
||||
["Misery Mire - Bridge Chest", False, [], ['Ether']],
|
||||
["Misery Mire - Bridge Chest", False, [], ['Progressive Sword']],
|
||||
["Misery Mire - Bridge Chest", True, ['Pegasus Boots', 'Ether', 'Progressive Sword']],
|
||||
|
||||
["Turtle Rock - Compass Chest", False, []],
|
||||
["Turtle Rock - Compass Chest", False, [], ['Cane of Somaria']],
|
||||
["Turtle Rock - Compass Chest", True, ['Pegasus Boots', 'Magic Mirror', 'Moon Pearl', 'Cane of Somaria', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)', 'Small Key (Turtle Rock)']],
|
||||
["Turtle Rock - Compass Chest", True, ['Pegasus Boots', 'Quake', 'Progressive Sword', 'Cane of Somaria']],
|
||||
|
||||
["Turtle Rock - Chain Chomps", False, []],
|
||||
["Turtle Rock - Chain Chomps", True, ['Pegasus Boots', 'Magic Mirror', 'Moon Pearl']],
|
||||
|
||||
["Turtle Rock - Crystaroller Room", False, []],
|
||||
["Turtle Rock - Crystaroller Room", True, ['Pegasus Boots', 'Magic Mirror', 'Moon Pearl', 'Big Key (Turtle Rock)']],
|
||||
["Turtle Rock - Crystaroller Room", True, ['Pegasus Boots', 'Magic Mirror', 'Moon Pearl', 'Lamp', 'Cane of Somaria']],
|
||||
|
||||
["Ganons Tower - Hope Room - Left", False, []],
|
||||
["Ganons Tower - Hope Room - Left", False, [], ['Crystal 1']],
|
||||
["Ganons Tower - Hope Room - Left", False, [], ['Crystal 2']],
|
||||
["Ganons Tower - Hope Room - Left", False, [], ['Crystal 3']],
|
||||
["Ganons Tower - Hope Room - Left", False, [], ['Crystal 4']],
|
||||
["Ganons Tower - Hope Room - Left", False, [], ['Crystal 5']],
|
||||
["Ganons Tower - Hope Room - Left", False, [], ['Crystal 6']],
|
||||
["Ganons Tower - Hope Room - Left", False, [], ['Crystal 7']],
|
||||
["Ganons Tower - Hope Room - Left", True, ['Beat Agahnim 1', 'Hookshot', 'Crystal 1', 'Crystal 2', 'Crystal 3', 'Crystal 4', 'Crystal 5', 'Crystal 6', 'Crystal 7']],
|
||||
["Ganons Tower - Hope Room - Left", True, ['Pegasus Boots', 'Magic Mirror', 'Hookshot', 'Crystal 1', 'Crystal 2', 'Crystal 3', 'Crystal 4', 'Crystal 5', 'Crystal 6', 'Crystal 7']],
|
||||
["Ganons Tower - Hope Room - Left", True, ['Pegasus Boots', 'Moon Pearl', 'Hookshot', 'Crystal 1', 'Crystal 2', 'Crystal 3', 'Crystal 4', 'Crystal 5', 'Crystal 6', 'Crystal 7']],
|
||||
])
|
||||
30
test/inverted_owg/TestInvertedOWG.py
Normal file
30
test/inverted_owg/TestInvertedOWG.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from BaseClasses import World
|
||||
from Dungeons import create_dungeons, get_dungeon_item_pool
|
||||
from EntranceShuffle import link_inverted_entrances
|
||||
from InvertedRegions import create_inverted_regions
|
||||
from ItemList import generate_itempool, difficulties
|
||||
from Items import ItemFactory
|
||||
from Regions import mark_light_world_regions
|
||||
from Rules import set_rules
|
||||
from test.TestBase import TestBase
|
||||
|
||||
|
||||
class TestInvertedOWG(TestBase):
|
||||
def setUp(self):
|
||||
self.world = World(1, 'vanilla', 'owglitches', 'inverted', 'random', 'normal', 'normal', 'none', 'on', 'ganon', 'balanced',
|
||||
True, False, False, False, False, False, False, False, False, None,
|
||||
'none', False)
|
||||
self.world.difficulty_requirements = difficulties['normal']
|
||||
create_inverted_regions(self.world, 1)
|
||||
create_dungeons(self.world, 1)
|
||||
link_inverted_entrances(self.world, 1)
|
||||
generate_itempool(self.world, 1)
|
||||
self.world.required_medallions[1] = ['Ether', 'Quake']
|
||||
self.world.itempool.extend(get_dungeon_item_pool(self.world))
|
||||
self.world.itempool.extend(ItemFactory(['Green Pendant', 'Red Pendant', 'Blue Pendant', 'Beat Agahnim 1', 'Beat Agahnim 2', 'Crystal 1', 'Crystal 2', 'Crystal 3', 'Crystal 4', 'Crystal 5', 'Crystal 6', 'Crystal 7'], 1))
|
||||
self.world.get_location('Agahnim 1', 1).item = None
|
||||
self.world.get_location('Agahnim 2', 1).item = None
|
||||
self.world.precollected_items.clear()
|
||||
self.world.itempool.append(ItemFactory('Pegasus Boots', 1))
|
||||
mark_light_world_regions(self.world)
|
||||
set_rules(self.world, 1)
|
||||
312
test/inverted_owg/TestLightWorld.py
Normal file
312
test/inverted_owg/TestLightWorld.py
Normal file
@@ -0,0 +1,312 @@
|
||||
from test.inverted_owg.TestInvertedOWG import TestInvertedOWG
|
||||
|
||||
|
||||
class TestLightWorld(TestInvertedOWG):
|
||||
|
||||
def testLightWorld(self):
|
||||
self.run_location_tests([
|
||||
["Master Sword Pedestal", False, []],
|
||||
["Master Sword Pedestal", False, [], ['Green Pendant']],
|
||||
["Master Sword Pedestal", False, [], ['Red Pendant']],
|
||||
["Master Sword Pedestal", False, [], ['Blue Pendant']],
|
||||
["Master Sword Pedestal", True, ['Green Pendant', 'Red Pendant', 'Blue Pendant', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Master Sword Pedestal", True, ['Green Pendant', 'Red Pendant', 'Blue Pendant', 'Magic Mirror', 'Pegasus Boots']],
|
||||
|
||||
["Link's Uncle", False, []],
|
||||
["Link's Uncle", False, [], ['Moon Pearl']],
|
||||
["Link's Uncle", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Secret Passage", False, []],
|
||||
["Secret Passage", False, [], ['Moon Pearl']],
|
||||
["Secret Passage", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["King's Tomb", False, []],
|
||||
["King's Tomb", False, [], ['Pegasus Boots']],
|
||||
["King's Tomb", False, [], ['Moon Pearl']],
|
||||
["King's Tomb", True, ['Pegasus Boots', 'Magic Mirror', 'Moon Pearl']],
|
||||
|
||||
["Floodgate Chest", False, []],
|
||||
["Floodgate Chest", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Floodgate Chest", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Floodgate Chest", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
|
||||
["Kakariko Tavern", False, []],
|
||||
["Kakariko Tavern", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Kakariko Tavern", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Kakariko Tavern", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Kakariko Tavern", True, ['Beat Agahnim 1', 'Moon Pearl']],
|
||||
["Kakariko Tavern", True, ['Beat Agahnim 1', 'Magic Mirror']],
|
||||
|
||||
["Chicken House", False, []],
|
||||
["Chicken House", False, [], ['Moon Pearl']],
|
||||
["Chicken House", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Aginah's Cave", False, []],
|
||||
["Aginah's Cave", False, [], ['Moon Pearl']],
|
||||
["Aginah's Cave", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Sahasrahla's Hut - Left", False, []],
|
||||
["Sahasrahla's Hut - Left", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Sahasrahla's Hut - Left", False, [], ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Sahasrahla's Hut - Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Sahasrahla's Hut - Left", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
##todo: Damage boost superbunny not in logic
|
||||
#["Sahasrahla's Hut - Left", True, ['Beat Agahnim 1', 'Pegasus Boots']],
|
||||
["Sahasrahla's Hut - Left", True, ['Moon Pearl', 'Beat Agahnim 1']],
|
||||
|
||||
["Sahasrahla's Hut - Middle", False, []],
|
||||
["Sahasrahla's Hut - Middle", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Sahasrahla's Hut - Middle", False, [], ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Sahasrahla's Hut - Middle", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Sahasrahla's Hut - Middle", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
#["Sahasrahla's Hut - Middle", True, ['Beat Agahnim 1', 'Pegasus Boots']],
|
||||
["Sahasrahla's Hut - Middle", True, ['Moon Pearl', 'Beat Agahnim 1']],
|
||||
|
||||
["Sahasrahla's Hut - Right", False, []],
|
||||
["Sahasrahla's Hut - Right", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Sahasrahla's Hut - Right", False, [], ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Sahasrahla's Hut - Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Sahasrahla's Hut - Right", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
#["Sahasrahla's Hut - Right", True, ['Beat Agahnim 1', 'Pegasus Boots']],
|
||||
["Sahasrahla's Hut - Right", True, ['Moon Pearl', 'Beat Agahnim 1']],
|
||||
|
||||
["Kakariko Well - Top", False, []],
|
||||
["Kakariko Well - Top", False, [], ['Moon Pearl']],
|
||||
["Kakariko Well - Top", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Kakariko Well - Left", False, []],
|
||||
["Kakariko Well - Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Kakariko Well - Left", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Kakariko Well - Left", True, ['Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
["Kakariko Well - Left", True, ['Beat Agahnim 1']],
|
||||
|
||||
["Kakariko Well - Middle", False, []],
|
||||
["Kakariko Well - Middle", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Kakariko Well - Middle", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Kakariko Well - Middle", True, ['Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
["Kakariko Well - Middle", True, ['Beat Agahnim 1']],
|
||||
|
||||
["Kakariko Well - Right", False, []],
|
||||
["Kakariko Well - Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Kakariko Well - Right", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Kakariko Well - Right", True, ['Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
["Kakariko Well - Right", True, ['Beat Agahnim 1']],
|
||||
|
||||
["Kakariko Well - Bottom", False, []],
|
||||
["Kakariko Well - Bottom", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Kakariko Well - Bottom", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Kakariko Well - Bottom", True, ['Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
["Kakariko Well - Bottom", True, ['Beat Agahnim 1']],
|
||||
|
||||
["Blind's Hideout - Top", False, []],
|
||||
["Blind's Hideout - Top", False, [], ['Moon Pearl']],
|
||||
["Blind's Hideout - Top", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Blind's Hideout - Left", False, []],
|
||||
["Blind's Hideout - Left", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Blind's Hideout - Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Blind's Hideout - Left", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Blind's Hideout - Left", True, ['Magic Mirror', 'Beat Agahnim 1']],
|
||||
|
||||
["Blind's Hideout - Right", False, []],
|
||||
["Blind's Hideout - Right", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Blind's Hideout - Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Blind's Hideout - Right", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Blind's Hideout - Right", True, ['Magic Mirror', 'Beat Agahnim 1']],
|
||||
|
||||
["Blind's Hideout - Far Left", False, []],
|
||||
["Blind's Hideout - Far Left", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Blind's Hideout - Far Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Blind's Hideout - Far Left", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Blind's Hideout - Far Left", True, ['Magic Mirror', 'Beat Agahnim 1']],
|
||||
|
||||
["Blind's Hideout - Far Right", False, []],
|
||||
["Blind's Hideout - Far Right", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Blind's Hideout - Far Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Blind's Hideout - Far Right", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Blind's Hideout - Far Right", True, ['Magic Mirror', 'Beat Agahnim 1']],
|
||||
|
||||
["Bonk Rock Cave", False, []],
|
||||
["Bonk Rock Cave", False, [], ['Pegasus Boots']],
|
||||
["Bonk Rock Cave", False, [], ['Moon Pearl']],
|
||||
["Bonk Rock Cave", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Mini Moldorm Cave - Far Left", False, []],
|
||||
["Mini Moldorm Cave - Far Left", False, [], ['Moon Pearl']],
|
||||
["Mini Moldorm Cave - Far Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Mini Moldorm Cave - Left", False, []],
|
||||
["Mini Moldorm Cave - Left", False, [], ['Moon Pearl']],
|
||||
["Mini Moldorm Cave - Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Mini Moldorm Cave - Right", False, []],
|
||||
["Mini Moldorm Cave - Right", False, [], ['Moon Pearl']],
|
||||
["Mini Moldorm Cave - Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Mini Moldorm Cave - Far Right", False, []],
|
||||
["Mini Moldorm Cave - Far Right", False, [], ['Moon Pearl']],
|
||||
["Mini Moldorm Cave - Far Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Mini Moldorm Cave - Generous Guy", False, []],
|
||||
["Mini Moldorm Cave - Generous Guy", False, [], ['Moon Pearl']],
|
||||
["Mini Moldorm Cave - Generous Guy", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Ice Rod Cave", False, []],
|
||||
["Ice Rod Cave", False, [], ['Moon Pearl']],
|
||||
["Ice Rod Cave", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
#I don't think so
|
||||
#["Ice Rod Cave", True, ['Magic Mirror', 'Pegasus Boots', 'BigRedBomb']],
|
||||
#["Ice Rod Cave", True, ['Magic Mirror', 'Beat Agahnim 1', 'BigRedBomb']],
|
||||
|
||||
["Bottle Merchant", False, []],
|
||||
["Bottle Merchant", True, ['Pegasus Boots', 'Magic Mirror']],
|
||||
["Bottle Merchant", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Bottle Merchant", True, ['Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
["Bottle Merchant", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
|
||||
["Sahasrahla", False, []],
|
||||
["Sahasrahla", False, [], ['Green Pendant']],
|
||||
["Sahasrahla", True, ['Green Pendant', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Sahasrahla", True, ['Green Pendant', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Sahasrahla", True, ['Green Pendant', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Sahasrahla", True, ['Green Pendant', 'Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
|
||||
["Magic Bat", False, []],
|
||||
["Magic Bat", False, [], ['Magic Powder']],
|
||||
["Magic Bat", False, [], ['Moon Pearl']],
|
||||
["Magic Bat", True, ['Magic Powder', 'Pegasus Boots', 'Moon Pearl']],
|
||||
|
||||
["Sick Kid", False, []],
|
||||
["Sick Kid", False, [], ['AnyBottle']],
|
||||
["Sick Kid", False, ['Bottle (Bee)']],
|
||||
["Sick Kid", False, ['Bottle (Fairy)']],
|
||||
["Sick Kid", False, ['Bottle (Red Potion)']],
|
||||
["Sick Kid", False, ['Bottle (Green Potion)']],
|
||||
["Sick Kid", False, ['Bottle (Blue Potion)']],
|
||||
["Sick Kid", False, ['Bottle']],
|
||||
["Sick Kid", False, ['Bottle (Good Bee)']],
|
||||
["Sick Kid", True, ['Bottle (Bee)', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Bee)', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Fairy)', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Fairy)', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Red Potion)', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Red Potion)', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Green Potion)', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Green Potion)', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Blue Potion)', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Blue Potion)', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Good Bee)', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle (Good Bee)', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle', 'Moon Pearl', 'Pegasus Boots']],
|
||||
["Sick Kid", True, ['Bottle', 'Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
|
||||
["Hobo", False, []],
|
||||
["Hobo", False, [], ['Moon Pearl']],
|
||||
["Hobo", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Hobo", True, ['Moon Pearl', 'Beat Agahnim 1']],
|
||||
|
||||
["Bombos Tablet", False, []],
|
||||
["Bombos Tablet", False, ['Progressive Sword'], ['Progressive Sword']],
|
||||
["Bombos Tablet", False, [], ['Book of Mudora']],
|
||||
["Bombos Tablet", True, ['Moon Pearl', 'Book of Mudora', 'Pegasus Boots', 'Progressive Sword', 'Progressive Sword']],
|
||||
["Bombos Tablet", True, ['Magic Mirror', 'Book of Mudora', 'Pegasus Boots', 'Progressive Sword', 'Progressive Sword']],
|
||||
["Bombos Tablet", True, ['Progressive Glove', 'Progressive Glove', 'Book of Mudora', 'Pegasus Boots', 'Progressive Sword', 'Progressive Sword']],
|
||||
|
||||
["King Zora", False, []],
|
||||
["King Zora", False, [], ['Moon Pearl']],
|
||||
["King Zora", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Lost Woods Hideout", False, []],
|
||||
["Lost Woods Hideout", False, [], ['Moon Pearl']],
|
||||
["Lost Woods Hideout", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Lumberjack Tree", False, []],
|
||||
["Lumberjack Tree", False, [], ['Beat Agahnim 1']],
|
||||
["Lumberjack Tree", False, [], ['Pegasus Boots']],
|
||||
["Lumberjack Tree", False, [], ['Moon Pearl']],
|
||||
["Lumberjack Tree", True, ['Pegasus Boots', 'Moon Pearl', 'Beat Agahnim 1']],
|
||||
|
||||
["Cave 45", False, []],
|
||||
["Cave 45", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Cave 45", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Cave 45", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Cave 45", True, ['Magic Mirror', 'Beat Agahnim 1']],
|
||||
|
||||
["Graveyard Cave", False, []],
|
||||
["Graveyard Cave", False, [], ['Moon Pearl']],
|
||||
["Graveyard Cave", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Checkerboard Cave", False, []],
|
||||
["Checkerboard Cave", False, [], ['Progressive Glove']],
|
||||
["Checkerboard Cave", False, [], ['Moon Pearl']],
|
||||
["Checkerboard Cave", True, ['Progressive Glove', 'Pegasus Boots', 'Moon Pearl']],
|
||||
|
||||
["Library", False, []],
|
||||
["Library", False, [], ['Pegasus Boots']],
|
||||
["Library", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Library", True, ['Pegasus Boots', 'Moon Pearl']],
|
||||
["Library", True, ['Pegasus Boots', 'Magic Mirror']],
|
||||
|
||||
["Mushroom", False, []],
|
||||
["Mushroom", False, [], ['Moon Pearl']],
|
||||
["Mushroom", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Potion Shop", False, []],
|
||||
["Potion Shop", False, [], ['Mushroom']],
|
||||
["Potion Shop", False, [], ['Moon Pearl']],
|
||||
["Potion Shop", True, ['Mushroom', 'Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Maze Race", False, []],
|
||||
["Maze Race", False, [], ['Moon Pearl']],
|
||||
["Maze Race", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Desert Ledge", False, []],
|
||||
["Desert Ledge", True, ['Book of Mudora', 'Magic Mirror', 'Pegasus Boots']],
|
||||
["Desert Ledge", True, ['Book of Mudora', 'Progressive Glove', 'Progressive Glove', 'Pegasus Boots']],
|
||||
["Desert Ledge", True, ['Book of Mudora', 'Beat Agahnim 1']],
|
||||
["Desert Ledge", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Lake Hylia Island", False, []],
|
||||
["Lake Hylia Island", False, [], ['Moon Pearl']],
|
||||
["Lake Hylia Island", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Sunken Treasure", False, []],
|
||||
["Sunken Treasure", False, [], ['Moon Pearl', 'Magic Mirror']],
|
||||
["Sunken Treasure", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Sunken Treasure", True, ['Magic Mirror', 'Pegasus Boots']],
|
||||
["Sunken Treasure", True, ['Magic Mirror', 'Beat Agahnim 1']],
|
||||
|
||||
["Zora's Ledge", False, []],
|
||||
["Zora's Ledge", False, [], ['Moon Pearl']],
|
||||
["Zora's Ledge", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Flute Spot", False, []],
|
||||
["Flute Spot", False, [], ['Shovel']],
|
||||
["Flute Spot", False, [], ['Moon Pearl']],
|
||||
["Flute Spot", True, ['Shovel', 'Moon Pearl', 'Pegasus Boots']],
|
||||
|
||||
["Waterfall Fairy - Left", False, []],
|
||||
["Waterfall Fairy - Left", False, [], ['Moon Pearl']],
|
||||
["Waterfall Fairy - Left", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Waterfall Fairy - Left", True, ['Moon Pearl', 'Beat Agahnim 1']],
|
||||
["Waterfall Fairy - Left", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Waterfall Fairy - Left", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
["Waterfall Fairy - Right", False, []],
|
||||
["Waterfall Fairy - Right", False, [], ['Moon Pearl']],
|
||||
["Waterfall Fairy - Right", True, ['Moon Pearl', 'Pegasus Boots']],
|
||||
["Waterfall Fairy - Right", True, ['Moon Pearl', 'Beat Agahnim 1']],
|
||||
["Waterfall Fairy - Right", True, ['Moon Pearl', 'Progressive Glove', 'Hammer']],
|
||||
["Waterfall Fairy - Right", True, ['Moon Pearl', 'Progressive Glove', 'Progressive Glove']],
|
||||
|
||||
# Bomb Merchant is not a separate check, and is only used as part of the Pyramid Fairy rules
|
||||
# ["Bomb Merchant", False, []],
|
||||
# ["Bomb Merchant", False, [], ['Crystal 5']],
|
||||
# ["Bomb Merchant", False, [], ['Crystal 6']],
|
||||
# ["Bomb Merchant", True, ['Crystal 5', 'Crystal 6', 'Moon Pearl', 'Pegasus Boots']],
|
||||
# ["Bomb Merchant", True, ['Crystal 5', 'Crystal 6', 'Magic Mirror', 'Pegasus Boots']],
|
||||
# ["Bomb Merchant", True, ['Crystal 5', 'Crystal 6', 'Beat Agahnim 1']],
|
||||
|
||||
["Ganon", False, []],
|
||||
])
|
||||
0
test/inverted_owg/__init__.py
Normal file
0
test/inverted_owg/__init__.py
Normal file
Reference in New Issue
Block a user