示例#1
0
 /// <summary>
 /// The implementing class must handle modifiers to stats under its control
 /// </summary>
 /// <param name="modifier">Modifier for stats</param>
 public void ProcessModifier(IModifiesStats modifier)
 {
     foreach (var a in modifier.Modifiers)
     {
         CharacterSkill sk;
         if (this.skills.TryGetValue(a.StatisticName, out sk))
         {
             sk.AddModifier(a);
         }
     }
 }
示例#2
0
 /// <summary>
 /// The implementing class must handle modifiers to stats under its control
 /// </summary>
 /// <param name="modifier">Modifier for stats</param>
 public void ProcessModifier(IModifiesStats modifier)
 {
     foreach (var a in modifier.Modifiers)
     {
         CharacterSkill sk;
         if (this.skills.TryGetValue(a.StatisticName, out sk))
         {
             ShortLog.DebugFormat("Modifying Skill ({0}) by {1}", a.StatisticName, a.Modifier.ToString());
             sk.AddModifier(a);
         }
     }
 }
示例#3
0
        /// <summary>
        /// The implementing class must handle modifiers to stats under its control
        /// </summary>
        /// <param name="modifier">Modifier for stats</param>
        public void ProcessModifier(IModifiesStats modifier)
        {
            foreach (var m in modifier.Modifiers)
            {
                switch (m.StatisticName)
                {
                case CombatManeuverDefenseStatName:
                    this.CombatManeuverDefense.AddModifier(m);
                    break;

                case CombatManeuverBonusStatName:
                    this.CombatManeuverBonus.AddModifier(m);
                    break;
                }
            }
        }
示例#4
0
        /// <summary>
        /// The implementing class must handle modifiers to stats under its control
        /// </summary>
        /// <param name="modifier">Modifier for stats</param>
        public void ProcessModifier(IModifiesStats modifier)
        {
            foreach (var s in modifier.Modifiers)
            {
                switch (s.StatisticName)
                {
                case ArmorClassStatName:
                    this.armor.AddModifier(s);
                    break;

                case FortitudeSaveStatName:
                    this.fortitudeSave.AddModifier(s);
                    break;

                case ReflexSaveStatName:
                    this.reflexSave.AddModifier(s);
                    break;

                case WillSaveStatName:
                    this.willSave.AddModifier(s);
                    break;
                }
            }
        }
示例#5
0
 /// <summary>
 /// Processes the stat modifier. This takes anything that modifies stats and relays it to interested classes that might want to monitor for it
 /// TODO: Better mechanism would be a call back whenever a stat modifier is sent to the character sheet
 /// </summary>
 /// <param name="modifier">Modifier that can change stats.</param>
 public void ProcessStatModifier(IModifiesStats modifier)
 {
     SkillRanks.ProcessModifier(modifier);
     this.Defense.ProcessModifier(modifier);
     this.Offense.ProcessModifier(modifier);
 }
示例#6
0
 /// <summary>
 /// The implementing class must handle modifiers to stats under its control
 /// </summary>
 /// <param name="modifier">Modifier for stats</param>
 public void ProcessModifier(IModifiesStats modifier)
 {
     throw new NotImplementedException();
 }