Qhimm.com Forums

Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Raziel80 on 2021-05-16 08:56:30

Title: [FF7] How does character level affect the accuracy of physical attacks?
Post by: Raziel80 on 2021-05-16 08:56:30
How does character level or other stats affect the accuracy of physical attacks? For example: It can be seen that at character level 15 in fury status, physical attacks are less likely to hit than if the character was at level 90 in fury status. I would like to see formulas that affect accuracy.
Title: Re: [FF7] How does character level affect the accuracy of physical attacks?
Post by: nfitc1 on 2021-05-16 16:53:30
https://wiki.ffrtt.ru/index.php?title=FF7/DamageFormula

That’s probably what you’re looking at. The physical accuracy is complicated and I never got around to updating it.
Title: Re: [FF7] How does character level affect the accuracy of physical attacks?
Post by: nfitc1 on 2021-05-17 16:49:35
http://wiki.ffrtt.ru/index.php?title=FF7/DamageFormula#0:_Physical_Accuracy_Check

Finally updated it. :)
Title: Re: [FF7] How does character level affect the accuracy of physical attacks?
Post by: Raziel80 on 2021-05-19 08:41:04
Thanks. This is what I was looking for.
So, the character's level affects the critical hit chance:
critical_chance = ((actor's luck + actor's level) - target's level ) / 4;
Plus Crit% = Crit% + Weapon's Crit% Modifier

Leveling up increases Dexterity and luck, which affects accuracy.
Physical Chance = (Actor's Dex / 4) + action physical hit rate   (weapon's hit rate)
Actor's evade = (Actor's Dex / 4) + Actor's Physical evade   (armor evade (def%) bonus)
Target's evade = (Target's Dex / 4) + Target's Physical evade
HitChance = Physical Chance + Actor's evade - Target's evade

If Actor is in Fury Status then HitChance = HitChance - ((HitChance * 3) / 10)

Then luck affects the Lucky hit:
Lucky hit = (Actor's Luck / 4). If this is successful, then HitChance = 255

Then there is a check for a miss: Miss Chance [1..100] (between 1 and 100). if HitChance < Miss Chance then Set Miss flag. (If HitChance > Miss Chance then attack will hit)
Then there is a check for a critical hit.
critical_chance = ((actor's luck + actor's level) - target's level ) / 4;
if actor is playable character then critical_chance += weapon's critical bonus (critical_chance  = critical_chance  + weapon's critical bonus)
Title: Re: [FF7] How does character level affect the accuracy of physical attacks?
Post by: nfitc1 on 2021-05-19 12:00:08
I was surprised the actor's evade factors into it. It might make more sense to just divide dex by 2 for the actor  (or not at all) and accomplish the same goal. Then the mechanics make more sense that accuracy is more about the actor's personal skill and less about their equipment. It does explain why a hit rate of 255 always connects. Only Ruby Weapon and its tentacles have evade stats high enough to overcome that.

TFergusson said this:
"...an enemy's Df% will not get any bonus from their Dex - for monsters, it's considered the final stat. However, Dex is still used to help increase the enemy's chance to hit, for example.  Enemies also do not have a MD% stat, a weakness that is useful to exploit."
I didn't notice an enemy check at that step. I'll have to double check that.
Title: Re: [FF7] How does character level affect the accuracy of physical attacks?
Post by: Raziel80 on 2021-05-20 06:39:04
Enemies also do not have a MD% stat, a weakness that is useful to exploit."
I didn't notice an enemy check at that step. I'll have to double check that.
Enemies MDef% (magic evade) stat always = 0, I have not seen a single monster with this stat more than 0, but, I didn't check every monster. Enemies MDef% (magic evade) stat is found: current HP of the monster (in battle) + 33 bytes, in the PC version of FF7 (2012) v1.06. If this stat is increased manually, to 77 or 88, then the monsters evade magic, such as Matra Magic.

Also, the accuracy is affected by darkness status, Flash command and Deathblow command .
Physical Chance = (Actor's Dex / 4) + (weapon's hit rate / 2) for darkness status and Flash command
Physical Chance = (Actor's Dex / 4) + (weapon's hit rate / 3) for Deathblow command

Actor's evade = (Actor's Dex / 4) + Actor's Physical evade   (armor evade (def%) bonus)
Target's evade = (Target's Dex / 4) + Target's Physical evade;
 for monsters: Target's evade = Target's Physical evade; without (Target's Dex / 4)

HitChance = Physical Chance + Actor's evade - Target's evade
Title: Re: [FF7] How does character level affect the accuracy of physical attacks?
Post by: nfitc1 on 2021-05-20 11:55:01
Enemies MDef% (magic evade) stat always = 0, I have not seen a single monster with this stat more than 0, but, I didn't check every monster. Enemies MDef% (magic evade) stat is found: current HP of the monster (in battle) + 33 bytes, in the PC version of FF7 (2012) v1.06. If this stat is increased manually, to 77 or 88, then the monsters evade magic, such as Matra Magic.

I was meaning more about the Dex bonus not applying to enemies. Enemies have no value set for their magic evade. For Dex and evade purposes, it's looking at the actor and target's 40A0 (Dex stat) and 4078 (phys evade) values. The Dex bonus does not apply to enemies. There is an enemy check I overlooked because it's written weird.

Also, the accuracy is affected by darkness status, Flash command and Deathblow command .
Physical Chance = (Actor's Dex / 4) + (weapon's hit rate / 2) for darkness status and Flash command
Physical Chance = (Actor's Dex / 4) + (weapon's hit rate / 3) for Deathblow command

Actor's evade = (Actor's Dex / 4) + Actor's Physical evade
Target's evade = (Target's Dex / 4) + Target's Physical evade;  for monsters Target's evade = Target's Physical evade; without (Target's Dex / 4)
HitChance = Physical Chance + Actor's evade - Target's evade

The Dex bonus also applies to the Actor's evade calculation. Enemies will not receive it at all. I'll update the calculation page.
Title: Re: [FF7] How does character level affect the accuracy of physical attacks?
Post by: Raziel80 on 2021-05-21 19:04:57
I was meaning more about the Dex bonus not applying to enemies.

Do you mean this?
Quote
...an enemy's Df% will not get any bonus from their Dex - for monsters, it's considered the final stat.
Enemies have very high dexterity. The average value of dexterity for enemies is from 50 to 60. For bosses from 70 to 120 and above.
Emerald wepon: Dexterity:230, Def%: 1; Emerald's eyes: Dexterity: 150 or 250.
Ruby Weapon: Dexterity:253, Def%: 100; Ruby's Tentacle: Dexterity:253, Def%: 100;
I only play the hard mod for the psx pal english version.