Difference between revisions of "Blade Grasp Usability"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m (Notes Formatting, return location)
 
Line 1: Line 1:
 +
 
  Blade Grasp Usability:
 
  Blade Grasp Usability:
  0018d050: 3c028019 lui r2,0x8019
+
  0018d050: 3c028019 lui r2,0x8019           |
  0018d054: 904238f6 lbu r2,0x38f6(r2) Load Ability Flags 4
+
  0018d054: 904238f6 lbu r2,0x38f6(r2)       |{{f/load|<nowiki>r2 = Current ability flag 4</nowiki>}}
  0018d058: 27bdffe8 addiu r29,r29,0xffe8
+
  0018d058: 27bdffe8 addiu r29,r29,0xffe8     |
  0018d05c: 30420010 andi r2,r2,0x0010
+
  0018d05c: 30420010 andi r2,r2,0x0010       |{{f/std|<nowiki>r2 = 0x10 (blade grasp flag)</nowiki>}}
  0018d060: 1040001d beq r2,r0,0x0018d0d8 Branch if Blade Grasp is not flagged
+
  0018d060: 1040001d beq r2,r0,0x0018d0d8     {{f/Cond|<nowiki>If Ability has countergrasp checked</nowiki>}} /Else branch to {{f/loc|<nowiki>End</nowiki>}}
  0018d064: afbf0010 sw r31,0x0010(r29)
+
  0018d064: afbf0010 sw r31,0x0010(r29)           |{{f/store|<nowiki> </nowiki>}}
  0018d068: 3c048019 lui r4,0x8019
+
  0018d068: 3c048019 lui r4,0x8019                 |{{f/std|<nowiki> </nowiki>}}
  0018d06c: 8c842d98 lw r4,0x2d98(r4) Load Defender's Stats
+
  0018d06c: 8c842d98 lw r4,0x2d98(r4)             |{{f/adr|<nowiki>r4 = Target data pointer</nowiki>}}
  0018d070: 34020064 ori r2,r0,0x0064 R2 = 0x64 (or 100)
+
  0018d070: 34020064 ori r2,r0,0x0064             |{{f/std|<nowiki>r2 = 0x64 (100)</nowiki>}}
  0018d074: 90830024 lbu r3,0x0024(r4) Load Defender's Brave
+
  0018d074: 90830024 lbu r3,0x0024(r4)             |{{f/load|<nowiki>r3 = Target current brave</nowiki>}}
  0018d078: 3c058019 lui r5,0x8019
+
  0018d078: 3c058019 lui r5,0x8019                 |
  0018d07c: 8ca52d90 lw r5,0x2d90(r5) Load Defender's Current Action Data
+
  0018d07c: 8ca52d90 lw r5,0x2d90(r5)             |{{f/adr|<nowiki>r5 = Target current action data pointer</nowiki>}}
  0018d080: 00431023 subu r2,r2,r3 100 - Brave
+
  0018d080: 00431023 subu r2,r2,r3                 |{{f/std|<nowiki>r2 = 100 - Target brave</nowiki>}}
  0018d084: 0c0634e1 jal 0x0018d384 [[Chance to React]]
+
  0018d084: 0c0634e1 jal 0x0018d384               |{{f/jal|Chance to React|<nowiki>Chance to React</nowiki>}}  0 to 100 Random number against Target brave - returns r2 = 0x00 if reaction occurs
  0018d088: a4a2002a sh r2,0x002a(r5) Store 100 - Brave as Hit %?
+
  0018d088: a4a2002a sh r2,0x002a(r5)             |{{f/store|<nowiki>Store 100 target current action hit% as 100 - Brave </nowiki>}} {{f/std|<nowiki>(for displaying hit% ?)</nowiki>}}
  0018d08c: 14400012 bne r2,r0,0x0018d0d8
