From 834cc26241c611e7fcd982fd048f845cb4b93244 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 20 Apr 2021 23:43:08 -0500 Subject: [PATCH] Added missing flipper logic --- Rules.py | 11 +++++++++++ asm/owrando.asm | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Rules.py b/Rules.py index dfc11f19..9d04033e 100644 --- a/Rules.py +++ b/Rules.py @@ -128,6 +128,7 @@ def global_rules(world, player): set_rule(world.get_entrance('Flute Spot 7', player), lambda state: state.can_flute(player)) set_rule(world.get_entrance('Flute Spot 8', player), lambda state: state.can_flute(player)) + #TODO: Remove the water drop ones, they should be redundant set_rule(world.get_entrance('C Whirlpool', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Useless Fairy Whirlpool', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Lake Hylia Whirlpool', player), lambda state: state.has('Flippers', player)) @@ -518,6 +519,9 @@ def default_rules(world, player): set_rule(world.get_entrance('Flute Away', player), lambda state: state.can_flute(player)) + set_rule(world.get_entrance('Zora Warning Water Drop', player), lambda state: state.has('Flippers', player)) + set_rule(world.get_entrance('Potion Shop Water Drop', player), lambda state: state.has('Flippers', player)) + set_rule(world.get_entrance('Potion Shop Northeast Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Useless Fairy Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Useless Fairy East Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Wooden Bridge Water Drop', player), lambda state: state.has('Flippers', player)) @@ -528,6 +532,9 @@ def default_rules(world, player): set_rule(world.get_entrance('Lake Hylia Island Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Octoballoon Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Octoballoon Waterfall Water Drop', player), lambda state: state.has('Flippers', player)) + set_rule(world.get_entrance('Catfish Approach Water Drop', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) + set_rule(world.get_entrance('Dark Witch Water Drop', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) + set_rule(world.get_entrance('Dark Witch Northeast Water Drop', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) set_rule(world.get_entrance('Qirn Jump Water Drop', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) set_rule(world.get_entrance('Qirn Jump East Water Drop', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) set_rule(world.get_entrance('Broken Bridge Water Drop', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) @@ -542,6 +549,10 @@ def default_rules(world, player): set_rule(world.get_entrance('Southeast DW Waterfall Water Drop', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) set_rule(world.get_entrance('Ice Rod Cave SW', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Dark Shopping Mall SW', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) + set_rule(world.get_entrance('C Whirlpool EC', player), lambda state: state.has('Flippers', player)) + set_rule(world.get_entrance('Statues WC', player), lambda state: state.has('Flippers', player)) + set_rule(world.get_entrance('Dark C Whirlpool EC', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) + set_rule(world.get_entrance('Hype Cave WC', player), lambda state: state.has_Pearl(player) and state.has('Flippers', player)) set_rule(world.get_entrance('Kakariko Teleporter (Hammer)', player), lambda state: state.has('Hammer', player) and state.can_lift_rocks(player) and state.has_Pearl(player)) # bunny cannot lift bushes set_rule(world.get_entrance('Kakariko Teleporter (Rock)', player), lambda state: state.can_lift_heavy_rocks(player) and state.has_Pearl(player)) # bunny cannot lift bushes diff --git a/asm/owrando.asm b/asm/owrando.asm index 6fd51aca..fed36302 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -194,7 +194,7 @@ OWNewDestination: ora #$ff00 ;extend 8-bit negative to 16-bit negative + pha cpy #$0002 : lda $700 : !bge + - and #$00f0 : pha : lda $04 : asl : and #$00f0 : !sub 1,s : tax : pla : txa + and #$00f0 : pha : lda $04 : asl : and #$0070 : !sub 1,s : tax : pla : txa !add 1,s : tax : pla : txa : asl : asl : asl : asl : asl : pha : bra ++ + and #$000f : pha : lda $04 : asl : and #$000f : !sub 1,s : !add 3,s sep #$10 : tax : phx : ldx #$0 : phx : rep #$10 : pla : plx : plx : pha