Miscellaneous Forums > General Discussion

Need Primary Stat Level Up Increase Formula (FF7)

(1/4) > >>

vardahoth:
Greetings, I'm working on a stat level up calculator (98% done until I started doing in game testing):


For the formula, I was referring to the guide written by Terence Fergusson here - https://www.gamefaqs.com/pc/130791-final-fantasy-vii/faqs/36775

I'm using the playstation 1 and the old game for it I got for Christmas sometime before the year 2000.

The issue is I have cloud leveling from 69 to 70. And his str is increasing anywhere between 0-2 (when it should increase 0 (meaning not at all) even with a maxRandomNumberRoll(8) according to his guide). Here is the formula...
Character Name = Cloud
Character Current Level = 69
Character Current Strength = 97
Materia equipped = None
Not wearing any weapon/armor that affects strength
Accessory = None

Random Number Max = 8
Level Bracket = 62-81
Rank Curve = 1
Base = 53 (decided by rank curve and level bracket, table in guide)
Gradient = 55 (decided by rank curve and level bracket, table in guide)
Baseline = Base + ((Gradient * nextLevel) / 100)
Baseline = 53 + ((55 * 70) / 100) -------> 91.5 (Truncate to 91)
Difference = (randomNumber) + (baseline) - (current stat value)
Difference = 8 + 91 - 97 -------> 2

Difference | Stat Gain
    0 - 3     |      0
    4 - 6     |      1
    7 - 9     |      2
  10 - 11   |      3

Increase result = 0

As we can see, according to the formula from his guide, the increase result even at the maximum roll should be 0. However in the game, I see the increase of strength happening anywhere between 0 - 2. Can anyone please elaborate on why this is happening?
Note: no cheat codes were entered during the entire gameplay that could have resulted in possible corruption. The only thing I used was a couple power sources I picked up along the way up to nibelhelm (maybe this activated an in-game bug?)
Note2: Hp/Mp formula seems to be working fine, as well as the luck formula (with it's own curve and base/gradient table). I'm guessing it has something to do with the numbers being wrong on the curve, or the base/gradient charts for primary stats.

nfitc1:
Wall Market already does this, but this interface looks cleaner.

Stats of equipped items don't factor in to this equation. Neither do sources.

vardahoth:

--- Quote from: NFITC1 on 2017-05-08 11:55:25 ---Wall Market already does this, but this interface looks cleaner.

Stats of equipped items don't factor in to this equation. Neither do sources.

--- End quote ---

Can you provide a link for the "Wall Market already does this"?

Stats of equipped items don't factor in to this equation because the level up of increased stats goes off of base stats (not current stats modified after equipment). when testing the stat increase (in the actual game), all I had equipped on cloud was bronze armor and buster sword (with no materia). So I was testing the real stat of strength (being 97 and having it go to 99 when instead it should have always stayed at 97 everytime he leveled to 70). I hit the reset button 40x to get these results.

As for the program/gui, you can ignore that (I just threw up an example image of why having the formula correct is important as to what I'm working on). I simply wrote out the equation on paper (as I presented the formula on the OP). According to the equation done on paper, the increase value is 0. According to the game, it's increasing it between 0-2 (might even be 3, haven't run enough resets maybe...).

vardahoth:
Here I'll reproduce the error with screen shots...

Before level up (in game):


After level up Result One (in game):


After level up Result Two (in game):


Results shown in program (what stat increase chances really should be):


Formula breakdown (of why increase should only be 0 and not allow 1 or higher):

Tables (from guide - https://www.gamefaqs.com/pc/130791-final-fantasy-vii/faqs/36775)...


1. get character name (used to get character rank curve)
2. get character level up number (used in level bracket and calculating baseline)
3. get character current primary stat (used to calculate difference)
4. select random number 1 through 8 (here we use 8 as it provides the max possible increase of the stat)
5. select level bracket (used to get base and gradient)
6. select character rank curve (used to get base and gradient)
7. get base
8. get gradient
9. get baseline = Base + ((Gradient * nextLevel) / 100)
10. get difference = (randomNumber) + (baseline) - (current stat value)
11. use difference number 0-11 capped to get possible stat increase
Difference | Stat Gain
    0 - 3     |      0
    4 - 6     |      1
    7 - 9     |      2
  10 - 11   |      3
12. stat gain = the corresponding difference on the row above...

So again...
1. Cloud
2. 62
3. 94 strength
4. 8
5. 62-81
6. 1
7. 53
8. 55
9. 87.1 (Truncate to 87)
10. 1
11.     0 - 3     |      0
12. 0 stat increase change with a random roll number 8( 1..8 ).

Hopefully this has made the question more clear.

vardahoth:
Found the wall market tool here > http://forums.qhimm.com/index.php?topic=7928.0

However, when I tried to open it, it immediately closes (windows 7 says program has stopped working).

Navigation

[0] Message Index

[#] Next page

Go to full version