Validate Status Changes

From Final Fantasy Hacktics Wiki
Revision as of 20:16, 28 March 2021 by Orkney (talk | contribs) (Point more recent page)
Jump to navigation Jump to search

Duplicated Link

More recent Version by Glain here : Modify_Status_Inflictions
This routine ends at 00184e3c (after it's Elemental_Nullification)
00184b24: 00803821 addu r7,r4,r0
00184b28: 3c028019 lui r2,0x8019
00184b2c: 8c422d98 lw r2,0x2d98(r2)		target unit data
00184b30: 00005021 addu r10,r0,r0
00184b34: 90430005 lbu r3,0x0005(r2)		load entd flags
00184b38: 90420182 lbu r2,0x0182(r2)		load mount info
00184b3c: 00000000 nop
00184b40: 30420080 andi r2,r2,0x0080		
00184b44: 1040000f beq r2,r0,0x 00184b84		branch if not riding a unit
00184b48: 30680004 andi r8,r3,0x0004		immortal check
00184b4c: 00003021 addu r6,r0,r0
00184b50: 3c038019 lui r3,0x8019
00184b54: 8c632d90 lw r3,0x2d90(r3)		target current action
00184b58: 3c018019 lui r1,0x8019
00184b5c: 00260821 addu r1,r1,r6		
00184b60: 9024f60c lbu r4,-0x09f4(r1)		load ??
00184b64: 00661821 addu r3,r3,r6
00184b68: 9062001b lbu r2,0x001b(r3)		load status infliction 1?
00184b6c: 24c60001 addiu r6,r6,0x0001
00184b70: 00441024 and r2,r2,r4
00184b74: a062001b sb r2,0x001b(r3)		
00184b78: 28c20005 slti r2,r6,0x0005
00184b7c: 1440fff4 bne r2,r0,0x 00184b50		loop loads status inflictions?
00184b80: 00000000 nop
00184b84: 3c048019 lui r4,0x8019
00184b88: 8c842d90 lw r4,0x2d90(r4)
00184b8c: 00000000 nop
00184b90: 9083001d lbu r3,0x001d(r4)		status infliction 3
00184b94: 00000000 nop
00184b98: 30620002 andi r2,r3,0x0002		
00184b9c: 10400013 beq r2,r0,0x 00184bec		inflict frog check?
00184ba0: 00003021 addu r6,r0,r0
00184ba4: 3c028019 lui r2,0x8019
00184ba8: 8c422d98 lw r2,0x2d98(r2)		target data
00184bac: 00000000 nop
00184bb0: 9042005a lbu r2,0x005a(r2)		load current status
00184bb4: 00000000 nop
00184bb8: 30420002 andi r2,r2,0x0002
00184bbc: 1040000b beq r2,r0,0x 00184bec		branch if not frog
00184bc0: 00000000 nop
00184bc4: 14e00009 bne r7,r0,0x 00184bec		branch if not ?
00184bc8: 306200fd andi r2,r3,0x00fd
00184bcc: a082001d sb r2,0x001d(r4)		store status infliction
00184bd0: 3c038019 lui r3,0x8019
00184bd4: 8c632d90 lw r3,0x2d90(r3)		
00184bd8: 00000000 nop
00184bdc: 90620022 lbu r2,0x0022(r3)		status removal
00184be0: 00000000 nop
00184be4: 34420002 ori r2,r2,0x0002		remove frog
00184be8: a0620022 sb r2,0x0022(r3)		
00184bec: 14e00023 bne r7,r0,0x 00184c7c
00184bf0: 28c20003 slti r2,r6,0x0003
00184bf4: 1040000a beq r2,r0,0x 00184c20
00184bf8: 00000000 nop
00184bfc: 3c058019 lui r5,0x8019
00184c00: 8ca52d90 lw r5,0x2d90(r5)		action
00184c04: 3c028019 lui r2,0x8019
00184c08: 8c422d98 lw r2,0x2d98(r2)		data
00184c0c: 00000000 nop
00184c10: 00461021 addu r2,r2,r6
00184c14: 90430058 lbu r3,0x0058(r2)		current status
00184c18: 0806130f j 0x 00184c3c
00184c1c: 00a62821 addu r5,r5,r6
00184c20: 3c058019 lui r5,0x8019
00184c24: 8ca52d90 lw r5,0x2d90(r5)		target action
00184c28: 3c028019 lui r2,0x8019
00184c2c: 8c422d98 lw r2,0x2d98(r2)		target data
00184c30: 00a62821 addu r5,r5,r6
00184c34: 00461021 addu r2,r2,r6
00184c38: 9043004e lbu r3,0x004e(r2)		innate status 1
00184c3c: 90440053 lbu r4,0x0053(r2)		status immunities 1
00184c40: 90a2001b lbu r2,0x001b(r5)		status infliction 1
00184c44: 00641827 nor r3,r3,r4
00184c48: 00431024 and r2,r2,r3
00184c4c: 1100000b beq r8,r0,0x 00184c7c
00184c50: a0a2001b sb r2,0x001b(r5)		store status infliction 1
00184c54: 3c028019 lui r2,0x8019
00184c58: 8c422d90 lw r2,0x2d90(r2)		target action
00184c5c: 3c018006 lui r1,0x8006
00184c60: 00260821 addu r1,r1,r6
00184c64: 902362ee lbu r3,0x62ee(r1)		load status checks
00184c68: 00461021 addu r2,r2,r6
00184c6c: 9044001b lbu r4,0x001b(r2)		laod status 1
00184c70: 00031827 nor r3,r0,r3
00184c74: 00832024 and r4,r4,r3
00184c78: a044001b sb r4,0x001b(r2)		store status 1
00184c7c: 3c058019 lui r5,0x8019
00184c80: 8ca52d90 lw r5,0x2d90(r5)		target action
00184c84: 3c048019 lui r4,0x8019
00184c88: 8c842d98 lw r4,0x2d98(r4)		target data
00184c8c: 00a62821 addu r5,r5,r6
00184c90: 00862021 addu r4,r4,r6
00184c94: 24c60001 addiu r6,r6,0x0001
00184c98: 9083004e lbu r3,0x004e(r4)		load status
00184c9c: 90a20020 lbu r2,0x0020(r5)		load status infliction
00184ca0: 908401bb lbu r4,0x01bb(r4)
00184ca4: 00031827 nor r3,r0,r3
00184ca8: 00431024 and r2,r2,r3
00184cac: 00441024 and r2,r2,r4
00184cb0: a0a20020 sb r2,0x0020(r5)		store status
00184cb4: 28c20005 slti r2,r6,0x0005
00184cb8: 1440ffcc bne r2,r0,0x 00184bec
00184cbc: 00000000 nop
00184cc0: 14e00051 bne r7,r0,0x 00184e08
00184cc4: 00003021 addu r6,r0,r0
00184cc8: 340b0080 ori r11,r0,0x0080
00184ccc: 3c098006 lui r9,0x8006
00184cd0: 25295def addiu r9,r9,0x5def
00184cd4: 04c10002 bgez r6,0x 00184ce0
00184cd8: 00c01021 addu r2,r6,r0
00184cdc: 24c2 0007 addiu r2,r6,0x 0007
00184ce0: 000238c3 sra r7,r2,0x03
00184ce4: 3c028019 lui r2,0x8019
00184ce8: 8c422d90 lw r2,0x2d90(r2)
00184cec: 30c3 0007 andi r3,r6,0x 0007
00184cf0: 00471021 addu r2,r2,r7
00184cf4: 9042001b lbu r2,0x001b(r2)
00184cf8: 006b1807 srav r3,r11,r3
00184cfc: 00431024 and r2,r2,r3
00184d00: 10400019 beq r2,r0,0x 00184d68
00184d04: 00000000 nop
00184d08: 00002821 addu r5,r0,r0
00184d0c: 00034027 nor r8,r0,r3
00184d10: 01202021 addu r4,r9,r0
00184d14: 3c028019 lui r2,0x8019
00184d18: 8c422d98 lw r2,0x2d98(r2)
00184d1c: 90830000 lbu r3,0x0000(r4)
00184d20: 00451021 addu r2,r2,r5
00184d24: 90420058 lbu r2,0x0058(r2)
00184d28: 00000000 nop
00184d2c: 00431024 and r2,r2,r3
00184d30: 10400009 beq r2,r0,0x 00184d58
00184d34: 24840001 addiu r4,r4,0x0001
00184d38: 3c038019 lui r3,0x8019
00184d3c: 8c632d90 lw r3,0x2d90(r3)
00184d40: 00000000 nop
00184d44: 00671821 addu r3,r3,r7
00184d48: 9062001b lbu r2,0x001b(r3)
00184d4c: 00000000 nop
00184d50: 00481024 and r2,r2,r8
00184d54: a062001b sb r2,0x001b(r3)
00184d58: 24a50001 addiu r5,r5,0x0001
00184d5c: 28a20005 slti r2,r5,0x0005
00184d60: 1440ffec bne r2,r0,0x 00184d14
00184d64: 00000000 nop
00184d68: 24c60001 addiu r6,r6,0x0001
00184d6c: 28c20028 slti r2,r6,0x0028
00184d70: 1440ffd8 bne r2,r0,0x 00184cd4
00184d74: 25290010 addiu r9,r9,0x0010
00184d78: 00003021 addu r6,r0,r0
00184d7c: 34090080 ori r9,r0,0x0080
00184d80: 3c088006 lui r8,0x8006
00184d84: 25085dea addiu r8,r8,0x5dea
00184d88: 04c10002 bgez r6,0x 00184d94
00184d8c: 00c01021 addu r2,r6,r0
00184d90: 24c2 0007 addiu r2,r6,0x 0007
00184d94: 000238c3 sra r7,r2,0x03
00184d98: 3c028019 lui r2,0x8019
00184d9c: 8c422d90 lw r2,0x2d90(r2)
00184da0: 30c3 0007 andi r3,r6,0x 0007
00184da4: 00471021 addu r2,r2,r7
00184da8: 9042001b lbu r2,0x001b(r2)
00184dac: 00691807 srav r3,r9,r3
00184db0: 00431024 and r2,r2,r3
00184db4: 1040000f beq r2,r0,0x 00184df4
00184db8: 00000000 nop
00184dbc: 00002821 addu r5,r0,r0
00184dc0: 01003821 addu r7,r8,r0
00184dc4: 3c048019 lui r4,0x8019
00184dc8: 8c842d90 lw r4,0x2d90(r4)
00184dcc: 90e30000 lbu r3,0x0000(r7)
00184dd0: 00852021 addu r4,r4,r5
00184dd4: 24a50001 addiu r5,r5,0x0001
00184dd8: 9082001b lbu r2,0x001b(r4)
00184ddc: 00031827 nor r3,r0,r3
00184de0: 00431024 and r2,r2,r3
00184de4: a082001b sb r2,0x001b(r4)
00184de8: 28a20005 slti r2,r5,0x0005
00184dec: 1440fff5 bne r2,r0,0x 00184dc4
00184df0: 24e70001 addiu r7,r7,0x0001
00184df4: 24c60001 addiu r6,r6,0x0001
00184df8: 28c20028 slti r2,r6,0x0028
00184dfc: 1440ffe2 bne r2,r0,0x 00184d88
00184e00: 25080010 addiu r8,r8,0x0010
00184e04: 00003021 addu r6,r0,r0
00184e08: 3c048019 lui r4,0x8019
00184e0c: 8c842d90 lw r4,0x2d90(r4)
00184e10: 00000000 nop
00184e14: 00861821 addu r3,r4,r6
00184e18: 24c60001 addiu r6,r6,0x0001
00184e1c: 9062001b lbu r2,0x001b(r3)
00184e20: 90630020 lbu r3,0x0020(r3)
00184e24: 01421021 addu r2,r10,r2
00184e28: 00435021 addu r10,r2,r3
00184e2c: 28c20005 slti r2,r6,0x0005
00184e30: 1440fff7 bne r2,r0,0x 00184e10
00184e34: 00000000 nop
00184e38: 03e00008 jr r31
00184e3c: 01401021 addu r2,r10,r0
00184e40: 3c028019 lui r2,0x8019
00184e44: 8c422d90 lw r2,0x2d90(r2)
00184e48: 27bdffe8 addiu r29,r29,0xffe8
00184e4c: afbf0010 sw r31,0x0010(r29)
00184e50: a0400000 sb r0,0x0000(r2)
00184e54: 3c038019 lui r3,0x8019
00184e58: 8c632d90 lw r3,0x2d90(r3)
00184e5c: 34020005 ori r2,r0,0x0005
00184e60: a0620002 sb r2,0x0002(r3)		Store nullified evasion
00184e64: 3c028019 lui r2,0x8019
00184e68: 8c422d90 lw r2,0x2d90(r2)		target action data
00184e6c: a4600004 sh r0,0x0004(r3)		Store 0 HP damage
00184e70: a460002a sh r0,0x002a(r3)		Store 0 hit% (display?)
00184e74: a4600010 sh r0,0x0010(r3)		store steal item
00184e78: 0c062f3c jal 0x 0018bcf0		Nullification
00184e7c: a0400025 sb r0,0x0025(r2)		Store 0 into attack type
00184e80: 0c062f4d jal 0x 0018bd34		Nullify steal item?
00184e84: 00000000 nop
00184e88: 8fbf0010 lw r31,0x0010(r29)
00184e8c: 27bd 0018 addiu r29,r29,0x 0018
00184e90: 03e00008 jr r31
00184e94: 00000000 nop


Return Locations

00180070: Set target for mounted unit, move find item/trap
00187054: Ability Elemental? Apply Elemental - Glain
00187e64: Formula 01 - 06 Aftermath
001881fc: 38 (100%)
0018b070: Perform reaction abilities
0018c4c8: Main Reaction Routine - performs ability effects
0018d9d4: Process Expiring Statuses
0018db70: Poison Marsh Routine
0018dca4: Traps Routine
0018dccc: ^^
0018e104: Post Ability Hardcoding?
0018e434: Store status,modified ENTD for current attack