Difference between revisions of "Talk Skill"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
Line 13: Line 13:
 
  00186c2c: 8c22427c lw r2,0x427c(r1) load ability return address
 
  00186c2c: 8c22427c lw r2,0x427c(r1) load ability return address
 
  00186c30: 00000000 nop
 
  00186c30: 00000000 nop
  00186c34: 00400008 jr r2 Jumps to below listed locations depending on ability (-0x80000000)
+
  00186c34: 00400008 jr r2 Jumps to below listed locations depending on ability
 
  0x80186c4c persuade
 
  0x80186c4c persuade
 
  0x80186c60 praise
 
  0x80186c60 praise
Line 22: Line 22:
 
  0x80186c3c negotiate
 
  0x80186c3c negotiate
 
  00186c38: 00000000 nop
 
  00186c38: 00000000 nop
  00186c3c: 0c0619d1 jal 0x00186744 steal gil routine (negotiate)
+
  00186c3c: 0c0619d1 jal 0x00186744 steal gil routine If ability = 'Negotiate'
 
  00186c40: 00000000 nop
 
  00186c40: 00000000 nop
 
  00186c44: 08061b3c j 0x00186cf0 Jumps to pseudo-status set
 
  00186c44: 08061b3c j 0x00186cf0 Jumps to pseudo-status set
 
  00186c48: 00000000 nop
 
  00186c48: 00000000 nop
 
  00186c4c: 3c038019 lui r3,0x8019
 
  00186c4c: 3c038019 lui r3,0x8019
  00186c50: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer (persuade)
+
  00186c50: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer If ability = 'Persuade'
 
  00186c54: 3402007f ori r2,r0,0x007f sets r2 to 0x7f (CT0)
 
  00186c54: 3402007f ori r2,r0,0x007f sets r2 to 0x7f (CT0)
 
  00186c58: 08061b38 j 0x00186ce0 Jumps to pseudo-status set
 
  00186c58: 08061b38 j 0x00186ce0 Jumps to pseudo-status set
 
  00186c5c: a0620013 sb r2,0x0013(r3) Saves set CT00 to target data
 
  00186c5c: a0620013 sb r2,0x0013(r3) Saves set CT00 to target data
 
  00186c60: 3c028019 lui r2,0x8019
 
  00186c60: 3c028019 lui r2,0x8019
  00186c64: 904238fa lbu r2,0x38fa(r2) Loads ability Y (Praise)
+
  00186c64: 904238fa lbu r2,0x38fa(r2) Loads 'Praise' ability Y
 
  00186c68: 3c038019 lui r3,0x8019
 
  00186c68: 3c038019 lui r3,0x8019
 
  00186c6c: 8c632d90 lw r3,0x2d90(r3) Loads target current action data pointer
 
  00186c6c: 8c632d90 lw r3,0x2d90(r3) Loads target current action data pointer
Line 39: Line 39:
 
  00186c78: a0620016 sb r2,0x0016(r3) Saves positive Brave increase
 
  00186c78: a0620016 sb r2,0x0016(r3) Saves positive Brave increase
 
  00186c7c: 3c028019 lui r2,0x8019
 
  00186c7c: 3c028019 lui r2,0x8019
  00186c80: 904238fa lbu r2,0x38fa(r2) Loads Ability Y (Threaten)
+
  00186c80: 904238fa lbu r2,0x38fa(r2) Loads 'Threaten' Ability Y
 
  00186c84: 3c038019 lui r3,0x8019
 
  00186c84: 3c038019 lui r3,0x8019
 
  00186c88: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer
 
  00186c88: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer
Line 46: Line 46:
 
  00186c94: a0620016 sb r2,0x0016(r3) Saves negative Brave change
 
  00186c94: a0620016 sb r2,0x0016(r3) Saves negative Brave change
 
  00186c98: 3c028019 lui r2,0x8019
 
  00186c98: 3c028019 lui r2,0x8019
  00186c9c: 904238fa lbu r2,0x38fa(r2) Loads Ability Y (Preach)
+
  00186c9c: 904238fa lbu r2,0x38fa(r2) Loads 'Preach' Ability Y
 
  00186ca0: 3c038019 lui r3,0x8019
 
  00186ca0: 3c038019 lui r3,0x8019
 
  00186ca4: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer
 
  00186ca4: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer
Line 53: Line 53:
 
  00186cb0: a0620017 sb r2,0x0017(r3) Saves positive Faith increase
 
  00186cb0: a0620017 sb r2,0x0017(r3) Saves positive Faith increase
 
  00186cb4: 3c028019 lui r2,0x8019
 
  00186cb4: 3c028019 lui r2,0x8019
  00186cb8: 904238fa lbu r2,0x38fa(r2) Loads Ability Y (Solution)
+
  00186cb8: 904238fa lbu r2,0x38fa(r2) Loads 'Solution' ability Y
 
  00186cbc: 3c038019 lui r3,0x8019
 
  00186cbc: 3c038019 lui r3,0x8019
 
  00186cc0: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer
 
  00186cc0: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer
Line 59: Line 59:
 
  00186cc8: 08061b38 j 0x00186ce0 Jumps to pseudo-status set
 
  00186cc8: 08061b38 j 0x00186ce0 Jumps to pseudo-status set
 
  00186ccc: a0620017 sb r2,0x0017(r3) Saves negative Faith change
 
  00186ccc: a0620017 sb r2,0x0017(r3) Saves negative Faith change
  00186cd0: 0c061fc9 jal 0x00187f24 Jumps to Apply Status (invite, Death sentence, Mimic Daravon)
+
  00186cd0: 0c061fc9 jal 0x00187f24 Jumps to Apply Status if ability = 'Invitation', 'Death Sentence', 'Insult', 'Mimic Daravon'
 
  00186cd4: 00000000 nop
 
  00186cd4: 00000000 nop
 
  00186cd8: 08061b3c j 0x00186cf0 Jumps to end
 
  00186cd8: 08061b3c j 0x00186cf0 Jumps to end

Revision as of 06:34, 29 October 2020

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			Jumps to below listed locations depending on ability
						0x80186c4c 	persuade
						0x80186c60 	praise
						0x80186c7c 	threaten
						0x80186c98 	preach
						0x80186cb4 	solution
						0x80186cd0 	death sentence
						0x80186c3c 	negotiate
00186c38: 00000000 nop
00186c3c: 0c0619d1 jal 0x00186744		steal gil routine If ability = 'Negotiate'
00186c40: 00000000 nop
00186c44: 08061b3c j 0x00186cf0			Jumps to pseudo-status set
00186c48: 00000000 nop
00186c4c: 3c038019 lui r3,0x8019
00186c50: 8c632d90 lw r3,0x2d90(r3)		Loads Target Current Action Data Pointer If ability = 'Persuade'
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
00186c60: 3c028019 lui r2,0x8019
00186c64: 904238fa lbu r2,0x38fa(r2)		Loads 'Praise' 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
00186c7c: 3c028019 lui r2,0x8019
00186c80: 904238fa lbu r2,0x38fa(r2)		Loads 'Threaten' 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
00186c98: 3c028019 lui r2,0x8019
00186c9c: 904238fa lbu r2,0x38fa(r2)		Loads 'Preach' 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
00186cb4: 3c028019 lui r2,0x8019
00186cb8: 904238fa lbu r2,0x38fa(r2)		Loads 'Solution' 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
00186cd0: 0c061fc9 jal 0x00187f24		Jumps to Apply Status if ability = 'Invitation', 'Death Sentence', 'Insult', 'Mimic Daravon'
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