Difference between revisions of "Attack UP/Two Hands/Martial Arts"
Jump to navigation
Jump to search
(I didn't like how unsure it was and it was killing me. makes it easier to modify if I know what I'm doing) |
|||
Line 3: | Line 3: | ||
00186058: 906338ff lbu r3,0x38ff(r3) Load Weapon Characteristics | 00186058: 906338ff lbu r3,0x38ff(r3) Load Weapon Characteristics | ||
0018605c: 00000000 nop | 0018605c: 00000000 nop | ||
− | 00186060: 30620001 andi r2,r3,0x0001 | + | 00186060: 30620001 andi r2,r3,0x0001 Checks for forced two hands |
00186064: 1440000e bne r2,r0,0x001860a0 Branch if weapon has Forced Two hands | 00186064: 1440000e bne r2,r0,0x001860a0 Branch if weapon has Forced Two hands | ||
− | 00186068: 30620004 andi r2,r3,0x0004 | + | 00186068: 30620004 andi r2,r3,0x0004 Checks for cannot two hands |
0018606c: 1040000c beq r2,r0,0x001860a0 Branch if weapon cannot use Two hands | 0018606c: 1040000c beq r2,r0,0x001860a0 Branch if weapon cannot use Two hands | ||
00186070: 00000000 nop | 00186070: 00000000 nop | ||
00186074: 3c028019 lui r2,0x8019 | 00186074: 3c028019 lui r2,0x8019 | ||
− | 00186078: 904238d9 lbu r2,0x38d9(r2) Load Two-Hands flag | + | 00186078: 904238d9 lbu r2,0x38d9(r2) Load double-check Two-Hands flag |
0018607c: 00000000 nop | 0018607c: 00000000 nop | ||
− | 00186080: 10400007 beq r2,r0,0x001860a0 Branch if | + | 00186080: 10400007 beq r2,r0,0x001860a0 Branch if two weapons equipped, and 2hands cannot be applied |
00186084: 00000000 nop | 00186084: 00000000 nop | ||
00186088: 3c028019 lui r2,0x8019 | 00186088: 3c028019 lui r2,0x8019 | ||
− | 0018608c: 844238ce lh r2,0x38ce(r2) Load XA | + | 0018608c: 844238ce lh r2,0x38ce(r2) Load XA - inflicted damage |
00186090: 00000000 nop | 00186090: 00000000 nop | ||
00186094: 00021040 sll r2,r2,0x01 XA * 2 | 00186094: 00021040 sll r2,r2,0x01 XA * 2 | ||
00186098: 3c018019 lui r1,0x8019 | 00186098: 3c018019 lui r1,0x8019 | ||
− | 0018609c: a42238ce sh r2,0x38ce(r1) Store new | + | 0018609c: a42238ce sh r2,0x38ce(r1) Store new Damage |
001860a0: 3c028019 lui r2,0x8019 | 001860a0: 3c028019 lui r2,0x8019 | ||
001860a4: 8c422d94 lw r2,0x2d94(r2) Load Attacker's Data Pointer | 001860a4: 8c422d94 lw r2,0x2d94(r2) Load Attacker's Data Pointer | ||
Line 24: | Line 24: | ||
001860ac: 90420090 lbu r2,0x0090(r2) Load Attacker's 2nd set of Support | 001860ac: 90420090 lbu r2,0x0090(r2) Load Attacker's 2nd set of Support | ||
001860b0: 00000000 nop | 001860b0: 00000000 nop | ||
− | 001860b4: 30420010 andi r2,r2, | + | 001860b4: 30420010 andi r2,r2,0x0010 checks for Attack UP |
001860b8: 1040000b beq r2,r0,0x001860e8 Branch if Attacker doesn't have Attack UP | 001860b8: 1040000b beq r2,r0,0x001860e8 Branch if Attacker doesn't have Attack UP | ||
− | 001860bc: 3c025555 lui r2,0x5555 | + | 001860bc: 3c025555 lui r2,0x5555 preperation for fractional multiplication |
001860c0: 3c048019 lui r4,0x8019 | 001860c0: 3c048019 lui r4,0x8019 | ||
001860c4: 248438ce addiu r4,r4,0x38ce | 001860c4: 248438ce addiu r4,r4,0x38ce | ||
− | 001860c8: 84830000 lh r3,0x0000(r4) Load XA | + | 001860c8: 84830000 lh r3,0x0000(r4) Load XA - inflicted damage |
− | 001860cc: 34425556 ori r2,r2,0x5556 | + | 001860cc: 34425556 ori r2,r2,0x5556 r2 = 1/3 |
− | 001860d0: 00031880 sll r3,r3,0x02 | + | 001860d0: 00031880 sll r3,r3,0x02 Dmg * 4 |
− | 001860d4: 00620018 mult r3,r2 | + | 001860d4: 00620018 mult r3,r2 Dmg * 4 * 0.33333333 |
− | 001860d8: 00031fc3 sra r3,r3,0x1f | + | 001860d8: 00031fc3 sra r3,r3,0x1f |
− | 001860dc: 00001010 mfhi r2 | + | 001860dc: 00001010 mfhi r2 |
− | 001860e0: 00431023 subu r2,r2,r3 | + | 001860e0: 00431023 subu r2,r2,r3 r2 = dmg * 4/3 |
− | 001860e4: a4820000 sh r2,0x0000(r4) Store new | + | 001860e4: a4820000 sh r2,0x0000(r4) Store new Dmg |
001860e8: 3c028019 lui r2,0x8019 | 001860e8: 3c028019 lui r2,0x8019 | ||
001860ec: 904238d8 lbu r2,0x38d8(r2) Load used Weapon ID | 001860ec: 904238d8 lbu r2,0x38d8(r2) Load used Weapon ID | ||
Line 51: | Line 51: | ||
00186118: 00000000 nop | 00186118: 00000000 nop | ||
0018611c: 3c028019 lui r2,0x8019 | 0018611c: 3c028019 lui r2,0x8019 | ||
− | 00186120: 844238ce lh r2,0x38ce(r2) Load XA | + | 00186120: 844238ce lh r2,0x38ce(r2) Load XA - inflicted damage |
00186124: 00000000 nop | 00186124: 00000000 nop | ||
00186128: 00021840 sll r3,r2,0x01 XA * 2 | 00186128: 00021840 sll r3,r2,0x01 XA * 2 | ||
Line 59: | Line 59: | ||
00186138: 00031843 sra r3,r3,0x01 XA * 3 / 2 | 00186138: 00031843 sra r3,r3,0x01 XA * 3 / 2 | ||
0018613c: 3c018019 lui r1,0x8019 | 0018613c: 3c018019 lui r1,0x8019 | ||
− | 00186140: a42338ce sh r3,0x38ce(r1) Store new | + | 00186140: a42338ce sh r3,0x38ce(r1) Store new damage |
00186144: 03e00008 jr r31 | 00186144: 03e00008 jr r31 | ||
00186148: 00000000 nop | 00186148: 00000000 nop |
Revision as of 02:24, 27 January 2021
Attack UP/Two Hands/Martial Arts 00186054: 3c038019 lui r3,0x8019 00186058: 906338ff lbu r3,0x38ff(r3) Load Weapon Characteristics 0018605c: 00000000 nop 00186060: 30620001 andi r2,r3,0x0001 Checks for forced two hands 00186064: 1440000e bne r2,r0,0x001860a0 Branch if weapon has Forced Two hands 00186068: 30620004 andi r2,r3,0x0004 Checks for cannot two hands 0018606c: 1040000c beq r2,r0,0x001860a0 Branch if weapon cannot use Two hands 00186070: 00000000 nop 00186074: 3c028019 lui r2,0x8019 00186078: 904238d9 lbu r2,0x38d9(r2) Load double-check Two-Hands flag 0018607c: 00000000 nop 00186080: 10400007 beq r2,r0,0x001860a0 Branch if two weapons equipped, and 2hands cannot be applied 00186084: 00000000 nop 00186088: 3c028019 lui r2,0x8019 0018608c: 844238ce lh r2,0x38ce(r2) Load XA - inflicted damage 00186090: 00000000 nop 00186094: 00021040 sll r2,r2,0x01 XA * 2 00186098: 3c018019 lui r1,0x8019 0018609c: a42238ce sh r2,0x38ce(r1) Store new Damage 001860a0: 3c028019 lui r2,0x8019 001860a4: 8c422d94 lw r2,0x2d94(r2) Load Attacker's Data Pointer 001860a8: 00000000 nop 001860ac: 90420090 lbu r2,0x0090(r2) Load Attacker's 2nd set of Support 001860b0: 00000000 nop 001860b4: 30420010 andi r2,r2,0x0010 checks for Attack UP 001860b8: 1040000b beq r2,r0,0x001860e8 Branch if Attacker doesn't have Attack UP 001860bc: 3c025555 lui r2,0x5555 preperation for fractional multiplication 001860c0: 3c048019 lui r4,0x8019 001860c4: 248438ce addiu r4,r4,0x38ce 001860c8: 84830000 lh r3,0x0000(r4) Load XA - inflicted damage 001860cc: 34425556 ori r2,r2,0x5556 r2 = 1/3 001860d0: 00031880 sll r3,r3,0x02 Dmg * 4 001860d4: 00620018 mult r3,r2 Dmg * 4 * 0.33333333 001860d8: 00031fc3 sra r3,r3,0x1f 001860dc: 00001010 mfhi r2 001860e0: 00431023 subu r2,r2,r3 r2 = dmg * 4/3 001860e4: a4820000 sh r2,0x0000(r4) Store new Dmg 001860e8: 3c028019 lui r2,0x8019 001860ec: 904238d8 lbu r2,0x38d8(r2) Load used Weapon ID 001860f0: 00000000 nop 001860f4: 14400013 bne r2,r0,0x00186144 Branch if not Unarmed 001860f8: 00000000 nop 001860fc: 3c028019 lui r2,0x8019 00186100: 8c422d94 lw r2,0x2d94(r2) Load Attacker's Data Pointer 00186104: 00000000 nop 00186108: 90420091 lbu r2,0x0091(r2) Load Attacker's 3rd set of Support 0018610c: 00000000 nop 00186110: 30420020 andi r2,r2,0x0020 00186114: 1040000b beq r2,r0,0x00186144 Branch if Attacker doesn't have Martial Arts 00186118: 00000000 nop 0018611c: 3c028019 lui r2,0x8019 00186120: 844238ce lh r2,0x38ce(r2) Load XA - inflicted damage 00186124: 00000000 nop 00186128: 00021840 sll r3,r2,0x01 XA * 2 0018612c: 00621821 addu r3,r3,r2 XA * 3 00186130: 000317c2 srl r2,r3,0x1f 00186134: 00621821 addu r3,r3,r2 00186138: 00031843 sra r3,r3,0x01 XA * 3 / 2 0018613c: 3c018019 lui r1,0x8019 00186140: a42338ce sh r3,0x38ce(r1) Store new damage 00186144: 03e00008 jr r31 00186148: 00000000 nop
Return Locations
- Battle.bin
00188600: Physical XA Modifying Statuses/Support