Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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;
    }
Ejemplo n.º 3
0
    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);
    }