Difference between revisions of "26 Equipped: Steal Hit (SP+X)%"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with " [26] 00189794: 27bdffe8 addiu r29,r29,0xffe8 00189798: afbf0010 sw r31,0x0010(r29) 0018979c: 0c061e72 jal 0x 001879c8 Skill Slot Hard-Coding BREAK/STEAL/MIGHTY ...")
 
m
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
  [26]
 
  [26]
  00189794: 27bdffe8 addiu r29,r29,0xffe8
+
  00189798: afbf0010 sw r31,0x0010(r29)
+
  00189794: 27bdffe8 addiu r29,r29,-0x0018
  0018979c: 0c061e72 jal 0x 001879c8      Skill Slot Hard-Coding BREAK/STEAL/MIGHTY SWORD
+
  00189798: afbf0010 sw r31,0x0010(r29)
  001897a0: 00000000 nop
+
  0018979c: 0c061e72 jal 0x001879c8          |{{f/jal|Steal/Break/Might Sword Hard Coding|Steal/Break/Might Sword Hard Coding}} Choose Item to steal (from Ability ID), If ok : r2 = 0x00
  001897a4: 10400008 beq r2,r0,0x 001897c8
+
  001897a0: 00000000 nop                     |
  001897a8: 00000000 nop
+
  001897a4: 10400008 beq r2,r0,0x001897c8    {{f/Cond|If Item can not be stolen}}
  001897ac: 0c061390 jal 0x 00184e40      If fail, set stuff to 0 (Made redundant by above branch statement.)
+
  001897a8: 00000000 nop                         |
  001897b0: 00000000 nop
+
  001897ac: 0c061390 jal 0x00184e40              |{{f/jal|Elemental Nullification|Nullify Action }} Clear TCA HP damage, Hit%, Special flags, Attack Type and Hit Flag / Clear Proc and knockback flags
  001897b4: 3c038019 lui r3,0x8019
+
  001897b0: 00000000 nop                         |
  001897b8: 8c632d90 lw r3,0x2d90(r3)
+
  001897b4: 3c038019 lui r3,0x8019               |
  001897bc: 34020007 ori r2,r0,0x0007
+
  001897b8: 8c632d90 lw r3,0x2d90(r3)             |{{f/adr|<nowiki>r3 = Target Current Action (TCA) data pointer</nowiki>}}
  001897c0: 08062606 j 0x 00189818
+
  001897bc: 34020007 ori r2,r0,0x0007             |{{f/std|<nowiki>r2 = 0x07</nowiki>}}
  001897c4: a0620002 sb r2,0x0002(r3)
+
  001897c0: 08062606 j 0x00189818                {{f/jump|jump to }} {{f/loc|END}}
  001897c8: 0c062144 jal 0x 00188510      Physical Evade Calculation
+
  001897c4: a0620002 sb r2,0x0002(r3)             |{{f/store|Set TCA Evade type to 0x07}} {{f/store| (guarded ? Forced to miss ?)}}
  001897cc: 00000000 nop
+
                                            {{f/Cond|Else : Item could be stolen}}
  001897d0: 14400011 bne r2,r0,0x 00189818
+
  001897c8: 0c062144 jal 0x00188510              |{{f/jal|Physical Evade Calculation|Physical Evade Calculation}} If Abillity is evadeable roll Ability Evade byte against Ability base Hit - Returns r2
  001897d4: 00000000 nop
+
  001897cc: 00000000 nop                         |
  001897d8: 0c06178c jal 0x 00185e30      Load SP and X
+
  001897d0: 14400011 bne r2,r0,0x00189818        {{f/Cond|If Attack is not evaded}}
  001897dc: 00000000 nop
