Difference between revisions of "28 StealExp (Lowest of TarCurExp & SP+Y) Hit (SP+X)%"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 
  [28]
 
  [28]
  00189870: 27bdffe8 addiu r29,r29,0xffe8
+
  00189870: 27bdffe8 addiu r29,r29,0xffe8     |
  00189874: afbf0010 sw r31,0x0010(r29)
+
  00189874: afbf0010 sw r31,0x0010(r29)       |
  00189878: 0c062144 jal 0x 00188510      [[Physical Evade Calculation]]
+
  00189878: 0c062144 jal 0x00188510          |{{f/jal|Physical Evade Calculation|Physical Evade Calculation}} If Abillity is evadeable roll Ability Evade byte against Ability base Hit - Returns r2
  0018987c: 00000000 nop
+
  0018987c: 00000000 nop                     |
  00189880: 1440001f bne r2,r0,0x 00189900         Branch to end if attack is evaded
+
  00189880: 1440001f bne r2,r0,0x00189900    {{f/Cond|If Attack is not Evaded}}
  00189884: 00000000 nop
+
  00189884: 00000000 nop                         |
  00189888: 0c06178c jal 0x 00185e30      [[Store Speed and X]]
+
  00189888: 0c06178c jal 0x00185e30              |{{f/jal|Store Speed and X|Store Speed and X}} Ability XA = Attacker's speed and Ability YA = used Ability X
  0018988c: 00000000 nop
+
  0018988c: 00000000 nop                         |
  00189890: 0c061853 jal 0x 0018614c      [[Formula 32, 33, 34, 35 Attack Up and Martial Arts]]
+
  00189890: 0c061853 jal 0x0018614c              |{{f/jal|Formula 32, 33, 34, 35 Attack Up and Martial Arts|Formula 32, 33, 34, 35 Attack Up and Martial Arts}} Increase XA if Attacker uses Attack Up or Martial art with elligible weapon
  00189894: 00000000 nop
+
  00189894: 00000000 nop                         |
  00189898: 0c061895 jal 0x 00186254      [[Attacker Berserk/Frog Check]] wtf?
+
  00189898: 0c061895 jal 0x00186254              |{{f/jal|Attacker Berserk/Frog Check|Attacker Berserk/Frog Check}} Modify Ability XA : +50% if Berserk / Xa forced to 0x01 if Frog
  0018989c: 00000000 nop
+
  0018989c: 00000000 nop                         |
  001898a0: 0c0618b3 jal 0x 001862cc      [[Defense UP Check]]
+
  001898a0: 0c0618b3 jal 0x001862cc              |{{f/jal|Defense UP routine|Defense UP routine}} Decrease Ability XA : -33% if Target uses Defense Up
  001898a4: 00000000 nop
+
  001898a4: 00000000 nop                         |
  001898a8: 0c0618db jal 0x 0018636c      [[Target XA affecting Statuses (Physical)]]
+
  001898a8: 0c0618db jal 0x0018636c              |{{f/jal|Target XA affecting Statuses (Physical)|Target XA affecting Statuses (Physical)}} Modify Ability XA : -33% if Target has protect / +50% if Target is Sleeping,Charging,Frog or Chicken
  001898ac: 00000000 nop
+
  001898ac: 00000000 nop                         |
  001898b0: 0c061259 jal 0x 00184964      [[Compatibility]]
+
  001898b0: 0c061259 jal 0x00184964              |{{f/jal|Compatibility|Compatibility}} Modify Ability XA : from -50% to + 50%
  001898b4: 00000000 nop
+
  001898b4: 00000000 nop                         |
  001898b8: 0c061967 jal 0x 0018659c      [[Set XA + YA for Status Formulas (Stupid section)]]
+
  001898b8: 0c061967 jal 0x0018659c              |{{f/jal|Set XA + YA for Status Formulas (Stupid section)|XA + YA for Accuracy}} XA+YA becomes TCA HP damage (YA is processed via compatibility) - Will be used as accuracy
  001898bc: 00000000 nop
+
  001898bc: 00000000 nop                         |
  001898c0: 0c061d44 jal 0x 00187510      [[??? Routine]]
+
  001898c0: 0c061d44 jal 0x00187510              |{{f/jal|Uses_HP_damage_as_Action_hit%25|Uses_HP_damage_as_Action_hit%}} HP damage becomes Hit% - Roll Hit% vs random (0 to 100), Set Action hit flag to miss if it fails
  001898c4: 00000000 nop
+
  001898c4: 00000000 nop                         |
  001898c8: 3c028019 lui r2,0x8019
+
  001898c8: 3c028019 lui r2,0x8019               |
  001898cc: 8c422d90 lw r2,0x2d90(r2)
+
  001898cc: 8c422d90 lw r2,0x2d90(r2)             |{{f/adr|<nowiki>r2 = Target Current Action (TCA) data pointer</nowiki>}}
  001898d0: 00000000 nop
+
  001898d0: 00000000 nop                         |
  001898d4: 90420000 lbu r2,0x0000(r2)
+
  001898d4: 90420000 lbu r2,0x0000(r2)           |{{f/load|<nowiki>r2 = TCA hit flag</nowiki>}}
  001898d8: 00000000 nop
+
  001898d8: 00000000 nop                         |
  001898dc: 14400006 bne r2,r0,0x 001898f8
+
  001898dc: 14400006 bne r2,r0,0x001898f8        {{f/Cond|If Attack MISS}}
  001898e0: 00000000 nop
+
  001898e0: 00000000 nop                             |
  001898e4: 3c028019 lui r2,0x8019
