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