From 77667668c95fd2fe7eba19c589b3d2d697d58477 Mon Sep 17 00:00:00 2001 From: aerinon Date: Tue, 12 Nov 2019 06:49:52 -0700 Subject: [PATCH] Drop entrances not part of dungeon gen --- DoorShuffle.py | 6 ++++++ Dungeons.py | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/DoorShuffle.py b/DoorShuffle.py index fa7338cb..92361a71 100644 --- a/DoorShuffle.py +++ b/DoorShuffle.py @@ -8,6 +8,7 @@ from functools import reduce from BaseClasses import RegionType, Door, DoorType, Direction, Sector, Polarity, CrystalBarrier from Dungeons import hyrule_castle_regions, eastern_regions, desert_regions, hera_regions, tower_regions, pod_regions from Dungeons import dungeon_regions, region_starts, split_region_starts, dungeon_keys, dungeon_bigs, flexible_starts +from Dungeons import drop_entrances from RoomData import DoorKind, PairedDoor from DungeonGenerator import ExplorationState, convert_regions, generate_dungeon @@ -254,6 +255,7 @@ def within_dungeon(world, player): for key, sector_list, entrance_list in dungeon_sectors: origin_list = list(entrance_list) find_enabled_origins(sector_list, enabled_entrances, origin_list) + remove_drop_origins(origin_list) ds = generate_dungeon(sector_list, origin_list, world, player) find_new_entrances(ds, connections, potentials, enabled_entrances) ds.name = key @@ -307,6 +309,10 @@ def find_enabled_origins(sectors, enabled, entrance_list): entrance_list.append(region.name) +def remove_drop_origins(entrance_list): + entrance_list[:] = [x for x in entrance_list if x not in drop_entrances] + + def find_new_entrances(sector, connections, potentials, enabled): for region in sector.regions: if region.name in connections.keys() and connections[region.name] in potentials.keys(): diff --git a/Dungeons.py b/Dungeons.py index 071b89df..69aadc88 100644 --- a/Dungeons.py +++ b/Dungeons.py @@ -326,6 +326,10 @@ flexible_starts = { 'Skull Woods': ['Skull Left Drop', 'Skull Pinball'] } +drop_entrances = [ + 'Sewers Rat Path', 'Skull Pot Circle', 'Skull Pinball', 'Skull Left Drop', 'Skull Back Drop' +] + dungeon_keys = { 'Hyrule Castle': 'Small Key (Escape)', 'Eastern Palace': 'Small Key (Eastern Palace)',