Difference between revisions of "FF7/Battle/Damage Calculation"
my_wiki>NFITC1 |
my_wiki>Akari |
||
Line 11: | Line 11: | ||
|- | |- | ||
| align="center" | 0X | | align="center" | 0X | ||
− | | | + | | Use evade, dexterity and so on to determinate hit. |
| align="center" | X0 | | align="center" | X0 | ||
| No Damage calculation | | No Damage calculation | ||
|- | |- | ||
| align="center" | 1X | | align="center" | 1X | ||
− | | | + | | Use magic evade to determinate hit. |
| align="center" | X1 | | align="center" | X1 | ||
| (Power / 16) * (Stat + [(Level + Stat) / 32] * [(Level * Stat) / 32]) | | (Power / 16) * (Stat + [(Level + Stat) / 32] * [(Level * Stat) / 32]) | ||
|- | |- | ||
| align="center" | 2X | | align="center" | 2X | ||
− | | | + | | Calculate critical, 100% hit. |
| align="center" | X2 | | align="center" | X2 | ||
| (Power / 16) * ((Lvl + Stat) * 6) | | (Power / 16) * ((Lvl + Stat) * 6) | ||
Line 63: | Line 63: | ||
|- | |- | ||
| align="center" | 6X | | align="center" | 6X | ||
− | | | + | | Hit if target can be manipulated. |
| align="center" | X0 | | align="center" | X0 | ||
| 100% User's HP | | 100% User's HP | ||
|- | |- | ||
| align="center" | 7X | | align="center" | 7X | ||
− | | | + | | Calculate hit by (hit % target level) |
| align="center" | X1 | | align="center" | X1 | ||
| User's MHP - HP | | User's MHP - HP |
Revision as of 08:30, 14 October 2010
In Attacks, Items, and Weapons there exists a single byte that tells the Battle Engine how to calculate damage based on an attack's set Power and the characters stats. Physical and Magical will rely on the caster's "Attack" and "Magic Attack" stat respectively to calculate base damage. This byte is divided into two nybbles (four bits). Upper Nybble determines what considerations are made in calculating damage such as physical/magical, allowing criticals, how to calculate accuracy, etc. There are also three sets of known formulae that are paired with the Upper nybble values. These are selected in the Lower Nybble and determine how to calculate pre-defense damage. After modification it is multiplied by a random variance ([224..255]/256 or something similar) and reduced by a certain amount based on a target's "Defense" or "Magic Defense" stats, depending on the type of damage. These will also trigger Physical and Magical Counter Attacks respectively.
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.
Upper Value | Considerations | Lower Value | Formula [Damage = ] |
---|---|---|---|
0X | Use evade, dexterity and so on to determinate hit. | X0 | No Damage calculation |
1X | Use magic evade to determinate hit. | X1 | (Power / 16) * (Stat + [(Level + Stat) / 32] * [(Level * Stat) / 32]) |
2X | Calculate critical, 100% hit. | X2 | (Power / 16) * ((Lvl + Stat) * 6) |
3X | Physical, 100% hit rate, ignore Barrier | X3 | HP * (Power / 32) |
4X | Physical, 100% hit rate, ignore Barrier | X4 | MHP * (Power / 32) |
5X | Physical, 100% hit rate, ignore Barrier | X5 | (Power * 22) + ((Level + Stat) * 6) |
9X | Physical, use Manipulate Accuracy, Allow Critial | X6 | (Power * 20) |
BX | Physical, use Accuracy, no Critial | X7 | (Power * 16) |
X8 | Recovery | ||
X9 | Throw | ||
XA | Coin | ||
6X | Hit if target can be manipulated. | X0 | 100% User's HP |
7X | Calculate hit by (hit % target level) | X1 | User's MHP - HP |
9X | Physical, use Manipulate Accuracy, Skip Defense, Allow Critial | X6 | User's HP/2 |
X8 | Random x 100 | ||
X9 | Number of Escapes | ||
XA | Target's HP - 1 | ||
XB | Number of hours on game clock * 100 + number of minutes in game clock | ||
XC | 10 x Target's Kills | ||
XD | 1111 x Target's Materia | ||
AX | Same as 11h, but allow multipliers | X0 | Damage * [User's Status Effects See NOTE] |
X1 | Damage * (3 if user is Near-Death, 1 otherwise) | ||
X2 | Damage * (1 + Dead Allies) | ||
X3 | Damage * (Target's Level / 16) | ||
X4 | Damage * (1 + [48 * HP/MHP]) / 16 | ||
X5 | Damage * (1 + [48 * MP/MMP]) / 16 | ||
X6 | Damage * (1 + [AP on Weapon / 10000]) / 16 | ||
X7 | Damage * (10 + [Character's Kills / 128]) / 16 | ||
X8 | Damage * (1 + [Limit Level * Limit Units / 16]) / 16 |
NOTE: For X0 damage multiplier, the multiplier is increased by one for the following effects on the user:
- Near-death
- Poison
- Sadness
- Silence
- Slow
- Darkness
and increased by two for the following:
- D.Sentence
- Slow-numb
Any damage formula on an attack can still set status, but standard damage formula X0 will not apply any visual changes due to effects.
Ex.
Midgar Zolom's "Change" attack is damage type 00h, but gets set to poison him when he uses it. He will not glow green until he is targeted by another command that is not damage type 00h.