+
  0018d08c: 14400012 bne r2,r0,0x0018d0d8         {{f/Cond|<nowiki>If target is reacting</nowiki>}} /Else branch to {{f/loc|<nowiki>end</nowiki>}}
  0018d090: 00000000 nop
+
  0018d090: 00000000 nop                               |{{f/std|<nowiki> </nowiki>}}
  0018d094: 3c028019 lui r2,0x8019
+
  0018d094: 3c028019 lui r2,0x8019                     |{{f/std|<nowiki> </nowiki>}}
  0018d098: 8c42f5fc lw r2,-0x0a04(r2)
+
  0018d098: 8c42f5fc lw r2,-0x0a04(r2)                 |{{f/load|<nowiki>r2 = Action state</nowiki>}}
  0018d09c: 00000000 nop
+
  0018d09c: 00000000 nop                               |
  0018d0a0: 1440000d bne r2,r0,0x0018d0d8
+
  0018d0a0: 1440000d bne r2,r0,0x0018d0d8             {{f/Cond|<nowiki>If action is being executed</nowiki>}} /Else branch to {{f/loc|<nowiki>end</nowiki>}}
  0018d0a4: 00000000 nop
+
  0018d0a4: 00000000 nop                                   |
  0018d0a8: 3c028019 lui r2,0x8019
+
  0018d0a8: 3c028019 lui r2,0x8019                         |
  0018d0ac: 8c422d90 lw r2,0x2d90(r2) Load Defender's Current Action Data
+
  0018d0ac: 8c422d90 lw r2,0x2d90(r2)                     |{{f/adr|<nowiki>r2 = Target current action data pointer</nowiki>}}
  0018d0b0: 00000000 nop
+
  0018d0b0: 00000000 nop                                   |
  0018d0b4: a0400000 sb r0,0x0000(r2) Store Hit
+
  0018d0b4: a0400000 sb r0,0x0000(r2)                     |{{f/store|<nowiki>Store Target current action hit flag as miss</nowiki>}}
  0018d0b8: 3c038019 lui r3,0x8019
+
  0018d0b8: 3c038019 lui r3,0x8019                         |
  0018d0bc: 8c632d90 lw r3,0x2d90(r3) Load Defender's Current Action Data
+
  0018d0bc: 8c632d90 lw r3,0x2d90(r3)                     |{{f/adr|<nowiki>r3 = Target current action data pointer</nowiki>}}
  0018d0c0: 3402000b ori r2,r0,0x000b
+
  0018d0c0: 3402000b ori r2,r0,0x000b                     |{{f/std|<nowiki>r2 = 0x0b</nowiki>}}
  0018d0c4: a0620002 sb r2,0x0002(r3) Store Evade type as 0x0b
+
  0018d0c4: a0620002 sb r2,0x0002(r3)                     |{{f/store|<nowiki>Store Evade type as 0x0b (blade grasp)</nowiki>}}
  0018d0c8: 3c038019 lui r3,0x8019
+
  0018d0c8: 3c038019 lui r3,0x8019                         |
  0018d0cc: 8c632d90 lw r3,0x2d90(r3) Load Defender's Current Action Data
+
  0018d0cc: 8c632d90 lw r3,0x2d90(r3)                     |{{f/adr|<nowiki>r3 = Target current action data pointer</nowiki>}}
  0018d0d0: 340201c3 ori r2,r0,0x01c3
+
  0018d0d0: 340201c3 ori r2,r0,0x01c3                     |{{f/std|<nowiki>r2 = 0x1c3 (Blade grasp Ability ID)</nowiki>}}
  0018d0d4: a462000e sh r2,0x000e(r3) Store Reaction ID as 1c3
+
  0018d0d4: a462000e sh r2,0x000e(r3)                     |{{f/store|<nowiki>Store Target Reaction ID as blade grasp</nowiki>}}
  0018d0d8: 8fbf0010 lw r31,0x0010(r29)
+
  0018d0d8: 8fbf0010 lw r31,0x0010(r29)          
  0018d0dc: 27bd0018 addiu r29,r29,0x0018
