diff --git a/Rom.py b/Rom.py index 76f5d39f..289d0cb8 100644 --- a/Rom.py +++ b/Rom.py @@ -28,7 +28,7 @@ from OverworldShuffle import default_flute_connections, flute_data JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'a79956c1c0e5583ad694ac4296911e95' +RANDOMIZERBASEHASH = '3da95206e813425551577d6854fdf7ab' class JsonRom(object): diff --git a/Rules.py b/Rules.py index ad8b4dd6..2b263c38 100644 --- a/Rules.py +++ b/Rules.py @@ -72,11 +72,6 @@ def set_rules(world, player): set_bunny_rules(world, player, world.mode[player] == 'inverted') - # TODO: Remove these rules when these scenarios aren't a problem - if world.owSwap[player] == 'mixed': - if 'Stumpy Area' in world.owswaps[player][2]: - set_rule(world.get_location('Stumpy', player), lambda state: False) - def mirrorless_path_to_location(world, startName, targetName, player): # If Agahnim is defeated then the courtyard needs to be accessible without using the mirror for the mirror offset glitch. diff --git a/asm/owrando.asm b/asm/owrando.asm index 84bf06ae..8837f8a8 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -19,54 +19,58 @@ org $0ab90d ;JSL $02E99D jsl OWFluteCancel ; allows Frog sprite to spawn in LW and also allows his friend to spawn in their house -org $068a76 ;LDA $7EF3CA : AND.w #$40 +org $068a76 ; < 30a76 - sprite_prep.asm:785 (LDA $7EF3CA : AND.w #$40) lda $1b : eor #1 : nop #2 ; allows Frog to be accepted at Blacksmith -org $06b3ee ;LDA $7EF3CC : CMP #$07 : BEQ $06B42E +org $06b3ee ; < 333ee - sprite_smithy_bros.asm:347 (LDA $7EF3CC : CMP.b #$08 : BEQ .no_returning_smithy_tagalong) jsl OWSmithAccept : nop #2 -db #$b0 ; BCS instead of BEQ +db #$b0 ; BCS to replace BEQ + +; load Stumpy per screen's original world, not current world flag +org $06907f ; < 3107f - sprite_prep.asm:2170 (LDA $7EF3CA) +lda $8a : eor #$40 ;(replacing -> LDA $8A : AND.b #$40) -org $00d8c4 ; < ? - Bank00.asm 4068 () +org $00d8c4 ; < ? - Bank00.asm:4068 () jsl.l OWWorldCheck -org $0283dc ; < ? - Bank02.asm 816 () +org $0283dc ; < ? - Bank02.asm:816 () jsl.l OWWorldCheck -org $02aa36 ; < ? - Bank02.asm 6559 () +org $02aa36 ; < ? - Bank02.asm:6559 () jsl.l OWWorldCheck -org $02aeca ; < ? - Bank02.asm 7257 () +org $02aeca ; < ? - Bank02.asm:7257 () jsl.l OWWorldCheck16 : nop -org $02b349 ; < ? - Bank02.asm 7902 () +org $02b349 ; < ? - Bank02.asm:7902 () jsl.l OWWorldCheck -org $02c40a ; < ? - Bank02.asm 10547 () +org $02c40a ; < ? - Bank02.asm:10547 () jsl.l OWWorldCheck -org $05afd9 ; < ? - sprite_warp_vortex.asm 60 () +org $05afd9 ; < ? - sprite_warp_vortex.asm:60 () jsl.l OWWorldCheck -org $07a3f0 ; < ? - Bank07.asm 5772 () ; flute activation/use +org $07a3f0 ; < ? - Bank07.asm:5772 () ; flute activation/use jsl.l OWWorldCheck -org $07a967 ; < ? - Bank07.asm 6578 () +org $07a967 ; < ? - Bank07.asm:6578 () jsl.l OWWorldCheck -org $07a9a1 ; < ? - Bank07.asm 6622 () +org $07a9a1 ; < ? - Bank07.asm:6622 () jsl.l OWWorldCheck -org $07a9ed ; < ? - Bank07.asm 6677 () +org $07a9ed ; < ? - Bank07.asm:6677 () jsl.l OWWorldCheck -org $07aa34 ; < ? - Bank07.asm 6718 () +org $07aa34 ; < ? - Bank07.asm:6718 () jsl.l OWWorldCheck -org $08d408 ; < ? - ancilla_morph_poof.asm 48 () +org $08d408 ; < ? - ancilla_morph_poof.asm:48 () jsl.l OWWorldCheck -org $0aba6c ; < ? - Bank0a.asm 474 () +org $0aba6c ; < ? - Bank0a.asm:474 () jsl.l OWWorldCheck16 : nop -org $0aba99 ; < ? - Bank0a.asm 515 () +org $0aba99 ; < ? - Bank0a.asm:515 () jsl.l OWWorldCheck -org $0bfeab ; < ? - Bank0b.asm 36 () +org $0bfeab ; < ? - Bank0b.asm:36 () jsl.l OWWorldCheck16 : nop org $0cffb6 ; < ? - ?.asm ? () jsl.l OWWorldCheck16 : nop org $0cffe8 ; < ? - ?.asm ? () jsl.l OWWorldCheck16 : nop -org $1beca2 ; < ? - palettes.asm 556 () +org $1beca2 ; < ? - palettes.asm:556 () jsl.l OWWorldCheck16 : nop -org $1bed95 ; < ? - palettes.asm 748 () +org $1bed95 ; < ? - palettes.asm:748 () jsl.l OWWorldCheck16 : nop org $02b16e ; AND #$3F : ORA 7EF3CA diff --git a/data/base2current.bps b/data/base2current.bps index 48b97450..05da5396 100644 Binary files a/data/base2current.bps and b/data/base2current.bps differ