GT filler and smith locations fixes

GT now pre-fills with junk if it's in the vanilla location regardless of the state of the shuffleganon flag.

The smith is now allowed to be in multi-entrance cave locations in the appropriate shuffles. A duplicate Old Man Cave (West) from bomb shop multis was also removed.
This commit is contained in:
AmazingAmpharos 2018-02-24 22:42:18 -06:00 committed by GitHub
parent f3e5e5faa5
commit caffd7e34c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 17 deletions

View File

@ -33,6 +33,7 @@ class World(object):
self.swamp_patch_required = False self.swamp_patch_required = False
self.powder_patch_required = False self.powder_patch_required = False
self.ganon_at_pyramid = True self.ganon_at_pyramid = True
self.ganonstower_vanilla = True
self.sewer_light_cone = mode == 'standard' self.sewer_light_cone = mode == 'standard'
self.light_world_light_cone = False self.light_world_light_cone = False
self.dark_world_light_cone = False self.dark_world_light_cone = False

View File

@ -1034,6 +1034,10 @@ def link_entrances(world):
if world.get_entrance('Pyramid Hole').connected_region.name != 'Pyramid': if world.get_entrance('Pyramid Hole').connected_region.name != 'Pyramid':
world.ganon_at_pyramid = False world.ganon_at_pyramid = False
# check for Ganon's Tower location
if world.get_entrance('Ganons Tower').connected_region.name != 'Ganons Tower (Entrance)':
world.ganonstower_vanilla = False
def connect_simple(world, exitname, regionname): def connect_simple(world, exitname, regionname):
world.get_entrance(exitname).connect(world.get_region(regionname)) world.get_entrance(exitname).connect(world.get_region(regionname))
@ -1424,24 +1428,22 @@ Bomb_Shop_Multi_Cave_Doors = ['Hyrule Castle Entrance (South)',
'Hyrule Castle Entrance (East)', 'Hyrule Castle Entrance (East)',
'Agahnims Tower', 'Agahnims Tower',
'Desert Palace Entrance (West)', 'Desert Palace Entrance (West)',
'Desert Palace Entrance (North)', 'Desert Palace Entrance (North)'
'Old Man Cave (West)',
# all entrances below this line would be possible for blacksmith_hut # all entrances below this line would be possible for blacksmith_hut
# if it were not for dwarf checking multi-entrance caves # if it were not for dwarf checking multi-entrance caves
'Eastern Palace', ]
'Elder House (East)',
'Elder House (West)',
'Two Brothers House (East)',
'Old Man Cave (West)',
'Sanctuary',
'Lumberjack Tree Cave',
'Lost Woods Hideout Stump',
'North Fairy Cave',
'Bat Cave Cave',
'Kakariko Well Cave']
#unfortunately blacksmith cannot occur in multi entrance caves, because the dwarf would refuse to enter. Blacksmith_Multi_Cave_Doors = ['Eastern Palace',
Blacksmith_Multi_Cave_Doors = [] 'Elder House (East)',
'Elder House (West)',
'Two Brothers House (East)',
'Old Man Cave (West)',
'Sanctuary',
'Lumberjack Tree Cave',
'Lost Woods Hideout Stump',
'North Fairy Cave',
'Bat Cave Cave',
'Kakariko Well Cave']
LW_Single_Cave_Doors = ['Blinds Hideout', LW_Single_Cave_Doors = ['Blinds Hideout',
'Lake Hylia Fairy', 'Lake Hylia Fairy',

View File

@ -207,7 +207,7 @@ def distribute_items_restrictive(world, gftower_trash_count=0, fill_locations=No
restitempool = [item for item in world.itempool if not item.advancement and not item.priority] restitempool = [item for item in world.itempool if not item.advancement and not item.priority]
# fill in gtower locations with trash first # fill in gtower locations with trash first
if not world.shuffle_ganon: if world.ganonstower_vanilla:
gtower_locations = [location for location in fill_locations if 'Ganons Tower' in location.name] gtower_locations = [location for location in fill_locations if 'Ganons Tower' in location.name]
random.shuffle(gtower_locations) random.shuffle(gtower_locations)
trashcnt = 0 trashcnt = 0

View File

@ -15,7 +15,7 @@ from Fill import distribute_items_cutoff, distribute_items_staleness, distribute
from ItemList import generate_itempool, difficulties from ItemList import generate_itempool, difficulties
from Utils import output_path from Utils import output_path
__version__ = '0.5.2.1-dev' __version__ = '0.6-rc'
logic_hash = [85, 160, 173, 64, 16, 14, 97, 193, 219, 26, 11, 156, 198, 142, 213, 141, logic_hash = [85, 160, 173, 64, 16, 14, 97, 193, 219, 26, 11, 156, 198, 142, 213, 141,
55, 60, 32, 174, 77, 128, 147, 3, 1, 118, 74, 50, 243, 6, 251, 36, 55, 60, 32, 174, 77, 128, 147, 3, 1, 118, 74, 50, 243, 6, 251, 36,