+
  0018d0dc: 27bd0018 addiu r29,r29,0x0018        
  0018d0e0: 03e00008 jr r31
+
  0018d0e0: 03e00008 jr r31                      
 
  0018d0e4: 00000000 nop
 
  0018d0e4: 00000000 nop
 +
 +
==Return locations==
 +
0018b940: [[Pre_Formula_Setup_(FDC)]]

Latest revision as of 21:22, 27 November 2021

Blade Grasp Usability:
0018d050: 3c028019 lui r2,0x8019            |
0018d054: 904238f6 lbu r2,0x38f6(r2)        |r2 = Current ability flag 4
0018d058: 27bdffe8 addiu r29,r29,0xffe8     |
0018d05c: 30420010 andi r2,r2,0x0010        |r2 = 0x10 (blade grasp flag)
0018d060: 1040001d beq r2,r0,0x0018d0d8     #If Ability has countergrasp checked /Else branch to End
0018d064: afbf0010 sw r31,0x0010(r29)            | 
0018d068: 3c048019 lui r4,0x8019                 | 
0018d06c: 8c842d98 lw r4,0x2d98(r4)              |r4 = Target data pointer
0018d070: 34020064 ori r2,r0,0x0064              |r2 = 0x64 (100)
0018d074: 90830024 lbu r3,0x0024(r4)             |r3 = Target current brave
0018d078: 3c058019 lui r5,0x8019                 |
0018d07c: 8ca52d90 lw r5,0x2d90(r5)              |r5 = Target current action data pointer
0018d080: 00431023 subu r2,r2,r3                 |r2 = 100 - Target brave
0018d084: 0c0634e1 jal 0x0018d384                |-->Chance to React  0 to 100 Random number against Target brave - returns r2 = 0x00 if reaction occurs
0018d088: a4a2002a sh r2,0x002a(r5)              |Store 100 target current action hit% as 100 - Brave  (for displaying hit% ?)
0018d08c: 14400012 bne r2,r0,0x0018d0d8          #If target is reacting /Else branch to end
0018d090: 00000000 nop                               | 
0018d094: 3c028019 lui r2,0x8019                     | 
0018d098: 8c42f5fc lw r2,-0x0a04(r2)                 |r2 = Action state
0018d09c: 00000000 nop                               |
0018d0a0: 1440000d bne r2,r0,0x0018d0d8              #If action is being executed /Else branch to end
0018d0a4: 00000000 nop                                   |
0018d0a8: 3c028019 lui r2,0x8019                         |
0018d0ac: 8c422d90 lw r2,0x2d90(r2)                      |r2 = Target current action data pointer
0018d0b0: 00000000 nop                                   |
0018d0b4: a0400000 sb r0,0x0000(r2)                      |Store Target current action hit flag as miss
0018d0b8: 3c038019 lui r3,0x8019                         |
0018d0bc: 8c632d90 lw r3,0x2d90(r3)                      |r3 = Target current action data pointer
0018d0c0: 3402000b ori r2,r0,0x000b                      |r2 = 0x0b
0018d0c4: a0620002 sb r2,0x0002(r3)                      |Store Evade type as 0x0b (blade grasp)
0018d0c8: 3c038019 lui r3,0x8019                         |
0018d0cc: 8c632d90 lw r3,0x2d90(r3)                      |r3 = Target current action data pointer
0018d0d0: 340201c3 ori r2,r0,0x01c3                      |r2 = 0x1c3 (Blade grasp Ability ID)
0018d0d4: a462000e sh r2,0x000e(r3)                      |Store Target Reaction ID as blade grasp
0018d0d8: 8fbf0010 lw r31,0x0010(r29)            
0018d0dc: 27bd0018 addiu r29,r29,0x0018          
0018d0e0: 03e00008 jr r31                        
0018d0e4: 00000000 nop

Return locations

0018b940: Pre_Formula_Setup_(FDC)