Romhacking.net

Romhacking => ROM Hacking Discussion => Topic started by: AwesomeHairo on August 04, 2022, 12:34:53 AM

Title: Final Fantasy III Bug Fixes
Post by: AwesomeHairo on August 04, 2022, 12:34:53 AM
Hi, everyone. Although (thankfully) these bugs are relatively minor, will there ever be any kind of fixes for them? How hard would they be to fix? Why haven't they been fixed?

Here are the bugs, taken from Gamer Corner Guides:


  1. Several weapons, including the Fire Rod, Ice Rod, Light Rod, and Elder Staff grant boosts to your elemental magic when equipped. However, as far as I can determine, these boosts don't actually do anything. They have been left in the weapon data, but only on the view page, mostly as a curiosity.

  2. If you equip a shield in your right hand and a weapon in your left hand, the weapon's elemental property (if any) will be ignored. This could, at least in theory, let you use a powerful weapon that an enemy is strong against without giving up any power.

  3. The Erase spell doesn't actually function. It's supposed to negate Reflect, but it fails to do so. Ironically, most other black magic spells will negate Reflect, albeit only after reflecting a damage spell.

  4. Reflect does not reflect spells when cast on your own allies, so unlike later games this isn't a valid workaround for enemies that cast Reflect.

  5. If you cast Protect on an ally who is currently using the Defend command, that ally's Defense will be reset to its pre-Protect value at the end of the round. The bonus to Magic Defense will remain, however.

  6. If a character changes his in-hand items during battle, the in-battle stat bonuses granted by spells like Protect and Haste will be negated.

  7. Drain appears to have strange effects on the undead. It does not heal them, but it also does not damage them, and while the caster may be healed by the spell, the exact amount of healing is unpredictable.

  8. The Lamia Harp appears to be intended to inflict Sleep, but it does not.
Title: Re: Final Fantasy III Bug Fixes
Post by: FAST6191 on August 04, 2022, 06:26:43 AM
What version of the game is this for? While not as many as some there are a few
https://www.youtube.com/watch?v=K2w-jlhP8aQ
This also assumes this is not for 6 but America called 3.
Could probably look it up if it is from a guide but eh I can do the overview.

Unlike many other FF titles on the NES and SNES I don't think any of the 3 games have a nice disassembly at this point, and from what I understand of the NES version it is quite well packed in there (one of the reasons other than the translation there are comparatively few hacks for it). https://github.com/everything8215/ff3 has something which might speed things up a tiny bit (though most of it, or at least values in the path, could be found with a basic cheat searching session). If there was a nice commented disassembly you could figure out if it was a poor choice of opcode or ordering thereof that might have negated something or an actual oversight, and also a point where you could insert a jump to somewhere else, do all the relevant extra calculations, and then jump back). Depending upon how the game is set  up and your approach it might be harder on a NES (adding a bunch of IF IF IF else in there to account for different elemental weapon numbers rather than something else and doing it four times for all effects would be rather costly there).

Most of those speak to the battle calculations which means you are going to be getting down and dirty with the game's code as I doubt any of those are stats based -- the sleep harp might be missing some kind of sleep chance as an effect similar to how you might also see poison, burn, paralyse or something but I don't know what this game does for that sort of thing offhand.
To do it elegantly such that it looks like it should be part of the original game might be tricky but to tack on additional checks and bias calculations accordingly or copy values

I am also curious at the nature of unpredictable healing and what value it might be referencing. Usual guess would be last damage value but who knows.
Title: Re: Final Fantasy III Bug Fixes
Post by: KillerBob on August 10, 2022, 04:21:09 PM
Quote from: AwesomeHairo on August 04, 2022, 12:34:53 AM
  3. The Erase spell doesn't actually function. It's supposed to negate Reflect, but it fails to do so. Ironically, most other black magic spells will negate Reflect, albeit only after reflecting a damage spell.

This information is wrong. That spell works, it's just that it's pretty useless. It removes any elemental resistance except for Dark. An easy way to test its functionality is to, for example, cast Blizzard after using Erase on an Ice Fly that absorbs ice.