Golem Accuracy

From Final Fantasy Hacktics Wiki
Revision as of 19:54, 28 August 2021 by Orkney (talk | contribs) (Notes and links)
Jump to navigation Jump to search
Return r2 = 0x01 if action Miss

00188888: 27bdffe8 addiu r29,r29,0xffe8          
0018888c: afbf0010 sw r31,0x0010(r29)            
00188890: 0c061760 jal 0x00185d80                |-->Store_MA_and_X
00188894: 00000000 nop                           
00188898: 0c061881 jal 0x00186204                |-->Magic_Attack_Up_routine
0018889c: 00000000 nop                           
001888a0: 0c061967 jal 0x0018659c                |-->Set_XA_%2B_YA_for_Status_Formulas_(Stupid_section)
001888a4: 00000000 nop                           
001888a8: 3c028019 lui r2,0x8019                 
001888ac: 8c422d94 lw r2,0x2d94(r2)              |r2 = Attacker data pointer
001888b0: 00000000 nop                           
001888b4: 9042005c lbu r2,0x005c(r2)             |r2 = Attacker current status 5
001888b8: 00000000 nop                           
001888bc: 30420080 andi r2,r2,0x0080             |r2 = 0x80 if attacker as faith
001888c0: 10400003 beq r2,r0,0x001888d0          #If Attacker as faith
001888c4: 34020064 ori r2,r0,0x0064                  |r2 = 100
001888c8: 3c018019 lui r1,0x8019                     |
001888cc: a02238d3 sb r2,0x38d3(r1)                  |Store 100 as attacker effective faith
001888d0: 3c028019 lui r2,0x8019                     |
001888d4: 8c422d94 lw r2,0x2d94(r2)              |r2 = Attacker data pointer
001888d8: 00000000 nop                           
001888dc: 9042005c lbu r2,0x005c(r2)             |r2 = Attacker current status 5
001888e0: 00000000 nop                           
001888e4: 30420040 andi r2,r2,0x0040             |r2 = 0x40 if attacker as innoncent
001888e8: 10400003 beq r2,r0,0x001888f8          #If attacker as innocent
001888ec: 00000000 nop                               |
001888f0: 3c018019 lui r1,0x8019                     |
001888f4: a02038d3 sb r0,0x38d3(r1)                  |Store 0 as attacker effective faith
001888f8: 3c048019 lui r4,0x8019                     |
001888fc: 8c842d90 lw r4,0x2d90(r4)              |r4 = Target current action data pointer
00188900: 3c028019 lui r2,0x8019                 
00188904: 904238d3 lbu r2,0x38d3(r2)             |r2 = Attacker effective faith
00188908: 84830004 lh r3,0x0004(r4)              |r3 = T Current action HP dmg (Host temporary Hit%)
0018890c: 00000000 nop                           
00188910: 00620018 mult r3,r2                    
00188914: 00001812 mflo r3                       |r3 = Att. Faith x Hit%
00188918: 3c0251eb lui r2,0x51eb                 
0018891c: 3442851f ori r2,r2,0x851f              |r2 = 0,32 * 2^32
00188920: 00620018 mult r3,r2                    
00188924: 00031fc3 sra r3,r3,0x1f                |r3 = r3/2^31 (prepare rounding stuff)
00188928: 00001010 mfhi r2                       |r2 = (Att.Faith x Hit%) * 0,32
0018892c: 00021143 sra r2,r2,0x05                |r2 =  (Att.Faith x Hit%) * 0,32 /32       (=  (Att.Faith x Hit%) /100)
00188930: 00431023 subu r2,r2,r3                 |rounding ( - 0 or 1)
00188934: 0c061d44 jal 0x00187510                |-->Use_Specific_Action_Hit_Percentage
00188938: a4820004 sh r2,0x0004(r4)              |Store r2 as HP Dmg (become Hit% in above jal)
0018893c: 3c028019 lui r2,0x8019                 
00188940: 8c422d90 lw r2,0x2d90(r2)              |r2 = Target current action data pointer
00188944: 00000000 nop                           
00188948: 90420000 lbu r2,0x0000(r2)             |r2 = Target action hit flag
0018894c: 00000000 nop                           
00188950: 2c420001 sltiu r2,r2,0x0001            |r2 = 1 if action miss
00188954: 8fbf0010 lw r31,0x0010(r29)            
00188958: 27bd0018 addiu r29,r29,0x0018          
0018895c: 03e00008 jr r31                        
00188960: 00000000 nop

Return location

  • Battle.bin
0018917c: Formula 14 - Set Golem Hit CasF/100*(MA+X)%