def fixAll(rom): # Prevent soft locking in the first mountain cave if we do not have a feather re = RoomEditor(rom, 0x2B7) re.removeObject(3, 3) re.store(rom) # Prevent getting stuck in the sidescroll room in the beginning of dungeon 5 re = RoomEditor(rom, 0x1A9) re.objects[6].count = 7 re.store(rom) # Cave that allows you to escape from D4 without flippers, make it no longer require a feather re = RoomEditor(rom, 0x1EA) re.objects[9].count = 8 re.removeObject(5, 4) re.moveObject(4, 4, 7, 5) re.store(rom) # D3 west side room requires feather to get the key. But feather is not required to unlock the door, potentially softlocking you. re = RoomEditor(rom, 0x155) re.changeObject(4, 1, 0xcf) re.changeObject(4, 6, 0xd0) re.store(rom) # D3 boots room requires boots to escape re = RoomEditor(rom, 0x146) re.removeObject(5, 6) re.store(rom) allowRaftGameWithoutFlippers(rom) # We cannot access thes holes in logic: # removeBirdKeyHoleDrop(rom) fixDoghouse(rom) flameThrowerShieldRequirement(rom) fixLessThen3MaxHealth(rom)
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) # Do not give the rooster rom.patch(0x19, 0x0E9D, ASM("ld [$DB7B], a"), "", fill_nop=True)
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) rom.patch(0x19, 0x0010, "F0007806F008782600007A0600087A26", "F000640FF008642F0000660F0008662F") rom.patch(0x19, 0x004F, ASM("cp $01"), ASM("cp $0A")) # Do not give the rooster rom.patch(0x19, 0x0E9D, ASM("ld [$DB7B], a"), "", fill_nop=True)