Calculate Ability Pointers and Type
Calculate Ability Pointers and Type 0005a72c: 308401ff andi r4,r4,0x01ff r4 = Ability ID 0005a730: 000418c0 sll r3,r4,0x03 ID * 8 0005a734: 3c028006 lui r2,0x8006 0005a738: 2442ebf0 addiu r2,r2,0xebf0 0005a73c: 00621021 addu r2,r3,r2 0005a740: aca20000 sw r2,0x0000(r5) Store Ability's Data 1 Pointer (usually on the stack) 0005a744: 28820170 slti r2,r4,0x0170 0005a748: 10400008 beq r2,r0,0x0005a76c Branch if Ability isn't a normal Ability 0005a74c: 00641023 subu r2,r3,r4 ID * 7 0005a750: 00021040 sll r2,r2,0x01 ID * 14 0005a754: 3c038006 lui r3,0x8006 0005a758: 2463fbf0 addiu r3,r3,0xfbf0 0005a75c: 00431021 addu r2,r2,r3 0005a760: acc20000 sw r2,0x0000(r6) Store Ability's Data 2 Pointer 0005a764: 08016a1f j 0x0005a87c 0005a768: 00001021 addu r2,r0,r0 r2 = 0 0005a76c: 2882017e slti r2,r4,0x017e 0005a770: 10400007 beq r2,r0,0x0005a790 Branch if Ability isn't an Item 0005a774: 00000000 nop 0005a778: 3c028006 lui r2,0x8006 0005a77c: 24420ea0 addiu r2,r2,0x0ea0 0005a780: 00821021 addu r2,r4,r2 0005a784: acc20000 sw r2,0x0000(r6) Store Item's Ability Pointer 0005a788: 08016a1f j 0x0005a87c 0005a78c: 34020001 ori r2,r0,0x0001 r2 = 1 0005a790: 2882018a slti r2,r4,0x018a 0005a794: 10400007 beq r2,r0,0x0005a7b4 Branch if Ability isn't a Throw 0005a798: 00000000 nop 0005a79c: 3c028006 lui r2,0x8006 0005a7a0: 24420ea2 addiu r2,r2,0x0ea2 0005a7a4: 00821021 addu r2,r4,r2 0005a7a8: acc20000 sw r2,0x0000(r6) Store Throw's Ability Pointer 0005a7ac: 08016a1f j 0x0005a87c 0005a7b0: 34020002 ori r2,r0,0x0002 r2 = 2 0005a7b4: 28820196 slti r2,r4,0x0196 0005a7b8: 10400007 beq r2,r0,0x0005a7d8 Branch if Ability isn't a Jump 0005a7bc: 00041040 sll r2,r4,0x01 ID * 2 0005a7c0: 3c038006 lui r3,0x8006 0005a7c4: 24630d18 addiu r3,r3,0x0d18 0005a7c8: 00431021 addu r2,r2,r3 0005a7cc: acc20000 sw r2,0x0000(r6) Store Jump's Ability Pointer 0005a7d0: 08016a1f j 0x0005a87c 0005a7d4: 34020003 ori r2,r0,0x0003 r2 = 3 0005a7d8: 2882019e slti r2,r4,0x019e 0005a7dc: 10400007 beq r2,r0,0x0005a7fc Branch if Ability isn't a Charge 0005a7e0: 00041040 sll r2,r4,0x01 ID * 2 0005a7e4: 3c038006 lui r3,0x8006 0005a7e8: 24630d18 addiu r3,r3,0x0d18 0005a7ec: 00431021 addu r2,r2,r3 0005a7f0: acc20000 sw r2,0x0000(r6) Store Charge's Ability Pointer 0005a7f4: 08016a1f j 0x0005a87c 0005a7f8: 34020004 ori r2,r0,0x0004 r2 = 4 0005a7fc: 288201a6 slti r2,r4,0x01a6 0005a800: 10400007 beq r2,r0,0x0005a820 Branch if Ability isn't Math 0005a804: 00000000 nop 0005a808: 3c028006 lui r2,0x8006 0005a80c: 24420eb6 addiu r2,r2,0x0eb6 0005a810: 00821021 addu r2,r4,r2 0005a814: acc20000 sw r2,0x0000(r6) Store Math's Ability Pointer 0005a818: 08016a1f j 0x0005a87c 0005a81c: 34020005 ori r2,r0,0x0005 r2 = 5 0005a820: 288201c6 slti r2,r4,0x01c6 0005a824: 10400007 beq r2,r0,0x0005a844 Branch if Ability isn't a Reaction 0005a828: 00000000 nop 0005a82c: 3c028006 lui r2,0x8006 0005a830: 24420eb6 addiu r2,r2,0x0eb6 0005a834: 00821021 addu r2,r4,r2 0005a838: acc20000 sw r2,0x0000(r6) Store Reaction's Ability Pointer 0005a83c: 08016a1f j 0x0005a87c 0005a840: 34020006 ori r2,r0,0x0006 r2 = 6 0005a844: 288201e6 slti r2,r4,0x01e6 0005a848: 14400007 bne r2,r0,0x0005a868 Branch if Ability is a Support 0005a84c: 00000000 nop 0005a850: 3c028006 lui r2,0x8006 0005a854: 24420eb6 addiu r2,r2,0x0eb6 0005a858: 00821021 addu r2,r4,r2 0005a85c: acc20000 sw r2,0x0000(r6) Store Movement's Ability Pointer 0005a860: 08016a1f j 0x0005a87c 0005a864: 34020008 ori r2,r0,0x0008 r2 = 8 0005a868: 3c028006 lui r2,0x8006 0005a86c: 24420eb6 addiu r2,r2,0x0eb6 0005a870: 00821021 addu r2,r4,r2 0005a874: acc20000 sw r2,0x0000(r6) Store Support's Ability Pointer 0005a878: 34020007 ori r2,r0,0x0007 r2 = 7 0005a87c: 03e00008 jr r31 0005a880: 00000000 nop
Return Locations
0013624c: 001361e8 - 00136320 0014178c: Spell Quote determination