private Mob GenerateNewStatOnLevelUp(Mob mob) { StatCheck = StatCalculation.GetRandomStat(mob); int statnumber = StatCheck.NumberOfNegativeStats + StatCheck.NumberOfPositiveStats; int mobstats = mob.NegativeStats.Count + mob.PositiveStats.Count; if (mobstats < statnumber) { GenerateMobStats(mob); } return(mob); }
public List <PositiveStat> GeneratePositiveStats(StatCheck stats) { List <PositiveStat> positiveStats = new List <PositiveStat>(); Random random = new Random(); for (int i = 0; i < stats.NumberOfPositiveStats; i++) { PositiveMobStat = (PositiveStat)random.Next(6); if (positiveStats.Contains(PositiveMobStat)) { i--; } else { positiveStats.Add(PositiveMobStat); } } return(positiveStats); }
public List <NegativeStat> GenerateNegativeStats(StatCheck stats) { List <NegativeStat> negativeStats = new List <NegativeStat>(); Random random = new Random(); for (int i = 0; i < stats.NumberOfNegativeStats; i++) { NegativeMobStat = (NegativeStat)random.Next(6); if (negativeStats.Contains(NegativeMobStat)) { i--; } else { negativeStats.Add(NegativeMobStat); } } return(negativeStats); }
public StatCheck GetRandomStat(Mob mob) { StatCheck statCheck = new StatCheck(); int numberofstats = mob.Level / 8; for (int i = 0; i < numberofstats; i++) { int chanceNumber = random.Next(1, 11); if (chanceNumber <= percentchance[numberofstats - 1]) { statCheck.NumberOfNegativeStats++; } else { statCheck.NumberOfPositiveStats++; } } return(statCheck); }