34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from ..assembler import ASM | ||
|  | from ..utils import formatText | ||
|  | 
 | ||
|  | 
 | ||
|  | def setStartHealth(rom, amount): | ||
|  |     rom.patch(0x01, 0x0B1C, ASM("ld  [hl], $03"), ASM("ld  [hl], $%02X" % (amount)))  # max health of new save | ||
|  |     rom.patch(0x01, 0x0B14, ASM("ld  [hl], $18"), ASM("ld  [hl], $%02X" % (amount * 8)))  # current health of new save | ||
|  | 
 | ||
|  | 
 | ||
|  | def upgradeHealthContainers(rom): | ||
|  |     # Reuse 2 unused shop messages for the heart containers. | ||
|  |     rom.texts[0x2A] = formatText("You found a {HEART_CONTAINER}!") | ||
|  |     rom.texts[0x2B] = formatText("You lost a heart!") | ||
|  | 
 | ||
|  |     rom.patch(0x03, 0x19DC, ASM("""
 | ||
|  |         ld   de, $59D8 | ||
|  |         call $3BC0 | ||
|  |     """), ASM(""" | ||
|  |         ld   a, $05  ; renderHeartPiece | ||
|  |         rst  8 | ||
|  |     """), fill_nop=True)
 | ||
|  |     rom.patch(0x03, 0x19F0, ASM("""
 | ||
|  |         ld   hl, $DB5B | ||
|  |         inc  [hl] | ||
|  |         ld   hl, $DB93 | ||
|  |         ld   [hl], $FF | ||
|  |     """), ASM(""" | ||
|  |         ld   a, $06 ; giveItemMultiworld | ||
|  |         rst  8 | ||
|  |         ld   a, $0A ; messageForItemMultiworld | ||
|  |         rst  8 | ||
|  | skip: | ||
|  |     """), fill_nop=True)  # add heart->remove heart on heart container
 |