Difference between revisions of "57 +Lvl(1) NS 100% Add Status on Caster"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with " [57] 0018a758: 27bdffe0 addiu r29,r29,0xffe0 0018a75c: afbf 0018 sw r31,0x 0018(r29) 0018a760: afb10014 sw r17,0x0014(r29) 0018a764: 0c0620b2 jal 0x 001882c8 ...")
 
m
 
Line 1: Line 1:
 
  [57]
 
  [57]
  0018a758: 27bdffe0 addiu r29,r29,0xffe0
+
  0018a758: 27bdffe0 addiu r29,r29,-0x0020    |
  0018a75c: afbf 0018 sw r31,0x 0018(r29)
+
  0018a75c: afbf0018 sw r31,0x0018(r29)       |
  0018a760: afb10014 sw r17,0x0014(r29)
+
  0018a760: afb10014 sw r17,0x0014(r29)       |
  0018a764: 0c0620b2 jal 0x 001882c8      100% HP/MP Healing
+
  0018a764: 0c0620b2 jal 0x001882c8          |{{f/jal|100%25_HP/MP_Healing_(actual)|100%_HP/MP_Healing}} Set TCA HP damage to 100% and MP recovery to 100%
  0018a768: afb00010 sw r16,0x0010(r29)
+
  0018a768: afb00010 sw r16,0x0010(r29)       |
  0018a76c: 0c061cd4 jal 0x 00187350      Healing Calculation
+
  0018a76c: 0c061cd4 jal 0x00187350          |{{f/jal|Undead_Reversal|Undead_Reversal}} Switch HP damage to HP recovery if Target isn't undead
  0018a770: 00000000 nop
+
  0018a770: 00000000 nop                     |
  0018a774: 3c028019 lui r2,0x8019
+
  0018a774: 3c028019 lui r2,0x8019           |
  0018a778: 8c422d98 lw r2,0x2d98(r2)
+
  0018a778: 8c422d98 lw r2,0x2d98(r2)         |{{f/adr|<nowiki>r2 = Target data pointer</nowiki>}}
  0018a77c: 00000000 nop
+
  0018a77c: 00000000 nop                     |
  0018a780: 90420022 lbu r2,0x0022(r2)
