 81a239325d
			
		
	
	81a239325d
	
	
	
		
			
			Adds Link's Awakening: DX. Fully imports and forks LADXR, with permission - https://github.com/daid/LADXR
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from ..assembler import ASM
 | |
| from ..roomEditor import RoomEditor
 | |
| 
 | |
| 
 | |
| def patchSuperWeapons(rom):
 | |
|     # Feather jump height
 | |
|     rom.patch(0x00, 0x1508, ASM("ld a, $20"), ASM("ld a, $2C"))
 | |
|     # Boots charge speed
 | |
|     rom.patch(0x00, 0x1731, ASM("cp $20"), ASM("cp $01"))
 | |
|     # Power bracelet pickup speed
 | |
|     rom.patch(0x00, 0x2121, ASM("ld e, $08"), ASM("ld e, $01"))
 | |
|     # Throwing speed (of pickups and bombs)
 | |
|     rom.patch(0x14, 0x1313, "30D0000018E80000", "60A0000040C00000")
 | |
|     rom.patch(0x14, 0x1323, "0000D0300000E818", "0000A0600000C040")
 | |
| 
 | |
|     # Allow as many bombs to be placed as you want!
 | |
|     rom.patch(0x00, 0x135F, ASM("ret nc"), "", fill_nop=True)
 | |
| 
 | |
|     # Maximum amount of arrows in the air
 | |
|     rom.patch(0x00, 0x13C5, ASM("cp $02"), ASM("cp $05"))
 | |
|     # Delay between arrow shots
 | |
|     rom.patch(0x00, 0x13C9, ASM("ld a, $10"), ASM("ld a, $01"))
 | |
| 
 | |
|     # Maximum amount of firerod fires
 | |
|     rom.patch(0x00, 0x12E4, ASM("cp $02"), ASM("cp $05"))
 | |
| 
 | |
|     # Projectile speed (arrows, firerod)
 | |
|     rom.patch(0x00, 0x13AD,
 | |
|         "30D0000040C00000" "0000D0300000C040",
 | |
|         "60A0000060A00000" "0000A0600000A060")
 | |
| 
 | |
|     # Hookshot shoot speed
 | |
|     rom.patch(0x02, 0x024C,
 | |
|         "30D00000" "0000D030",
 | |
|         "60A00000" "0000A060")
 | |
|     # Hookshot retract speed
 | |
|     rom.patch(0x18, 0x3C41, ASM("ld a, $30"), ASM("ld a, $60"))
 | |
|     # Hookshot pull speed
 | |
|     rom.patch(0x18, 0x3C21, ASM("ld a, $30"), ASM("ld a, $60"))
 | |
| 
 | |
|     # Super shovel, always price!
 | |
|     rom.patch(0x02, 0x0CC6, ASM("jr nz, $57"), "", fill_nop=True)
 | |
| 
 | |
|     # Unlimited boomerangs!
 | |
|     rom.patch(0x00, 0x1387, ASM("ret nz"), "", fill_nop=True)
 | |
| 
 | |
|     # Increase shield push power
 | |
|     rom.patch(0x03, 0x2FC5, ASM("ld a, $08"), ASM("ld a, $10"))
 | |
|     rom.patch(0x03, 0x2FCA, ASM("ld a, $20"), ASM("ld a, $40"))
 | |
|     # Decrease link pushback of shield
 | |
|     rom.patch(0x03, 0x2FB9, ASM("ld a, $12"), ASM("ld a, $04"))
 | |
|     rom.patch(0x03, 0x2F9A, ASM("ld a, $0C"), ASM("ld a, $03"))
 | |
| 
 | |
|     # Super charge the ocarina
 | |
|     rom.patch(0x02, 0x0AD8, ASM("cp $38"), ASM("cp $08"))
 | |
|     rom.patch(0x02, 0x0B05, ASM("cp $14"), ASM("cp $04"))
 | |
| 
 | |
|     re = RoomEditor(rom, 0x23D)
 | |
|     tiles = re.getTileArray()
 | |
|     tiles[11] = 0x0D
 | |
|     tiles[12] = 0xA7
 | |
|     tiles[22] = 0x98
 | |
|     re.buildObjectList(tiles)
 | |
|     re.store(rom) |