Ability Usage Checks and MP Reduction
Jump to navigation
Jump to search
0017d850: 27bdff60 addiu r29,r29,0xff60 1ffe70 0017d854: afb5008c sw r21,0x008c(r29) 0017d858: 0080a821 addu r21,r4,r0 0017d85c: afb1007c sw r17,0x007c(r29) 0017d860: 00008821 addu r17,r0,r0 0017d864: afb20080 sw r18,0x0080(r29) 0017d868: 00009021 addu r18,r0,r0 0017d86c: afb40088 sw r20,0x0088(r29) 0017d870: 27b40010 addiu r20,r29,0x0010 0017d874: afb30084 sw r19,0x0084(r29) 0017d878: 00009821 addu r19,r0,r0 0017d87c: afbf0098 sw r31,0x0098(r29) 0017d880: afb70094 sw r23,0x0094(r29) 0017d884: afb60090 sw r22,0x0090(r29) 0017d888: afb00078 sw r16,0x0078(r29) 0017d88c: 90b70047 lbu r23,0x0047(r5) 0017d890: 90b60048 lbu r22,0x0048(r5) 0017d894: 3c028019 lui r2,0x8019 0017d898: 244208cc addiu r2,r2,0x08cc 0017d89c: 02628021 addu r16,r19,r2 r16 = unit data 0017d8a0: 92030001 lbu r3,0x0001(r16) 0017d8a4: 340200ff ori r2,r0,0x00ff 0017d8a8: 10620042 beq r3,r2,0x0017d9b4 doesn't exist check 0017d8ac: 02402021 addu r4,r18,r0 0017d8b0: 0c05ef74 jal 0x0017bdd0 Check if unit can be targeted 0017d8b4: 27a50068 addiu r5,r29,0x0068 0017d8b8: 1440003e bne r2,r0,0x0017d9b4 0017d8bc: 00000000 nop 0017d8c0: 8fa20068 lw r2,0x0068(r29) 0017d8c4: 00000000 nop 0017d8c8: 000210c0 sll r2,r2,0x03 0017d8cc: 3c018019 lui r1,0x8019 0017d8d0: 00220821 addu r1,r1,r2 0017d8d4: 9022f8d1 lbu r2,-0x072f(r1) load enemy in range flag 0017d8d8: 00000000 nop 0017d8dc: 30420080 andi r2,r2,0x0080 0017d8e0: 10400034 beq r2,r0,0x0017d9b4 branch if not 0017d8e4: 00000000 nop 0017d8e8: 3c028019 lui r2,0x8019 0017d8ec: 8c42f4f8 lw r2,-0x0b08(r2) linear attack thing? 0017d8f0: 00000000 nop 0017d8f4: 1040002b beq r2,r0,0x0017d9a4 branch if not? 0017d8f8: 00000000 nop 0017d8fc: 92020047 lbu r2,0x0047(r16) load X 0017d900: 00000000 nop 0017d904: 02e21823 subu r3,r23,r2 0017d908: 04610002 bgez r3,0x0017d914 branch if X distance >= 0 0017d90c: 00000000 nop 0017d910: 00031823 subu r3,r0,r3 0017d914: 92020048 lbu r2,0x0048(r16) 0017d918: 00000000 nop 0017d91c: 02c21023 subu r2,r22,r2 0017d920: 04410002 bgez r2,0x0017d92c 0017d924: 00002821 addu r5,r0,r0 0017d928: 00021023 subu r2,r0,r2 0017d92c: 1a20000b blez r17,0x0017d95c 0017d930: 00623821 addu r7,r3,r2 0017d934: 02801821 addu r3,r20,r0 0017d938: 8c620000 lw r2,0x0000(r3) 0017d93c: 00000000 nop 0017d940: 00e2102a slt r2,r7,r2 0017d944: 14400006 bne r2,r0,0x0017d960 0017d948: 28a20014 slti r2,r5,0x0014 0017d94c: 24a50001 addiu r5,r5,0x0001 0017d950: 00b1102a slt r2,r5,r17 0017d954: 1440fff8 bne r2,r0,0x0017d938 0017d958: 24630004 addiu r3,r3,0x0004 0017d95c: 28a20014 slti r2,r5,0x0014 0017d960: 1040000c beq r2,r0,0x0017d994 0017d964: 34060014 ori r6,r0,0x0014 0017d968: 26840050 addiu r4,r20,0x0050 0017d96c: 26a30014 addiu r3,r21,0x0014 0017d970: 9062ffff lbu r2,-0x0001(r3) 0017d974: 24c6ffff addiu r6,r6,0xffff 0017d978: a0620000 sb r2,0x0000(r3) 0017d97c: 8c82fffc lw r2,-0x0004(r4) 0017d980: 2463ffff addiu r3,r3,0xffff 0017d984: ac820000 sw r2,0x0000(r4) 0017d988: 00a6102a slt r2,r5,r6 0017d98c: 1440fff8 bne r2,r0,0x0017d970 0017d990: 2484fffc addiu r4,r4,0xfffc 0017d994: 00051080 sll r2,r5,0x02 0017d998: 00541021 addu r2,r2,r20 0017d99c: 0805f66a j 0x0017d9a8 0017d9a0: ac470000 sw r7,0x0000(r2) 0017d9a4: 02202821 addu r5,r17,r0 0017d9a8: 02a51021 addu r2,r21,r5 0017d9ac: a0520000 sb r18,0x0000(r2) 0017d9b0: 26310001 addiu r17,r17,0x0001 0017d9b4: 26520001 addiu r18,r18,0x0001 0017d9b8: 2a420015 slti r2,r18,0x0015 0017d9bc: 1440ffb5 bne r2,r0,0x0017d894 0017d9c0: 267301c0 addiu r19,r19,0x01c0 0017d9c4: 2a220015 slti r2,r17,0x0015 0017d9c8: 10400009 beq r2,r0,0x0017d9f0 0017d9cc: 02201021 addu r2,r17,r0 0017d9d0: 340500ff ori r5,r0,0x00ff 0017d9d4: 02351821 addu r3,r17,r21 0017d9d8: 26a40015 addiu r4,r21,0x0015 0017d9dc: a0650000 sb r5,0x0000(r3) 0017d9e0: 24630001 addiu r3,r3,0x0001 0017d9e4: 0064102a slt r2,r3,r4 0017d9e8: 1440fffc bne r2,r0,0x0017d9dc 0017d9ec: 02201021 addu r2,r17,r0 0017d9f0: 8fbf0098 lw r31,0x0098(r29) 0017d9f4: 8fb70094 lw r23,0x0094(r29) 0017d9f8: 8fb60090 lw r22,0x0090(r29) 0017d9fc: 8fb5008c lw r21,0x008c(r29) 0017da00: 8fb40088 lw r20,0x0088(r29) 0017da04: 8fb30084 lw r19,0x0084(r29) 0017da08: 8fb20080 lw r18,0x0080(r29) 0017da0c: 8fb1007c lw r17,0x007c(r29) 0017da10: 8fb00078 lw r16,0x0078(r29) 0017da14: 27bd00a0 addiu r29,r29,0x00a0 0017da18: 03e00008 jr r31 0017da1c: 00000000 nop