Esempio n. 1
0
    protected override void _UpdateSEAComponent()
    {
        List <StatEnum> keys = new List <StatEnum>(statDict.Keys);

        foreach (StatEnum se in keys)
        {
            if (statDict.ContainsKey(se))
            {
                statDict[se] = 0;
            }
            else
            {
                statDict.Add(se, 0);
            }
        }

        foreach (StatEnum se in StatAttRatio.StatEnumKeys())
        {
            int fromAtts = 0;

            foreach (AttributeEnum ae in StatAttRatio.AttributeEnumKeys(se))
            {
                fromAtts += (StatAttRatio.GetRatio(se, ae) * baseAtts[ae]);
            }

            statDict[se] += fromAtts + startingStats[se] + purchasedStats[se];
        }
    }
Esempio n. 2
0
    public void UpdateSEA()
    {
        // update level
        level.CalculateLevel();

        // update attributes
        baseAttributes.Clamp();
        effectiveAttributes = baseAttributes + effects.CalculateAttributes();
        effectiveAttributes.Clamp();

        // update stats
        attributedStats = baseStats + StatAttRatio.AttributesToStats(effectiveAttributes);
        multipliedStats = attributedStats.MultiplyCombatStats(level.multiplierPercent);
        effectiveStats  = multipliedStats + effects.CalculateStats(multipliedStats);
        effectiveStats.Clamp();

        // update vitals
        vitals.Clamp(effectiveStats);
    }