public void Initialize(ComponentContainer components) { sourceLevel = components.Get <ClassLevel>(); initModifier = new DelegateStatModifier( "initiative", "bonus", () => { return((sourceLevel.Level / 2).AtLeast(1)); }); components.Add(initModifier); }
private void ApplyBonusToSkill() { statModifier = new DelegateStatModifier( this.CharacterSkill.Name, "bonus", () => { return(this.CharacterSkill.Ranks >= 10 ? 6 : 3); } ); this.CharacterSkill.AddModifier(statModifier); }
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); } }
public ArmorTraining(IObjectStore configuration) : base(configuration) { MaxDexBonusModifier = new DelegateStatModifier( StatNames.MaxDexterityBonus, "Ability", () => { return(this.TotalValue); } ); ArmorCheckBonusModifier = new DelegateStatModifier( StatNames.ArmorCheckPenalty, "Ability", () => { return(this.TotalValue); } ); }