Difference between revisions of "2E Equipped:Break Dmg (PA*WP)"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
 
Line 1: Line 1:
[2e]
+
  00189b94: 27bdffe8 addiu r29,r29,0xffe8     |
  00189b94: 27bdffe8 addiu r29,r29,0xffe8
+
  00189b98: afbf0010 sw r31,0x0010(r29)       |
  00189b98: afbf0010 sw r31,0x0010(r29)
+
  00189b9c: 0c062144 jal 0x00188510          |{{f/jal|Physical Evade Calculation|Physical Evade Calculation}}  If Abillity is evadeable roll Ability Evade byte against Ability base Hit - Returns r2
  00189b9c: 0c062144 jal 0x 00188510      [[Physical Evade Calculation]]
+
  00189ba0: 00000000 nop                     |
  00189ba0: 00000000 nop
+
  00189ba4: 14400026 bne r2,r0,0x00189c40    {{f/Cond|If Attack is not evaded}} /Else branch to END
  00189ba4: 14400026 bne r2,r0,0x 00189c40 Branch if attack is evaded (end)
+
  00189ba8: 00000000 nop                         |
  00189ba8: 00000000 nop
+
  00189bac: 0c061e72 jal 0x001879c8              |{{f/jal|Steal/Break/Might Sword Hard Coding|Steal/Break/Might Sword Hard Coding}} Hard coded : Set Item to break from Ability ID - Returns r2 = 0x00 if Item is found
  00189bac: 0c061e72 jal 0x 001879c8      [[Steal/Break/Might Sword Hard Coding]]
+
  00189bb0: 00000000 nop                         |
  00189bb0: 00000000 nop
+
  00189bb4: 10400008 beq r2,r0,0x00189bd8        {{f/Cond|If No item to break / wrong ability}}
  00189bb4: 10400008 beq r2,r0,0x 00189bd8 Branch if successful
+
  00189bb8: 00000000 nop                             |
  00189bb8: 00000000 nop
+
  00189bbc: 0c061390 jal 0x00184e40                  |{{f/jal|Elemental Nullification|Nullfiy Action}} {{f/std|Clear TCA HP damage, Hit%, Special flags, Attack Type and Hit Flag / Clear Proc and knockback flags}}
  00189bbc: 0c061390 jal 0x 00184e40      [[Elemental Nullification]] - If fail, set stuff to 0. (Made obsolete by previous branch statement)     
+
  00189bc0: 00000000 nop                             |
  00189bc0: 00000000 nop
+
  00189bc4: 3c038019 lui r3,0x8019                   |
  00189bc4: 3c038019 lui r3,0x8019
+
  00189bc8: 8c632d90 lw r3,0x2d90(r3)                 |{{f/adr|<nowiki>r3 = Target Current Action (TCA) data pointer</nowiki>}}
  00189bc8: 8c632d90 lw r3,0x2d90(r3)         Target current action pointer
+
  00189bcc: 34020007 ori r2,r0,0x0007                 |{{f/std|<nowiki>r2 = 0x07</nowiki>}}
  00189bcc: 34020007 ori r2,r0,0x0007
+
  00189bd0: 08062710 j 0x00189c40                    {{f/jump|Jump to}} {{f/loc|END}}
  00189bd0: 08062710 j 0x 00189c40 Jump to end
+
  00189bd4: a0620002 sb r2,0x0002(r3)                 |{{f/store|Set TCA Evade Type to 0x07 (Guarded ?)}}
  00189bd4: a0620002 sb r2,0x0002(r3)         Store evade type = catch?
+
                                                {{f/Cond|Else : Found item to break}}
  00189bd8: 0c061d8e jal 0x 00187638      [[Maintenance]]
+
  00189bd8: 0c061d8e jal 0x00187638              |{{f/jal|Maintenance|Maintenance}} Attack is guarded if Target uses maintenance
  00189bdc: 00000000 nop
+
  00189bdc: 00000000 nop                         |
  00189be0: 3c038019 lui r3,0x8019
+
  00189be0: 3c038019 lui r3,0x8019               |
  00189be4: 8c632d90 lw r3,0x2d90(r3)         Target current action pointer
+
  00189be4: 8c632d90 lw r3,0x2d90(r3)             |{{f/adr|<nowiki>r3 = TCA data pointer</nowiki>}}
  00189be8: 00000000 nop
+
  00189be8: 00000000 nop                         |
  00189bec: 90620000 lbu r2,0x0000(r3)
