Effect code script 16 - check counter against 0x1c in temp effect data

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

001a2938: 00802821 addu r5,r4,r0		temp eff. data
001a293c: 84a40006 lh r4,0x0006(r5)
001a2940: 8ca20008 lw r2,0x0008(r5)		pointer & counter
001a2944: 00000000 nop
001a2948: 00823021 addu r6,r4,r2
001a294c: 90c20001 lbu r2,0x0001(r6)		load arg 1
001a2950: 84c30002 lh r3,0x0002(r6)		load arg 2
001a2954: 00021182 srl r2,r2,0x06		obtain arg 1
001a2958: 00021040 sll r2,r2,0x01		arg1 * 2
001a295c: 00451021 addu r2,r2,r5		temp effect data + arg1 * 2
001a2960: 84420014 lh r2,0x0014(r2)		load 0x14
001a2964: 00000000 nop
001a2968: 0043102a slt r2,r2,r3
001a296c: 10400004 beq r2,r0,0x001a2980	branch when arg1's 0x14 temp effect data exceeds arg3
001a2970: 27bdfff8 addiu r29,r29,0xfff8
001a2974: 94c20004 lhu r2,0x0004(r6)		load arg3
001a2978: 08068a62 j 0x001a2988
001a297c: a4a20006 sh r2,0x0006(r5)		set arg3 as script counter
001a2980: 24820006 addiu r2,r4,0x0006		if not yet exceeds, increment counter by 6
001a2984: a4a20006 sh r2,0x0006(r5)
001a2988: 34020001 ori r2,r0,0x0001		return execute next instruction immediately
001a298c: 27bd0008 addiu r29,r29,0x0008
001a2990: 03e00008 jr r31
001a2994: 00000000 nop