See if elemental ability can be used
Jump to navigation
Jump to search
BATTLE.BIN : - See if elemental ability can be used ------------------------------------------------------------------------------------------ Parameter : r4 = Pointer to Some coordinates Return : r2 = 0x01 if Considered Ability matches terrain type r2 = 0x00 if wrong Ability for terrain type ------------------------------------------------------------------------------------------ 0019b754: 90830002 lbu r3,0x0002(r4) |Y coordinates 0019b758: 3c02801a lui r2,0x801a | 0019b75c: 904201fe lbu r2,0x01fe(r2) |Map Max X 0019b760: 00000000 nop | 0019b764: 00620018 mult r3,r2 | 0019b768: 90820001 lbu r2,0x0001(r4) |Elevation 0019b76c: 90840000 lbu r4,0x0000(r4) |X coordinates 0019b770: 00021200 sll r2,r2,0x08 | 0019b774: 00001812 mflo r3 |Y*Max X 0019b778: 00431021 addu r2,r2,r3 | 0019b77c: 00441021 addu r2,r2,r4 |Tile ID X + YMax X + 0x100 if High elevation 0019b780: 000210c0 sll r2,r2,0x03 |8 bytes per tile 0019b784: 3c018019 lui r1,0x8019 | 0019b788: 00220821 addu r1,r1,r2 | 0019b78c: 9022f8cc lbu r2,-0x0734(r1) |Tile Type 0x8018f8cc + Tile Offset 0019b790: 3c03801a lui r3,0x801a | 0019b794: 8463f3c6 lh r3,-0x0c3a(r3) |Ability ID 8019f3c4 + 0x02 0019b798: 3042003f andi r2,r2,0x003f | 0019b79c: 3c018006 lui r1,0x8006 | 0019b7a0: 00220821 addu r1,r1,r2 | 0019b7a4: 9022e9d0 lbu r2,-0x1630(r1) |Load Ability ID matching Terrain Type 0x8005e9d0 0019b7a8: 00000000 nop | 0019b7ac: 00431026 xor r2,r2,r3 |0 if Abilities match 0019b7b0: 03e00008 jr r31 | 0019b7b4: 2c420001 sltiu r2,r2,0x0001 |1 if considered ability match terrain type
Return locations
BATTLE.BIN 0019b59c: AI_Depth_Elemental_Monster_Skill_Use_Check_(0019b4f4) 0019c650: Evaluate_Linear_Ability_Behaviors