示例#1
0
 public void Initialize(ComponentContainer components)
 {
     sourceLevel  = components.Get <ClassLevel>();
     initModifier = new DelegateStatModifier(
         "initiative",
         "bonus",
         () => { return((sourceLevel.Level / 2).AtLeast(1)); });
     components.Add(initModifier);
 }
示例#2
0
 private void ApplyBonusToSkill()
 {
     statModifier = new DelegateStatModifier(
         this.CharacterSkill.Name,
         "bonus",
         () => {
         return(this.CharacterSkill.Ranks >= 10 ? 6 : 3);
     }
         );
     this.CharacterSkill.AddModifier(statModifier);
 }
示例#3
0
        public void Initialize(ComponentContainer components)
        {
            abilityScores = components.Get <AbilityScores>();
            ArmorCheckPenalty.AddModifier(new EquippedArmorCheckPenaltyModifier(components));
            var armorCheckSkills = GetSkills().Where(x => x.Skill.UseArmorCheckPenalty);

            foreach (var skl in armorCheckSkills)
            {
                var modifier = new DelegateStatModifier(skl.Name, "Armor", () => { return(ArmorCheckPenalty.TotalValue); });
                skl.AddModifier(modifier);
            }
        }
示例#4
0
        public ArmorTraining(IObjectStore configuration) : base(configuration)
        {
            MaxDexBonusModifier = new DelegateStatModifier(
                StatNames.MaxDexterityBonus,
                "Ability",
                () => { return(this.TotalValue); }
                );

            ArmorCheckBonusModifier = new DelegateStatModifier(
                StatNames.ArmorCheckPenalty,
                "Ability",
                () => { return(this.TotalValue); }
                );
        }