/// <summary> /// Adds the stats from <paramref name="stats"/> into <c>CombatStats</c>. Does NOT calculate their values. /// </summary> private void BuildCombatStats(IList <string> data, IList <CalculatedStatConfig> stats) { this.Combat = new Dictionary <string, ModifiedStatValue>(); foreach (CalculatedStatConfig stat in stats) { ModifiedStatValue temp = new ModifiedStatValue(); //Parse modifiers list foreach (NamedStatConfig mod in stat.Modifiers) { int val = ParseHelper.OptionalInt_Any(data, mod.Value, $"{stat.SourceName} {mod.SourceName}"); if (val == 0) { continue; } temp.Modifiers.Add(mod.SourceName, val); } this.Combat.Add(stat.SourceName, temp); } }
private void BuildGeneralStats(IList <string> data, IList <ModifiedNamedStatConfig> config) { this.General = new Dictionary <string, ModifiedStatValue>(); foreach (ModifiedNamedStatConfig stat in config) { ModifiedStatValue temp = new ModifiedStatValue(); temp.BaseValue = ParseHelper.Int_Positive(data, stat.BaseValue, stat.SourceName); //Parse modifiers list foreach (NamedStatConfig mod in stat.Modifiers) { int val = ParseHelper.OptionalInt_Any(data, mod.Value, $"{stat.SourceName} {mod.SourceName}"); if (val == 0) { continue; } temp.Modifiers.Add(mod.SourceName, val); } this.General.Add(stat.SourceName, temp); } }