Move-HP Up, Move-MP Up, Gained Exp Up

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
Move-HP Up, Move-MP Up, Gained Exp Up, Gained JP Up:
0018dd44: 27bdffd8 addiu r29,r29,0xffd8		
0018dd48: afb00020 sw r16,0x0020(r29)		
0018dd4c: 00808021 addu r16,r4,r0		
0018dd50: afbf0024 sw r31,0x0024(r29)		
0018dd54: 9202018a lbu r2,0x018a(r16)		018a = ENTD Unit ID
0018dd58: 2604018c addiu r4,r16,0x018c		
0018dd5c: 3c018019 lui r1,0x8019		
0018dd60: ac302d98 sw r16,0x2d98(r1)		Store Target's Stats
0018dd64: 3c018019 lui r1,0x8019		
0018dd68: ac242d90 sw r4,0x2d90(r1)		Current Action Data Pointer
0018dd6c: 3c018019 lui r1,0x8019		
0018dd70: a02238c1 sb r2,0x38c1(r1)		?
0018dd74: 0c062f5d jal 0x0018bd74		Current Action Data Nulling
0018dd78: 00000000 nop				
0018dd7c: 02002021 addu r4,r16,r0		
0018dd80: 0c01786c jal 0x0005e1b0		Status Checks (r5 = set to check)
0018dd84: 34050004 ori r5,r0,0x0004		r5 = 4
0018dd88: 1440005b bne r2,r0,0x0018def8		
0018dd8c: 2402ffff addiu r2,r0,0xffff		
0018dd90: 0c06004d jal 0x00180134		Get movement support flags (move-MP/HP/EXP/JP up)
0018dd94: 02002021 addu r4,r16,r0		
0018dd98: 00401821 addu r3,r2,r0		
0018dd9c: 30620020 andi r2,r3,0x0020		
0018dda0: 1040000e beq r2,r0,0x0018dddc		Branch if unit doesn't have move HP  up ?
0018dda4: 30620040 andi r2,r3,0x0040		
0018dda8: 3c036666 lui r3,0x6666		
0018ddac: 9602002a lhu r2,0x002a(r16)		Max HP
0018ddb0: 34636667 ori r3,r3,0x6667		r3 = 66666667
0018ddb4: 24420009 addiu r2,r2,0x0009		Max HP + 9
0018ddb8: 00430018 mult r2,r3			Max HP * 66666667
0018ddbc: 3c038019 lui r3,0x8019		
0018ddc0: 8c632d90 lw r3,0x2d90(r3)		Current Action Data Pointer
0018ddc4: 34020040 ori r2,r0,0x0040		r2 = 40
0018ddc8: a0620025 sb r2,0x0025(r3)		HP Recovery 
0018ddcc: 00001010 mfhi r2			Move Hi to r2
0018ddd0: 00021083 sra r2,r2,0x02		Hi / 4 or 10%
0018ddd4: 080637bd j 0x0018def4			End
0018ddd8: a4620006 sh r2,0x0006(r3)		Store HP Recovery 
0018dddc: 1040000e beq r2,r0,0x0018de18		Branch if unit doesn't have move mp  up
0018dde0: 30620080 andi r2,r3,0x0080		
0018dde4: 3c036666 lui r3,0x6666		
0018dde8: 9602002e lhu r2,0x002e(r16)		Max MP
0018ddec: 34636667 ori r3,r3,0x6667		
0018ddf0: 24420009 addiu r2,r2,0x0009		Max MP + 9
0018ddf4: 00430018 mult r2,r3			Max HP * 66666667
0018ddf8: 3c038019 lui r3,0x8019		
0018ddfc: 8c632d90 lw r3,0x2d90(r3)		Current Action Data Pointer
0018de00: 34020010 ori r2,r0,0x0010		r2 = 10
0018de04: a0620025 sb r2,0x0025(r3)		MP Recovery
0018de08: 00001010 mfhi r2			Move Hi to r2
0018de0c: 00021083 sra r2,r2,0x02		Hi / 4 or 10%
0018de10: 080637bd j 0x0018def4			End
0018de14: a462000a sh r2,0x000a(r3)		Store MP Recovery 
0018de18: 10400019 beq r2,r0,0x0018de80	         Branch if unit doesn't have Move XP up	
0018de1c: 30620100 andi r2,r3,0x0100		
0018de20: 3c048019 lui r4,0x8019		
0018de24: 8c842d98 lw r4,0x2d98(r4)		Load Defender's Stats
0018de28: 0c05fc3b jal 0x0017f0ec		Move Cap?
0018de2c: 00000000 nop				
0018de30: 3c038019 lui r3,0x8019		Current Action Data Pointer
0018de34: 8c632d90 lw r3,0x2d90(r3)
0018de38: 00000000 nop
0018de3c: a0620028 sb r2,0x0028(r3)		Store ??? Something to do with exp?
0018de40: 3c028019 lui r2,0x8019		
0018de44: 8c422d98 lw r2,0x2d98(r2)		Load Defender's Stats
0018de48: 00000000 nop				
0018de4c: 90420090 lbu r2,0x0090(r2)		Load 2nd Set of Supports
0018de50: 00000000 nop				
0018de54: 30420020 andi r2,r2,0x0020	 	
0018de58: 10400022 beq r2,r0,0x0018dee4		Branch if unit doesn't have Gained  Exp Up
0018de5c: 00000000 nop				
0018de60: 3c038019 lui r3,0x8019		
0018de64: 8c632d90 lw r3,0x2d90(r3)		Current Action Data Pointer
0018de68: 00000000 nop				
0018de6c: 90620028 lbu r2,0x0028(r3)		
0018de70: 00000000 nop				
0018de74: 00021040 sll r2,r2,0x01		
0018de78: 080637b9 j 0x0018dee4			
0018de7c: a0620028 sb r2,0x0028(r3)		Store ??? Exp?
0018de80: 1040001d beq r2,r0,0x0018def8	        Branch if unit doesn't have Move JP up	
0018de84: 00001021 addu r2,r0,r0		r2 = 0
0018de88: 3c048019 lui r4,0x8019		
0018de8c: 8c842d98 lw r4,0x2d98(r4)		Load Defender's Stats
0018de90: 0c05fc3b jal 0x0017f0ec		Move Cap?
0018de94: 00000000 nop				
0018de98: 3c038019 lui r3,0x8019		
0018de9c: 8c632d90 lw r3,0x2d90(r3)		
0018dea0: 00000000 nop				
0018dea4: a0620029 sb r2,0x0029(r3)		
0018dea8: 3c028019 lui r2,0x8019		
0018deac: 8c422d98 lw r2,0x2d98(r2)		Load Defender's Stats
0018deb0: 00000000 nop				
0018deb4: 90420090 lbu r2,0x0090(r2)		Load 2nd set of Support
0018deb8: 00000000 nop				
0018debc: 30420040 andi r2,r2,0x0040		
0018dec0: 10400008 beq r2,r0,0x0018dee4		Branch if unit doesn't have gained JP Up
0018dec4: 00000000 nop				
0018dec8: 3c038019 lui r3,0x8019		
0018decc: 8c632d90 lw r3,0x2d90(r3)		Current Action Data Pointer
0018ded0: 00000000 nop				
0018ded4: 90620029 lbu r2,0x0029(r3)		Load ??? JP?
0018ded8: 00000000 nop				
0018dedc: 00021040 sll r2,r2,0x01		??? * 2
0018dee0: a0620029 sb r2,0x0029(r3)		Store ??? JP?
0018dee4: 3c038019 lui r3,0x8019		
0018dee8: 8c632d90 lw r3,0x2d90(r3)		Current Action Data Pointer
0018deec: 34020001 ori r2,r0,0x0001		R2 = 1
0018def0: a0620025 sb r2,0x0025(r3)		Store Attack type ???
0018def4: 00001021 addu r2,r0,r0		R2 = 0
0018def8: 8fbf0024 lw r31,0x0024(r29)
0018defc: 8fb00020 lw r16,0x0020(r29)
0018df00: 27bd0028 addiu r29,r29,0x0028
0018df04: 03e00008 jr r31
0018df08: 00000000 nop