The game's damage algorithm has two major flaws. First, overflow. While calculating damage, the game stores the calculations in a 16-bit value, which caps off at 65,535. However, if a physical or magical attack would deal more than that, it will instead deal that amount MOD 65,536! In other words, 65,536 damage becomes 0! The physical damage algorithm has another flaw: the Genji Glove and Offering relics reduce all physical damage, regardless of whether or not the attacker's weapon is involved. This patch does two things: one, it fixes the overflow problem for both types of damage, and two, it ensures the Genji Glove and Offering relics only reduce physical damage dealt by weapons.
Final Fantasy 3 (US/SNES), Final Fantasy 6 (JP/SFC)
Ultimate Damage Fix patch
CONTENTS:
FF3-UltimateDamage-H.ips: The fix patch for a headered SNES ROM file. Apply to fix the damage algorithm.
FF3-UltimateDamage-HR.ips: The reverse patch for a headered SNES ROM file. Apply to reverse all changes made by the previous patch.
FF3-UltimateDamage-N.ips: The fix patch for a non-headered SNES ROM file. Apply to fix the damage algorithm.
FF3-UltimateDamage-NR.ips: The reverse patch for a non-headered SNES ROM file. Apply to reverse all changes made by the previous patch.
FF6-UltimateDamage-H.ips: The fix patch for a headered SFC ROM file. Apply to fix the damage algorithm.
FF6-UltimateDamage-HR.ips: The reverse patch for a headered SFC ROM file. Apply to reverse all changes made by the previous patch.
FF6-UltimateDamage-N.ips: The fix patch for a non-headered SFC ROM file. Apply to fix the damage algorithm.
FF6-UltimateDamage-NR.ips: The reverse patch for a non-headered SFC ROM file. Apply to reverse all changes made by the previous patch.
readme.txt: This file.
Ultimate Damage.asm: An assembly format index of code changes.
Ultimate Damage-Fixed.rtf: A text format index of the new code.
Ultimate Damage-Original.rtf: A text format index of the old code.
ALL PATCHES WORK ON VERSION 1.0 OR 1.1.
URGENCY:
Extreme! Completely necessary! Everyone needs this patch now! Apply it immediately!
PURPOSE:
There are three problems with the algorithm used by the game to calculate attack damage. The first and second problems result from overflows in physical and magical damage calculation. These damages are based on factors such as Level, MagPwr, spell power, battle power and Vigor, and if these factors are all exceptionally high, the resulting damage value will be greater than 65,535, which is the highest possible 16-bit number. As a result, the damage algorithm will return the calculated result minus all multiples of 65,536, possibly resulting in a very small amount of damage. This patch corrects all overflow by capping the damage firmly at 65,535.
The third problem occurs when a character with Genji Glove and/or Offering equipped uses a physical attack that does not use that character's equipped weapon(s); for example, Sabin's Pummel. The relics are supposed to apply a reduction of damage whenever the weapons are used, but instead they reduce damage from ALL physical attacks. This patch ensures that damage reduction from these relics will not occur unless the attack used is Fight or Capture.
VERSION HISTORY:
v1.4 (February 2, 2017): Corrected the rounding of the Gauntlet multiplication.
v1.3 (November 12, 2015): Fixed a calculation error involving the Gauntlet multiplication.
v1.2 (November 11, 2015): Slight optimization.
v1.1 (July 21, 2015): Optimized to no longer use any free space.
v1.0 (July 20, 2015): Initial release.
Final Fantasy III (USA)
CRC32: E969BD77
MD5: A684517EBD29308C2E3B55D371E15245
SHA-1: 23422176191B371F01AE3A7CFE7455A2022F8EE8
SHA-256: 6F6911ED4A0E9844770035A3C39157F8C3929C321D5AFACBAFDA39C835B44374
Includes patches for headered and non-headered ROMs
Includes patches for SNES and SFC ROMs