+
  00189bec: 90620000 lbu r2,0x0000(r3)           |{{f/load|<nowiki>r2 = TCA hit flag</nowiki>}}
  00189bf0: 00000000 nop
+
  00189bf0: 00000000 nop                         |
  00189bf4: 10400012 beq r2,r0,0x 00189c40 Branch if miss (end)
+
  00189bf4: 10400012 beq r2,r0,0x00189c40        {{f/Cond|If Attack hits (Target do not use Maintenance)}}
  00189bf8: 34020004 ori r2,r0,0x0004
+
  00189bf8: 34020004 ori r2,r0,0x0004                 |{{f/std|<nowiki>r2 = 0x04 (Break weapon special flag)</nowiki>}}
  00189bfc: 0c061776 jal 0x 00185dd8      [[Store PA and WP]]
+
  00189bfc: 0c061776 jal 0x00185dd8                  |{{f/jal|Store PA and WP|Store PA and WP}} Set XA  = Attacker's PA and YA = used Weapon WP
  00189c00: a4620010 sh r2,0x0010(r3)         Store special flag = break item
+
  00189c00: a4620010 sh r2,0x0010(r3)                 |{{f/store|Enable TCA special flag 1 0x04 (Break weapon)}} {{f/std|overrides other flags}}
  00189c04: 0c0617e9 jal 0x 00185fa4      [[Weapon Element Strengthen]]
+
  00189c04: 0c0617e9 jal 0x00185fa4                  |{{f/jal|Weapon Element Strengthen|Weapon Element Strengthen}} XA + 25% if Weapon Element is strengthened
  00189c08: 00000000 nop
+
  00189c08: 00000000 nop                             |
  00189c0c: 0c0621a9 jal 0x 001886a4      [[Damage Calculation]]
+
  00189c0c: 0c0621a9 jal 0x001886a4                  |{{f/jal|Damage Calculation|Damage Calculation}} Modify XA (Support-Statuses-Compat-Critical Hit), Might add Knockback, Set TCA HP damage to XA*YA
  00189c10: 00000000 nop
+
  00189c10: 00000000 nop                             |
  00189c14: 0c061bf4 jal 0x 00186fd0      [[Elemental Damage Modification (Prep)]]
+
  00189c14: 0c061bf4 jal 0x00186fd0                  |{{f/jal|Elemental Damage Modification (Prep)|Elemental Damage Modification (Prep)}} Cancel Action // Enable Absorption flags and/or Modify HP damage
  00189c18: 00000000 nop
+
  00189c18: 00000000 nop                             |
  00189c1c: 3c028019 lui r2,0x8019
+
  00189c1c: 3c028019 lui r2,0x8019                   |
  00189c20: 8c422d90 lw r2,0x2d90(r2)         Target current action data pointer
+
  00189c20: 8c422d90 lw r2,0x2d90(r2)                 |{{f/adr|<nowiki>r2 = TCA data pointer</nowiki>}}
  00189c24: 00000000 nop
+
  00189c24: 00000000 nop                             |
  00189c28: 90420000 lbu r2,0x0000(r2)
+
  00189c28: 90420000 lbu r2,0x0000(r2)               |{{f/load|<nowiki>r2 = TCA hit flag</nowiki>}}
  00189c2c: 00000000 nop
+
  00189c2c: 00000000 nop                             |
  00189c30: 10400003 beq r2,r0,0x 00189c40 Branch if attack nulled
+
  00189c30: 10400003 beq r2,r0,0x00189c40            {{f/Cond|If Attack hits (not canceled by element)}}
  00189c34: 00000000 nop
+
  00189c34: 00000000 nop                                 |
  00189c38: 0c061c3f jal 0x 001870fc      [[Elemental Absorption]]
+
  00189c38: 0c061c3f jal 0x001870fc                      |{{f/jal|Elemental Absorption|Elemental Absorption}} HP damage becomes HP recovery - Changes Attack Type from 0x80 to 0x40 (HP recovery)
  00189c3c: 00000000 nop
+
  00189c3c: 00000000 nop                                 |
  00189c40: 8fbf0010 lw r31,0x0010(r29)
+
  00189c40: 8fbf0010 lw r31,0x0010(r29)       END
  00189c44: 27bd0018 addiu r29,r29,0x 0018
+
  00189c44: 27bd0018 addiu r29,r29,0x0018   
  00189c48: 03e00008 jr r31
+
  00189c48: 03e00008 jr r31
 
  00189c4c: 00000000 nop
 
  00189c4c: 00000000 nop
 +
=== Return location ===
 +
