FF7/Battle/Damage Calculation

From Final Fantasy Inside
< FF7‎ | Battle
Revision as of 19:14, 11 August 2009 by my_wiki>NFITC1

In Attacks, Items, and Weapons there exists a single byte that tells the Battle Engine how to calculate damage. This is a list of known values with their effects on Base Damage. They are classified into Physical, Magical, and Exact. Physical and Magical will rely on the caster's Strength and Magic stat respectively to calculate base damage. After modification it is multiplied by a random variance ([224..255]/256 or something similar). These will also trigger Physical and Magical Counter Attacks respectively. Exact is just what it sounds like. They do not have a base damage calculation. The entire damage comes from exactly the formula shown and is applied to the target without defense calculation (though element is still taken into account). These will not trigger Physical or Magical Counter Attacks, but will trigger General Counter Attacks such as Adamantoise's Light Shell.

For more details, these can be considered Base Damage Modifiers as described in Terence Fergusson's Battle Mechanics FAQ.
Akari has begun a more detailed damage formula page.

Value Type Formula [Damage = ]
0x00 None No Damage Calculation
0x08 Exact Target's HP & MP * (Strength / 32)%
0x11 Physical Base * Strength / 16
0x22 Magical Base * Strength / 16
0x23 Exact Target's HP * (Strength / 32)
0x24 Exact Target's MHP * (Strength / 32)
0x25 Magical Base + (Strength * 22)
0x26 Exact Strength * 20
0x29 Exact 1 (?)
0x37 Physical Strength * 16; Ignores Barrier; No Base
0x47 Magical Strength * 16; Ignores MBarrier; No Base
0x50 None No Damage Calculation
0x60 Exact Caster's HP
0x61 Exact Caster's MHP - HP
0x68 Exact Random x 100 (Dice)
0x69 Exact Number of Escapes
0x6A Exact Reduces Target's HP to 1
0x6B Exact Number of hours on game clock * 100 + number of minutes in game clock
0x6C Exact 10 x Target's Kills
0x6D Exact 1111 x Target's Materia
0x83 Exact HP * (Strength / 32) if level MOD Attack% = 0
0x96 Exact Caster's HP/2
0xA0 Physical Base * (Strength / 16) * [User's Status Effects See NOTE]
0xA1 Physical Base * (Strength / 16) * (3 if user is Near-Death, 1 otherwise)
0xA2 Physical Base * (Strength / 16) * (1 + Dead Allies)
0xA3 Physical Base * (Strength / 16) * (Target's Level / 16)
0xA4 Physical Base * (Strength / 16) * (1 + [48 * HP/MHP]) / 16
0xA5 Physical Base * (Strength / 16) * (1 + [48 * MP/MMP]) / 16
0xA6 Physical Base * (Strength / 16) * (1 + [AP on Weapon / 10000]) / 16
0xA7 Physical Base * (Strength / 16) * (10 + [Character's Kills / 128]) / 16
0xA8 Physical Base * (Strength / 16) * (1 + [Limit Level * Limit Units / 16]) / 16
0xB1 Physical Base * Strength / 16; No random criticals


NOTE: For A0h base strength, the multiplier is increased by one for the following effects:

  • Near-death
  • Poison
  • Sadness
  • Silence
  • Slow
  • Darkness

and increased by two for the following:

  • D.Sentence
  • Slow-numb


As an exception to the above rules, 37h and 47h are used as damage calculations for items. Damage to target is calculated normally while ignoring M/Barrier.

Value 29h is not used in the game, but has been shown to produce that result. This is likely because damage is rounded up to the nearest whole number > 0.