+
  0018a780: 90420022 lbu r2,0x0022(r2)       |{{f/load|<nowiki>r2 = Target's Level</nowiki>}}
  0018a784: 00000000 nop
+
  0018a784: 00000000 nop                     |
  0018a788: 2c420063 sltiu r2,r2,0x0063       (Should be 0x64)
+
  0018a788: 2c420063 sltiu r2,r2,0x0063       |{{f/std|<nowiki>r2 = 0x01 if Target Lv < 99</nowiki>}}
  0018a78c: 14400007 bne r2,r0,0x 0018a7ac
+
  0018a78c: 14400007 bne r2,r0,0x0018a7ac    {{f/Cond|If Target Level is 99}}
  0018a790: 34060001 ori r6,r0,0x0001     Runs if target is level 99+.
+
  0018a790: 34060001 ori r6,r0,0x0001         |{{f/std|<nowiki>r6 = 0x01</nowiki>}}
  0018a794: 3c028019 lui r2,0x8019
+
  0018a794: 3c028019 lui r2,0x8019               |
  0018a798: 8c422d90 lw r2,0x2d90(r2)
+
  0018a798: 8c422d90 lw r2,0x2d90(r2)             |{{f/adr|<nowiki>r2 = Target Current Action (TCA) data pointer</nowiki>}}
  0018a79c: 0c0610c3 jal 0x 0018430c      ELSE MISS routine
+
  0018a79c: 0c0610c3 jal 0x0018430c              |{{f/jal|Force_Attack_Miss|Force_Attack_Miss}} {{f/std|<nowiki>Hit Flag = Miss Hit% = 0 - Evade type = 0x07</nowiki>}}
  0018a7a0: a0400025 sb r0,0x0025(r2)     Set attack as Miss
+
  0018a7a0: a0400025 sb r0,0x0025(r2)             |{{f/store|Clear TCA Attack type}}
  0018a7a4: 08062a03 j 0x 0018a80c        GOTO end
+
  0018a7a4: 08062a03 j 0x0018a80c                {{f/jump|Jump to}} {{f/loc|END}}
  0018a7a8: 00000000 nop
+
  0018a7a8: 00000000 nop
  0018a7ac: 3c058019 lui r5,0x8019     Runs if target < L99.
+
  0018a7b0: 8ca52d90 lw r5,0x2d90(r5)
+
  0018a7ac: 3c058019 lui r5,0x8019           {{f/Cond|Else : Target Lv < 99}}
  0018a7b4: 00000000 nop
+
  0018a7b0: 8ca52d90 lw r5,0x2d90(r5)             |{{f/adr|<nowiki>r5 = Target Current Action (TCA) data pointer</nowiki>}}
  0018a7b8: a0a60025 sb r6,0x0025(r5)     Set type as Psuedo-Status
+
  0018a7b4: 00000000 nop                         |
  0018a7bc: 3c108019 lui r16,0x8019
+
  0018a7b8: a0a60025 sb r6,0x0025(r5)             |{{f/store|Set TCA Attack type as pseudo status}}
  0018a7c0: 8e102d98 lw r16,0x2d98(r16)
+
  0018a7bc: 3c108019 lui r16,0x8019               |
  0018a7c4: 3c118019 lui r17,0x8019
+
  0018a7c0: 8e102d98 lw r16,0x2d98(r16)           |{{f/adr|<nowiki>r16 = Target data pointer</nowiki>}}
  0018a7c8: 8e312d90 lw r17,0x2d90(r17)
+
  0018a7c4: 3c118019 lui r17,0x8019               |
  0018a7cc: 3c048019 lui r4,0x8019
+
  0018a7c8: 8e312d90 lw r17,0x2d90(r17)           |{{f/adr|<nowiki>r17 = TCA data pointer</nowiki>}}
  0018a7d0: 8c842d94 lw r4,0x2d94(r4)
+
  0018a7cc: 3c048019 lui r4,0x8019               |
  0018a7d4: 3c038019 lui r3,0x8019
+
  0018a7d0: 8c842d94 lw r4,0x2d94(r4)             |{{f/adr|<nowiki>r4 = Attacker data pointer</nowiki>}}
  0018a7d8: 8c632d8c lw r3,0x2d8c(r3)
+
  0018a7d4: 3c038019 lui r3,0x8019               |
  0018a7dc: 34020080 ori r2,r0,0x0080
+
  0018a7d8: 8c632d8c lw r3,0x2d8c(r3)             |{{f/adr|<nowiki>r3 = Attacker Current Action (ACA) data pointer</nowiki>}}
  0018a7e0: a4a20010 sh r2,0x0010(r5)     +1 Level to target
+
  0018a7dc: 34020080 ori r2,r0,0x0080             |{{f/std|<nowiki>r2 = 0x80</nowiki>}}
  0018a7e4: 3c018019 lui r1,0x8019
+
  0018a7e0: a4a20010 sh r2,0x0010(r5)             |{{f/store|Enable TCA Special flag 1 0x80 : +1 Lv}}
  0018a7e8: ac242d98 sw r4,0x2d98(r1)     Set target as self
+
  0018a7e4: 3c018019 lui r1,0x8019               |
  0018a7ec: 3c018019 lui r1,0x8019
+
  0018a7e8: ac242d98 sw r4,0x2d98(r1)             |{{f/store|Store Attacker data pointer as Target data pointer}} {{f/std| (will be used to inflict status to caster in jal below)}}
  0018a7f0: ac232d90 sw r3,0x2d90(r1)     Set target as self
+
  0018a7ec: 3c018019 lui r1,0x8019               |
  0018a7f4: 0c061fc9 jal 0x 00187f24      Add status at 100%
+
  0018a7f0: ac232d90 sw r3,0x2d90(r1)             |{{f/store|Store ACA data pointer as TCA data pointer }} {{f/std| (will be used to inflict status to caster in jal below)}}
  0018a7f8: a0660000 sb r6,0x0000(r3)     Flag as hit
+
  0018a7f4: 0c061fc9 jal 0x00187f24              |{{f/jal|Apply_status_(to_action)|Apply_status_(to_action)}} Add Ability status - if successful update ACA Attack type
  0018a7fc: 3c018019 lui r1,0x8019
+
  0018a7f8: a0660000 sb r6,0x0000(r3)             |{{f/store|Set ACA hit flag to HIT}}
  0018a800: ac302d98 sw r16,0x2d98(r1)     Reset target to unit selected
+
  0018a7fc: 3c018019 lui r1,0x8019               |
  0018a804: 3c018019 lui r1,0x8019
+
  0018a800: ac302d98 sw r16,0x2d98(r1)           |{{f/store|Restore Target data pointer}}
  0018a808: ac312d90 sw r17,0x2d90(r1)     Reset caster as caster
+
  0018a804: 3c018019 lui r1,0x8019               |
  0018a80c: 8fbf 0018 lw r31,0x 0018(r29)
+
  0018a808: ac312d90 sw r17,0x2d90(r1)           |{{f/store|Restore TCA data pointer}}
  0018a810: 8fb10014 lw r17,0x0014(r29)
+
  0018a80c: 8fbf0018 lw r31,0x0018(r29)       END
  0018a814: 8fb00010 lw r16,0x0010(r29)
+
  0018a810: 8fb10014 lw r17,0x0014(r29)
  0018a818: 27bd0020 addiu r29,r29,0x0020
+
  0018a814: 8fb00010 lw r16,0x0010(r29)
  0018a81c: 03e00008 jr r31
+
  0018a818: 27bd0020 addiu r29,r29,0x0020
 +
  0018a81c: 03e00008 jr r31
 
  0018a820: 00000000 nop
 
  0018a820: 00000000 nop
 +
=== Return location ===
 +
'''Battle.bin'''
 +
0018b97c : [[Pre Formula Setup (FDC)|Pre Formula Setup]]

Latest revision as of 19:47, 26 April 2022

[57]
0018a758: 27bdffe0 addiu r29,r29,-0x0020    |
0018a75c: afbf0018 sw r31,0x0018(r29)       |
0018a760: afb10014 sw r17,0x0014(r29)       |
0018a764: 0c0620b2 jal 0x001882c8           |-->100%_HP/MP_Healing Set TCA HP damage to 100% and MP recovery to 100%
0018a768: afb00010 sw r16,0x0010(r29)       |
0018a76c: 0c061cd4 jal 0x00187350           |-->Undead_Reversal Switch HP damage to HP recovery if Target isn't undead 
0018a770: 00000000 nop                      |
0018a774: 3c028019 lui r2,0x8019            |
0018a778: 8c422d98 lw r2,0x2d98(r2)         |r2 = Target data pointer
0018a77c: 00000000 nop                      |
0018a780: 90420022 lbu r2,0x0022(r2)        |r2 = Target's Level
0018a784: 00000000 nop                      |
0018a788: 2c420063 sltiu r2,r2,0x0063       |r2 = 0x01 if Target Lv < 99
0018a78c: 14400007 bne r2,r0,0x0018a7ac     #If Target Level is 99
0018a790: 34060001 ori r6,r0,0x0001         |r6 = 0x01
0018a794: 3c028019 lui r2,0x8019                |
0018a798: 8c422d90 lw r2,0x2d90(r2)             |r2 = Target Current Action (TCA) data pointer
0018a79c: 0c0610c3 jal 0x0018430c               |-->Force_Attack_Miss Hit Flag = Miss Hit% = 0 - Evade type = 0x07
0018a7a0: a0400025 sb r0,0x0025(r2)             |Clear TCA Attack type
0018a7a4: 08062a03 j 0x0018a80c                 >>Jump to END
0018a7a8: 00000000 nop

0018a7ac: 3c058019 lui r5,0x8019            #Else : Target Lv < 99
0018a7b0: 8ca52d90 lw r5,0x2d90(r5)             |r5 = Target Current Action (TCA) data pointer
0018a7b4: 00000000 nop                          |
0018a7b8: a0a60025 sb r6,0x0025(r5)             |Set TCA Attack type as pseudo status
0018a7bc: 3c108019 lui r16,0x8019               |
0018a7c0: 8e102d98 lw r16,0x2d98(r16)           |r16 = Target data pointer
0018a7c4: 3c118019 lui r17,0x8019               |
0018a7c8: 8e312d90 lw r17,0x2d90(r17)           |r17 = TCA data pointer
0018a7cc: 3c048019 lui r4,0x8019                |
0018a7d0: 8c842d94 lw r4,0x2d94(r4)             |r4 = Attacker data pointer
0018a7d4: 3c038019 lui r3,0x8019                |
0018a7d8: 8c632d8c lw r3,0x2d8c(r3)             |r3 = Attacker Current Action (ACA) data pointer
0018a7dc: 34020080 ori r2,r0,0x0080             |r2 = 0x80
0018a7e0: a4a20010 sh r2,0x0010(r5)             |Enable TCA Special flag 1 0x80 : +1 Lv
0018a7e4: 3c018019 lui r1,0x8019                |
0018a7e8: ac242d98 sw r4,0x2d98(r1)             |Store Attacker data pointer as Target data pointer  (will be used to inflict status to caster in jal below)
0018a7ec: 3c018019 lui r1,0x8019                |
0018a7f0: ac232d90 sw r3,0x2d90(r1)             |Store ACA data pointer as TCA data pointer   (will be used to inflict status to caster in jal below)
0018a7f4: 0c061fc9 jal 0x00187f24               |-->Apply_status_(to_action) Add Ability status - if successful update ACA Attack type 
0018a7f8: a0660000 sb r6,0x0000(r3)             |Set ACA hit flag to HIT
0018a7fc: 3c018019 lui r1,0x8019                |
0018a800: ac302d98 sw r16,0x2d98(r1)            |Restore Target data pointer
0018a804: 3c018019 lui r1,0x8019                |
0018a808: ac312d90 sw r17,0x2d90(r1)            |Restore TCA data pointer
0018a80c: 8fbf0018 lw r31,0x0018(r29)       END
0018a810: 8fb10014 lw r17,0x0014(r29)
0018a814: 8fb00010 lw r16,0x0010(r29)
0018a818: 27bd0020 addiu r29,r29,0x0020
0018a81c: 03e00008 jr r31
0018a820: 00000000 nop

Return location

Battle.bin
0018b97c : Pre Formula Setup