I wrote this in excel. Seems to be giving good results.
=((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
Here's the c# code.
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.