AT List Check if Unit is Charging Ability

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
AT List Check if Unit is Charging Ability 686b0:		000686b0 - 00068764

	00183544: Calculate AT List and Get Specific Unit ID
	0007a724: Get unit misc data that matches r4 ID
	00068418: X/Y Data Gathering for Attacks?
	0017aaf8: Calculate Targeting for Menu Types
	000ec718: 000ec718 - 000ee100
	000683e4: Transfer Unit's X/Y/Map Level
	000ec718: 000ec718 - 000ee100
	0006867c: Increment AT List ID
	0006867c: Increment AT List ID


000686b0: 27bdffe0 addiu r29,r29,0xffe0			Make space on stack
000686b4: afbf0018 sw r31,0x0018(r29)			Store Return Address onto Stack
000686b8: afb10014 sw r17,0x0014(r29)			Store r17 Input onto Stack
000686bc: afb00010 sw r16,0x0010(r29)			Store r16 Input onto Stack
000686c0: 3c048009 lui r4,0x8009			
000686c4: 8c846100 lw r4,0x6100(r4)			Load AT List index (used to determine which data to load from the AT list)
000686c8: 0c060d51 jal 0x00183544			Calculate AT List and Get Specific Unit ID
000686cc: 00000000 nop
000686d0: 00408021 addu r16,r2,r0
000686d4: 06000018 bltz r16,0x00068738
000686d8: 00000000 nop
000686dc: 0c01e9c9 jal 0x0007a724			Get unit misc data that matches r4 ID
000686e0: 320400ff andi r4,r16,0x00ff			Mask second byte
000686e4: 00408821 addu r17,r2,r0
000686e8: 32020100 andi r2,r16,0x0100			Charging ability check
000686ec: 1040000b beq r2,r0,0x0006871c			Branch if unit isn't charging an ability
000686f0: 00000000 nop
000686f4: 0c01a106 jal 0x00068418			X/Y Data Gathering for Attacks?
000686f8: 02202021 addu r4,r17,r0
000686fc: 8e240134 lw r4,0x0134(r17)			load unit data
00068700: 0c05eabe jal 0x0017aaf8			Calculate Targeting for Menu Types
00068704: 2484016e addiu r4,r4,0x016e
00068708: 34040007 ori r4,r0,0x0007			r4 = (0x7) 7
0006870c: 0c03b1c6 jal 0x000ec718			000ec718 - 000ee100
00068710: 34050003 ori r5,r0,0x0003			r5 = (0x3) 3
00068714: 0801a1d2 j 0x00068748			
00068718: 00000000 nop
0006871c: 0c01a0f9 jal 0x000683e4			Transfer Unit's X/Y/Map Level
00068720: 02202021 addu r4,r17,r0
00068724: 00002021 addu r4,r0,r0
00068728: 0c03b1c6 jal 0x000ec718			000ec718 - 000ee100
0006872c: 00002821 addu r5,r0,r0
00068730: 0801a1d2 j 0x00068748			
00068734: 00000000 nop
00068738: 0c01a19f jal 0x0006867c			Increment AT List ID
0006873c: 00000000 nop
00068740: 0801a1b0 j 0x000686c0			
00068744: 00000000 nop
00068748: 0c01a19f jal 0x0006867c			Increment AT List ID
0006874c: 00000000 nop
00068750: 8fbf0018 lw r31,0x0018(r29)			Load Stack + 0x18
00068754: 8fb10014 lw r17,0x0014(r29)			Load Stack + 0x14
00068758: 8fb00010 lw r16,0x0010(r29)			Load Stack + 0x10
0006875c: 27bd0020 addiu r29,r29,0x0020			Restore stack pointer
00068760: 03e00008 jr r31			Jump to Address
00068764: 00000000 nop

Return locations

Battle.bin
000710e0: 00071008 - 000711a0
00074d88: 00074bf8 - 00074dcc

< BATTLE.BIN Routines

< Increment AT List ID
00068768 - 00068790 >