Esempio n. 1
0
 /// <summary>
 /// Modifies this modifier by the other modifier.
 /// </summary>
 /// <param name="modifier"></param>
 /// <param name="scale"></param>
 /// <param name="reduceMultipliers"></param>
 public void ModifyModifier(Modifier modifier, double scale = 1, bool reduceMultipliers = false)
 {
     if (ModifiersF != null && modifier.ModifiersF != null)
     {
         ModifiersF = Statics.MultiplyDictionaries(ModifiersF, modifier.ModifiersF);
     }
     if (ModifiersA != null && modifier.ModifiersA != null)
     {
         ModifiersA = Statics.AddDictionaries(ModifiersA, modifier.ModifiersA);
     }
     if (ModifiersAAfter != null && modifier.ModifiersAAfter != null)
     {
         ModifiersAAfter = Statics.AddDictionaries(ModifiersAAfter, modifier.ModifiersAAfter);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Returns a dictionary of the Druids stats in all the stats specified in Statics.statList
        /// </summary>
        /// <returns></returns>
        public Dictionary <string, double> GetStats()
        {
            Dictionary <string, double> result = new Dictionary <string, double>();

            foreach (string stat in Statics.statList)
            {
                result[stat] = 0;
            }

            foreach (KeyValuePair <string, Entity> entry in Entities)
            {
                Dictionary <string, double> thingStats = Entities[entry.Key].GetStats();
                result = Statics.AddDictionaries(result, thingStats);
            }
            result = (from e in result
                      select new { Name = e.Key, Count = Modifier.Modify(Modifiers.Values, e.Key, e.Value) }).ToDictionary(item => item.Name, item => item.Count);
            return(result);
        }