Difference between revisions of "Talk Skill"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 00186c04: 3c028019 lui r2,0x8019 00186c08: 944238d6 lhu r2,0x38d6(r2) load used ability ID 00186c0c: 27bdffe8 addiu r29,r29,0xffe8 00186c10: 2...")
 
(Adds labels to make page easier to navigate (does not solve poor readability of jr r2 locations))
Line 5: Line 5:
 
  00186c0c: 27bdffe8 addiu r29,r29,0xffe8
 
  00186c0c: 27bdffe8 addiu r29,r29,0xffe8
 
  00186c10: 2443ff8b addiu r3,r2,0xff8b
 
  00186c10: 2443ff8b addiu r3,r2,0xff8b
  00186c14: 2c620007 sltiu r2,r3,0x0007 set if talk skill ability
+
  00186c14: 2c620007 sltiu r2,r3,0x0007 set if non-status inflicting ability
 
  00186c18: 1040002d beq r2,r0,0x00186cd0 branch if not
 
  00186c18: 1040002d beq r2,r0,0x00186cd0 branch if not
 
  00186c1c: afbf0010 sw r31,0x0010(r29)
 
  00186c1c: afbf0010 sw r31,0x0010(r29)
  00186c20: 00031080 sll r2,r3,0x02
+
  00186c20: 00031080 sll r2,r3,0x02 prepares Ability load address
 
  00186c24: 3c018017 lui r1,0x8017
 
  00186c24: 3c018017 lui r1,0x8017
  00186c28: 00220821 addu r1,r1,r2
+
  00186c28: 00220821 addu r1,r1,r2 variable load address
  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
+
  00186c34: 00400008 jr r2 Jumps to below locations depending on ability
 
  00186c38: 00000000 nop
 
  00186c38: 00000000 nop
  0017427c: 80186c4c lb r24,0x6c4c(r0) purs
+
  0017427c: 80186c4c lb r24,0x6c4c(r0) persuade
 
  00174280: 80186c60 lb r24,0x6c60(r0) praise
 
  00174280: 80186c60 lb r24,0x6c60(r0) praise
 
  00174284: 80186c7c lb r24,0x6c7c(r0) threaten
 
  00174284: 80186c7c lb r24,0x6c7c(r0) threaten
 
  00174288: 80186c98 lb r24,0x6c98(r0) preach
 
  00174288: 80186c98 lb r24,0x6c98(r0) preach
 
  0017428c: 80186cb4 lb r24,0x6cb4(r0) solution
 
  0017428c: 80186cb4 lb r24,0x6cb4(r0) solution
  00174290: 80186cd0 lb r24,0x6cd0(r0) death s
+
  00174290: 80186cd0 lb r24,0x6cd0(r0) death sentence
 
  00174294: 80186c3c lb r24,0x6c3c(r0) negotiate
 
  00174294: 80186c3c lb r24,0x6c3c(r0) negotiate
  00186c3c: 0c0619d1 jal 0x00186744 steal gil routine
+
  00186c3c: 0c0619d1 jal 0x00186744 steal gil routine (negotiate)
 
  00186c40: 00000000 nop
 
  00186c40: 00000000 nop
  00186c44: 08061b3c j 0x00186cf0
+
  00186c44: 08061b3c j 0x00186cf0 Jumps to end
 
  00186c48: 00000000 nop
 
  00186c48: 00000000 nop
 
  00186c4c: 3c038019 lui r3,0x8019
 
  00186c4c: 3c038019 lui r3,0x8019
  00186c50: 8c632d90 lw r3,0x2d90(r3)
+
  00186c50: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer (persuade)
  00186c54: 3402007f ori r2,r0,0x007f
+
  00186c54: 3402007f ori r2,r0,0x007f sets r2 to 0x7f (CT0)
  00186c58: 08061b38 j 0x00186ce0
+
  00186c58: 08061b38 j 0x00186ce0 Jumps to end
  00186c5c: a0620013 sb r2,0x0013(r3)
+
  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)
+
  00186c64: 904238fa lbu r2,0x38fa(r2) Loads ability Y (Praise)
 
  00186c68: 3c038019 lui r3,0x8019
 
  00186c68: 3c038019 lui r3,0x8019
  00186c6c: 8c632d90 lw r3,0x2d90(r3)
+
  00186c6c: 8c632d90 lw r3,0x2d90(r3) Loads target current action data pointer
  00186c70: 34420080 ori r2,r2,0x0080
+
  00186c70: 34420080 ori r2,r2,0x0080 Sets bonus flag
  00186c74: 08061b38 j 0x00186ce0
+
  00186c74: 08061b38 j 0x00186ce0 Jumps to end
  00186c78: a0620016 sb r2,0x0016(r3)
+
  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)
+
  00186c80: 904238fa lbu r2,0x38fa(r2) Loads Ability Y (Threaten)
 
  00186c84: 3c038019 lui r3,0x8019
 
  00186c84: 3c038019 lui r3,0x8019
  00186c88: 8c632d90 lw r3,0x2d90(r3)
+
  00186c88: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer
  00186c8c: 3042007f andi r2,r2,0x007f
+
  00186c8c: 3042007f andi r2,r2,0x007f Removes bonus flag (if set)
  00186c90: 08061b38 j 0x00186ce0
+
  00186c90: 08061b38 j 0x00186ce0 Jumps to end
  00186c94: a0620016 sb r2,0x0016(r3)
+
  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)
