Drop entrances not part of dungeon gen
This commit is contained in:
@@ -8,6 +8,7 @@ from functools import reduce
|
|||||||
from BaseClasses import RegionType, Door, DoorType, Direction, Sector, Polarity, CrystalBarrier
|
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 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 dungeon_regions, region_starts, split_region_starts, dungeon_keys, dungeon_bigs, flexible_starts
|
||||||
|
from Dungeons import drop_entrances
|
||||||
from RoomData import DoorKind, PairedDoor
|
from RoomData import DoorKind, PairedDoor
|
||||||
from DungeonGenerator import ExplorationState, convert_regions, generate_dungeon
|
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:
|
for key, sector_list, entrance_list in dungeon_sectors:
|
||||||
origin_list = list(entrance_list)
|
origin_list = list(entrance_list)
|
||||||
find_enabled_origins(sector_list, enabled_entrances, origin_list)
|
find_enabled_origins(sector_list, enabled_entrances, origin_list)
|
||||||
|
remove_drop_origins(origin_list)
|
||||||
ds = generate_dungeon(sector_list, origin_list, world, player)
|
ds = generate_dungeon(sector_list, origin_list, world, player)
|
||||||
find_new_entrances(ds, connections, potentials, enabled_entrances)
|
find_new_entrances(ds, connections, potentials, enabled_entrances)
|
||||||
ds.name = key
|
ds.name = key
|
||||||
@@ -307,6 +309,10 @@ def find_enabled_origins(sectors, enabled, entrance_list):
|
|||||||
entrance_list.append(region.name)
|
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):
|
def find_new_entrances(sector, connections, potentials, enabled):
|
||||||
for region in sector.regions:
|
for region in sector.regions:
|
||||||
if region.name in connections.keys() and connections[region.name] in potentials.keys():
|
if region.name in connections.keys() and connections[region.name] in potentials.keys():
|
||||||
|
|||||||
@@ -326,6 +326,10 @@ flexible_starts = {
|
|||||||
'Skull Woods': ['Skull Left Drop', 'Skull Pinball']
|
'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 = {
|
dungeon_keys = {
|
||||||
'Hyrule Castle': 'Small Key (Escape)',
|
'Hyrule Castle': 'Small Key (Escape)',
|
||||||
'Eastern Palace': 'Small Key (Eastern Palace)',
|
'Eastern Palace': 'Small Key (Eastern Palace)',
|
||||||
|
|||||||
Reference in New Issue
Block a user