Qhimm.com Forums

Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Sebanisu on 2019-06-25 17:48:10

Title: FF8 - GF HP formula
Post by: Sebanisu on 2019-06-25 17:48:10
I wrote this in excel. Seems to be giving good results.
Code: [Select]
=((FLOOR.MATH(POWER([Level],2)/25)+250+[HP_MOD]*[Level])*([@Percent]+100))/100
I didn't see max hp for gfs in doomtrain. No need to floor when using integers though no such thing in excel I think :P

Here's the c# code.
Code: [Select]
            public ushort MaxHP
            {
                get
                {
                    int max = ((Level * Level / 25) + 250 + Kernel_bin.JunctionableGFsData[ID].HP_MOD * Level) * (Percent + 100) / 100;
                    return (ushort)(max > Kernel_bin.MAX_HP_VALUE ? Kernel_bin.MAX_HP_VALUE : max);
                }
            }

            public int Percent
            {
                get
                {
                    int p = 0;
                    List<Kernel_bin.Abilities> unlocked = UnlockedGFAbilities;
                    if (unlocked.Contains(Kernel_bin.Abilities.GFHP_10))
                        p += 10;
                    if (unlocked.Contains(Kernel_bin.Abilities.GFHP_20))
                        p += 20;
                    if (unlocked.Contains(Kernel_bin.Abilities.GFHP_30))
                        p += 30;
                    if (unlocked.Contains(Kernel_bin.Abilities.GFHP_40))
                        p += 40;
                    return p;
                }
            }

I'm not sure if i'm missing a variable. Like if 250 isn't a fixed value or not. Or if there is another buff to GF hp.