/// <summary> /// Checks if the given Stat is set in the given Nature. /// Returns '0.9 | 1.0 | 1.1'. /// </summary> /// <param name="Nature">Nature</param> /// <param name="Stat">Stat</param> /// <returns>Value</returns> public static float GetValue(P_Nature Nature, P_Stats_All Stat) { NatureData NData = NatureData.GetData(Nature); if (NData.IncreasedStat == Stat) { return(1.1f); } else if (NData.DecreasedStat == Stat) { return(0.9f); } return(1f); }
static int CalculateStat(P_Stats_All Stat, int Base, int DV, int EV, int Level, P_Nature Nature) { float Value; if (Stat == Stats[0]) { Value = ((2 * Base + DV + (EV / 4)) * Level / 100) + Level + 10; } else { Value = (((2 * Base + DV + (EV / 4)) * Level / 100) + 5) * Natures.GetValue(Nature, Stat); } return(Mathf.FloorToInt(Value)); }