Difference between revisions of "Remove Knockback Flag"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with " # ROUTINE: REMOVE KNOCKBACK FLAG 0018bd34: 3c048019 lui r4,0x8019 0018bd38: 248438ed addiu r4,r4,0x38ed # Post-action flags 0018bd3c: 90820000 lbu r2,0x0000(...")
 
m
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
  # ROUTINE: REMOVE KNOCKBACK FLAG
+
  No parameters - Returns Nothing
 
   
 
   
  0018bd34: 3c048019 lui r4,0x8019
+
If Target is going to be knocked back ( 0x801938ed <> 0x00 )
  0018bd38: 248438ed addiu r4,r4,0x38ed           #  Post-action flags
+
  - Clear 0x801938ed
  0018bd3c: 90820000 lbu r2,0x0000(r4)
+
  - Disable Knockback flag from target current action special flags 2
  0018bd40: 00000000 nop
+
------------------------------------------------------------------------------------ 
  0018bd44: 30420080 andi r2,r2,0x0080           #  Knockback flag
+
  0018bd34: 3c048019 lui r4,0x8019           |
  0018bd48: 10400008 beq r2,r0,0x0018bd6c         #  if (Knockback flag is set) {
+
  0018bd38: 248438ed addiu r4,r4,0x38ed       |{{f/adr|<nowiki>r4 = Current Ability Fall/Knockback Flags pointer</nowiki>}} {{f/std|      0x801938ed / 801938ed}}
  0018bd4c: 00000000 nop
+
  0018bd3c: 90820000 lbu r2,0x0000(r4)       |{{f/load|<nowiki>r2 = Current Ability Fall/Knockback Flags</nowiki>}}
  0018bd50: 3c038019 lui r3,0x8019
+
  0018bd40: 00000000 nop                     |
  0018bd54: 8c632d90 lw r3,0x2d90(r3)            #      Action
+
  0018bd44: 30420080 andi r2,r2,0x0080       |{{f/std|<nowiki>r2 = 0x80 if Target is knocked back (might fall)</nowiki>}}
  0018bd58: a0800000 sb r0,0x0000(r4)            #      [Post-action flags] = 0
+
  0018bd48: 10400008 beq r2,r0,0x0018bd6c     {{f/Cond|If Target is going to be knocked back}}
  0018bd5c: 94620010 lhu r2,0x0010(r3)            #      Action Special Flags (offsets 0x10, 0x11)
+
  0018bd4c: 00000000 nop                         |
  0018bd60: 00000000 nop
+
  0018bd50: 3c038019 lui r3,0x8019               |
  0018bd64: 3042bfff andi r2,r2,0xbfff            #      Remove Knockback flag from Action Special Flags
+
  0018bd54: 8c632d90 lw r3,0x2d90(r3)            |{{f/adr|<nowiki>r3 = Target Current Action (TCA) data pointer</nowiki>}}
  0018bd68: a4620010 sh r2,0x0010(r3)            #      Save Action Special Flags
+
  0018bd58: a0800000 sb r0,0x0000(r4)            |{{f/store|Clear Current Ability knockback flag}}
                                                #  }
+
  0018bd5c: 94620010 lhu r2,0x0010(r3)            |{{f/load|<nowiki>r2 = TCA special flags 1 and 2</nowiki>}}
  0018bd6c: 03e00008 jr r31
+
  0018bd60: 00000000 nop                         |
  0018bd70: 00000000 nop
+
  0018bd64: 3042bfff andi r2,r2,0xbfff            |{{f/std|Remove Knockback flag from TCA Special Flags 2 (flag 0x40)}}
 +
  0018bd68: a4620010 sh r2,0x0010(r3)            |{{f/store|Store TCA special flag without knockback}}
 +
  0018bd6c: 03e00008 jr r31                   END
 +
  0018bd70: 00000000 nop                        
 +
 
 +
=== Return locations ===
 +
'''Battle.bin'''
 +
00184e88: [[Elemental_Nullification]]
 +
00187720: [[Store_Reaction/Proc_ID_and_Target]]
 +
00187dc8: [[Formula_01_-_06_Aftermath]]
 +
0018bb3c: [[Set_some_data_for_current_attack]]
 +
0018bc40: [[Set_some_data_for_current_attack]]
 +
0018bce0: [[Set_some_data_for_current_attack]]
 +
 +
==Notes==
 +
Older page [[%3FNullify_steal_item%3F]]

Latest revision as of 19:19, 3 April 2022

No parameters - Returns Nothing

If Target is going to be knocked back ( 0x801938ed <> 0x00 )
  - Clear 0x801938ed 
  - Disable Knockback flag from target current action special flags 2
------------------------------------------------------------------------------------  
0018bd34: 3c048019 lui r4,0x8019            |
0018bd38: 248438ed addiu r4,r4,0x38ed       |r4 = Current Ability Fall/Knockback Flags pointer        0x801938ed / 801938ed
0018bd3c: 90820000 lbu r2,0x0000(r4)        |r2 = Current Ability Fall/Knockback Flags
0018bd40: 00000000 nop                      |
0018bd44: 30420080 andi r2,r2,0x0080        |r2 = 0x80 if Target is knocked back (might fall)
0018bd48: 10400008 beq r2,r0,0x0018bd6c     #If Target is going to be knocked back
0018bd4c: 00000000 nop                          |
0018bd50: 3c038019 lui r3,0x8019                |
0018bd54: 8c632d90 lw r3,0x2d90(r3)             |r3 = Target Current Action (TCA) data pointer
0018bd58: a0800000 sb r0,0x0000(r4)             |Clear Current Ability knockback flag
0018bd5c: 94620010 lhu r2,0x0010(r3)            |r2 = TCA special flags 1 and 2
0018bd60: 00000000 nop                          |
0018bd64: 3042bfff andi r2,r2,0xbfff            |Remove Knockback flag from TCA Special Flags 2 (flag 0x40)
0018bd68: a4620010 sh r2,0x0010(r3)             |Store TCA special flag without knockback
0018bd6c: 03e00008 jr r31                   END
0018bd70: 00000000 nop                         

Return locations

Battle.bin
00184e88: Elemental_Nullification
00187720: Store_Reaction/Proc_ID_and_Target
00187dc8: Formula_01_-_06_Aftermath
0018bb3c: Set_some_data_for_current_attack
0018bc40: Set_some_data_for_current_attack 
0018bce0: Set_some_data_for_current_attack

Notes

Older page ?Nullify_steal_item?