Anonymous

Changes

From Final Fantasy Inside

FF7/Battle/Damage Calculation

143 bytes removed, 05:11, 23 May 2019
m
33 revisions imported
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 Actual calculation includes a random variance ([224&#91;3841..255]4096&#93; /256 or something similar4096) and reduced by , a certain amount reduction based on a target's "Defense" or "Magic Defense" stats, and other status-related modifications 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 [http://www.gamefaqs.com/console/psx/file/197341/22395 Battle Mechanics FAQ].<br/>''Akari has begun a more detailed This [[FF7https://wiki.ffrtt.ru/index.php/DamageFormula|more accurate damage formula page]]contains more detailed information.'' {| borderclass="1wikitable" cellpadding="3" cellspacing="1" align="center" style="border: 1px solid black; border|-collapse: collapse;"! style="background:rgb(204,204,204); width=50px;" align="center" | Upper Value! style="background:rgb(204,204,204)" | Considerations! style="background:rgb(204,204,204)" | Lower Value! style="background:rgb(204,204,204)" | Formula [&#91;Damage = ]&#93;! Sadness Check! Split Damage! Barrier Check! Variance
|-
| align="center" | 0X| Physical, 100% hit rate, no Critial| align="center" | X0
| No Damage calculation
|
<br/>
|
<br/>
|
<br/>
|
<br/>
|-
| align="center" | 1X| Physical, Use AccuracyPAccuracy, Allow Critical| align="center" | X1| (Power / 16) * (Stat + [&#91;(Level + Stat) / 32] &#93; * [&#91;(Level * Stat) / 32]&#93;)| Yes| Yes| Yes| Yes
|-
| align="center" | 2X| Magical, Use AccuracyMAccuracy| align="center" | X2
| (Power / 16) * ((Lvl + Stat) * 6)
| Yes
| Yes
| Yes
| Yes
|-
| align="center" | 3X| Physical, 100% hit rate, ignore Barrier| align="center" | X3
| HP * (Power / 32)
|
<br/>
|
<br/>
|
<br/>
|
<br/>
|-
| align="center" | 4X| Magical, 100% hit rate, ignore MBarrier| align="center" | X4
| MHP * (Power / 32)
|
<br/>
|
<br/>
|
<br/>
|
<br/>
|-
| align="center" | 5X| Magical, 100% hit rate, ignore MBarrier| align="center" | X5
| (Power * 22) + ((Level + Stat) * 6)
|
<br/>
| Yes
| Yes
| Yes
|-
| align="center" | 8X| Magical, Hit chance MOD target level = hit, no def| align="center" | X6| (Power * 20)| <br/>| <br/>| <br/>| <br/>
|-
| align=9X| Magical, "centerManipulate" accuracy| BXX7| Physical, use Accuracy, no CritialPower / 32| <br/>| align="center" <br/>| X7<br/>| (Power * 16)Yes
|-
| style="background:rgb(204BX| Physical,204,255)" align="center" colspan="2" rowspan="3" | &nbsp;use PAccuracy| align="center" | X8
| Recovery
|
<br/>
|
<br/>
|
<br/>
|
<br/>
|-
| style="background: rgb(204,204,255)" rowspan="2" colspan="2" align="center" | | X9
| Throw
|
<br/>
|
<br/>
|
<br/>
|
<br/>
|-
| align="center" | XA
| Coin
|
<br/>
|
<br/>
|
<br/>
|
<br/>
|-
| colspan="4" | &nbsp;
|-
| align="center" | 6X| Physical, Use AccuracyPAccuracy, Allow Critical, Skip Defense, Special Formulae| align="center" | X0
| 100% User's HP
| style="background: rgb(204,204,255)" rowspan="18" colspan="4" align="center" |
|-
| align="center" | 7X| Magical, Use Accuracy, Skip DefenseMAccuracy, Special Formulae| align="center" | X1
| User's MHP - HP
|-
| align="center" | 9X| Magical, use Manipulate Accuracy, Skip Defense, Allow Critial| align="center" | X6| User's HP/2|-| style="background:rgb(204,204,255)" alignrowspan="center6" colspan="2" rowspanalign="6center" | &nbsp;| align="center" | X8| Dice Roll<sup>[&#91;NOTE]&#93;</sup> x 100
|-
| align="center" | X9| Number of Escapes* 256
|-
| align="center" | XA
| Target's HP - 1
|-
| align="center" | XB
| Number of hours on game clock * 100 + number of minutes in game clock
|-
| align="center" | XC| 10 x Target's Kills
|-
| align="center" | XD
| 1111 x Target's Materia
|-
| colspan="4" | &nbsp;
|-
| align="center" | AX| Same as 1Xh11h, but allow multipliersalterations to the final damage or power of attack| align="center" | X0| Damage * [(1 + &#91;User's Status Effects <sup>See NOTE</sup>] &#93;)
|-
| style="background:rgb(204,204,255)" alignrowspan="center8" colspan="2" rowspanalign="8center" | &nbsp;| align="center" | X1| Damage * (3 2 if user is Near-Death, 4 if in D.Sentence &#91;can stack to 8&#93;, 1 otherwiseif neither)
|-
| align="center" | X2| Damage * (1 + Dead Allies)
|-
| align="center" | X3| Damage * (TargetPower becomes average of all Targets's Level / 16) Levels
|-
| align="center" | X4| Damage * (Power becomes 1 + [48 ( ( Power * 3 * HP) /MHP]) / 16
|-
| align="center" | X5| Damage * (Power becomes 1 + [48 ( ( Power * 3 * MP) /MMP]) / 16
|-
| align="center" | X6| Damage * (Power becomes 1 + [( Power * &#91;AP on Weapon <sup>See NOTE</sup> / 10000]) &#93; / 16 )
|-
| align="center" | X7| Damage * (Power becomes 10 + [( &#91;Character's Kills / 128]&#93; * Power) / 16 )
|-
| align="center" | X8| Damage * (Power becomes 1 + [( &#91;Limit Level * Limit Units / 16]&#93; * Power ) / 16
|}
NOTES: For the X8 special formula, the game will "grant" between two and six dice based on level (one additional for every ten levels above 20, max 6). The values of each of these dice will be added and then multiplied by the greatest number of repeating values (not the number of occurrences of the highest value).
Ex: The values 2, 3, 5, 5, 2, 2 come up. The values are added (19) then, since there are three twos, it is multiplied by three.
For A0 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
<br/>NOTES:For the X8 special formulaA6 multiplier, Mastered Materia will use the game will "grant" between two and six dice based on highest level (one additional for every ten levels above 20, max 6)of AP they can hold.The values ex. When Knights of each of these dice Round is mastered, its AP is set to 16,777,215 in the materia menu. Since KoR's level 5 AP requirement is 500,000 only 500,000 will be added and then multiplied by the greatest number of repeating values (not the number of occurrences of considered in the highest value)total.
Ex:The values 2Any damage formula on an attack can still set status, 3, 5, 5, 2, 2 come up. The values are added (19) then, since there are three twos, it is multiplied by threebut standard damage formula 0X will not apply any visual changes due to effects.
For A0 damage multiplier, the multiplier is increased by one for the following effects on the user:*Near-death*Poison*Sadness*Silence*Slow*Darknessand increased by two for the following:*D.Sentence*Slow-numb<br/>Any damage formula on an attack can still set status, but standard damage formula X0 will not apply any visual changes due to effects.<br/><br/>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.