fix(logic): Backwards to Lanmo 2 with Trinexx requires the cape

This commit is contained in:
aerinon
2023-11-15 16:38:19 -07:00
parent c0a06e7986
commit 94d05df72b
4 changed files with 18 additions and 9 deletions

View File

@@ -145,6 +145,7 @@ These are now independent of retro mode and have three options: None, Random, an
* Flute can't be activated in rain state (except glitched modes) (Thanks codemann!) * Flute can't be activated in rain state (except glitched modes) (Thanks codemann!)
* Enemizer * Enemizer
* Arrghus at Lanmo 2 no longer prevents pot pickups * Arrghus at Lanmo 2 no longer prevents pot pickups
* Trinexx at Lanmo 2 requires the Cape go backwards to face him
* Lift-able Blocks require a sprite slot (should help reduce problems) * Lift-able Blocks require a sprite slot (should help reduce problems)
* Fixed logic issues: * Fixed logic issues:
* Self-locking key not allowed in Sanctuary in standard (typo fixed) * Self-locking key not allowed in Sanctuary in standard (typo fixed)

View File

@@ -851,7 +851,7 @@ def create_dungeon_regions(world, player):
create_dungeon_region(player, 'GT Cannonball Bridge', 'Ganon\'s Tower', None, ['GT Cannonball Bridge WN', 'GT Cannonball Bridge Up Stairs', 'GT Cannonball Bridge SE']), create_dungeon_region(player, 'GT Cannonball Bridge', 'Ganon\'s Tower', None, ['GT Cannonball Bridge WN', 'GT Cannonball Bridge Up Stairs', 'GT Cannonball Bridge SE']),
create_dungeon_region(player, 'GT Refill', 'Ganon\'s Tower', None, ['GT Refill NE']), create_dungeon_region(player, 'GT Refill', 'Ganon\'s Tower', None, ['GT Refill NE']),
create_dungeon_region(player, 'GT Gauntlet 1', 'Ganon\'s Tower', None, ['GT Gauntlet 1 Down Stairs', 'GT Gauntlet 1 WN']), create_dungeon_region(player, 'GT Gauntlet 1', 'Ganon\'s Tower', None, ['GT Gauntlet 1 Down Stairs', 'GT Gauntlet 1 WN']),
create_dungeon_region(player, 'GT Gauntlet 2', 'Ganon\'s Tower', None, ['GT Gauntlet 2 EN', 'GT Gauntlet 2 SW']), create_dungeon_region(player, 'GT Gauntlet 2', 'Ganon\'s TowerA', None, ['GT Gauntlet 2 EN', 'GT Gauntlet 2 SW']),
create_dungeon_region(player, 'GT Gauntlet 3', 'Ganon\'s Tower', None, ['GT Gauntlet 3 NW', 'GT Gauntlet 3 SW']), create_dungeon_region(player, 'GT Gauntlet 3', 'Ganon\'s Tower', None, ['GT Gauntlet 3 NW', 'GT Gauntlet 3 SW']),
create_dungeon_region(player, 'GT Gauntlet 4', 'Ganon\'s Tower', None, ['GT Gauntlet 4 NW', 'GT Gauntlet 4 SW']), create_dungeon_region(player, 'GT Gauntlet 4', 'Ganon\'s Tower', None, ['GT Gauntlet 4 NW', 'GT Gauntlet 4 SW']),
create_dungeon_region(player, 'GT Gauntlet 5', 'Ganon\'s Tower', None, ['GT Gauntlet 5 NW', 'GT Gauntlet 5 WS']), create_dungeon_region(player, 'GT Gauntlet 5', 'Ganon\'s Tower', None, ['GT Gauntlet 5 NW', 'GT Gauntlet 5 WS']),

View File

@@ -542,6 +542,10 @@ def global_rules(world, player):
set_rule(world.get_entrance('GT Cannonball Bridge SE', player), lambda state: state.has_Boots(player)) set_rule(world.get_entrance('GT Cannonball Bridge SE', player), lambda state: state.has_Boots(player))
set_rule(world.get_entrance('GT Lanmolas 2 ES', player), lambda state: world.get_region('GT Lanmolas 2', player).dungeon.bosses['middle'].can_defeat(state)) set_rule(world.get_entrance('GT Lanmolas 2 ES', player), lambda state: world.get_region('GT Lanmolas 2', player).dungeon.bosses['middle'].can_defeat(state))
set_rule(world.get_entrance('GT Lanmolas 2 NW', player), lambda state: world.get_region('GT Lanmolas 2', player).dungeon.bosses['middle'].can_defeat(state)) set_rule(world.get_entrance('GT Lanmolas 2 NW', player), lambda state: world.get_region('GT Lanmolas 2', player).dungeon.bosses['middle'].can_defeat(state))
# Need cape to safely get past trinexx backwards in this room, makes magic usage tighter
# Could not guarantee safety with byrna, not sure why
if world.get_region('GT Lanmolas 2', player).dungeon.bosses['middle'].name == 'Trinexx':
add_rule(world.get_entrance('GT Quad Pot SW', player), lambda state: state.has('Cape', player))
set_rule(world.get_entrance('GT Torch Cross ES', player), lambda state: state.has_fire_source(player)) set_rule(world.get_entrance('GT Torch Cross ES', player), lambda state: state.has_fire_source(player))
if is_trapped('GT Torch Cross WN'): if is_trapped('GT Torch Cross WN'):
set_rule(world.get_entrance('GT Torch Cross WN', player), lambda state: state.has_fire_source(player)) set_rule(world.get_entrance('GT Torch Cross WN', player), lambda state: state.has_fire_source(player))

View File

@@ -1,13 +1,13 @@
meta: meta:
players: 1 players: 1
seed: 94 seed: 91
settings: settings:
1: 1:
# mode: standard # mode: standard
# boss_shuffle: random boss_shuffle: random
dropshuffle: underworld # dropshuffle: underworld
enemy_shuffle: shuffled # enemy_shuffle: shuffled
door_shuffle: crossed door_shuffle: crossed
intensity: 3 intensity: 3
@@ -18,12 +18,16 @@ doors:
Hyrule Castle South: GT Lobby S Hyrule Castle South: GT Lobby S
doors: doors:
GT Lobby Left Down Stairs: GT Quad Pot Up Stairs GT Lobby Left Down Stairs: GT Quad Pot Up Stairs
GT Lobby Right Down Stairs: GT Lobby Up Stairs
GT Beam Dash ES: Swamp Big Key Ledge WN
bosses: bosses:
1: 1:
Ganons Tower (middle): Arrghus Ganons Tower (middle): Trinexx
#placements: placements:
# 1: 1:
# Desert Palace - Torch: Small Key (Escape) Swamp Palace - Big Key Chest: Progressive Glove
Lumberjack Tree: Piece of Heart
# keyshuffle: wild # keyshuffle: wild