Adds Link's Awakening: DX. Fully imports and forks LADXR, with permission - https://github.com/daid/LADXR
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from ..assembler import ASM
 | |
| from ..utils import formatText
 | |
| 
 | |
| 
 | |
| def upgradeMadBatter(rom):
 | |
|     # Normally the madbatter won't do anything if you have full capacity. Remove that check.
 | |
|     rom.patch(0x18, 0x0F05, 0x0F1D, "", fill_nop=True)
 | |
|     # Remove the code that finds which upgrade to apply,
 | |
|     rom.patch(0x18, 0x0F9E, 0x0FC4, "", fill_nop=True)
 | |
|     rom.patch(0x18, 0x0FD2, 0x0FD8, "", fill_nop=True)
 | |
| 
 | |
|     # Finally, at the last step, give the item and the item message.
 | |
|     rom.patch(0x18, 0x1016, 0x101B, "", fill_nop=True)
 | |
|     rom.patch(0x18, 0x101E, 0x1051, ASM("""
 | |
|         ; Mad batter rooms are E0,E1 and E2, load the item type from a table in the rom
 | |
|         ; which only has 3 entries, and store it where bank 3E wants it.
 | |
|         ldh a, [$F6] ; current room
 | |
|         and $0F
 | |
|         ld  d, $00
 | |
|         ld  e, a
 | |
|         ld  hl, $4F90
 | |
|         add hl, de
 | |
|         ld  a, [hl]
 | |
|         ldh [$F1], a
 | |
|     
 | |
|         ; Give item
 | |
|         ld  a, $06 ; giveItemMultiworld
 | |
|         rst 8
 | |
|         ; Message
 | |
|         ld  a, $0A ; showMessageMultiworld
 | |
|         rst 8
 | |
|         ; Force the dialog at the bottom
 | |
|         ld  a, [$C19F]
 | |
|         or  $80
 | |
|         ld  [$C19F], a
 | |
|     """), fill_nop=True)
 | |
|     # Setup the default items
 | |
|     rom.patch(0x18, 0x0F90, "406060", "848586")
 | |
| 
 | |
|     rom.texts[0xE2] = formatText("You can now carry more Magic Powder!")
 | |
|     rom.texts[0xE3] = formatText("You can now carry more Bombs!")
 | |
|     rom.texts[0xE4] = formatText("You can now carry more Arrows!")
 |