Difference between revisions of "Store target stats pointer data"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 0018d70c: 27bdffe8 addiu r29,r29,0xffe8 0018d710: afb00010 sw r16,0x0010(r29) 0018d714: 00808021 addu r16,r4,r0 0018d718: 001010c0 sll r2,r16,0...")
 
Line 1: Line 1:
<font face='Courier New'>
+
Handles recoil?
 
   
 
   
 
  0018d70c: 27bdffe8 addiu r29,r29,0xffe8
 
  0018d70c: 27bdffe8 addiu r29,r29,0xffe8
Line 8: Line 8:
 
  0018d720: 00022980 sll r5,r2,0x06
 
  0018d720: 00022980 sll r5,r2,0x06
 
  0018d724: 3c048019 lui r4,0x8019
 
  0018d724: 3c048019 lui r4,0x8019
  0018d728: 248408cc addiu r4,r4,0x08cc
+
  0018d728: 248408cc addiu r4,r4,0x08cc                 unit battle data table
 
  0018d72c: 00a41821 addu r3,r5,r4
 
  0018d72c: 00a41821 addu r3,r5,r4
 
  0018d730: 2a020015 slti r2,r16,0x0015
 
  0018d730: 2a020015 slti r2,r16,0x0015
 
  0018d734: afbf0014 sw r31,0x0014(r29)
 
  0018d734: afbf0014 sw r31,0x0014(r29)
 
  0018d738: 3c018019 lui r1,0x8019
 
  0018d738: 3c018019 lui r1,0x8019
  0018d73c: ac232d98 sw r3,0x2d98(r1)
+
  0018d73c: ac232d98 sw r3,0x2d98(r1)                   store caster as target data pointer
 
  0018d740: 1040000a beq r2,r0,0x0018d76c
 
  0018d740: 1040000a beq r2,r0,0x0018d76c
 
  0018d744: 2482018c addiu r2,r4,0x018c
 
  0018d744: 2482018c addiu r2,r4,0x018c
 
  0018d748: 00a22821 addu r5,r5,r2
 
  0018d748: 00a22821 addu r5,r5,r2
 
  0018d74c: 3c018019 lui r1,0x8019
 
  0018d74c: 3c018019 lui r1,0x8019
  0018d750: a03038c1 sb r16,0x38c1(r1) store target ID
+
  0018d750: a03038c1 sb r16,0x38c1(r1) store caster as target ID
 
  0018d754: 3c018019 lui r1,0x8019
 
  0018d754: 3c018019 lui r1,0x8019
 
  0018d758: ac252d90 sw r5,0x2d90(r1) store target current action pointer
 
  0018d758: ac252d90 sw r5,0x2d90(r1) store target current action pointer
 
  0018d75c: 90630001 lbu r3,0x0001(r3) load target unit ID
 
  0018d75c: 90630001 lbu r3,0x0001(r3) load target unit ID
 
  0018d760: 340200ff ori r2,r0,0x00ff
 
  0018d760: 340200ff ori r2,r0,0x00ff
  0018d764: 14620003 bne r3,r2,0x0018d774 branch if target exists
+
  0018d764: 14620003 bne r3,r2,0x0018d774 if target exists: else branch
 
  0018d768: 00000000 nop
 
  0018d768: 00000000 nop
  0018d76c: 080635ed j 0x0018d7b4 return fail, r2 = 0xffff
+
  0018d76c: 080635ed j 0x0018d7b4 [[Store target stats pointer data]]
 
  0018d770: 2402ffff addiu r2,r0,0xffff
 
  0018d770: 2402ffff addiu r2,r0,0xffff
 
  0018d774: 3c048019 lui r4,0x8019
 
  0018d774: 3c048019 lui r4,0x8019
  0018d778: 24842da0 addiu r4,r4,0x2da0
+
  0018d778: 24842da0 addiu r4,r4,0x2da0 Attacker current action data copy
  0018d77c: 0c017895 jal 0x0005e254 store ?? data
