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]; } }
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); }