+
  001898e4: 3c028019 lui r2,0x8019                   |
  001898e8: 8c42f5fc lw r2,-0x0a04(r2)
+
  001898e8: 8c42f5fc lw r2,-0x0a04(r2)               |{{f/adr|<nowiki>r2 = Action State</nowiki>}} {{f/std| 0x8018f5fc}}
  001898ec: 00000000 nop
+
  001898ec: 00000000 nop                             |
  001898f0: 10400003 beq r2,r0,0x 00189900 Status Inflict Check (The previous branch statement is an evasion check.  If this branch is not an evasion check, it can circumvent the previous one.  If it checks evasion, it is redundant.)
+
  001898f0: 10400003 beq r2,r0,0x00189900            {{f/Cond|If Attack is not being Executed - go on (AI/display purpose)}} /If Attack is executed branch to END (fail)
  001898f4: 00000000 nop
+
  001898f4: 00000000 nop                                 |
  001898f8: 0c061a05 jal 0x 00186814      [[Set EXP Stolen]]
+
  001898f8: 0c061a05 jal 0x00186814              {{f/Cond|E |}} {{f/jal|Set EXP Stolen|Set EXP Stolen}} Set and Store Stolen Xp (Speed + Y , capped at Target Current Xp)
  001898fc: 00000000 nop
+
  001898fc: 00000000 nop                         |
  00189900: 8fbf0010 lw r31,0x0010(r29)
+
  00189900: 8fbf0010 lw r31,0x0010(r29)       END
  00189904: 27bd 0018 addiu r29,r29,0x 0018
+
  00189904: 27bd0018 addiu r29,r29,0x0018   
  00189908: 03e00008 jr r31
+
  00189908: 03e00008 jr r31
 
  0018990c: 00000000 nop
 
  0018990c: 00000000 nop
 +
=== Return location ===
 +
'''Battle.bin'''
 +
0018b97c - [[Pre Formula Setup (FDC)|Pre Formula Setup]]

Latest revision as of 19:18, 22 April 2022

[28]
00189870: 27bdffe8 addiu r29,r29,0xffe8     |
00189874: afbf0010 sw r31,0x0010(r29)       |
00189878: 0c062144 jal 0x00188510           |-->Physical Evade Calculation If Abillity is evadeable roll Ability Evade byte against Ability base Hit - Returns r2
0018987c: 00000000 nop                      |
00189880: 1440001f bne r2,r0,0x00189900     #If Attack is not Evaded
00189884: 00000000 nop                          |
00189888: 0c06178c jal 0x00185e30               |-->Store Speed and X Ability XA = Attacker's speed and Ability YA = used Ability X
0018988c: 00000000 nop                          |
00189890: 0c061853 jal 0x0018614c               |-->Formula 32, 33, 34, 35 Attack Up and Martial Arts Increase XA if Attacker uses Attack Up or Martial art with elligible weapon
00189894: 00000000 nop                          |
00189898: 0c061895 jal 0x00186254               |-->Attacker Berserk/Frog Check Modify Ability XA : +50% if Berserk / Xa forced to 0x01 if Frog
0018989c: 00000000 nop                          |
001898a0: 0c0618b3 jal 0x001862cc               |-->Defense UP routine Decrease Ability XA : -33% if Target uses Defense Up 
001898a4: 00000000 nop                          |
001898a8: 0c0618db jal 0x0018636c               |-->Target XA affecting Statuses (Physical) Modify Ability XA : -33% if Target has protect / +50% if Target is Sleeping,Charging,Frog or Chicken
001898ac: 00000000 nop                          |
001898b0: 0c061259 jal 0x00184964               |-->Compatibility Modify Ability XA : from -50% to + 50%
001898b4: 00000000 nop                          |
001898b8: 0c061967 jal 0x0018659c               |-->XA + YA for Accuracy XA+YA becomes TCA HP damage (YA is processed via compatibility) - Will be used as accuracy
001898bc: 00000000 nop                          |
001898c0: 0c061d44 jal 0x00187510               |-->Uses_HP_damage_as_Action_hit% HP damage becomes Hit% - Roll Hit% vs random (0 to 100), Set Action hit flag to miss if it fails
001898c4: 00000000 nop                          |
001898c8: 3c028019 lui r2,0x8019                |
001898cc: 8c422d90 lw r2,0x2d90(r2)             |r2 = Target Current Action (TCA) data pointer
001898d0: 00000000 nop                          |
001898d4: 90420000 lbu r2,0x0000(r2)            |r2 = TCA hit flag
001898d8: 00000000 nop                          |
001898dc: 14400006 bne r2,r0,0x001898f8         #If Attack MISS
001898e0: 00000000 nop                              |
001898e4: 3c028019 lui r2,0x8019                    |
001898e8: 8c42f5fc lw r2,-0x0a04(r2)                |r2 = Action State  0x8018f5fc
001898ec: 00000000 nop                              |
001898f0: 10400003 beq r2,r0,0x00189900             #If Attack is not being Executed - go on (AI/display purpose) /If Attack is executed branch to END (fail)
001898f4: 00000000 nop                                  |
001898f8: 0c061a05 jal 0x00186814               #E  -->Set EXP Stolen Set and Store Stolen Xp (Speed + Y , capped at Target Current Xp)
001898fc: 00000000 nop                          |
00189900: 8fbf0010 lw r31,0x0010(r29)       END
00189904: 27bd0018 addiu r29,r29,0x0018     
00189908: 03e00008 jr r31
0018990c: 00000000 nop

Return location

Battle.bin
0018b97c - Pre Formula Setup