Anonymous

Changes

From Final Fantasy Inside

FF7/Battle/Damage Calculation

2,311 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. This is a list of known values with their effects based on Base Damage. They are classified into Physical, Magical, an attack's set Power and Exactthe characters stats. Physical and Magical will rely on the caster's Strength "Attack" and "Magic Attack" stat respectively to calculate base damage. After modification it This byte is multiplied by a random variance divided into two nybbles ([224four bits)..255]Upper Nybble determines what considerations are made in calculating damage such as physical/256 or something similar)magical, allowing criticals, how to calculate accuracy, etc. These will There are also trigger Physical and Magical Counter Attacks respectivelythree sets of known formulae that are paired with the Upper nybble values. Exact is just what it sounds like. They do not have a base damage calculation. The entire damage comes from exactly These are selected in the formula shown Lower Nybble and is applied determine how to the target without calculate pre-defense damage. Actual calculation includes a random variance (though element is still taken into account&#91;3841..4096&#93; / 4096), a reduction based on a target's "Defense" or "Magic Defense" stats, and other status-related modifications depending on the type of damage. These will not also trigger Physical or and Magical Counter Attacks, but will trigger General Counter Attacks such as Adamantoise's Light Shellrespectively. 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.'' {| border="0" cellpadding="5" cellspacing="1" style="background: rgb(0,0,0)" align="center"! style="background:rgb(204,204,204); width=50px;" align="center" | Value! styleclass="background:rgb(204,204,204)wikitable" | Type! style="background:rgb(204,204,204)" | Formula [Damage = ]
|-
|style! Upper Value! Considerations! Lower Value! Formula &#91;Damage ="background:rgb(255,255,255)" align="center" | 0x00&#93;|style="background:rgb(255,255,255)" | None! Sadness Check|style="background:rgb(255,255,255)" | No ! Split Damage Calculation! Barrier Check! Variance
|-
|style="background:rgb(2550X| Physical,255,255)" align="center" 100% hit rate| X0| 0x08No Damage calculation|style="background:rgb(255,255,255)" <br/>| Exact <br/>|style="background:rgb(255,255,255)" <br/>| Target's HP & MP * (Strength <br/ 32)%>
|-
|style="background:rgb(2551X| Physical,255Use PAccuracy,255)" align="center" Allow Critical| 0x11X1|style="background:rgb(255,255,255Power / 16)" | Physical|style="background:rgb* (Stat + &#91;(255,255,255Level + Stat)" | Base / 32&#93; * &#91;(Strength Level * Stat) / 1632&#93;)| Yes| Yes| Yes| Yes
|-
|style="background:rgb(255,255,255)" align="center" | 0x222X|style="background:rgb(255Magical,255,255)" Use MAccuracy| MagicalX2|style="background:rgb(255,255,255Power / 16)" | Base * (Strength / 16(Lvl + Stat) * 6)| Yes| Yes| Yes| Yes
|-
|style="background:rgb(255,255,255)" align="center" | 0x233X|style="background:rgb(255Physical,255,255)" 100% hit rate| ExactX3|style="background:rgb(255,255,255)" | Target's HP * (Strength Power / 32)| <br/>| <br/>| <br/>| <br/>
|-
|style="background:rgb(255,255,255)" align="center" | 0x244X|style="background:rgb(255Magical,255,255)" 100% hit rate| ExactX4|style="background:rgb(255,255,255)" | Target's MHP * (Strength Power / 32)| <br/>| <br/>| <br/>| <br/>
|-
|style="background:rgb(255,255,255)" align="center" | 0x255X|style="background:rgb(255Magical,255,255)" 100% hit rate| Magical X5|style="background:rgb(255,255,255Power * 22)" | Base + (Strength (Level + Stat) * 226)| <br/>| Yes| Yes| Yes
|-
|style="background:rgb(255,2558X| Magical,255)" alignHit chance MOD target level ="center" hit| X6| 0x26Power * 20|style="background:rgb(255,255,255)" <br/>| Exact<br/>|style="background:rgb(255,255,255)" <br/>| Strength * 20<br/>
|-
|style="background:rgb(255,2559X| Magical,255)" align="centerManipulate" accuracy| X7| 0x37Power / 32|style="background:rgb(255,255,255)" <br/>| Physical<br/>|style="background:rgb(255,255,255)" <br/>| Strength * 16; Ignores Barrier; No BaseYes
|-
|style="background:rgb(255BX| Physical,255,255)" align="center" use PAccuracy| X8| 0x47Recovery|style="background:rgb(255,255,255)" <br/>| Magical<br/>|style="background:rgb(255,255,255)" <br/>| Strength * 16; Ignores MBarrier; No Base<br/>
|-
|style="background:rgb(255204,255204,255)" rowspan="2" colspan="2" align="center" | 0x50|style="background:rgb(255,255,255)" X9| Throw| <br/>| None<br/>|style="background:rgb(255,255,255)" <br/>| No Damage, but can modify status effects<br/>
|-
|style="background:rgb(255,255,255)" align="center" XA| 0x60Coin|style="background:rgb(255,255,255)" <br/>| Exact<br/>|style="background:rgb(255,255,255)" <br/>| User's HP<br/>
|-
|style="background:rgb(255,255,255)" align="center" | 0x61 |style="background:rgb(255,255,255)" | Exact|style="background:rgb(255,255,255)" | User's MHP - HP
|-
| 6X| Physical, Use PAccuracy, Allow Critical, Special Formulae| X0| 100% User's HP|style="background:rgb(255204,255204,255)" alignrowspan="center18" | 0x68|stylecolspan="background:rgb(255,255,255)4" | Exact|stylealign="background:rgb(255,255,255)center" | Random x 100 (Dice)
|-
|style="background:rgb(255,255,255)" align="center" | 0x697X|style="background:rgb(255Magical,255Use MAccuracy,255)" Special Formulae| ExactX1|style="background:rgb(255,255,255)" | Number of EscapesUser's MHP - HP
|-
|style="background:rgb(255204,255204,255)" rowspan="6" colspan="2" align="center" | 0x6A|style="background:rgb(255,255,255)" | ExactX8|style="background:rgb(255,255,255)" | Reduces Target's HP to 1Dice Roll<sup>&#91;NOTE&#93;</sup> x 100
|-
|style="background:rgb(255,255,255)" align="center" | 0x6B|style="background:rgb(255,255,255)" | ExactX9|style="background:rgb(255,255,255)" | Number of hours on game clock Escapes * 100 + number of minutes in game clock256
|-
|style="background:rgb(255,255,255)" align="center" | 0x6CXA|style="background:rgb(255,255,255)" | Exact|style="background:rgb(255,255,255)" | 10 x Target's KillsHP - 1
|-
|style="background:rgb(255,255,255)" align="center" | 0x6DXB|style="background:rgb(255,255,255)" | Exact|style="background:rgb(255,255,255)" | 1111 x Target's MateriaNumber of hours on game clock * 100 + number of minutes in game clock
|-
|style="background:rgb(255,255,255)" align="center" | 0x83XC|style="background:rgb(255,255,255)" | Exact |style="background:rgb(255,255,255)" | 10 x Target's HP * (Strength / 32) if level MOD Attack% = 0Kills
|-
|style="background:rgb(255,255,255)" align="center" | 0x96XD|style="background:rgb(255,255,255)" | Exact|style="background:rgb(255,255,255)" | User1111 x Target's HP/2Materia
|-
|style="background:rgb(255,255,255)" align="center" | 0xA0|style="background:rgb(255,255,255)" | Physical|style="background:rgb(255,255,255)" | Base * (Strength / 16) * [User's Status Effects <sup>See NOTE</sup>]
|-
|style="background:rgb(255,255,255)" align="center" | 0xA1AX|style="background:rgb(255Same as 11h,255,255)" but allow alterations to the final damage or power of attack| PhysicalX0|style="background:rgb(255,255,255)" | Base Damage * (Strength 1 + &#91;User's Status Effects <sup>See NOTE</ 16) * (3 if user is Near-Death, 1 otherwisesup>&#93;)
|-
|style="background:rgb(255204,255204,255)" rowspan="8" colspan="2" align="center" | 0xA2|style="background:rgb(255,255,255)" | PhysicalX1|style="background:rgbDamage * (2552 if Near-Death,2554 if in D.Sentence &#91;can stack to 8&#93;,255)" | Base * (Strength / 16) * (1 + Dead Alliesif neither)
|-
|style="background:rgb(255,255,255)" align="center" | 0xA3|style="background:rgb(255,255,255)" | Physical X2|style="background:rgb(255,255,255)" | Base * (Strength / 16) Damage * (Target's Level / 161 + Dead Allies)
|-
|style="background:rgb(255,255,255)" align="center" | 0xA4X3|style="background:rgb(255,255,255)" | Physical|style="background:rgb(255,255,255)" | Base * (Strength / 16) * (1 + [48 * HP/MHP]) / 16Power becomes average of all Targets' Levels
|-
|style="background:rgb(255,255,255)" align="center" | 0xA5X4|style="background:rgbPower becomes 1 + (255,255,255)" | Physical|style="background:rgb(255,255,255)" | Base Power * 3 * (Strength / 16HP ) * (1 + [48 * MP/MMP]MHP ) / 16
|-
|style="background:rgb(255,255,255)" align="center" | 0xA6X5|style="background:rgbPower becomes 1 + (255,255,255)" | Physical|style="background:rgb(255,255,255)" | Base Power * 3 * (Strength / 16MP ) * (1 + [AP on Weapon / 10000]MMP ) / 16
|-
|style="background:rgb(255,255,255)" align="center" | 0xA7X6|style="background:rgb(255,255,255)" | Physical|style="background:rgbPower becomes 1 + (255,255,255)" | Base Power * (Strength &#91;AP on Weapon <sup>See NOTE</ 16) * (10 + [Character's Kills sup> / 128]) 10000&#93; / 16)
|-
|style="background:rgb(255,255,255)" align="center" | 0xA8X7|style="background:rgbPower becomes 10 + (255,255,255)" | Physical|style="background:rgb(255,255,255)" | Base &#91;Character's Kills / 128&#93; * (Strength / 16Power) * (1 + [Limit Level * Limit Units / 16]) / 16
|-
|style="background:rgb(255,255,255)" align="center" | 0xB1X8|style="background:rgbPower becomes 1 + (255,255,255)" | Physical|style="background:rgb(255,255,255)" | Base &#91;Limit Level * Strength Limit Units / 16&#93; No random criticals* Power ) / 16
|}
<br/>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).NOTEEx: 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 A0h base strengthA0 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/>As an exception For A6 multiplier, Mastered Materia will use the highest level of AP they can hold.ex. When Knights of 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 considered in the above rulestotal.  Any damage formula on an attack can still set status, 37h and 47h are used as but standard damage calculations for itemsformula 0X will not apply any visual changes due to effects. Damage  Ex. Midgar Zolom's "Change" attack is damage type 00h, but gets set to target poison him when he uses it. He will not glow green until he is calculated normally while ignoring M/Barriertargeted by another command that is not damage type 00h.