+
  0018d77c: 0c017895 jal 0x0005e254 [[https://ffhacktics.com/wiki/Store_X_Byte_into_Y]]
 
  0018d780: 3406002c ori r6,r0,0x002c
 
  0018d780: 3406002c ori r6,r0,0x002c
  0018d784: 0c062f82 jal 0x0018be08 Main action routine
+
  0018d784: 0c062f82 jal 0x0018be08 [[Attack Finalisation & Reaction Flagging]]
 
  0018d788: 02002021 addu r4,r16,r0
 
  0018d788: 02002021 addu r4,r16,r0
 
  0018d78c: 3c048019 lui r4,0x8019
 
  0018d78c: 3c048019 lui r4,0x8019
 
  0018d790: 8c842d90 lw r4,0x2d90(r4)
 
  0018d790: 8c842d90 lw r4,0x2d90(r4)
 
  0018d794: 00000000 nop
 
  0018d794: 00000000 nop
  0018d798: 90830000 lbu r3,0x0000(r4)
+
  0018d798: 90830000 lbu r3,0x0000(r4) load hit?
 
  0018d79c: 00000000 nop
 
  0018d79c: 00000000 nop
 
  0018d7a0: 14600003 bne r3,r0,0x0018d7b0 branch if attack hit
 
  0018d7a0: 14600003 bne r3,r0,0x0018d7b0 branch if attack hit
 
  0018d7a4: 00402821 addu r5,r2,r0
 
  0018d7a4: 00402821 addu r5,r2,r0
 
  0018d7a8: 34020008 ori r2,r0,0x0008
 
  0018d7a8: 34020008 ori r2,r0,0x0008
  0018d7ac: a0820002 sb r2,0x0002(r4) store evade type = ??
+
  0018d7ac: a0820002 sb r2,0x0002(r4) store evade type = cancelled by status
 
  0018d7b0: 00a01021 addu r2,r5,r0
 
  0018d7b0: 00a01021 addu r2,r5,r0
 
  0018d7b4: 8fbf0014 lw r31,0x0014(r29)
 
  0018d7b4: 8fbf0014 lw r31,0x0014(r29)

Revision as of 10:54, 22 April 2024

Handles recoil?

0018d70c: 27bdffe8 addiu r29,r29,0xffe8
0018d710: afb00010 sw r16,0x0010(r29)
0018d714: 00808021 addu r16,r4,r0
0018d718: 001010c0 sll r2,r16,0x03
0018d71c: 00501023 subu r2,r2,r16
0018d720: 00022980 sll r5,r2,0x06
0018d724: 3c048019 lui r4,0x8019
0018d728: 248408cc addiu r4,r4,0x08cc                  unit battle data table
0018d72c: 00a41821 addu r3,r5,r4
0018d730: 2a020015 slti r2,r16,0x0015
0018d734: afbf0014 sw r31,0x0014(r29)
0018d738: 3c018019 lui r1,0x8019
0018d73c: ac232d98 sw r3,0x2d98(r1)                    store caster as target data pointer
0018d740: 1040000a beq r2,r0,0x0018d76c
0018d744: 2482018c addiu r2,r4,0x018c
0018d748: 00a22821 addu r5,r5,r2
0018d74c: 3c018019 lui r1,0x8019
0018d750: a03038c1 sb r16,0x38c1(r1)			store caster as target ID
0018d754: 3c018019 lui r1,0x8019
0018d758: ac252d90 sw r5,0x2d90(r1)				store target current action pointer
0018d75c: 90630001 lbu r3,0x0001(r3)			load target unit ID
0018d760: 340200ff ori r2,r0,0x00ff
0018d764: 14620003 bne r3,r2,0x0018d774			if target exists: else branch
0018d768: 00000000 nop
0018d76c: 080635ed j 0x0018d7b4					Store target stats pointer data
0018d770: 2402ffff addiu r2,r0,0xffff
0018d774: 3c048019 lui r4,0x8019
0018d778: 24842da0 addiu r4,r4,0x2da0			Attacker current action data copy
0018d77c: 0c017895 jal 0x0005e254				[[1]]
0018d780: 3406002c ori r6,r0,0x002c
0018d784: 0c062f82 jal 0x0018be08				Attack Finalisation & Reaction Flagging
0018d788: 02002021 addu r4,r16,r0
0018d78c: 3c048019 lui r4,0x8019
0018d790: 8c842d90 lw r4,0x2d90(r4)			
0018d794: 00000000 nop
0018d798: 90830000 lbu r3,0x0000(r4)			load hit?
0018d79c: 00000000 nop
0018d7a0: 14600003 bne r3,r0,0x0018d7b0			branch if attack hit
0018d7a4: 00402821 addu r5,r2,r0
0018d7a8: 34020008 ori r2,r0,0x0008
0018d7ac: a0820002 sb r2,0x0002(r4)				store evade type = cancelled by status
0018d7b0: 00a01021 addu r2,r5,r0
0018d7b4: 8fbf0014 lw r31,0x0014(r29)
0018d7b8: 8fb00010 lw r16,0x0010(r29)
0018d7bc: 27bd0018 addiu r29,r29,0x0018
0018d7c0: 03e00008 jr r31
0018d7c4: 00000000 nop