FF5: The Status Bug
Feb. 24th, 2018 11:40 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Remember how I was mentioning I wasn't running into trouble with Rocket Punch on this guy before with my solo Cannoneer...except sometimes I wasn't? And remember in vs. Gil Turtle where I mentioned I was running into trouble applying regen? Well, it's because of this bug I finally understand. When you go into battle after changing equipment, it seems certain immunities don't get properly updated until you complete that battle.
Add these values up in hex and you'll have your status immunities represented in hex.

Speaking in GBA's sense. There are two addresses that control status immunity, 0200DAFB and 0201EE3B for the first character. The former is used out of battle, the latter is used in-battle. 0200DAFB is added to 0201EE3B after battle begins, and 0200DAFB is updated with your current equipment only after a battle finishes. The problem is apparent enough, but what's more, 0201EE3B updates with your current equipment's immunities when battle begins as well. You can see that despite John Connor's equipment, he has a lot more status protection than he should (the first three numbers in the top left).
As an example, after a "refresh" my character goes into battle wearing only an Angel Ring. This causes his in-battle status immunity to be 02/80/00. After the battle ends, this also becomes out of battle immunity. I put on Hermes Sandals instead and start a new battle. Because of this bug, he gets the benefits of both accessories' immunities, and it becomes 02/E0/14. However after battle, his out of battle status immunities are properly adjusted to 00/60/14.
This also works even if you change classes. You can go into battle with Bone Mail, switch to a magical class, and receive all its myriad immunities...including Regen. Of course, going that far is in defiance of the spirit of solo class characters.
What about if you shield swap? After you take your next turn, the new immunities are applied. They don't seem to come off from the data I'm looking at, either. For example I go into a fight with no curable status protection, so that's at 00. I swap in Aegis and take a turn, setting it to 40. I then swap in Genji Shield and take a turn. Instead of removing the Aegis' petrify immunities, it just applies Genji's mini protection over top, 50.

This isn't a GBA only thing, either. It works on SNES too. Not sure about iOS and its derivatives - those versions change around a lot of the coding as well as making other questionable changes, so it may or may not work there.
This bug is very useful when facing down Omega, needless to say. I might feel bad about using it, even if it were against Shinryu. But it's Omega. Absolutely no mercy.
Index
Hex | Curable | Temporary | Dispellable |
---|---|---|---|
01 | Darkness | Image (1) | Regen |
02 | Zombie | Image (2) | Invincible |
04 | Poison | Silence | Slow |
08 | Float | Berserk | Haste |
10 | Mini | Confusion | Stop |
20 | Toad | Paralyze | Shell |
40 | Petrify | Sleep | Protect |
80 | Death | Aging | Wall |
Add these values up in hex and you'll have your status immunities represented in hex.


Speaking in GBA's sense. There are two addresses that control status immunity, 0200DAFB and 0201EE3B for the first character. The former is used out of battle, the latter is used in-battle. 0200DAFB is added to 0201EE3B after battle begins, and 0200DAFB is updated with your current equipment only after a battle finishes. The problem is apparent enough, but what's more, 0201EE3B updates with your current equipment's immunities when battle begins as well. You can see that despite John Connor's equipment, he has a lot more status protection than he should (the first three numbers in the top left).
As an example, after a "refresh" my character goes into battle wearing only an Angel Ring. This causes his in-battle status immunity to be 02/80/00. After the battle ends, this also becomes out of battle immunity. I put on Hermes Sandals instead and start a new battle. Because of this bug, he gets the benefits of both accessories' immunities, and it becomes 02/E0/14. However after battle, his out of battle status immunities are properly adjusted to 00/60/14.
This also works even if you change classes. You can go into battle with Bone Mail, switch to a magical class, and receive all its myriad immunities...including Regen. Of course, going that far is in defiance of the spirit of solo class characters.
What about if you shield swap? After you take your next turn, the new immunities are applied. They don't seem to come off from the data I'm looking at, either. For example I go into a fight with no curable status protection, so that's at 00. I swap in Aegis and take a turn, setting it to 40. I then swap in Genji Shield and take a turn. Instead of removing the Aegis' petrify immunities, it just applies Genji's mini protection over top, 50.


This isn't a GBA only thing, either. It works on SNES too. Not sure about iOS and its derivatives - those versions change around a lot of the coding as well as making other questionable changes, so it may or may not work there.
This bug is very useful when facing down Omega, needless to say. I might feel bad about using it, even if it were against Shinryu. But it's Omega. Absolutely no mercy.
Index