Difference between revisions of "Golem Accuracy"
Jump to navigation
Jump to search
(Created page with "<font face='Courier New'> 00188888: 27bdffe8 addiu r29,r29,0xffe8 0018888c: afbf0010 sw r31,0x0010(r29) 00188890: 0c061760 jal 0x00185d80 00188894: 00000000 nop 0018889...") |
m (Orkney moved page 00188888 - 00188960 to Golem Accuracy) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | 00188888: 27bdffe8 addiu r29,r29,0xffe8 | | |
− | + | 0018888c: afbf0010 sw r31,0x0010(r29) | | |
− | 00188888: 27bdffe8 addiu r29,r29,0xffe8 | + | 00188890: 0c061760 jal 0x00185d80 |{{f/jal|Store_MA_and_X|Store_MA_and_X}} Set Ability XA = Attacker's MA and YA = used Ability X |
− | 0018888c: afbf0010 sw r31,0x0010(r29) | + | 00188894: 00000000 nop | |
− | 00188890: 0c061760 jal 0x00185d80 | + | 00188898: 0c061881 jal 0x00186204 |{{f/jal|Magic_Attack_Up_routine|Magic_Attack_Up_routine}} Ability XA +33% If Attacker uses Magic Attack Up |
− | 00188894: 00000000 nop | + | 0018889c: 00000000 nop | |
− | 00188898: 0c061881 jal 0x00186204 | + | 001888a0: 0c061967 jal 0x0018659c |{{f/jal|Set_XA_%2B_YA_for_Status_Formulas_(Stupid_section)|Set_XA_%2B_YA_for_Status_Formulas}} XA+YA becomes TCA HP damage (YA is processed via compatibility) |
− | 0018889c: 00000000 nop | + | 001888a4: 00000000 nop | |
− | 001888a0: 0c061967 jal 0x0018659c | + | 001888a8: 3c028019 lui r2,0x8019 | |
− | 001888a4: 00000000 nop | + | 001888ac: 8c422d94 lw r2,0x2d94(r2) |{{f/adr|<nowiki>r2 = Attacker data pointer</nowiki>}} |
− | 001888a8: 3c028019 lui r2,0x8019 | + | 001888b0: 00000000 nop | |
− | 001888ac: 8c422d94 lw r2,0x2d94(r2) | + | 001888b4: 9042005c lbu r2,0x005c(r2) |{{f/load|<nowiki>r2 = Attacker current status (5th set)</nowiki>}} |
− | 001888b0: 00000000 nop | + | 001888b8: 00000000 nop | |
− | 001888b4: 9042005c lbu r2,0x005c(r2) | + | 001888bc: 30420080 andi r2,r2,0x0080 |{{f/std|<nowiki>r2 = 0x80 if attacker as faith</nowiki>}} |
− | 001888b8: 00000000 nop | + | 001888c0: 10400003 beq r2,r0,0x001888d0 {{f/Cond|If Attacker as faith}} |
− | 001888bc: 30420080 andi r2,r2,0x0080 | + | 001888c4: 34020064 ori r2,r0,0x0064 |{{f/std|<nowiki>r2 = 100</nowiki>}} |
− | 001888c0: 10400003 beq r2,r0,0x001888d0 | + | 001888c8: 3c018019 lui r1,0x8019 | |
− | 001888c4: 34020064 ori r2,r0,0x0064 | + | 001888cc: a02238d3 sb r2,0x38d3(r1) |{{f/store|Store 100 as Current Ability Attacker Faith}} {{f/std| 0x801938d3 / 801938d3}} |
− | 001888c8: 3c018019 lui r1,0x8019 | + | 001888d0: 3c028019 lui r2,0x8019 | |
− | 001888cc: a02238d3 sb r2,0x38d3(r1) | + | 001888d4: 8c422d94 lw r2,0x2d94(r2) |{{f/adr|<nowiki>r2 = Attacker data pointer</nowiki>}} |
− | 001888d0: 3c028019 lui r2,0x8019 | + | 001888d8: 00000000 nop | |
− | 001888d4: 8c422d94 lw r2,0x2d94(r2) | + | 001888dc: 9042005c lbu r2,0x005c(r2) |{{f/load|<nowiki>r2 = Attacker current status 5</nowiki>}} |
− | 001888d8: 00000000 nop | + | 001888e0: 00000000 nop | |
− | 001888dc: 9042005c lbu r2,0x005c(r2) | + | 001888e4: 30420040 andi r2,r2,0x0040 |{{f/std|<nowiki>r2 = 0x40 if attacker as innoncent</nowiki>}} |
− | 001888e0: 00000000 nop | + | 001888e8: 10400003 beq r2,r0,0x001888f8 {{f/Cond|If attacker as innocent}} |
− | 001888e4: 30420040 andi r2,r2,0x0040 | + | 001888ec: 00000000 nop | |
− | 001888e8: 10400003 beq r2,r0,0x001888f8 | + | 001888f0: 3c018019 lui r1,0x8019 | |
− | 001888ec: 00000000 nop | + | 001888f4: a02038d3 sb r0,0x38d3(r1) |{{f/store|Store 0 as Current Ability Attacker Faith}} |
− | 001888f0: 3c018019 lui r1,0x8019 | + | 001888f8: 3c048019 lui r4,0x8019 | |
− | 001888f4: a02038d3 sb r0,0x38d3(r1) | + | 001888fc: 8c842d90 lw r4,0x2d90(r4) |{{f/adr|<nowiki>r4 = Target current action (TCA) data pointer</nowiki>}} |
− | 001888f8: 3c048019 lui r4,0x8019 | + | 00188900: 3c028019 lui r2,0x8019 | |
− | 001888fc: 8c842d90 lw r4,0x2d90(r4) | + | 00188904: 904238d3 lbu r2,0x38d3(r2) |{{f/load|<nowiki>r2 = Current Ability Attacker effective faith</nowiki>}} |
− | 00188900: 3c028019 lui r2,0x8019 | + | 00188908: 84830004 lh r3,0x0004(r4) |{{f/load|<nowiki>r3 = TCA HP dmg (Host temporary Hit%)</nowiki>}} |
− | 00188904: 904238d3 lbu r2,0x38d3(r2) | + | 0018890c: 00000000 nop | |
− | 00188908: 84830004 lh r3,0x0004(r4) | + | 00188910: 00620018 mult r3,r2 |{{f/std|Att. Faith x TCA HP dmg}} |
− | 0018890c: 00000000 nop | + | 00188914: 00001812 mflo r3 |{{f/std|<nowiki>r3 = Att. Faith x TCA HP dmg</nowiki>}} |
− | 00188910: 00620018 mult r3,r2 | + | 00188918: 3c0251eb lui r2,0x51eb | |
− | 00188914: 00001812 mflo r3 | + | 0018891c: 3442851f ori r2,r2,0x851f |{{f/std|<nowiki>r2 = 0,32 * 2^32</nowiki>}} |
− | 00188918: 3c0251eb lui r2,0x51eb | + | 00188920: 00620018 mult r3,r2 |{{f/std|Att. Faith x TCA HP dmg * 0,32 * 2^32}} |
− | 0018891c: 3442851f ori r2,r2,0x851f | + | 00188924: 00031fc3 sra r3,r3,0x1f |{{f/std|<nowiki>r3 = Higher bit of r3 (prepare rounding stuff - should be 0)</nowiki>}} |
− | 00188920: 00620018 mult r3,r2 | + | 00188928: 00001010 mfhi r2 |{{f/std|<nowiki>r2 = (Att.Faith x TCA HP dmg) * 0,32</nowiki>}} |
− | 00188924: 00031fc3 sra r3,r3,0x1f | + | 0018892c: 00021143 sra r2,r2,0x05 |{{f/std|<nowiki>r2 = (Att.Faith x TCA HP dmg) /100</nowiki>}} |
− | 00188928: 00001010 mfhi r2 | + | 00188930: 00431023 subu r2,r2,r3 |{{f/std|rounding ( - 0 or 1)}} |
− | 0018892c: 00021143 sra r2,r2,0x05 | + | 00188934: 0c061d44 jal 0x00187510 |{{f/jal|Uses_HP_damage_as_Action_hit%25|Uses_HP_damage_as_Action_hit%25}} HP damage becomes Hit% - Roll Hit% vs random (0 to 100), Set Action hit flag to miss if it fails |
− | 00188930: 00431023 subu r2,r2,r3 | + | 00188938: a4820004 sh r2,0x0004(r4) |{{f/store|Store (Att.Faith x TCA HP dmg) /100 as HP Dmg}} |
− | 00188934: 0c061d44 jal 0x00187510 | + | 0018893c: 3c028019 lui r2,0x8019 |{{f/std|Uses_HP_damage_as_Action_hit%25}} |
− | 00188938: a4820004 sh r2,0x0004(r4) | + | 00188940: 8c422d90 lw r2,0x2d90(r2) |{{f/adr|<nowiki>r2 = TCA data pointer</nowiki>}} |
− | 0018893c: 3c028019 lui r2,0x8019 | + | 00188944: 00000000 nop | |
− | 00188940: 8c422d90 lw r2,0x2d90(r2) | + | 00188948: 90420000 lbu r2,0x0000(r2) |{{f/load|<nowiki>r2 = TCA hit flag</nowiki>}} |
− | 00188944: 00000000 nop | + | 0018894c: 00000000 nop | |
− | 00188948: 90420000 lbu r2,0x0000(r2) | + | 00188950: 2c420001 sltiu r2,r2,0x0001 |{{f/std|<nowiki>r2 = 0x01 if action miss</nowiki>}} |
− | 0018894c: 00000000 nop | + | 00188954: 8fbf0010 lw r31,0x0010(r29) |
− | 00188950: 2c420001 sltiu r2,r2,0x0001 | + | 00188958: 27bd0018 addiu r29,r29,0x0018 |
− | 00188954: 8fbf0010 lw r31,0x0010(r29) | + | 0018895c: 03e00008 jr r31 |
− | 00188958: 27bd0018 addiu r29,r29,0x0018 | ||
− | 0018895c: 03e00008 jr r31 | ||
00188960: 00000000 nop | 00188960: 00000000 nop | ||
− | + | === Return location === | |
+ | '''Battle.bin''' | ||
+ | 0018917c: [[14_Set_Golem_Hit_CasF/100*(MA%2BX)%25|Formula 14 - Set Golem Hit CasF/100*(MA+X)%]] |
Latest revision as of 12:25, 17 April 2022
00188888: 27bdffe8 addiu r29,r29,0xffe8 | 0018888c: afbf0010 sw r31,0x0010(r29) | 00188890: 0c061760 jal 0x00185d80 |-->Store_MA_and_X Set Ability XA = Attacker's MA and YA = used Ability X 00188894: 00000000 nop | 00188898: 0c061881 jal 0x00186204 |-->Magic_Attack_Up_routine Ability XA +33% If Attacker uses Magic Attack Up 0018889c: 00000000 nop | 001888a0: 0c061967 jal 0x0018659c |-->Set_XA_%2B_YA_for_Status_Formulas XA+YA becomes TCA HP damage (YA is processed via compatibility) 001888a4: 00000000 nop | 001888a8: 3c028019 lui r2,0x8019 | 001888ac: 8c422d94 lw r2,0x2d94(r2) |r2 = Attacker data pointer 001888b0: 00000000 nop | 001888b4: 9042005c lbu r2,0x005c(r2) |r2 = Attacker current status (5th set) 001888b8: 00000000 nop | 001888bc: 30420080 andi r2,r2,0x0080 |r2 = 0x80 if attacker as faith 001888c0: 10400003 beq r2,r0,0x001888d0 #If Attacker as faith 001888c4: 34020064 ori r2,r0,0x0064 |r2 = 100 001888c8: 3c018019 lui r1,0x8019 | 001888cc: a02238d3 sb r2,0x38d3(r1) |Store 100 as Current Ability Attacker Faith 0x801938d3 / 801938d3 001888d0: 3c028019 lui r2,0x8019 | 001888d4: 8c422d94 lw r2,0x2d94(r2) |r2 = Attacker data pointer 001888d8: 00000000 nop | 001888dc: 9042005c lbu r2,0x005c(r2) |r2 = Attacker current status 5 001888e0: 00000000 nop | 001888e4: 30420040 andi r2,r2,0x0040 |r2 = 0x40 if attacker as innoncent 001888e8: 10400003 beq r2,r0,0x001888f8 #If attacker as innocent 001888ec: 00000000 nop | 001888f0: 3c018019 lui r1,0x8019 | 001888f4: a02038d3 sb r0,0x38d3(r1) |Store 0 as Current Ability Attacker Faith 001888f8: 3c048019 lui r4,0x8019 | 001888fc: 8c842d90 lw r4,0x2d90(r4) |r4 = Target current action (TCA) data pointer 00188900: 3c028019 lui r2,0x8019 | 00188904: 904238d3 lbu r2,0x38d3(r2) |r2 = Current Ability Attacker effective faith 00188908: 84830004 lh r3,0x0004(r4) |r3 = TCA HP dmg (Host temporary Hit%) 0018890c: 00000000 nop | 00188910: 00620018 mult r3,r2 |Att. Faith x TCA HP dmg 00188914: 00001812 mflo r3 |r3 = Att. Faith x TCA HP dmg 00188918: 3c0251eb lui r2,0x51eb | 0018891c: 3442851f ori r2,r2,0x851f |r2 = 0,32 * 2^32 00188920: 00620018 mult r3,r2 |Att. Faith x TCA HP dmg * 0,32 * 2^32 00188924: 00031fc3 sra r3,r3,0x1f |r3 = Higher bit of r3 (prepare rounding stuff - should be 0) 00188928: 00001010 mfhi r2 |r2 = (Att.Faith x TCA HP dmg) * 0,32 0018892c: 00021143 sra r2,r2,0x05 |r2 = (Att.Faith x TCA HP dmg) /100 00188930: 00431023 subu r2,r2,r3 |rounding ( - 0 or 1) 00188934: 0c061d44 jal 0x00187510 |-->Uses_HP_damage_as_Action_hit%25 HP damage becomes Hit% - Roll Hit% vs random (0 to 100), Set Action hit flag to miss if it fails 00188938: a4820004 sh r2,0x0004(r4) |Store (Att.Faith x TCA HP dmg) /100 as HP Dmg 0018893c: 3c028019 lui r2,0x8019 |Uses_HP_damage_as_Action_hit%25 00188940: 8c422d90 lw r2,0x2d90(r2) |r2 = TCA data pointer 00188944: 00000000 nop | 00188948: 90420000 lbu r2,0x0000(r2) |r2 = TCA hit flag 0018894c: 00000000 nop | 00188950: 2c420001 sltiu r2,r2,0x0001 |r2 = 0x01 if action miss 00188954: 8fbf0010 lw r31,0x0010(r29) 00188958: 27bd0018 addiu r29,r29,0x0018 0018895c: 03e00008 jr r31 00188960: 00000000 nop
Return location
Battle.bin 0018917c: Formula 14 - Set Golem Hit CasF/100*(MA+X)%