Difference between revisions of "Monster skill, frog attack ability loading"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
Line 17: Line 17:
 
  00182308: 1080003f beq r4,r0,0x 00182408
 
  00182308: 1080003f beq r4,r0,0x 00182408
 
  0018230c: 00001021 addu r2,r0,r0
 
  0018230c: 00001021 addu r2,r0,r0
 
+
 
  00182310: 9082005a lbu r2,0x005a(r4)
 
  00182310: 9082005a lbu r2,0x005a(r4)
 
  00182314: 00000000 nop
 
  00182314: 00000000 nop

Revision as of 12:23, 29 August 2014

Monster skill, frog ability loading
001822cc: 27bdffc8 addiu r29,r29,0xffc8
001822d0: afb20020 sw r18,0x0020(r29)
001822d4: 8fb20048 lw r18,0x0048(r29)
001822d8: afb1001c sw r17,0x001c(r29)
001822dc: 00c08821 addu r17,r6,r0
001822e0: afb40028 sw r20,0x0028(r29)
001822e4: 34140003 ori r20,r0,0x0003
001822e8: afb30024 sw r19,0x0024(r29)
001822ec: 00009821 addu r19,r0,r0
001822f0: afb5002c sw r21,0x002c(r29)
001822f4: 00a0a821 addu r21,r5,r0
001822f8: afbf0030 sw r31,0x0030(r29)
001822fc: 0c060435 jal 0x 001810d4				get unit data
00182300: afb0 0018 sw r16,0x 0018(r29)
00182304: 00402021 addu r4,r2,r0
00182308: 1080003f beq r4,r0,0x 00182408
0018230c: 00001021 addu r2,r0,r0

00182310: 9082005a lbu r2,0x005a(r4)			
00182314: 00000000 nop
00182318: 30420002 andi r2,r2,0x0002
0018231c: 10400002 beq r2,r0,0x 00182328			branch if not frog
00182320: 32a200ff andi r2,r21,0x00ff
00182324: 34130001 ori r19,r0,0x0001
00182328: 3c018006 lui r1,0x8006
0018232c: 00220821 addu r1,r1,r2
00182330: 90235cb4 lbu r3,0x5cb4(r1)			load action menu byte
00182334: 34020006 ori r2,r0,0x0006
00182338: 10620004 beq r3,r2,0x 0018234c			branch if not 06 - monster skillset
0018233c: 2402ffff addiu r2,r0,0xffff
00182340: a6220000 sh r2,0x0000(r17)			store 0xff into ??
00182344: 08060902 j 0x 00182408					jump to end, return r2 = 00
00182348: 00001021 addu r2,r0,r0
0018234c: 12600003 beq r19,r0,0x 0018235c		branch if not frog
00182350: 3405016f ori r5,r0,0x016f
00182354: a6250000 sh r5,0x0000(r17)			store ability = 0x16f, frog attack
00182358: 26310002 addiu r17,r17,0x0002
0018235c: 0c06090c jal 0x 00182430			monster skill check 
00182360: 00000000 nop
00182364: 10400002 beq r2,r0,0x 00182370		
00182368: 00008021 addu r16,r0,r0
0018236c: 34140004 ori r20,r0,0x0004
00182370: 12800025 beq r20,r0,0x 00182408		branch if returned value = 0?
00182374: 32a400ff andi r4,r21,0x00ff			
00182378: 0c01695a jal 0x0005a568				load ability from skillset
0018237c: 02002821 addu r5,r16,r0
00182380: 00402021 addu r4,r2,r0
00182384: 12600006 beq r19,r0,0x 001823a0		branch if not frog?
00182388: 00802821 addu r5,r4,r0
0018238c: 00041400 sll r2,r4,0x10
00182390: 00021403 sra r2,r2,0x10
00182394: 3403001d ori r3,r0,0x001d
00182398: 14430017 bne r2,r3,0x 001823f8			branch if attack is not frog
0018239c: 00000000 nop
001823a0: 00041400 sll r2,r4,0x10
001823a4: 00021c03 sra r3,r2,0x10
001823a8: 10600013 beq r3,r0,0x 001823f8
001823ac: 2482ffff addiu r2,r4,0xffff
001823b0: 3042ffff andi r2,r2,0xffff
001823b4: 2c42016f sltiu r2,r2,0x016f
001823b8: 1040000f beq r2,r0,0x 001823f8
001823bc: 000310c0 sll r2,r3,0x03
001823c0: 00431023 subu r2,r2,r3
001823c4: 00021040 sll r2,r2,0x01
001823c8: 3c018006 lui r1,0x8006
001823cc: 00220821 addu r1,r1,r2
001823d0: 9022fbf5 lbu r2,-0x040b(r1)			load ability flags 5
001823d4: 00000000 nop
001823d8: 000219c2 srl r3,r2,0x07
001823dc: 30420020 andi r2,r2,0x0020			affected by silence check
001823e0: 00021102 srl r2,r2,0x04
001823e4: 00621825 or r3,r3,r2
001823e8: a2430000 sb r3,0x0000(r18)
001823ec: 26520001 addiu r18,r18,0x0001
001823f0: a6250000 sh r5,0x0000(r17)			store ability
001823f4: 26310002 addiu r17,r17,0x0002
001823f8: 26100001 addiu r16,r16,0x0001
001823fc: 0214102a slt r2,r16,r20
00182400: 1440ffdd bne r2,r0,0x 00182378
00182404: 32a400ff andi r4,r21,0x00ff
00182408: 8fbf0030 lw r31,0x0030(r29)
0018240c: 8fb5002c lw r21,0x002c(r29)
00182410: 8fb40028 lw r20,0x0028(r29)
00182414: 8fb30024 lw r19,0x0024(r29)
00182418: 8fb20020 lw r18,0x0020(r29)
0018241c: 8fb1001c lw r17,0x001c(r29)
00182420: 8fb0 0018 lw r16,0x 0018(r29)
00182424: 27bd0038 addiu r29,r29,0x0038
00182428: 03e00008 jr r31
0018242c: 00000000 nop