From caffd7e34c7cdd049445f90738a398e6d160a027 Mon Sep 17 00:00:00 2001 From: AmazingAmpharos Date: Sat, 24 Feb 2018 22:42:18 -0600 Subject: [PATCH] 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. --- BaseClasses.py | 1 + EntranceShuffle.py | 32 +++++++++++++++++--------------- Fill.py | 2 +- Main.py | 2 +- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/BaseClasses.py b/BaseClasses.py index fe772105..7c61ac96 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -33,6 +33,7 @@ class World(object): self.swamp_patch_required = False self.powder_patch_required = False self.ganon_at_pyramid = True + self.ganonstower_vanilla = True self.sewer_light_cone = mode == 'standard' self.light_world_light_cone = False self.dark_world_light_cone = False diff --git a/EntranceShuffle.py b/EntranceShuffle.py index 36bf7a68..9d4458c6 100644 --- a/EntranceShuffle.py +++ b/EntranceShuffle.py @@ -1034,6 +1034,10 @@ def link_entrances(world): if world.get_entrance('Pyramid Hole').connected_region.name != 'Pyramid': 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): 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)', 'Agahnims Tower', 'Desert Palace Entrance (West)', - 'Desert Palace Entrance (North)', - 'Old Man Cave (West)', + 'Desert Palace Entrance (North)' # all entrances below this line would be possible for blacksmith_hut # 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 = [] +Blacksmith_Multi_Cave_Doors = ['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'] LW_Single_Cave_Doors = ['Blinds Hideout', 'Lake Hylia Fairy', diff --git a/Fill.py b/Fill.py index b663e088..c1becd44 100644 --- a/Fill.py +++ b/Fill.py @@ -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] # 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] random.shuffle(gtower_locations) trashcnt = 0 diff --git a/Main.py b/Main.py index 8d4916ee..086df203 100644 --- a/Main.py +++ b/Main.py @@ -15,7 +15,7 @@ from Fill import distribute_items_cutoff, distribute_items_staleness, distribute from ItemList import generate_itempool, difficulties 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, 55, 60, 32, 174, 77, 128, 147, 3, 1, 118, 74, 50, 243, 6, 251, 36,