public Level1ClassSkills() : base("Skills", new List <GenericFeature>()) { pool.Add(new SkillProficiencyFeature(AT.Character.Situation.SkillType .ACROBATICS, ProficiencyLevel.FULL)); //pool.Add(new SkillProficiencyFeature(Situation.SkillType.ANIMAL_HANDLING, ProficiencyLevel.FULL)); pool.Add(new SkillProficiencyFeature(AT.Character.Situation.SkillType.ATHLETICS, ProficiencyLevel.FULL)); //pool.Add(new SkillProficiencyFeature(Situation.SkillType.HISTORY, ProficiencyLevel.FULL)); //pool.Add(new SkillProficiencyFeature(Situation.SkillType.INSIGHT, ProficiencyLevel.FULL)); //pool.Add(new SkillProficiencyFeature(Situation.SkillType.INTIMIDATION, ProficiencyLevel.FULL)); pool.Add(new SkillProficiencyFeature(AT.Character.Situation.SkillType.PERCEPTION, ProficiencyLevel.FULL)); //pool.Add(new SkillProficiencyFeature(Situation.SkillType.SURVIVAL, ProficiencyLevel.FULL)); filterPool = (Sheet character) => { List <GenericFeature> ret = new List <GenericFeature> (); foreach (GenericFeature gf in pool) { SkillProficiencyFeature f = (SkillProficiencyFeature)gf; SkillProficiency alreadyGot = character.BestSkillProficiencyFromType(f.skillType); if (alreadyGot != null) { if (alreadyGot.Ratio < Proficiency.GetRatio(f.lvl) - 0.0001f) { ret.Add(gf); } } else { ret.Add(gf); } } return(ret); }; }
public override void WhenDeactivatedOn(Sheet c) { c.skillProficiencies.Remove(last); last = null; }
public override void WhenActivatedOn(Sheet c) { last = new SkillProficiency(lvl, skillType); c.skillProficiencies.Add(last); }