Difference between revisions of "Elemental Strengthen"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
 
Line 1: Line 1:
  Elemental Strengthen
+
  No Parameters - Returns Nothing
  00185ffc: 3c028019 lui r2,0x8019
+
  00186000: 8c422d94 lw r2,0x2d94(r2) Load Attacker's Data
+
Increase Ability XA (+25%) if Current Ability Ability element (0x801938f7) is strengthened
  00186004: 3c038019 lui r3,0x8019
+
------------------------------------------------------------------------------------------------
  00186008: 906338f7 lbu r3,0x38f7(r3) Load Abilities Element
+
  00185ffc: 3c028019 lui r2,0x8019           |
  0018600c: 90420071 lbu r2,0x0071(r2) Load Attacker's Elemental Strenghtened
+
  00186000: 8c422d94 lw r2,0x2d94(r2)         |{{f/adr|<nowiki>r2 = Attacker's Data pointer</nowiki>}}
  00186010: 00000000 nop
+
  00186004: 3c038019 lui r3,0x8019           |
  00186014: 00431024 and r2,r2,r3
+
  00186008: 906338f7 lbu r3,0x38f7(r3)       |{{f/load|<nowiki>r3 = Current Ability : Ability Element</nowiki>}}
  00186018: 1040000c beq r2,r0,0x0018604c Branch if Abilities Element isn't being powered
+
  0018600c: 90420071 lbu r2,0x0071(r2)       |{{f/load|<nowiki>r2 = Attacker's Elemental Strengthened</nowiki>}}
  0018601c: 00000000 nop
+
  00186010: 00000000 nop                     |
  00186020: 3c038019 lui r3,0x8019
+
  00186014: 00431024 and r2,r2,r3             |{{f/std|r2 <> 0x00 If at least one of the ability element is strengthened}}
  00186024: 846338ce lh r3,0x38ce(r3) Load XA
+
  00186018: 1040000c beq r2,r0,0x0018604c     {{f/Cond|If Ability Element is strengthened}}
  00186028: 00000000 nop
+
  0018601c: 00000000 nop                         |
  0018602c: 00031080 sll r2,r3,0x02 XA * 4
+
  00186020: 3c038019 lui r3,0x8019               |
  00186030: 00431021 addu r2,r2,r3 XA * 5
+
  00186024: 846338ce lh r3,0x38ce(r3)             |{{f/load|<nowiki>r3 = Current Ability XA</nowiki>}}
  00186034: 04410002 bgez r2,0x00186040 Branch if XA > 0
+
  00186028: 00000000 nop                         |
  00186038: 00000000 nop
+
  0018602c: 00031080 sll r2,r3,0x02               |{{f/std|XA * 4}}
  0018603c: 24420003 addiu r2,r2,0x0003 XA + 3
+
  00186030: 00431021 addu r2,r2,r3               |{{f/std|XA * 5}}
  00186040: 00021083 sra r2,r2,0x02 XA * 5 / 4 (increase XA by 25%)
+
  00186034: 04410002 bgez r2,0x00186040           {{f/Cond|If XA * 5 < 0x00 (should be never)}}
  00186044: 3c018019 lui r1,0x8019
+
  00186038: 00000000 nop                             |
  00186048: a42238ce sh r2,0x38ce(r1) Store new XA
+
  0018603c: 24420003 addiu r2,r2,0x0003               |{{f/std|<nowiki>XA = 0x03</nowiki>}}
  0018604c: 03e00008 jr r31
+
  00186040: 00021083 sra r2,r2,0x02               |{{f/std|<nowiki>r2 = XA * 5 / 4</nowiki>}}
  00186050: 00000000 nop
+
  00186044: 3c018019 lui r1,0x8019               |
 
+
  00186048: a42238ce sh r2,0x38ce(r1)             |{{f/store|Store new Ability XA (125% of previous XA)}}
 
+
  0018604c: 03e00008 jr r31                   END
== Return Locations ==
+
  00186050: 00000000 nop                    
 
+
=== Return locations ===
*Battle.bin
+
'''Battle.bin'''
  0018896c: [[Truth/Formula 5E-5F Magical damage]]
+
  00188974: [[Truth/Formula 5E-5F Magical damage]]
  00188a38: [[Calculate Accuracy for Magical]]
+
  00188a3c: [[Calculate Accuracy for Magical]]
  00188a94:  
+
  00188a9c: [[MA_%2B_X_without_faith]]
  00188da4: [[08 Dmg_F(MA*Y)]]
+
  00188dac: [[08 Dmg_F(MA*Y)]]
  00188ec8: [[0B Hit_F(MA+X)%]]
+
  00188ed0: [[0B Hit_F(MA+X)%]]
  00188f08: [[0C Heal_F(MA*Y)]]
+
  00188f10: [[0C Heal_F(MA*Y)]]
  00188f48: [[0D Heal_(Y)% Hit_F(MA+X)%]]
+
  00188f50: [[0D Heal_(Y)% Hit_F(MA+X)%]]
  00188fe4: [[0E Dmg_(Y)% Hit_F(MA+X)% 100% Status Hide Status]]
+
  00188fec: [[0E Dmg_(Y)% Hit_F(MA+X)% 100% Status Hide Status]]
  001892cc: [[1A Hit_F(MA+Y)% // -PA/MA/SP_(X)]]
+
  001892d4: [[1A Hit_F(MA+Y)% // -PA/MA/SP_(X)]]
  00189484: [[1F Dmg ((100-CasF)*(100-TarF)*(MA+Y)*MA/2) #Hit(Rdm(1,X))]]
+
  0018948c: [[1F Dmg ((100-CasF)*(100-TarF)*(MA+Y)*MA/2) #Hit(Rdm(1,X))]]
  00189cf0: [[31 Dmg_((PA+Y)/2*PA)]]
+
  00189cf8: [[31 Dmg_((PA+Y)/2*PA)]]
  0018a4f8: [[51 Hit_(MA+X)%]]
+
  0018a500: [[51 Hit_(MA+X)%]]
  0018a834: [[58 Generic: Set_Morbol: Hit(MA+X)%]]
+
  0018a83c: [[58 Generic: Set_Morbol: Hit(MA+X)%]]

Latest revision as of 19:19, 13 April 2022

No Parameters - Returns Nothing

Increase Ability XA (+25%) if Current Ability Ability element (0x801938f7) is strengthened
------------------------------------------------------------------------------------------------
00185ffc: 3c028019 lui r2,0x8019            |
00186000: 8c422d94 lw r2,0x2d94(r2)         |r2 = Attacker's Data pointer
00186004: 3c038019 lui r3,0x8019            |
00186008: 906338f7 lbu r3,0x38f7(r3)        |r3 = Current Ability : Ability Element
0018600c: 90420071 lbu r2,0x0071(r2)        |r2 = Attacker's Elemental Strengthened
00186010: 00000000 nop                      |
00186014: 00431024 and r2,r2,r3             |r2 <> 0x00 If at least one of the ability element is strengthened
00186018: 1040000c beq r2,r0,0x0018604c     #If Ability Element is strengthened
0018601c: 00000000 nop                          |
00186020: 3c038019 lui r3,0x8019                |
00186024: 846338ce lh r3,0x38ce(r3)             |r3 = Current Ability XA
00186028: 00000000 nop                          |
0018602c: 00031080 sll r2,r3,0x02               |XA * 4
00186030: 00431021 addu r2,r2,r3                |XA * 5
00186034: 04410002 bgez r2,0x00186040           #If XA * 5 < 0x00 (should be never)
00186038: 00000000 nop                              |
0018603c: 24420003 addiu r2,r2,0x0003               |XA = 0x03
00186040: 00021083 sra r2,r2,0x02               |r2 = XA * 5 / 4
00186044: 3c018019 lui r1,0x8019                |
00186048: a42238ce sh r2,0x38ce(r1)             |Store new Ability XA (125% of previous XA)
0018604c: 03e00008 jr r31                   END
00186050: 00000000 nop                      

Return locations

Battle.bin
00188974: Truth/Formula 5E-5F Magical damage
00188a3c: Calculate Accuracy for Magical
00188a9c: MA_+_X_without_faith
00188dac: 08 Dmg_F(MA*Y)
00188ed0: 0B Hit_F(MA+X)%
00188f10: 0C Heal_F(MA*Y)
00188f50: 0D Heal_(Y)% Hit_F(MA+X)%
00188fec: 0E Dmg_(Y)% Hit_F(MA+X)% 100% Status Hide Status
001892d4: 1A Hit_F(MA+Y)% // -PA/MA/SP_(X)
0018948c: 1F Dmg ((100-CasF)*(100-TarF)*(MA+Y)*MA/2) #Hit(Rdm(1,X))
00189cf8: 31 Dmg_((PA+Y)/2*PA)
0018a500: 51 Hit_(MA+X)%
0018a83c: 58 Generic: Set_Morbol: Hit(MA+X)%