+
  001897d4: 00000000 nop                             |
  001897e0: 0c0622c5 jal 0x 00188b14      Hit Chance Calculation (Contains superfluous checks for berserk and frog on the user when the user can't use this while berserk or frogged.)
+
  001897d8: 0c06178c jal 0x00185e30                  |{{f/jal|Store Speed and X|Store Speed and X}} Ability XA = Attacker's speed and Ability YA = used Ability X
  001897e4: 00000000 nop
+
  001897dc: 00000000 nop                             |
  001897e8: 1440000b bne r2,r0,0x 00189818
+
  001897e0: 0c0622c5 jal 0x00188b14                  |{{f/jal|Physical Routine for Hit % abilities|Physical Routine for Hit % abilities}} Modify XA (Physical modifiers), Applies Compatibility on XA and YA, uses XA+YA as hit% - Returns r2
  001897ec: 00000000 nop
+
  001897e4: 00000000 nop                             |
  001897f0: 0c061d8e jal 0x 00187638      Maintenance Check
+
  001897e8: 1440000b bne r2,r0,0x00189818            {{f/Cond|If Attack hits}}
  001897f4: 00000000 nop
+
  001897ec: 00000000 nop                                 |
  001897f8: 3c038019 lui r3,0x8019
+
  001897f0: 0c061d8e jal 0x00187638                      |{{f/jal|Maintenance|Maintenance}} Attack is guarded if Target uses maintenance
  001897fc: 8c632d90 lw r3,0x2d90(r3)
+
  001897f4: 00000000 nop                                 |
  00189800: 00000000 nop
+
  001897f8: 3c038019 lui r3,0x8019                       |
  00189804: 90620000 lbu r2,0x0000(r3)
+
  001897fc: 8c632d90 lw r3,0x2d90(r3)                     |{{f/adr|<nowiki>r3 = TCA data pointer</nowiki>}}
  00189808: 00000000 nop
+
  00189800: 00000000 nop                                 |
  0018980c: 10400002 beq r2,r0,0x 00189818
+
  00189804: 90620000 lbu r2,0x0000(r3)                   |{{f/load|<nowiki>r2 = TCA hit flag</nowiki>}}
  00189810: 34020010 ori r2,r0,0x0010
+
  00189808: 00000000 nop                                 |
  00189814: a4620010 sh r2,0x0010(r3)
+
  0018980c: 10400002 beq r2,r0,0x00189818                {{f/Cond|If Attacks hits (Target do not use Maintenance)}}
  00189818: 8fbf0010 lw r31,0x0010(r29)
+
  00189810: 34020010 ori r2,r0,0x0010                         |{{f/std|<nowiki>r2 = 0x10</nowiki>}}
  0018981c: 27bd 0018 addiu r29,r29,0x 0018
+
  00189814: a4620010 sh r2,0x0010(r3)                         |{{f/store|Enables TCA special flag 1 0x10 (steal item)}}
  00189820: 03e00008 jr r31
+
  00189818: 8fbf0010 lw r31,0x0010(r29)       END
  00189824: 00000000 nop
+
  0018981c: 27bd0018 addiu r29,r29,0x0018   
 +
  00189820: 03e00008 jr r31
 +
  00189824: 00000000 nop  
 +
=== Return location ===
 +
'''Battle.bin'''
 +
0018b97c - [[Pre Formula Setup (FDC)|Pre Formula Setup]]

Latest revision as of 05:33, 22 April 2022

[26]

00189794: 27bdffe8 addiu r29,r29,-0x0018
00189798: afbf0010 sw r31,0x0010(r29)
0018979c: 0c061e72 jal 0x001879c8           |-->Steal/Break/Might Sword Hard Coding Choose Item to steal (from Ability ID), If ok : r2 = 0x00
001897a0: 00000000 nop                      |
001897a4: 10400008 beq r2,r0,0x001897c8     #If Item can not be stolen
001897a8: 00000000 nop                          |
001897ac: 0c061390 jal 0x00184e40               |-->Nullify Action  Clear TCA HP damage, Hit%, Special flags, Attack Type and Hit Flag / Clear Proc and knockback flags
001897b0: 00000000 nop                          |
001897b4: 3c038019 lui r3,0x8019                |
001897b8: 8c632d90 lw r3,0x2d90(r3)             |r3 = Target Current Action (TCA) data pointer
001897bc: 34020007 ori r2,r0,0x0007             |r2 = 0x07
001897c0: 08062606 j 0x00189818                 >>jump to  END
001897c4: a0620002 sb r2,0x0002(r3)             |Set TCA Evade type to 0x07  (guarded ? Forced to miss ?)
                                            #Else : Item could be stolen
001897c8: 0c062144 jal 0x00188510               |-->Physical Evade Calculation If Abillity is evadeable roll Ability Evade byte against Ability base Hit - Returns r2
001897cc: 00000000 nop                          |
001897d0: 14400011 bne r2,r0,0x00189818         #If Attack is not evaded
001897d4: 00000000 nop                              |
001897d8: 0c06178c jal 0x00185e30                   |-->Store Speed and X Ability XA = Attacker's speed and Ability YA = used Ability X
001897dc: 00000000 nop                              |
001897e0: 0c0622c5 jal 0x00188b14                   |-->Physical Routine for Hit % abilities Modify XA (Physical modifiers), Applies Compatibility on XA and YA, uses XA+YA as hit% - Returns r2
001897e4: 00000000 nop                              |
001897e8: 1440000b bne r2,r0,0x00189818             #If Attack hits
001897ec: 00000000 nop                                  |
001897f0: 0c061d8e jal 0x00187638                       |-->Maintenance Attack is guarded if Target uses maintenance
001897f4: 00000000 nop                                  |
001897f8: 3c038019 lui r3,0x8019                        |
001897fc: 8c632d90 lw r3,0x2d90(r3)                     |r3 = TCA data pointer
00189800: 00000000 nop                                  |
00189804: 90620000 lbu r2,0x0000(r3)                    |r2 = TCA hit flag
00189808: 00000000 nop                                  |
0018980c: 10400002 beq r2,r0,0x00189818                 #If Attacks hits (Target do not use Maintenance)
00189810: 34020010 ori r2,r0,0x0010                         |r2 = 0x10
00189814: a4620010 sh r2,0x0010(r3)                         |Enables TCA special flag 1 0x10 (steal item)
00189818: 8fbf0010 lw r31,0x0010(r29)       END
0018981c: 27bd0018 addiu r29,r29,0x0018     
00189820: 03e00008 jr r31
00189824: 00000000 nop 

Return location

Battle.bin
0018b97c - Pre Formula Setup