Mire Falling Bridge logic refinement for possible trap door movement
This commit is contained in:
@@ -3593,6 +3593,8 @@ logical_connections = [
|
||||
('Mire Hub Top Blue Barrier', 'Mire Hub Switch'),
|
||||
('Mire Hub Switch Blue Barrier N', 'Mire Hub Top'),
|
||||
('Mire Hub Switch Blue Barrier S', 'Mire Hub'),
|
||||
('Mire Falling Bridge Hook Path', 'Mire Falling Bridge - Chest'),
|
||||
('Mire Falling Bridge Hook Only Path', 'Mire Falling Bridge - Chest'),
|
||||
('Mire Map Spike Side Drop Down', 'Mire Lone Shooter'),
|
||||
('Mire Map Spike Side Blue Barrier', 'Mire Crystal Dead End'),
|
||||
('Mire Map Spot Blue Barrier', 'Mire Crystal Dead End'),
|
||||
@@ -3725,6 +3727,8 @@ vanilla_logical_connections = [
|
||||
('Ice Cross Right Push Block Bottom', 'Ice Compass Room'),
|
||||
('Ice Cross Bottom Push Block Right', 'Ice Pengator Switch'),
|
||||
('Ice Cross Top Push Block Right', 'Ice Pengator Switch'),
|
||||
('Mire Falling Bridge Primary Path', 'Mire Lone Shooter'),
|
||||
('Mire Falling Bridge Failure Path', 'Mire Failure Bridge'),
|
||||
]
|
||||
|
||||
spiral_staircases = [
|
||||
|
||||
8
Doors.py
8
Doors.py
@@ -847,6 +847,10 @@ def create_doors(world, player):
|
||||
create_door(player, 'Mire Failure Bridge E', Intr).dir(Ea, 0xc3, Mid, High).no_exit().trap(0x1).pos(2),
|
||||
create_door(player, 'Mire Failure Bridge W', Nrml).dir(We, 0xc3, Mid, High).pos(5),
|
||||
create_door(player, 'Mire Falling Bridge WN', Intr).dir(We, 0xc3, Top, High).pos(1),
|
||||
create_door(player, 'Mire Falling Bridge Hook Path', Lgcl),
|
||||
create_door(player, 'Mire Falling Bridge Hook Only Path', Lgcl),
|
||||
create_door(player, 'Mire Falling Bridge Primary Path', Lgcl), # dynamic
|
||||
create_door(player, 'Mire Falling Bridge Failure Path', Lgcl), # dynamic
|
||||
create_door(player, 'Mire Map Spike Side EN', Intr).dir(Ea, 0xc3, Top, High).no_exit().trap(0x2).pos(1),
|
||||
create_door(player, 'Mire Map Spot WN', Nrml).dir(We, 0xc3, Top, High).small_key().pos(0),
|
||||
create_door(player, 'Mire Crystal Dead End NW', Nrml).dir(No, 0xc3, Left, High).pos(4),
|
||||
@@ -1477,6 +1481,10 @@ def create_doors(world, player):
|
||||
controller_door(south_controller, world.get_door('Ice Cross Top Push Block Bottom', player))
|
||||
controller_door(east_controller, world.get_door('Ice Cross Bottom Push Block Right', player))
|
||||
controller_door(east_controller, world.get_door('Ice Cross Top Push Block Right', player))
|
||||
failure_controller = world.get_door('Mire Falling Bridge W', player)
|
||||
primary_controller = world.get_door('Mire Falling Bridge WS', player)
|
||||
controller_door(failure_controller, world.get_door('Mire Falling Bridge Failure Path', player))
|
||||
controller_door(primary_controller, world.get_door('Mire Falling Bridge Primary Path', player))
|
||||
|
||||
assign_entrances(world, player)
|
||||
|
||||
|
||||
18
Dungeons.py
18
Dungeons.py
@@ -155,14 +155,16 @@ ice_regions = [
|
||||
|
||||
mire_regions = [
|
||||
'Mire Lobby', 'Mire Post-Gap', 'Mire 2', 'Mire Hub', 'Mire Hub Right', 'Mire Hub Top', 'Mire Hub Switch',
|
||||
'Mire Lone Shooter', 'Mire Failure Bridge', 'Mire Falling Bridge', 'Mire Map Spike Side', 'Mire Map Spot',
|
||||
'Mire Crystal Dead End', 'Mire Hidden Shooters', 'Mire Hidden Shooters Blocked', 'Mire Cross', 'Mire Minibridge',
|
||||
'Mire BK Door Room', 'Mire Spikes', 'Mire Ledgehop', 'Mire Bent Bridge', 'Mire Over Bridge', 'Mire Right Bridge',
|
||||
'Mire Left Bridge', 'Mire Fishbone', 'Mire South Fish', 'Mire Spike Barrier', 'Mire Square Rail', 'Mire Lone Warp',
|
||||
'Mire Wizzrobe Bypass', 'Mire Conveyor Crystal', 'Mire Conveyor - Crystal', 'Mire Tile Room', 'Mire Compass Room', 'Mire Compass Chest',
|
||||
'Mire Neglected Room', 'Mire Chest View', 'Mire Conveyor Barrier', 'Mire BK Chest Ledge', 'Mire Warping Pool',
|
||||
'Mire Torches Top', 'Mire Torches Bottom', 'Mire Attic Hint', 'Mire Dark Shooters', 'Mire Key Rupees',
|
||||
'Mire Block X', 'Mire Tall Dark and Roomy', 'Mire Tall Dark and Roomy - Ranged Crystal', 'Mire Crystal Right', 'Mire Crystal Mid', 'Mire Crystal Left',
|
||||
'Mire Lone Shooter', 'Mire Failure Bridge', 'Mire Falling Bridge - Primary', 'Mire Falling Bridge - Failure',
|
||||
'Mire Falling Bridge - Chest', 'Mire Map Spike Side', 'Mire Map Spot', 'Mire Crystal Dead End',
|
||||
'Mire Hidden Shooters', 'Mire Hidden Shooters Blocked', 'Mire Cross', 'Mire Minibridge', 'Mire BK Door Room',
|
||||
'Mire Spikes', 'Mire Ledgehop', 'Mire Bent Bridge', 'Mire Over Bridge', 'Mire Right Bridge', 'Mire Left Bridge',
|
||||
'Mire Fishbone', 'Mire South Fish', 'Mire Spike Barrier', 'Mire Square Rail', 'Mire Lone Warp',
|
||||
'Mire Wizzrobe Bypass', 'Mire Conveyor Crystal', 'Mire Conveyor - Crystal', 'Mire Tile Room', 'Mire Compass Room',
|
||||
'Mire Compass Chest', 'Mire Neglected Room', 'Mire Chest View', 'Mire Conveyor Barrier', 'Mire BK Chest Ledge',
|
||||
'Mire Warping Pool', 'Mire Torches Top', 'Mire Torches Bottom', 'Mire Attic Hint', 'Mire Dark Shooters',
|
||||
'Mire Key Rupees', 'Mire Block X', 'Mire Tall Dark and Roomy', 'Mire Tall Dark and Roomy - Ranged Crystal',
|
||||
'Mire Crystal Right', 'Mire Crystal Mid', 'Mire Crystal Left',
|
||||
'Mire Crystal Top', 'Mire Shooter Rupees', 'Mire Falling Foes', 'Mire Firesnake Skip', 'Mire Antechamber',
|
||||
'Mire Boss', 'Mire Portal'
|
||||
]
|
||||
|
||||
@@ -636,7 +636,12 @@ def create_dungeon_regions(world, player):
|
||||
create_dungeon_region(player, 'Mire Hub Switch', 'Misery Mire', ['Misery Mire - Main Lobby'], ['Mire Hub Switch Blue Barrier N', 'Mire Hub Switch Blue Barrier S']),
|
||||
create_dungeon_region(player, 'Mire Lone Shooter', 'Misery Mire', None, ['Mire Lone Shooter WS', 'Mire Lone Shooter ES']),
|
||||
create_dungeon_region(player, 'Mire Failure Bridge', 'Misery Mire', None, ['Mire Failure Bridge W', 'Mire Failure Bridge E']),
|
||||
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 - Failure', 'Misery Mire', None,
|
||||
['Mire Falling Bridge W', 'Mire Falling Bridge Hook Only Path', 'Mire Falling Bridge Primary Path']),
|
||||
create_dungeon_region(player, 'Mire Falling Bridge - Primary', 'Misery Mire', None,
|
||||
['Mire Falling Bridge WS', 'Mire Falling Bridge Hook Path', 'Mire Falling Bridge Failure Path']),
|
||||
create_dungeon_region(player, 'Mire Falling Bridge - Chest', 'Misery Mire', ['Misery Mire - Big Chest'],
|
||||
['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 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 NW']),
|
||||
|
||||
9
Rules.py
9
Rules.py
@@ -314,7 +314,8 @@ def global_rules(world, player):
|
||||
|
||||
set_rule(world.get_entrance('Mire Lobby Gap', player), lambda state: state.has_Boots(player) or state.has('Hookshot', player))
|
||||
set_rule(world.get_entrance('Mire Post-Gap Gap', player), lambda state: state.has_Boots(player) or state.has('Hookshot', player))
|
||||
set_rule(world.get_entrance('Mire Falling Bridge WN', player), lambda state: state.has_Boots(player) or state.has('Hookshot', player)) # this is due to the fact the the door opposite is blocked
|
||||
set_rule(world.get_entrance('Mire Falling Bridge Hook Path', player), lambda state: state.has_Boots(player) or state.has('Hookshot', player))
|
||||
set_rule(world.get_entrance('Mire Falling Bridge Hook Only Path', player), lambda state: state.has('Hookshot', player))
|
||||
set_rule(world.get_entrance('Mire 2 NE', player), lambda state: state.has_sword(player) or
|
||||
(state.has('Fire Rod', player) and (state.can_use_bombs(player) or state.can_extend_magic(player, 9))) or # 9 fr shots or 8 with some bombs
|
||||
(state.has('Ice Rod', player) and state.can_use_bombs(player)) or # freeze popo and throw, bomb to finish
|
||||
@@ -2021,9 +2022,9 @@ bunny_impassible_doors = {
|
||||
'Ice Backwards Room Hole', 'Ice Switch Room SE', 'Ice Antechamber NE', 'Ice Antechamber Hole', 'Mire Lobby Gap',
|
||||
'Mire Post-Gap Gap', 'Mire 2 NE', 'Mire Hub Upper Blue Barrier', 'Mire Hub Lower Blue Barrier',
|
||||
'Mire Hub Right Blue Barrier', 'Mire Hub Top Blue Barrier', 'Mire Hub Switch Blue Barrier N',
|
||||
'Mire Hub Switch Blue Barrier S', 'Mire Falling Bridge WN', 'Mire Map Spike Side Blue Barrier',
|
||||
'Mire Map Spot Blue Barrier', 'Mire Crystal Dead End Left Barrier', 'Mire Crystal Dead End Right Barrier',
|
||||
'Mire Cross ES', 'Mire Left Bridge Hook Path', 'Mire Fishbone Blue Barrier',
|
||||
'Mire Hub Switch Blue Barrier S', 'Mire Falling Bridge Hook Path', 'Mire Falling Bridge Hook Only Path',
|
||||
'Mire Map Spike Side Blue Barrier', 'Mire Map Spot Blue Barrier', 'Mire Crystal Dead End Left Barrier',
|
||||
'Mire Crystal Dead End Right Barrier', 'Mire Cross ES', 'Mire Left Bridge Hook Path', 'Mire Fishbone Blue Barrier',
|
||||
'Mire South Fish Blue Barrier', 'Mire Tile Room NW', 'Mire Compass Blue Barrier', 'Mire Attic Hint Hole',
|
||||
'Mire Dark Shooters SW', 'Mire Crystal Mid Blue Barrier', 'Mire Crystal Left Blue Barrier', 'TR Main Lobby Gap',
|
||||
'TR Lobby Ledge Gap', 'TR Hub SW', 'TR Hub SE', 'TR Hub ES', 'TR Hub EN', 'TR Hub NW', 'TR Hub NE', 'TR Hub Path',
|
||||
|
||||
Reference in New Issue
Block a user