public static MainStats AddMainStatChange(this MainStats stats1, ItemMainStatValue change) { switch (change.stat) { case MainStat.Strength: stats1.str += change.value; break; case MainStat.Constitution: stats1.con += change.value; break; case MainStat.Dexterity: stats1.dex += change.value; break; case MainStat.Intelligence: stats1.intel += change.value; break; case MainStat.Luck: stats1.lck += change.value; break; } return(stats1); }
public void SetData(ItemMainStatValue stats) { type.text = stats.StatToShortString(); value.text = $"{stats.value}"; var color = Colors.ByMainStat(stats.stat); type.color = color; value.color = color; }
static ItemMainStatValue[] GetMainStats(Rarity rarity, int level, MainStat[] prog) { var statFocus = prog.ToList(); var statNorm = mainStatsByRarity[rarity]; var stats = new ItemMainStatValue[Random.Range(statNorm, statNorm + 1)]; var statPoints = mainStatsPerLevelByRarity[rarity] * level; for (int i = 0; i < stats.Length; i++) { var stat = new ItemMainStatValue(); stat.stat = statFocus[0]; statFocus.RemoveAt(0); var value = (int)(statPoints * (1 - (Random.Range(0f, 0.25f) * i))); if (value <= 0) { value = 1; } stat.value = value; stats[i] = stat; } return(stats); }