AI Ability Data Setting - Default

From Final Fantasy Hacktics Wiki
Revision as of 18:16, 4 May 2024 by Glain (talk | contribs) (Created page with " *Default* 00195c00: 2604000c addiu r4,r16,0x000c r4 = Pointer to AI Behavior Flags 00195c04: 001198c0 sll r19,r17,0x03 r19 = Ability ID * 8 00195c08: 3c058006 lui r5,0x8...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
*Default*
00195c00: 2604000c addiu r4,r16,0x000c		r4 = Pointer to AI Behavior Flags
00195c04: 001198c0 sll r19,r17,0x03		r19 = Ability ID * 8
00195c08: 3c058006 lui r5,0x8006
00195c0c: 24a5ebf4 addiu r5,r5,0xebf4
00195c10: 02652821 addu r5,r19,r5		r5 = Ability's AI Behavior Flags Pointer
00195c14: 0c066ac2 jal 0x 0019ab08		Transfer Halfword Values
00195c18: 34060004 ori r6,r0,0x0004		Limit = 4
00195c1c: 26e2ffff addiu r2,r23,0xffff		r2 = Action Menu - 1
00195c20: 2c420002 sltiu r2,r2,0x0002
00195c24: 10400005 beq r2,r0,0x 00195c3c		Branch if Action Menu != Item/Weapon Inv.
00195c28: 3c030040 lui r3,0x0040
00195c2c: 8e02000c lw r2,0x000c(r16)		Load AI Behavior Flags
00195c30: 00000000 nop
00195c34: 00431025 or r2,r2,r3			Enable Direct Attack
00195c38: ae02000c sw r2,0x000c(r16)		Store new AI Behavior Flags
00195c3c: 92820003 lbu r2,0x0003(r20)		Load Usage Type?
00195c40: 00000000 nop
00195c44: a202000f sb r2,0x000f(r16)		Store Usage Type?
00195c48: 2a220170 slti r2,r17,0x0170
00195c4c: 1040002f beq r2,r0,0x 00195d0c		Branch if Ability is a Normal Ability
00195c50: 02711023 subu r2,r19,r17		r2 = Ability ID * 7
00195c54: 00021040 sll r2,r2,0x01		ID * 14
00195c58: 3c038006 lui r3,0x8006
00195c5c: 2463fbf0 addiu r3,r3,0xfbf0
00195c60: 00431821 addu r3,r2,r3
00195c64: 9062000c lbu r2,0x000c(r3)		Load Ability's CT
00195c68: 9076000b lbu r22,0x000b(r3)		Load Ability's Inflict Status
00195c6c: a2020001 sb r2,0x0001(r16)		Store CT = Ability's CT
00195c70: 90620007 lbu r2,0x0007(r3)		Load Ability's Element
00195c74: 00000000 nop
00195c78: a2020010 sb r2,0x0010(r16)		Store Ability's Element
00195c7c: 9062000d lbu r2,0x000d(r3)		Load Ability's MP Cost
00195c80: 00000000 nop
00195c84: a2020011 sb r2,0x0011(r16)		Store Ability's MP Cost
00195c88: 92420090 lbu r2,0x0090(r18)		Load Unit's Support set 2
00195c8c: 00000000 nop
00195c90: 30420080 andi r2,r2,0x0080
00195c94: 10400005 beq r2,r0,0x 00195cac		Branch if Unit doesn't have Half of MP
00195c98: 00000000 nop
00195c9c: 92020011 lbu r2,0x0011(r16)		Load MP Cost
00195ca0: 00000000 nop
00195ca4: 00021042 srl r2,r2,0x01		MP Cost / 2
00195ca8: a2020011 sb r2,0x0011(r16)		Store new MP Cost
00195cac: 90620003 lbu r2,0x0003(r3)		Load Ability's Flags
00195cb0: 00000000 nop
00195cb4: 30420020 andi r2,r2,0x0020
00195cb8: 10400009 beq r2,r0,0x 00195ce0		Branch if Ability isn't a Ranged Weapon
00195cbc: 02151021 addu r2,r16,r21
00195cc0: 9042198c lbu r2,0x198c(r2)		Load Unit's Battle ID
00195cc4: 00000000 nop
00195cc8: 000210c0 sll r2,r2,0x03		ID * 8
00195ccc: 02021021 addu r2,r16,r2
00195cd0: 90421778 lbu r2,0x1778(r2)		Load Unit's Weapon Range
00195cd4: a2000005 sb r0,0x0005(r16)		Store AoE = 0
00195cd8: 0806573e j 0x 00195cf8
00195cdc: a2020004 sb r2,0x0004(r16)		Store Ability's Range = Weapon Range
00195ce0: 90620000 lbu r2,0x0000(r3)		Load Ability's Range
00195ce4: 00000000 nop
00195ce8: a2020004 sb r2,0x0004(r16)		Store Range = Ability's Range
00195cec: 90620001 lbu r2,0x0001(r3)		Load Ability's AoE
00195cf0: 00000000 nop
00195cf4: a2020005 sb r2,0x0005(r16)		Store AoE = Ability's AoE
00195cf8: 90620005 lbu r2,0x0005(r3)		Load Ability's Flags 3
00195cfc: 00000000 nop
00195d00: 30420004 andi r2,r2,0x0004
00195d04: 1440000f bne r2,r0,0x 00195d44		Branch if Ability has Persevere
00195d08: 26040007 addiu r4,r16,0x0007		r4 = Pointer to ?
00195d0c: 92430092 lbu r3,0x0092(r18)		Load Unit's Support set 4
00195d10: 00000000 nop
00195d14: 30620080 andi r2,r3,0x0080		(supposed to be 0x08, Short Charge)
00195d18: 10400006 beq r2,r0,0x 00195d34		Branch if Unit doesn't have Monster Skill
00195d1c: 30620040 andi r2,r3,0x0040
00195d20: 92020001 lbu r2,0x0001(r16)		Load CT
00195d24: 00000000 nop
00195d28: 00021042 srl r2,r2,0x01		CT / 2
00195d2c: 08065750 j 0x 00195d40
00195d30: a2020001 sb r2,0x0001(r16)		Store new CT
00195d34: 10400003 beq r2,r0,0x 00195d44		Branch if Unit doesn't have Defend
00195d38: 26040007 addiu r4,r16,0x0007		(supposed to be 0x04 Non-Charge)
00195d3c: a2000001 sb r0,0x0001(r16)		CT = 0
00195d40: 26040007 addiu r4,r16,0x0007		r4 = Pointer to Inflicted Statuses
00195d44: 00162840 sll r5,r22,0x01		Inflict Status ID * 2
00195d48: 00b62821 addu r5,r5,r22		ID * 3
00195d4c: 00052840 sll r5,r5,0x01		ID * 6
00195d50: 3c028006 lui r2,0x8006
00195d54: 24423fc5 addiu r2,r2,0x3fc5
00195d58: 00a22821 addu r5,r5,r2		r5 = Pointer to Inflicted Statuses
00195d5c: 0c066ad2 jal 0x 0019ab48		Transfer Byte Values
00195d60: 34060005 ori r6,r0,0x0005		Limit = 5
00195d64: 8fbf0030 lw r31,0x0030(r29)
00195d68: 8fb7002c lw r23,0x002c(r29)
00195d6c: 8fb60028 lw r22,0x0028(r29)
00195d70: 8fb50024 lw r21,0x0024(r29)
00195d74: 8fb40020 lw r20,0x0020(r29)
00195d78: 8fb3001c lw r19,0x001c(r29)
00195d7c: 8fb20018 lw r18,0x0018(r29)
00195d80: 8fb10014 lw r17,0x0014(r29)
00195d84: 8fb00010 lw r16,0x0010(r29)
00195d88: 27bd0038 addiu r29,r29,0x0038
00195d8c: 03e00008 jr r31
00195d90: 00000000 nop