Difference between revisions of "Set EXP Stolen"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 00186814: 3c028019 lui r2,0x8019 00186818: 8c422d94 lw r2,0x2d94(r2) 0018681c: 3c038019 lui r3,0x8019 00186820: 906338fa lbu r3,0x38fa(r3) 001...")
 
Line 2: Line 2:
 
   
 
   
 
  00186814: 3c028019 lui r2,0x8019
 
  00186814: 3c028019 lui r2,0x8019
  00186818: 8c422d94 lw r2,0x2d94(r2)
+
  00186818: 8c422d94 lw r2,0x2d94(r2) #Attacker Data pointer
 
  0018681c: 3c038019 lui r3,0x8019
 
  0018681c: 3c038019 lui r3,0x8019
  00186820: 906338fa lbu r3,0x38fa(r3)
+
  00186820: 906338fa lbu r3,0x38fa(r3) #Ability Y
 
  00186824: 27bdffe8 addiu r29,r29,0xffe8
 
  00186824: 27bdffe8 addiu r29,r29,0xffe8
 
  00186828: afbf0010 sw r31,0x0010(r29)
 
  00186828: afbf0010 sw r31,0x0010(r29)
  0018682c: 90420038 lbu r2,0x0038(r2)
+
  0018682c: 90420038 lbu r2,0x0038(r2) #Attacker Speed
 
  00186830: 00000000 nop
 
  00186830: 00000000 nop
  00186834: 00431021 addu r2,r2,r3
+
  00186834: 00431021 addu r2,r2,r3 #Y + SP
  00186838: 00402821 addu r5,r2,r0
+
  00186838: 00402821 addu r5,r2,r0 #move into r5
  0018683c: 30a200ff andi r2,r5,0x00ff
+
  0018683c: 30a200ff andi r2,r5,0x00ff #move back into r2 (compiler, please)
 
  00186840: 2c420065 sltiu r2,r2,0x0065
 
  00186840: 2c420065 sltiu r2,r2,0x0065
  00186844: 14400002 bne r2,r0,0x00186850
+
  00186844: 14400002 bne r2,r0,0x00186850 #cap max EXP at 100
 
  00186848: 00000000 nop
 
  00186848: 00000000 nop
 
  0018684c: 34050064 ori r5,r0,0x0064
 
  0018684c: 34050064 ori r5,r0,0x0064
 
  00186850: 3c028019 lui r2,0x8019
 
  00186850: 3c028019 lui r2,0x8019
  00186854: 8c422d98 lw r2,0x2d98(r2)
+
  00186854: 8c422d98 lw r2,0x2d98(r2) #Target Data pointer
 
  00186858: 00000000 nop
 
  00186858: 00000000 nop
  0018685c: 90430021 lbu r3,0x0021(r2)
+
  0018685c: 90430021 lbu r3,0x0021(r2) #target experience
  00186860: 30a200ff andi r2,r5,0x00ff
+
  00186860: 30a200ff andi r2,r5,0x00ff #move EXP back into r2
 
  00186864: 0062102b sltu r2,r3,r2
 
  00186864: 0062102b sltu r2,r3,r2
  00186868: 10400003 beq r2,r0,0x00186878
+
  00186868: 10400003 beq r2,r0,0x00186878 #cap EXP gain at the target's current EXP
  0018686c: 30a200ff andi r2,r5,0x00ff
+
  0018686c: 30a200ff andi r2,r5,0x00ff
 
  00186870: 00602821 addu r5,r3,r0
 
  00186870: 00602821 addu r5,r3,r0
  00186874: 30a200ff andi r2,r5,0x00ff
+
  00186874: 30a200ff andi r2,r5,0x00ff #continue to move EXP back and forth between r2 and r5
  00186878: 14400005 bne r2,r0,0x00186890
+
  00186878: 14400005 bne r2,r0,0x00186890 #branch if EXP stolen at this point is not 0
  0018687c: 34030001 ori r3,r0,0x0001
+
  0018687c: 34030001 ori r3,r0,0x0001 #hit
  00186880: 0c0610c3 jal 0x0018430c
+
  00186880: 0c0610c3 jal 0x0018430c #nullify attack
 
  00186884: 00000000 nop
 
  00186884: 00000000 nop
  00186888: 08061a38 j 0x001868e0
+
  00186888: 08061a38 j 0x001868e0 #finish
 
  0018688c: 00000000 nop
 
  0018688c: 00000000 nop
 
  00186890: 3c028019 lui r2,0x8019
 
  00186890: 3c028019 lui r2,0x8019
  00186894: 8c422d8c lw r2,0x2d8c(r2)
+
  00186894: 8c422d8c lw r2,0x2d8c(r2) #Attacker Current Action Data Pointer
 
  00186898: 00000000 nop
 
  00186898: 00000000 nop
  0018689c: a0450028 sb r5,0x0028(r2)
+
  0018689c: a0450028 sb r5,0x0028(r2) #set EXP gain
 
  001868a0: 3c028019 lui r2,0x8019
 
  001868a0: 3c028019 lui r2,0x8019
  001868a4: 8c422d8c lw r2,0x2d8c(r2)
+
  001868a4: 8c422d8c lw r2,0x2d8c(r2) #Attacker CADP
 
  001868a8: 00000000 nop
 
  001868a8: 00000000 nop
  001868ac: a0430000 sb r3,0x0000(r2)
+
  001868ac: a0430000 sb r3,0x0000(r2) #set as hit
 
  001868b0: 3c028019 lui r2,0x8019
 
  001868b0: 3c028019 lui r2,0x8019
  001868b4: 8c422d8c lw r2,0x2d8c(r2)
