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( according to his guide). Here is the formula...Character Name = CloudCharacter Current Level = 69Character Current Strength = 97Materia equipped = NoneNot wearing any weapon/armor that affects strengthAccessory = None

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.

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

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...).

Do you have the game? The KERNEL.BIN is in your %installation directory%/data/kernel folder.

It reads the curve data and initial stat values from in the file and projects a range of possible values for each stat at each level in the Inital Data -> Character Growth tab. Select a character and a stat and it will show you a graph that is reasonably accurate.

The kernel.bin is in the lang-en/kernel folder (or just kernel folder if it's the older 1998 PC version). The PSX kernel can be found in the INIT folder and extracted using CDMage or a similar tool (both PSX and PC kernels are near identical, fortunately, and can both be read/altered by Wall Market). Open the CD using M2/2352 option, rather than M1/2352.

As I explained the game I have is on a playstation 1 disc. I don't have the tools to burn a disc copy (has a shaded color protection). I don't have the pc version either (assuming this is where I would get the kernel.bin file from).

As I explained the game I have is on a playstation 1 disc. I don't have the tools to burn a disc copy (has a shaded color protection). I don't have the pc version either (assuming this is where I would get the kernel.bin file from).

If you have a CD drive you can just pop the PS1 disc in and CDMage can extract the file, no burning required; I did this with my PS1 disc (PAL) a while back and it worked.

I got it up and running, and it looks like the curve numbers are exactly the same as the ones I displayed in reply#3.

It also looks like it's calculating correctly...

This leads me to believe the possibility is when I used those 2-3 power sources (can't remember exactly how many, it's however many you get up until you get the keystone). That is why I am seeing the stat still rise from 94-95 even though the end at level 62 level up, is 91 (actually it's 92, I think you have an off-by-one error in your program). This means using power sources only affects increasing your strength and not your base strength.

Therefor, if you use 20 power sources and go from 10 strength to 30 strength, your base strength will still only be 10, and this number 10 is what will be used on the curve for leveling up. That being said, I understand why now it was calculating differently in the game.

As for my gui, I will share it later when I'm done with it. I still have to put in the code for hp/mp switch materia, the reset button, and how to handle the border lines during resizing.

The program will just be an exe, and only java required to run it (no external game files needed). I'll also throw up the source code too (in case any devs want to add stuff to it). Personally I'm thinking of adding another tab to calculate the path range of levels stat results to get best results per level while staying max natural stat path at 99. My main reason for this was to learn Java Swing, and I also wanted to do the perfect game challenge. So this sounded like a fun project for me.

Anyway, thanks for the help and allowing me to see why the game was doing that. Cheers!

Sources don't affect the base amount, but they do get added to the total strengths used in the calculations. Get Ochu from tools and you can see this clearly. It will tell you how many sources you have per char and allow you to edit it. In my difficulty mod I limited the total number you can collect per character to 10 (edited exe). Not only that, but weapons themselves also have hidden bonus attributes, which are non base (you can see that with Wallmarket).

I see the OP mentions he struggled with Primary stats, but that he had HP/MP working fine... I have the opposite problem. Anyone able to elaborate on a successful HP/MP algorithm? Section 1.4 here is really confusing me... I'd even appreciate some help understanding it...

Here is my specific C# code as I try to replicate it, the main part I am stuck on is the last line I show where I replicate how the guide says to cap the difference to 0-11%... I'm like... 11% of what?

First of all, that's a two-year old necro. I guess it's relevant so it's acceptable.

Second, don't do any floating point calculations. I'm not sure how it works in C#, but by default in VB.NET it seems to want to do floating point divisions. I have to explicitly state I'm doing integer divisions. This can introduce rounding errors that will build up as you increase the level.

int difference = Random.Range(1, 8) + (100 * baseline / hp) - 100;That value will tell you what you need to know. It should be between 0 and 11, not whatever the .11 you're multiplying it as. Truncate the decimal points from this value and cap it at 11. Then use the HP Stat Gain table to get the HP gain for that level. The calculated percentage multiplied by whatever the curve's gradient is at the level you're moving to.