Talk Skill

From Final Fantasy Hacktics Wiki
Revision as of 06:47, 29 October 2020 by Glain (talk | contribs)
Jump to navigation Jump to search
00186c04: 3c028019 lui r2,0x8019
00186c08: 944238d6 lhu r2,0x38d6(r2)		load used ability ID
00186c0c: 27bdffe8 addiu r29,r29,0xffe8
00186c10: 2443ff8b addiu r3,r2,0xff8b		
00186c14: 2c620007 sltiu r2,r3,0x0007		set if non-status inflicting talk-skill (except death sentence)
00186c18: 1040002d beq r2,r0,0x00186cd0		branch if not
00186c1c: afbf0010 sw r31,0x0010(r29)
00186c20: 00031080 sll r2,r3,0x02		prepares Ability load address
00186c24: 3c018017 lui r1,0x8017
00186c28: 00220821 addu r1,r1,r2		variable load address
00186c2c: 8c22427c lw r2,0x427c(r1)		load ability return address
00186c30: 00000000 nop
00186c34: 00400008 jr r2
00186c38: 00000000 nop			        Jumps to below listed locations depending on ability
						0x80186c4c 	persuade
						0x80186c60 	praise
						0x80186c7c 	threaten
						0x80186c98 	preach
						0x80186cb4 	solution
						0x80186cd0 	death sentence
						0x80186c3c 	negotiate

(Negotiate)
00186c3c: 0c0619d1 jal 0x00186744		Steal Gil
00186c40: 00000000 nop
00186c44: 08061b3c j 0x00186cf0                 Jumps to pseudo-status set
00186c48: 00000000 nop

(Persuade)
00186c4c: 3c038019 lui r3,0x8019
00186c50: 8c632d90 lw r3,0x2d90(r3)		Loads Target Current Action Data Pointer
00186c54: 3402007f ori r2,r0,0x007f		sets r2 to 0x7f (CT0)
00186c58: 08061b38 j 0x00186ce0			Jumps to pseudo-status set
00186c5c: a0620013 sb r2,0x0013(r3)		Saves set CT00 to target data

(Praise)
00186c60: 3c028019 lui r2,0x8019
00186c64: 904238fa lbu r2,0x38fa(r2)		Loads Ability Y
00186c68: 3c038019 lui r3,0x8019
00186c6c: 8c632d90 lw r3,0x2d90(r3)		Loads target current action data pointer
00186c70: 34420080 ori r2,r2,0x0080		Sets bonus flag
00186c74: 08061b38 j 0x00186ce0			Jumps to Pseudo-status set
00186c78: a0620016 sb r2,0x0016(r3)		Saves positive Brave increase

(Threaten)
00186c7c: 3c028019 lui r2,0x8019
00186c80: 904238fa lbu r2,0x38fa(r2)		Loads Ability Y
00186c84: 3c038019 lui r3,0x8019
00186c88: 8c632d90 lw r3,0x2d90(r3)		Loads Target Current Action Data Pointer
00186c8c: 3042007f andi r2,r2,0x007f		Removes bonus flag (if set)
00186c90: 08061b38 j 0x00186ce0			Jumps to Pseudo-status set
00186c94: a0620016 sb r2,0x0016(r3)		Saves negative Brave change

(Preach)
00186c98: 3c028019 lui r2,0x8019
00186c9c: 904238fa lbu r2,0x38fa(r2)		Loads Ability Y
00186ca0: 3c038019 lui r3,0x8019
00186ca4: 8c632d90 lw r3,0x2d90(r3)		Loads Target Current Action Data Pointer
00186ca8: 34420080 ori r2,r2,0x0080		Sets bonus flag
00186cac: 08061b38 j 0x00186ce0			Jumps to pseudo-status set
00186cb0: a0620017 sb r2,0x0017(r3)		Saves positive Faith increase

(Solution)
00186cb4: 3c028019 lui r2,0x8019
00186cb8: 904238fa lbu r2,0x38fa(r2)		Loads Ability Y
00186cbc: 3c038019 lui r3,0x8019
00186cc0: 8c632d90 lw r3,0x2d90(r3)		Loads Target Current Action Data Pointer
00186cc4: 3042007f andi r2,r2,0x007f		Removes bonus flag (if set)
00186cc8: 08061b38 j 0x00186ce0			Jumps to pseudo-status set
00186ccc: a0620017 sb r2,0x0017(r3)		Saves negative Faith change

(Invitation, Death Sentence, Insult, Mimic Daravon)
00186cd0: 0c061fc9 jal 0x00187f24		Apply status (to action)
00186cd4: 00000000 nop
00186cd8: 08061b3c j 0x00186cf0			Jumps to end
00186cdc: 00000000 nop
00186ce0: 3c038019 lui r3,0x8019
00186ce4: 8c632d90 lw r3,0x2d90(r3)		Load Target Current Action Data Pointer
00186ce8: 34020001 ori r2,r0,0x0001		Sets r2 to 0x1 (Pseudo-Status change)
00186cec: a0620025 sb r2,0x0025(r3)		Saves attack type as Pseudo-Status change
00186cf0: 8fbf0010 lw r31,0x0010(r29)
00186cf4: 27bd0018 addiu r29,r29,0x0018
00186cf8: 03e00008 jr r31
00186cfc: 00000000 nop