Difference between revisions of "2E Equipped:Break Dmg (PA*WP)"
Jump to navigation
Jump to search
m |
|||
Line 1: | Line 1: | ||
− | + | 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 | + | 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, | + | 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 | + | 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, | + | 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 | + | 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) | + | 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 | + | 00189bd4: a0620002 sb r2,0x0002(r3) |{{f/store|Set TCA Evade Type to 0x07 (Guarded ?)}} |
− | 00189bd4: a0620002 sb r2,0x0002(r3) | + | {{f/Cond|Else : Found item to break}} |
− | 00189bd8: 0c061d8e jal | + | 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) | + | 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, | + | 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 | + | 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) | + | 00189c00: a4620010 sh r2,0x0010(r3) |{{f/store|Enable TCA special flag 1 0x04 (Break weapon)}} {{f/std|overrides other flags}} |
− | 00189c04: 0c0617e9 jal | + | 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 | + | 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 | + | 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) | + | 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, | + | 00189c30: 10400003 beq r2,r0,0x00189c40 {{f/Cond|If Attack hits (not canceled by element)}} |
− | 00189c34: 00000000 nop | + | 00189c34: 00000000 nop | |
− | 00189c38: 0c061c3f jal | + | 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, | + | 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