Allow Blind's Cell to be shuffled if Blind is not the boss

This commit is contained in:
aerinon
2021-09-14 15:40:55 -06:00
parent c5f6c46bd8
commit eab9404398
3 changed files with 8 additions and 4 deletions

View File

@@ -585,7 +585,8 @@ def determine_paths_for_dungeon(world, player, all_regions, name):
paths.append(boss) paths.append(boss)
if 'Thieves Boss' in all_r_names: if 'Thieves Boss' in all_r_names:
paths.append('Thieves Boss') paths.append('Thieves Boss')
paths.append(('Thieves Blind\'s Cell', 'Thieves Boss')) if world.get_dungeon("Thieves Town", player).boss.enemizer_name == 'Blind':
paths.append(('Thieves Blind\'s Cell', 'Thieves Boss'))
for drop_check in drop_path_checks: for drop_check in drop_path_checks:
if drop_check in all_r_names: if drop_check in all_r_names:
paths.append((drop_check, non_hole_portals)) paths.append((drop_check, non_hole_portals))
@@ -1275,6 +1276,9 @@ def create_dungeon_builders(all_sectors, connections_tuple, world, player,
for r_name in ['Hyrule Dungeon Cellblock', 'Sanctuary']: # need to deliver zelda for r_name in ['Hyrule Dungeon Cellblock', 'Sanctuary']: # need to deliver zelda
assign_sector(find_sector(r_name, candidate_sectors), current_dungeon, assign_sector(find_sector(r_name, candidate_sectors), current_dungeon,
candidate_sectors, global_pole) candidate_sectors, global_pole)
if key == 'Thieves Town' and world.get_dungeon("Thieves Town", player).boss.enemizer_name == 'Blind':
assign_sector(find_sector("Thieves Blind's Cell", candidate_sectors), current_dungeon,
candidate_sectors, global_pole)
entrances_map, potentials, connections = connections_tuple entrances_map, potentials, connections = connections_tuple
accessible_sectors, reverse_d_map = set(), {} accessible_sectors, reverse_d_map = set(), {}
for key in dungeon_entrances.keys(): for key in dungeon_entrances.keys():
@@ -3898,7 +3902,7 @@ dungeon_boss_sectors = {
'Palace of Darkness': ['PoD Boss'], 'Palace of Darkness': ['PoD Boss'],
'Swamp Palace': ['Swamp Boss'], 'Swamp Palace': ['Swamp Boss'],
'Skull Woods': ['Skull Boss'], 'Skull Woods': ['Skull Boss'],
'Thieves Town': ['Thieves Blind\'s Cell', 'Thieves Boss'], 'Thieves Town': ['Thieves Boss'],
'Ice Palace': ['Ice Boss'], 'Ice Palace': ['Ice Boss'],
'Misery Mire': ['Mire Boss'], 'Misery Mire': ['Mire Boss'],
'Turtle Rock': ['TR Boss'], 'Turtle Rock': ['TR Boss'],

View File

@@ -4,7 +4,6 @@ import math
import RaceRandom as random import RaceRandom as random
from BaseClasses import Region, RegionType, Shop, ShopType, Location, CollectionState from BaseClasses import Region, RegionType, Shop, ShopType, Location, CollectionState
from Bosses import place_bosses
from Dungeons import get_dungeon_item_pool from Dungeons import get_dungeon_item_pool
from EntranceShuffle import connect_entrance from EntranceShuffle import connect_entrance
from Regions import shop_to_location_table, retro_shops, shop_table_by_location from Regions import shop_to_location_table, retro_shops, shop_table_by_location
@@ -371,7 +370,6 @@ def generate_itempool(world, player):
tr_medallion = ['Ether', 'Quake', 'Bombos'][random.randint(0, 2)] tr_medallion = ['Ether', 'Quake', 'Bombos'][random.randint(0, 2)]
world.required_medallions[player] = (mm_medallion, tr_medallion) world.required_medallions[player] = (mm_medallion, tr_medallion)
place_bosses(world, player)
set_up_shops(world, player) set_up_shops(world, player)
if world.retro[player]: if world.retro[player]:

View File

@@ -10,6 +10,7 @@ import time
import zlib import zlib
from BaseClasses import World, CollectionState, Item, Region, Location, Shop, Entrance, Settings from BaseClasses import World, CollectionState, Item, Region, Location, Shop, Entrance, Settings
from Bosses import place_bosses
from Items import ItemFactory from Items import ItemFactory
from KeyDoorShuffle import validate_key_placement from KeyDoorShuffle import validate_key_placement
from OverworldGlitchRules import create_owg_connections from OverworldGlitchRules import create_owg_connections
@@ -146,6 +147,7 @@ def main(args, seed=None, fish=None):
create_rooms(world, player) create_rooms(world, player)
create_dungeons(world, player) create_dungeons(world, player)
adjust_locations(world, player) adjust_locations(world, player)
place_bosses(world, player)
if any(world.potshuffle.values()): if any(world.potshuffle.values()):
logger.info(world.fish.translate("cli", "cli", "shuffling.pots")) logger.info(world.fish.translate("cli", "cli", "shuffling.pots"))