'''Battle.bin'''
 +
0018b97c - [[Pre Formula Setup (FDC)|Pre Formula Setup]]

Latest revision as of 12:04, 23 April 2022

00189b94: 27bdffe8 addiu r29,r29,0xffe8     |
00189b98: afbf0010 sw r31,0x0010(r29)       |
00189b9c: 0c062144 jal 0x00188510           |-->Physical Evade Calculation  If Abillity is evadeable roll Ability Evade byte against Ability base Hit - Returns r2
00189ba0: 00000000 nop                      |
00189ba4: 14400026 bne r2,r0,0x00189c40     #If Attack is not evaded /Else branch to END
00189ba8: 00000000 nop                          |
00189bac: 0c061e72 jal 0x001879c8               |-->Steal/Break/Might Sword Hard Coding Hard coded : Set Item to break from Ability ID - Returns r2 = 0x00 if Item is found
00189bb0: 00000000 nop                          |
00189bb4: 10400008 beq r2,r0,0x00189bd8         #If No item to break / wrong ability
00189bb8: 00000000 nop                              |
00189bbc: 0c061390 jal 0x00184e40                   |-->Nullfiy Action Clear TCA HP damage, Hit%, Special flags, Attack Type and Hit Flag / Clear Proc and knockback flags
00189bc0: 00000000 nop                              |
00189bc4: 3c038019 lui r3,0x8019                    |
00189bc8: 8c632d90 lw r3,0x2d90(r3)                 |r3 = Target Current Action (TCA) data pointer
00189bcc: 34020007 ori r2,r0,0x0007                 |r2 = 0x07
00189bd0: 08062710 j 0x00189c40                     >>Jump to END
00189bd4: a0620002 sb r2,0x0002(r3)                 |Set TCA Evade Type to 0x07 (Guarded ?)
                                                #Else : Found item to break
00189bd8: 0c061d8e jal 0x00187638               |-->Maintenance Attack is guarded if Target uses maintenance
00189bdc: 00000000 nop                          |
00189be0: 3c038019 lui r3,0x8019                |
00189be4: 8c632d90 lw r3,0x2d90(r3)             |r3 = TCA data pointer
00189be8: 00000000 nop                          |
00189bec: 90620000 lbu r2,0x0000(r3)            |r2 = TCA hit flag
00189bf0: 00000000 nop                          |
00189bf4: 10400012 beq r2,r0,0x00189c40         #If Attack hits (Target do not use Maintenance)
00189bf8: 34020004 ori r2,r0,0x0004                 |r2 = 0x04 (Break weapon special flag)
00189bfc: 0c061776 jal 0x00185dd8                   |-->Store PA and WP Set XA  = Attacker's PA and YA = used Weapon WP
00189c00: a4620010 sh r2,0x0010(r3)                 |Enable TCA special flag 1 0x04 (Break weapon) overrides other flags
00189c04: 0c0617e9 jal 0x00185fa4                   |-->Weapon Element Strengthen XA + 25% if Weapon Element is strengthened
00189c08: 00000000 nop                              |
00189c0c: 0c0621a9 jal 0x001886a4                   |-->Damage Calculation Modify XA (Support-Statuses-Compat-Critical Hit), Might add Knockback, Set TCA HP damage to XA*YA
00189c10: 00000000 nop                              |
00189c14: 0c061bf4 jal 0x00186fd0                   |-->Elemental Damage Modification (Prep) Cancel Action // Enable Absorption flags and/or Modify HP damage
00189c18: 00000000 nop                              |
00189c1c: 3c028019 lui r2,0x8019                    |
00189c20: 8c422d90 lw r2,0x2d90(r2)                 |r2 = TCA data pointer
00189c24: 00000000 nop                              |
00189c28: 90420000 lbu r2,0x0000(r2)                |r2 = TCA hit flag
00189c2c: 00000000 nop                              |
00189c30: 10400003 beq r2,r0,0x00189c40             #If Attack hits (not canceled by element)
00189c34: 00000000 nop                                  |
00189c38: 0c061c3f jal 0x001870fc                       |-->Elemental Absorption HP damage becomes HP recovery - Changes Attack Type from 0x80 to 0x40 (HP recovery)
00189c3c: 00000000 nop                                  |
00189c40: 8fbf0010 lw r31,0x0010(r29)       END
00189c44: 27bd0018 addiu r29,r29,0x0018     
00189c48: 03e00008 jr r31
00189c4c: 00000000 nop

Return location

Battle.bin
0018b97c - Pre Formula Setup