LADX: Implement various upstream adjustments (#3829)
* magnifying lens changes
https://github.com/daid/LADXR/pull/156
* restore enemy visibility in mermaid statue cave
https://github.com/daid/LADXR/pull/155
* mermaid statue scale bugfix
https://github.com/daid/LADXR/pull/163
* restore vanilla map when rooster is an item
https://github.com/daid/LADXR/pull/132
* fix
* fixes to magnifying lens changes
* load marin singing even if you have marin date
4feb3099a3
* Revert "load marin singing even if you have marin date"
This reverts commit a7a546ed3f7a2b9c9bcb095984cc64319a4f7855.
* always patch tradequest
not upstream, but included in this PR because it touches the same parts of the code. https://discord.com/channels/731205301247803413/1227373762412937347
* marin date fix
* fix logic
This commit is contained in:
@@ -1,23 +1,6 @@
|
||||
from .droppedKey import DroppedKey
|
||||
from ..roomEditor import RoomEditor
|
||||
from ..assembler import ASM
|
||||
|
||||
|
||||
class BirdKey(DroppedKey):
|
||||
def __init__(self):
|
||||
super().__init__(0x27A)
|
||||
|
||||
def patch(self, rom, option, *, multiworld=None):
|
||||
super().patch(rom, option, multiworld=multiworld)
|
||||
|
||||
re = RoomEditor(rom, self.room)
|
||||
|
||||
# Make the bird key accessible without the rooster
|
||||
re.removeObject(1, 6)
|
||||
re.removeObject(2, 6)
|
||||
re.removeObject(3, 5)
|
||||
re.removeObject(3, 6)
|
||||
re.moveObject(1, 5, 2, 6)
|
||||
re.moveObject(2, 5, 3, 6)
|
||||
re.addEntity(3, 5, 0x9D)
|
||||
re.store(rom)
|
||||
|
||||
@@ -24,11 +24,6 @@ class BoomerangGuy(ItemInfo):
|
||||
# But SHIELD, BOMB and MAGIC_POWDER would most likely break things.
|
||||
# SWORD and POWER_BRACELET would most likely introduce the lv0 shield/bracelet issue
|
||||
def patch(self, rom, option, *, multiworld=None):
|
||||
# Always have the boomerang trade guy enabled (normally you need the magnifier)
|
||||
rom.patch(0x19, 0x05EC, ASM("ld a, [wTradeSequenceItem]\ncp $0E"), ASM("ld a, $0E\ncp $0E"), fill_nop=True) # show the guy
|
||||
rom.patch(0x00, 0x3199, ASM("ld a, [wTradeSequenceItem]\ncp $0E"), ASM("ld a, $0E\ncp $0E"), fill_nop=True) # load the proper room layout
|
||||
rom.patch(0x19, 0x05F4, ASM("ld a, [wTradeSequenceItem2]\nand a"), ASM("xor a"), fill_nop=True)
|
||||
|
||||
if self.setting == 'trade':
|
||||
inv = INVENTORY_MAP[option]
|
||||
# Patch the check if you traded back the boomerang (so traded twice)
|
||||
|
||||
Reference in New Issue
Block a user