Placing Sanc Drop in DW if HC in DW and non-crossworld
This commit is contained in:
@@ -442,14 +442,18 @@ def do_holes_and_linked_drops(entrances, exits, avail, cross_world, keep_togethe
|
||||
hole_targets.append((target_exit, target_drop))
|
||||
|
||||
random.shuffle(hole_entrances)
|
||||
if not cross_world and avail.is_sanc_forced_in_hc() and 'Sanctuary Grave' in holes_to_shuffle:
|
||||
lw_entrance = next(entrance for entrance in hole_entrances if entrance[0] in LW_Entrances)
|
||||
hole_entrances.remove(lw_entrance)
|
||||
if not cross_world and 'Sanctuary Grave' in holes_to_shuffle:
|
||||
hc = avail.world.get_entrance('Hyrule Castle Exit (South)', avail.player)
|
||||
if hc.connected_region and hc.connected_region.type == RegionType.DarkWorld:
|
||||
chosen_entrance = next(entrance for entrance in hole_entrances if entrance[0] in DW_Entrances)
|
||||
if not chosen_entrance:
|
||||
chosen_entrance = next(entrance for entrance in hole_entrances if entrance[0] in LW_Entrances)
|
||||
hole_entrances.remove(chosen_entrance)
|
||||
sanc_interior = next(target for target in hole_targets if target[0] == 'Sanctuary Exit')
|
||||
hole_targets.remove(sanc_interior)
|
||||
connect_two_way(lw_entrance[0], sanc_interior[0], avail) # two-way exit
|
||||
connect_entrance(lw_entrance[1], sanc_interior[1], avail) # hole
|
||||
remove_from_list(entrances, [lw_entrance[0], lw_entrance[1]])
|
||||
connect_two_way(chosen_entrance[0], sanc_interior[0], avail) # two-way exit
|
||||
connect_entrance(chosen_entrance[1], sanc_interior[1], avail) # hole
|
||||
remove_from_list(entrances, [chosen_entrance[0], chosen_entrance[1]])
|
||||
remove_from_list(exits, [sanc_interior[0], sanc_interior[1]])
|
||||
|
||||
random.shuffle(hole_targets)
|
||||
|
||||
Reference in New Issue
Block a user