Merge branch 'MinorFixes' into DoorDev
This commit is contained in:
@@ -9,6 +9,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
|
||||||
|
|
||||||
@@ -287,6 +288,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
|
||||||
@@ -342,6 +344,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():
|
||||||
@@ -2007,7 +2013,7 @@ default_door_connections = [
|
|||||||
('Mire Minibridge NE', 'Mire Right Bridge SE'),
|
('Mire Minibridge NE', 'Mire Right Bridge SE'),
|
||||||
('Mire BK Door Room EN', 'Mire Ledgehop WN'),
|
('Mire BK Door Room EN', 'Mire Ledgehop WN'),
|
||||||
('Mire BK Door Room N', 'Mire Left Bridge S'),
|
('Mire BK Door Room N', 'Mire Left Bridge S'),
|
||||||
('Mire Spikes SW', 'Mire Crystal Dead End NE'),
|
('Mire Spikes SW', 'Mire Crystal Dead End NW'),
|
||||||
('Mire Ledgehop NW', 'Mire Bent Bridge SW'),
|
('Mire Ledgehop NW', 'Mire Bent Bridge SW'),
|
||||||
('Mire Bent Bridge W', 'Mire Over Bridge E'),
|
('Mire Bent Bridge W', 'Mire Over Bridge E'),
|
||||||
('Mire Over Bridge W', 'Mire Fishbone E'),
|
('Mire Over Bridge W', 'Mire Fishbone E'),
|
||||||
|
|||||||
6
Doors.py
6
Doors.py
@@ -431,7 +431,7 @@ def create_doors(world, player):
|
|||||||
create_door(player, 'Swamp Big Key Ledge WN', Nrml).dir(We, 0x35, Top, High).pos(1),
|
create_door(player, 'Swamp Big Key Ledge WN', Nrml).dir(We, 0x35, Top, High).pos(1),
|
||||||
create_door(player, 'Swamp West Shallows ES', Nrml).dir(Ea, 0x34, Bot, High).pos(1),
|
create_door(player, 'Swamp West Shallows ES', Nrml).dir(Ea, 0x34, Bot, High).pos(1),
|
||||||
create_door(player, 'Swamp West Shallows Push Blocks', Lgcl),
|
create_door(player, 'Swamp West Shallows Push Blocks', Lgcl),
|
||||||
create_door(player, 'Swamp West Block Path Up Stairs', Sprl).dir(Up, 0x34, 0, HTH).ss(Z, 0x1b, 0x6c, False, True),
|
create_door(player, 'Swamp West Block Path Up Stairs', Sprl).dir(Up, 0x34, 0, HTH).ss(Z, 0x1b, 0x6c),
|
||||||
create_door(player, 'Swamp West Block Path Drop Down', Lgcl),
|
create_door(player, 'Swamp West Block Path Drop Down', Lgcl),
|
||||||
create_door(player, 'Swamp West Ledge Drop Down', Lgcl),
|
create_door(player, 'Swamp West Ledge Drop Down', Lgcl),
|
||||||
create_door(player, 'Swamp West Ledge Hook Path', Lgcl),
|
create_door(player, 'Swamp West Ledge Hook Path', Lgcl),
|
||||||
@@ -440,7 +440,7 @@ def create_doors(world, player):
|
|||||||
create_door(player, 'Swamp Barrier EN', Nrml).dir(Ea, 0x34, Top, High).pos(0),
|
create_door(player, 'Swamp Barrier EN', Nrml).dir(Ea, 0x34, Top, High).pos(0),
|
||||||
create_door(player, 'Swamp Barrier - Orange', Lgcl),
|
create_door(player, 'Swamp Barrier - Orange', Lgcl),
|
||||||
create_door(player, 'Swamp Barrier Ledge Hook Path', Lgcl),
|
create_door(player, 'Swamp Barrier Ledge Hook Path', Lgcl),
|
||||||
create_door(player, 'Swamp Attic Down Stairs', Sprl).dir(Dn, 0x54, 0, HTH).ss(Z, 0x12, 0x80, False, True),
|
create_door(player, 'Swamp Attic Down Stairs', Sprl).dir(Dn, 0x54, 0, HTH).ss(Z, 0x12, 0x80),
|
||||||
create_door(player, 'Swamp Attic Left Pit', Hole),
|
create_door(player, 'Swamp Attic Left Pit', Hole),
|
||||||
create_door(player, 'Swamp Attic Right Pit', Hole),
|
create_door(player, 'Swamp Attic Right Pit', Hole),
|
||||||
create_door(player, 'Swamp Push Statue S', Nrml).dir(So, 0x26, Mid, High).small_key().pos(0),
|
create_door(player, 'Swamp Push Statue S', Nrml).dir(So, 0x26, Mid, High).small_key().pos(0),
|
||||||
@@ -721,7 +721,7 @@ def create_doors(world, player):
|
|||||||
create_door(player, 'Mire Falling Bridge WN', Intr).dir(We, 0xc3, Top, High).pos(1),
|
create_door(player, 'Mire Falling Bridge WN', Intr).dir(We, 0xc3, Top, High).pos(1),
|
||||||
create_door(player, 'Mire Map Spike Side EN', Intr).dir(Ea, 0xc3, Top, High).no_exit().pos(1),
|
create_door(player, 'Mire Map Spike Side EN', Intr).dir(Ea, 0xc3, Top, High).no_exit().pos(1),
|
||||||
create_door(player, 'Mire Map Spot WN', Nrml).dir(We, 0xc3, Top, High).small_key().pos(0),
|
create_door(player, 'Mire Map Spot WN', Nrml).dir(We, 0xc3, Top, High).small_key().pos(0),
|
||||||
create_door(player, 'Mire Crystal Dead End NE', Nrml).dir(No, 0xc3, Right, High).pos(4),
|
create_door(player, 'Mire Crystal Dead End NW', Nrml).dir(No, 0xc3, Left, High).pos(4),
|
||||||
create_door(player, 'Mire Map Spike Side Drop Down', Lgcl),
|
create_door(player, 'Mire Map Spike Side Drop Down', Lgcl),
|
||||||
create_door(player, 'Mire Map Spike Side Blue Barrier', Lgcl),
|
create_door(player, 'Mire Map Spike Side Blue Barrier', Lgcl),
|
||||||
create_door(player, 'Mire Map Spot Blue Barrier', Lgcl),
|
create_door(player, 'Mire Map Spot Blue Barrier', Lgcl),
|
||||||
|
|||||||
@@ -347,6 +347,10 @@ flexible_starts = {
|
|||||||
'Skull Woods': ['Skull Left Drop', 'Skull Pinball']
|
'Skull Woods': ['Skull Left Drop', 'Skull Pinball']
|
||||||
}
|
}
|
||||||
|
|
||||||
|
drop_entrances = [
|
||||||
|
'Sewers Rat Path', 'Skull Pinball', 'Skull Left Drop', 'Skull Back Drop' # Pot circle is unique
|
||||||
|
]
|
||||||
|
|
||||||
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)',
|
||||||
|
|||||||
@@ -534,7 +534,7 @@ def create_regions(world, player):
|
|||||||
create_dungeon_region(player, 'Mire Falling Bridge', 'Misery Mire', ['Misery Mire - Big Chest'], ['Mire Falling Bridge WS', 'Mire Falling Bridge W', 'Mire Falling Bridge WN']),
|
create_dungeon_region(player, 'Mire Falling Bridge', 'Misery Mire', ['Misery Mire - Big Chest'], ['Mire Falling Bridge WS', 'Mire Falling Bridge W', 'Mire Falling Bridge WN']),
|
||||||
create_dungeon_region(player, 'Mire Map Spike Side', 'Misery Mire', None, ['Mire Map Spike Side EN', 'Mire Map Spike Side Drop Down', 'Mire Map Spike Side Blue Barrier']),
|
create_dungeon_region(player, 'Mire Map Spike Side', 'Misery Mire', None, ['Mire Map Spike Side EN', 'Mire Map Spike Side Drop Down', 'Mire Map Spike Side Blue Barrier']),
|
||||||
create_dungeon_region(player, 'Mire Map Spot', 'Misery Mire', ['Misery Mire - Map Chest'], ['Mire Map Spot WN', 'Mire Map Spot Blue Barrier']),
|
create_dungeon_region(player, 'Mire Map Spot', 'Misery Mire', ['Misery Mire - Map Chest'], ['Mire Map Spot WN', 'Mire Map Spot Blue Barrier']),
|
||||||
create_dungeon_region(player, 'Mire Crystal Dead End', 'Misery Mire', None, ['Mire Crystal Dead End Left Barrier', 'Mire Crystal Dead End Right Barrier', 'Mire Crystal Dead End NE']),
|
create_dungeon_region(player, 'Mire Crystal Dead End', 'Misery Mire', None, ['Mire Crystal Dead End Left Barrier', 'Mire Crystal Dead End Right Barrier', 'Mire Crystal Dead End NW']),
|
||||||
create_dungeon_region(player, 'Mire Hidden Shooters', 'Misery Mire', None, ['Mire Hidden Shooters SE', 'Mire Hidden Shooters WS', 'Mire Hidden Shooters ES', 'Mire Hidden Shooters NE']),
|
create_dungeon_region(player, 'Mire Hidden Shooters', 'Misery Mire', None, ['Mire Hidden Shooters SE', 'Mire Hidden Shooters WS', 'Mire Hidden Shooters ES', 'Mire Hidden Shooters NE']),
|
||||||
create_dungeon_region(player, 'Mire Cross', 'Misery Mire', None, ['Mire Cross ES', 'Mire Cross SW']),
|
create_dungeon_region(player, 'Mire Cross', 'Misery Mire', None, ['Mire Cross ES', 'Mire Cross SW']),
|
||||||
create_dungeon_region(player, 'Mire Minibridge', 'Misery Mire', None, ['Mire Minibridge SE', 'Mire Minibridge NE']),
|
create_dungeon_region(player, 'Mire Minibridge', 'Misery Mire', None, ['Mire Minibridge SE', 'Mire Minibridge NE']),
|
||||||
|
|||||||
Reference in New Issue
Block a user