+
  001868b4: 8c422d8c lw r2,0x2d8c(r2) #Attacker CADP
 
  001868b8: 00000000 nop
 
  001868b8: 00000000 nop
  001868bc: a0430025 sb r3,0x0025(r2)
+
  001868bc: a0430025 sb r3,0x0025(r2) #set as pseudo status change
 
  001868c0: 3c048019 lui r4,0x8019
 
  001868c0: 3c048019 lui r4,0x8019
  001868c4: 8c842d90 lw r4,0x2d90(r4)
+
  001868c4: 8c842d90 lw r4,0x2d90(r4) #target CADP
  001868c8: 24a20080 addiu r2,r5,0x0080
+
  001868c8: 24a20080 addiu r2,r5,0x0080 #add stolen flag...?
  001868cc: a0820028 sb r2,0x0028(r4)
+
  001868cc: a0820028 sb r2,0x0028(r4) #save EXP stolen
 
  001868d0: 3c028019 lui r2,0x8019
 
  001868d0: 3c028019 lui r2,0x8019
  001868d4: 8c422d90 lw r2,0x2d90(r2)
+
  001868d4: 8c422d90 lw r2,0x2d90(r2) #Target CADP
 
  001868d8: 00000000 nop
 
  001868d8: 00000000 nop
  001868dc: a0430025 sb r3,0x0025(r2)
+
  001868dc: a0430025 sb r3,0x0025(r2) #store as pseudo status change
 
  001868e0: 8fbf0010 lw r31,0x0010(r29)
 
  001868e0: 8fbf0010 lw r31,0x0010(r29)
 
  001868e4: 27bd0018 addiu r29,r29,0x0018
 
  001868e4: 27bd0018 addiu r29,r29,0x0018

Revision as of 05:15, 1 February 2022

00186814: 3c028019 lui r2,0x8019
00186818: 8c422d94 lw r2,0x2d94(r2)			#Attacker Data pointer
0018681c: 3c038019 lui r3,0x8019
00186820: 906338fa lbu r3,0x38fa(r3)			#Ability Y
00186824: 27bdffe8 addiu r29,r29,0xffe8
00186828: afbf0010 sw r31,0x0010(r29)
0018682c: 90420038 lbu r2,0x0038(r2)			#Attacker Speed
00186830: 00000000 nop
00186834: 00431021 addu r2,r2,r3			#Y + SP
00186838: 00402821 addu r5,r2,r0			#move into r5
0018683c: 30a200ff andi r2,r5,0x00ff			#move back into r2 (compiler, please)
00186840: 2c420065 sltiu r2,r2,0x0065
00186844: 14400002 bne r2,r0,0x00186850		#cap max EXP at 100
00186848: 00000000 nop
0018684c: 34050064 ori r5,r0,0x0064
00186850: 3c028019 lui r2,0x8019
00186854: 8c422d98 lw r2,0x2d98(r2)			#Target Data pointer
00186858: 00000000 nop
0018685c: 90430021 lbu r3,0x0021(r2)			#target experience
00186860: 30a200ff andi r2,r5,0x00ff			#move EXP back into r2
00186864: 0062102b sltu r2,r3,r2
00186868: 10400003 beq r2,r0,0x00186878		#cap EXP gain at the target's current EXP
0018686c: 30a200ff andi r2,r5,0x00ff			
00186870: 00602821 addu r5,r3,r0
00186874: 30a200ff andi r2,r5,0x00ff			#continue to move EXP back and forth between r2 and r5
00186878: 14400005 bne r2,r0,0x00186890		#branch if EXP stolen at this point is not 0
0018687c: 34030001 ori r3,r0,0x0001			#hit
00186880: 0c0610c3 jal 0x0018430c			#nullify attack
00186884: 00000000 nop
00186888: 08061a38 j 0x001868e0			#finish
0018688c: 00000000 nop
00186890: 3c028019 lui r2,0x8019
00186894: 8c422d8c lw r2,0x2d8c(r2)			#Attacker Current Action Data Pointer
00186898: 00000000 nop
0018689c: a0450028 sb r5,0x0028(r2)			#set EXP gain
001868a0: 3c028019 lui r2,0x8019
001868a4: 8c422d8c lw r2,0x2d8c(r2)			#Attacker CADP
001868a8: 00000000 nop
001868ac: a0430000 sb r3,0x0000(r2)			#set as hit
001868b0: 3c028019 lui r2,0x8019
001868b4: 8c422d8c lw r2,0x2d8c(r2)			#Attacker CADP
001868b8: 00000000 nop
001868bc: a0430025 sb r3,0x0025(r2)			#set as pseudo status change
001868c0: 3c048019 lui r4,0x8019
001868c4: 8c842d90 lw r4,0x2d90(r4)			#target CADP
001868c8: 24a20080 addiu r2,r5,0x0080			#add stolen flag...?
001868cc: a0820028 sb r2,0x0028(r4)			#save EXP stolen
001868d0: 3c028019 lui r2,0x8019
001868d4: 8c422d90 lw r2,0x2d90(r2)			#Target CADP
001868d8: 00000000 nop
001868dc: a0430025 sb r3,0x0025(r2)			#store as pseudo status change
001868e0: 8fbf0010 lw r31,0x0010(r29)
001868e4: 27bd0018 addiu r29,r29,0x0018
001868e8: 03e00008 jr r31
001868ec: 00000000 nop