Difference between revisions of "Set some data for current attack"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
Line 174: Line 174:
 
  0018bce8: 03e00008 jr r31
 
  0018bce8: 03e00008 jr r31
 
  0018bcec: 00000000 nop
 
  0018bcec: 00000000 nop
 +
'''Return Locations'''
 +
00187248 : [[HP Absorbtion]]
 
</font>
 
</font>

Revision as of 15:38, 22 September 2016

0018ba44: 3c028019 lui r2,0x8019
0018ba48: 8c422d98 lw r2,0x2d98(r2)			target stats
0018ba4c: 27bdffe8 addiu r29,r29,0xffe8
0018ba50: afbf0010 sw r31,0x0010(r29)
0018ba54: 90440058 lbu r4,0x0058(r2)
0018ba58: 00000000 nop
0018ba5c: 30820020 andi r2,r4,0x0020
0018ba60: 1040000a beq r2,r0,0x0018ba8c		branch if not dead
0018ba64: 00001821 addu r3,r0,r0
0018ba68: 3c028019 lui r2,0x8019
0018ba6c: 90423860 lbu r2,0x3860(r2)		load ?? flag
0018ba70: 00000000 nop
0018ba74: 30420020 andi r2,r2,0x0020
0018ba78: 10400003 beq r2,r0,0x0018ba88		branch if not flagged
0018ba7c: 30820010 andi r2,r4,0x0010
0018ba80: 10400002 beq r2,r0,0x0018ba8c		branch if not undead
0018ba84: 00000000 nop
0018ba88: 34030001 ori r3,r0,0x0001			set if target is dead or undead or ???
0018ba8c: 3c028019 lui r2,0x8019
0018ba90: 8c422d98 lw r2,0x2d98(r2)			
0018ba94: 00000000 nop
0018ba98: 90420059 lbu r2,0x0059(r2)
0018ba9c: 00000000 nop
0018baa0: 30420080 andi r2,r2,0x0080
0018baa4: 10400008 beq r2,r0,0x0018bac8		branch if not petrify
0018baa8: 00000000 nop
0018baac: 3c028019 lui r2,0x8019
0018bab0: 90423861 lbu r2,0x3861(r2)		load ?? flag
0018bab4: 00000000 nop
0018bab8: 30420080 andi r2,r2,0x0080
0018babc: 14400002 bne r2,r0,0x0018bac8		branch if flag 0x80 set
0018bac0: 00000000 nop
0018bac4: 34030001 ori r3,r0,0x0001			set if target is petrified or ??
0018bac8: 3c028019 lui r2,0x8019
0018bacc: 8c422d98 lw r2,0x2d98(r2)
0018bad0: 00000000 nop
0018bad4: 9042005b lbu r2,0x005b(r2)
0018bad8: 00000000 nop
0018badc: 30420001 andi r2,r2,0x0001
0018bae0: 10400008 beq r2,r0,0x0018bb04		branch if not walled
0018bae4: 00000000 nop
0018bae8: 3c028019 lui r2,0x8019
0018baec: 90423863 lbu r2,0x3863(r2)
0018baf0: 00000000 nop
0018baf4: 30420001 andi r2,r2,0x0001
0018baf8: 14400002 bne r2,r0,0x0018bb04		branch if ?? flag set
0018bafc: 00000000 nop
0018bb00: 34030001 ori r3,r0,0x0001			set if target is walled or ??
0018bb04: 10600016 beq r3,r0,0x0018bb60		branch if not walled/petrified/dead/etc.(able to be revived?)
0018bb08: 00000000 nop
Null attack
0018bb0c: 3c028019 lui r2,0x8019
0018bb10: 8c422d98 lw r2,0x2d98(r2)
0018bb14: 00000000 nop
0018bb18: 9044018a lbu r4,0x018a(r2)		load unit ID
0018bb1c: 0c063b5f jal 0x0018ed7c			Sort target list
0018bb20: 00000000 nop
0018bb24: 0c062b7d jal 0x0018adf4			Action data nulling
0018bb28: 00000000 nop
0018bb2c: 0c062f3c jal 0x0018bcf0			Called by Nullify Action
0018bb30: 00000000 nop
0018bb34: 0c062f4d jal 0x0018bd34			?Nullify steal item?
0018bb38: 00000000 nop
0018bb3c: 3c018019 lui r1,0x8019
0018bb40: a020390e sb r0,0x390e(r1)			store ability formula = 0
0018bb44: 0c0610c3 jal 0x0018430c			Force Attack Miss
0018bb48: 00000000 nop
0018bb4c: 3c038019 lui r3,0x8019
0018bb50: 8c632d90 lw r3,0x2d90(r3)
0018bb54: 34020008 ori r2,r0,0x0008
0018bb58: 08062f38 j 0x0018bce0
0018bb5c: a0620002 sb r2,0x0002(r3)			store evade type = 0x08
0018bb60: 3c038019 lui r3,0x8019
0018bb64: 8c632d90 lw r3,0x2d90(r3)
0018bb68: 00000000 nop
0018bb6c: 8462002a lh r2,0x002a(r3)			load hit %
0018bb70: 00000000 nop
0018bb74: 14400004 bne r2,r0,0x0018bb88		branch if not 0
0018bb78: 00000000 nop
0018bb7c: a0600000 sb r0,0x0000(r3)			store miss
0018bb80: 3c038019 lui r3,0x8019
0018bb84: 8c632d90 lw r3,0x2d90(r3)
0018bb88: 00000000 nop
0018bb8c: 84620004 lh r2,0x0004(r3)			load hp damage
0018bb90: 00000000 nop
0018bb94: 284203e8 slti r2,r2,0x03e8
0018bb98: 14400002 bne r2,r0,0x0018bba4		branch if hp damage < 1000
0018bb9c: 340203e7 ori r2,r0,0x03e7
0018bba0: a4620004 sh r2,0x0004(r3)			store hp damage = 999
0018bba4: 3c038019 lui r3,0x8019
0018bba8: 8c632d90 lw r3,0x2d90(r3)
0018bbac: 00000000 nop
0018bbb0: 84620006 lh r2,0x0006(r3)
0018bbb4: 00000000 nop
0018bbb8: 284203e8 slti r2,r2,0x03e8
0018bbbc: 14400004 bne r2,r0,0x0018bbd0
0018bbc0: 340203e7 ori r2,r0,0x03e7
0018bbc4: a4620006 sh r2,0x0006(r3)			hp recovery cap
0018bbc8: 3c038019 lui r3,0x8019
0018bbcc: 8c632d90 lw r3,0x2d90(r3)
0018bbd0: 00000000 nop
0018bbd4: 84620008 lh r2,0x0008(r3)
0018bbd8: 00000000 nop
0018bbdc: 284203e8 slti r2,r2,0x03e8
0018bbe0: 14400002 bne r2,r0,0x0018bbec
0018bbe4: 340203e7 ori r2,r0,0x03e7
0018bbe8: a4620008 sh r2,0x0008(r3)			mp damage cap
0018bbec: 3c038019 lui r3,0x8019
0018bbf0: 8c632d90 lw r3,0x2d90(r3)
0018bbf4: 00000000 nop
0018bbf8: 8462000a lh r2,0x000a(r3)
0018bbfc: 00000000 nop
0018bc00: 284203e8 slti r2,r2,0x03e8
0018bc04: 14400002 bne r2,r0,0x0018bc10
0018bc08: 340203e7 ori r2,r0,0x03e7
0018bc0c: a462000a sh r2,0x000a(r3)			mp recovery cap
0018bc10: 3c028019 lui r2,0x8019
0018bc14: 8c422d90 lw r2,0x2d90(r2)
0018bc18: 3c038019 lui r3,0x8019
0018bc1c: 8c632d98 lw r3,0x2d98(r3)
0018bc20: 84420004 lh r2,0x0004(r2)			load hp damage to enemy
0018bc24: 94630028 lhu r3,0x0028(r3)		load targets hp
0018bc28: 00000000 nop
0018bc2c: 0043102a slt r2,r2,r3				set if hp damage < current hp
0018bc30: 14400005 bne r2,r0,0x0018bc48		branch if target not dead?
0018bc34: 00000000 nop
0018bc38: 0c062f4d jal 0x0018bd34			?Nullify steal item?
0018bc3c: 00000000 nop
0018bc40: 0c062f3c jal 0x0018bcf0			Called by Nullify Action
0018bc44: 00000000 nop
0018bc48: 3c028019 lui r2,0x8019
0018bc4c: 8c422d98 lw r2,0x2d98(r2)
0018bc50: 3c058019 lui r5,0x8019
0018bc54: 8ca52d90 lw r5,0x2d90(r5)
0018bc58: 904201ba lbu r2,0x01ba(r2)		load modified ENTD flags
0018bc5c: 90a30025 lbu r3,0x0025(r5)		load target attack type
0018bc60: 30420030 andi r2,r2,0x0030
0018bc64: 1060001e beq r3,r0,0x0018bce0		branch if not changing to enemy team
0018bc68: 00022102 srl r4,r2,0x04			flags / 16
0018bc6c: 90a20000 lbu r2,0x0000(r5)		
0018bc70: 00000000 nop
0018bc74: 1040001a beq r2,r0,0x0018bce0		branch if attack missed
0018bc78: 00000000 nop
0018bc7c: 3c028019 lui r2,0x8019
0018bc80: 8c42f5f0 lw r2,-0x0a10(r2)		load AI calc / reaction chcek
0018bc84: 00000000 nop
0018bc88: 14400015 bne r2,r0,0x0018bce0		branch if reaction stored?
0018bc8c: 00041040 sll r2,r4,0x01			Team*2
0018bc90: 3c018019 lui r1,0x8019
0018bc94: 00220821 addu r1,r1,r2			
0018bc98: 9422f5f4 lhu r2,-0x0a0c(r1)		load Teams Golem amount
0018bc9c: 00000000 nop
0018bca0: 1040000f beq r2,r0,0x0018bce0		Branch if no golem amount present
0018bca4: 00000000 nop
0018bca8: 3c028019 lui r2,0x8019
0018bcac: 904238f5 lbu r2,0x38f5(r2)		load ability flags
0018bcb0: 00000000 nop
0018bcb4: 30420008 andi r2,r2,0x0008
0018bcb8: 10400009 beq r2,r0,0x0018bce0		branch if not normal attack
0018bcbc: 3402000a ori r2,r0,0x000a
0018bcc0: a0a20002 sb r2,0x0002(r5)			store evade type = 0x0a (Golem)
0018bcc4: 3c048019 lui r4,0x8019
0018bcc8: 8c842d90 lw r4,0x2d90(r4)
0018bccc: 34028000 ori r2,r0,0x8000
0018bcd0: 0c062f75 jal 0x0018bdd4			null some status data
0018bcd4: a4a20010 sh r2,0x0010(r5)			store 0x8000 into special flags unknown 
0018bcd8: 0c062f4d jal 0x0018bd34			?Nullify steal item?
0018bcdc: 00000000 nop
0018bce0: 8fbf0010 lw r31,0x0010(r29)
0018bce4: 27bd0018 addiu r29,r29,0x0018
0018bce8: 03e00008 jr r31
0018bcec: 00000000 nop

Return Locations

00187248 : HP Absorbtion