Difference between revisions of "Called by Nullify Action"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m (return link)
m
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Duplicated link==
+
No parameters - Returns Nothing
  [[Nullification_Process%3F]] Older page (Choto 2012)
+
 +
If 0x801938c8 <> 0x00 :
 +
  - Clear 0x801938c8 (Reaction / Proc flag)
 +
  - Clear 0x801938c6 (Reaction / Proc ID)
 +
  - Disable Target current action special flag 2 0x02 (Proc related - enabled in [[Conditional_Status_Proc_Roll_(19%25)_Inner_Routine]]
 +
--------------------------------------------------------------------------------------------------------------------------------------------
 +
0018bcf0: 3c048019 lui r4,0x8019            |
 +
0018bcf4: 248438c8 addiu r4,r4,0x38c8      |{{f/adr|<nowiki>r4 = 0x801938c8</nowiki>}} {{f/std|            801938c8}}
 +
0018bcf8: 94820000 lhu r2,0x0000(r4)       |{{f/load|<nowiki>r2 = Current Ability Proc/Reaction flag</nowiki>}}
 +
0018bcfc: 00000000 nop                      |
 +
0018bd00: 1040000a beq r2,r0,0x0018bd2c    {{f/Cond|If Proc/Reaction flag <> 0x00}}
 +
0018bd04: 00000000 nop                          |
 +
0018bd08: 3c038019 lui r3,0x8019                |
 +
0018bd0c: 8c632d90 lw r3,0x2d90(r3)            |{{f/adr|<nowiki>r3 = Target current action data pointer</nowiki>}}
 +
0018bd10: 3c018019 lui r1,0x8019                |
 +
0018bd14: a42038c6 sh r0,0x38c6(r1)            |{{f/store|Clear Current Ability Proc/Reaction ID}} {{f/std| 0x801938c6 /801938c6}}
 +
0018bd18: a4800000 sh r0,0x0000(r4)            |{{f/store|Clear Current Ability Proc/Reaction flag}} {{f/std| 0x801938c8 /801938c8}}
 +
0018bd1c: 94620010 lhu r2,0x0010(r3)            |{{f/load|<nowiki>r2 = TCA specials flags</nowiki>}}
 +
0018bd20: 00000000 nop                          |
 +
0018bd24: 3042fdff andi r2,r2,0xfdff            |{{f/std|<nowiki>r2 = TCA special flags without Special flag 2 0x02</nowiki>}}
 +
0018bd28: a4620010 sh r2,0x0010(r3)            |{{f/store|Store updated special flags (without special flag 2 0x02)}}
 +
0018bd2c: 03e00008 jr r31                  END
 +
0018bd30: 00000000 nop                     
  
0018bcf0: 3c048019 lui r4,0x8019
+
=== Return locations ===
0018bcf4: 248438c8 addiu r4,r4,0x38c8
+
  '''Battle.bin'''
0018bcf8: 94820000 lhu r2,0x0000(r4)
 
0018bcfc: 00000000 nop
 
0018bd00: 1040000a beq r2,r0,0x 0018bd2c # if (var_1938c8 == 0) return;
 
0018bd04: 00000000 nop
 
0018bd08: 3c038019 lui r3,0x8019
 
0018bd0c: 8c632d90 lw r3,0x2d90(r3)
 
0018bd10: 3c018019 lui r1,0x8019
 
0018bd14: a42038c6 sh r0,0x38c6(r1) # var_1938c6 = 0;
 
0018bd18: a4800000 sh r0,0x0000(r4) # var_1938c8 = 0;
 
0018bd1c: 94620010 lhu r2,0x0010(r3)
 
0018bd20: 00000000 nop
 
0018bd24: 3042fdff andi r2,r2,0xfdff
 
0018bd28: a4620010 sh r2,0x0010(r3) # action[0x11] &= 0xfd; // Remove flag 0x02 from action[0x11] (see notes)
 
  0018bd2c: 03e00008 jr r31 # return;
 
0018bd30: 00000000 nop
 
 
 
==Return location (in progress)==
 
 
  00184e80: [[Elemental_Nullification]]
 
  00184e80: [[Elemental_Nullification]]
 +
00187dd0: [[Formula_01_-_06_Aftermath]]
 
  0018bb34: [[Set_some_data_for_current_attack]]
 
  0018bb34: [[Set_some_data_for_current_attack]]
==Notes==
+
  0018bc48: [[Set_some_data_for_current_attack]]
  action[0x10] and [0x11] already set to 0x0000 in elemental nullification routine
 

Latest revision as of 10:51, 11 February 2024

No parameters - Returns Nothing

If 0x801938c8 <> 0x00 :
  - Clear 0x801938c8 (Reaction / Proc flag)
  - Clear 0x801938c6 (Reaction / Proc ID)
  - Disable Target current action special flag 2 0x02  (Proc related - enabled in Conditional_Status_Proc_Roll_(19%)_Inner_Routine
--------------------------------------------------------------------------------------------------------------------------------------------
0018bcf0: 3c048019 lui r4,0x8019            |
0018bcf4: 248438c8 addiu r4,r4,0x38c8       |r4 = 0x801938c8              801938c8
0018bcf8: 94820000 lhu r2,0x0000(r4)        |r2 = Current Ability Proc/Reaction flag
0018bcfc: 00000000 nop                      |
0018bd00: 1040000a beq r2,r0,0x0018bd2c     #If Proc/Reaction flag <> 0x00 
0018bd04: 00000000 nop                          |
0018bd08: 3c038019 lui r3,0x8019                |
0018bd0c: 8c632d90 lw r3,0x2d90(r3)             |r3 = Target current action data pointer
0018bd10: 3c018019 lui r1,0x8019                |
0018bd14: a42038c6 sh r0,0x38c6(r1)             |Clear Current Ability Proc/Reaction ID  0x801938c6 /801938c6
0018bd18: a4800000 sh r0,0x0000(r4)             |Clear Current Ability Proc/Reaction flag  0x801938c8 /801938c8
0018bd1c: 94620010 lhu r2,0x0010(r3)            |r2 = TCA specials flags
0018bd20: 00000000 nop                          |
0018bd24: 3042fdff andi r2,r2,0xfdff            |r2 = TCA special flags without Special flag 2 0x02
0018bd28: a4620010 sh r2,0x0010(r3)             |Store updated special flags (without special flag 2 0x02)
0018bd2c: 03e00008 jr r31                   END
0018bd30: 00000000 nop                      

Return locations

Battle.bin
00184e80: Elemental_Nullification
00187dd0: Formula_01_-_06_Aftermath
0018bb34: Set_some_data_for_current_attack
0018bc48: Set_some_data_for_current_attack