+
  00186c9c: 904238fa lbu r2,0x38fa(r2) Loads Ability Y (Preach)
 
  00186ca0: 3c038019 lui r3,0x8019
 
  00186ca0: 3c038019 lui r3,0x8019
  00186ca4: 8c632d90 lw r3,0x2d90(r3)
+
  00186ca4: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer
  00186ca8: 34420080 ori r2,r2,0x0080
+
  00186ca8: 34420080 ori r2,r2,0x0080 Sets bonus flag
  00186cac: 08061b38 j 0x00186ce0
+
  00186cac: 08061b38 j 0x00186ce0 Jumps to end
  00186cb0: a0620017 sb r2,0x0017(r3)
+
  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)
+
  00186cb8: 904238fa lbu r2,0x38fa(r2) Loads Ability Y (Solution)
 
  00186cbc: 3c038019 lui r3,0x8019
 
  00186cbc: 3c038019 lui r3,0x8019
  00186cc0: 8c632d90 lw r3,0x2d90(r3)
+
  00186cc0: 8c632d90 lw r3,0x2d90(r3) Loads Target Current Action Data Pointer
  00186cc4: 3042007f andi r2,r2,0x007f
+
  00186cc4: 3042007f andi r2,r2,0x007f Removes bonus flag (if set)
  00186cc8: 08061b38 j 0x00186ce0
+
  00186cc8: 08061b38 j 0x00186ce0 Jumps to end
  00186ccc: a0620017 sb r2,0x0017(r3)
+
  00186ccc: a0620017 sb r2,0x0017(r3) Saves negative Faith change
Death Sentence
+
  00186cd0: 0c061fc9 jal 0x00187f24 Jumps to Apply Status (invite, Death sentence, Mimic Daravon)
  00186cd0: 0c061fc9 jal 0x00187f24
 
 
  00186cd4: 00000000 nop
 
  00186cd4: 00000000 nop
  00186cd8: 08061b3c j 0x00186cf0
+
  00186cd8: 08061b3c j 0x00186cf0 Jumps to end
 
  00186cdc: 00000000 nop
 
  00186cdc: 00000000 nop
 
  00186ce0: 3c038019 lui r3,0x8019
 
  00186ce0: 3c038019 lui r3,0x8019
  00186ce4: 8c632d90 lw r3,0x2d90(r3)
+
  00186ce4: 8c632d90 lw r3,0x2d90(r3) Load Target Current Action Data Pointer
  00186ce8: 34020001 ori r2,r0,0x0001
+
  00186ce8: 34020001 ori r2,r0,0x0001 Sets r2 to 0x1 (Pseudo-Status change)
  00186cec: a0620025 sb r2,0x0025(r3)
+
  00186cec: a0620025 sb r2,0x0025(r3) Saves attack type as Pseudo-Status change
 
  00186cf0: 8fbf0010 lw r31,0x0010(r29)
 
  00186cf0: 8fbf0010 lw r31,0x0010(r29)
 
  00186cf4: 27bd0018 addiu r29,r29,0x0018
 
  00186cf4: 27bd0018 addiu r29,r29,0x0018

Revision as of 05:42, 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 ability
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 locations depending on ability
00186c38: 00000000 nop
						0017427c: 80186c4c lb r24,0x6c4c(r0)	persuade
						00174280: 80186c60 lb r24,0x6c60(r0)	praise
						00174284: 80186c7c lb r24,0x6c7c(r0)	threaten
						00174288: 80186c98 lb r24,0x6c98(r0)	preach
						0017428c: 80186cb4 lb r24,0x6cb4(r0)	solution
						00174290: 80186cd0 lb r24,0x6cd0(r0)	death sentence
						00174294: 80186c3c lb r24,0x6c3c(r0)	negotiate
00186c3c: 0c0619d1 jal 0x00186744		steal gil routine (negotiate)
00186c40: 00000000 nop
00186c44: 08061b3c j 0x00186cf0		Jumps to end
00186c48: 00000000 nop
00186c4c: 3c038019 lui r3,0x8019
00186c50: 8c632d90 lw r3,0x2d90(r3)		Loads Target Current Action Data Pointer (persuade)
00186c54: 3402007f ori r2,r0,0x007f		sets r2 to 0x7f (CT0)
00186c58: 08061b38 j 0x00186ce0		Jumps to end
00186c5c: a0620013 sb r2,0x0013(r3)		Saves set CT00 to target data
00186c60: 3c028019 lui r2,0x8019
00186c64: 904238fa lbu r2,0x38fa(r2)		Loads ability Y (Praise)
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 end
00186c78: a0620016 sb r2,0x0016(r3)		Saves positive Brave increase
00186c7c: 3c028019 lui r2,0x8019
00186c80: 904238fa lbu r2,0x38fa(r2)		Loads Ability Y (Threaten)
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 end
00186c94: a0620016 sb r2,0x0016(r3)		Saves negative Brave change
00186c98: 3c028019 lui r2,0x8019
00186c9c: 904238fa lbu r2,0x38fa(r2)		Loads Ability Y (Preach)
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 end
00186cb0: a0620017 sb r2,0x0017(r3)		Saves positive Faith increase
00186cb4: 3c028019 lui r2,0x8019
00186cb8: 904238fa lbu r2,0x38fa(r2)		Loads Ability Y (Solution)
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 end
00186ccc: a0620017 sb r2,0x0017(r3)		Saves negative Faith change
00186cd0: 0c061fc9 jal 0x00187f24		Jumps to Apply Status (invite, Death sentence, 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