// Multiclass Character public Character(List <CharacterClass> characterClasses, ExtensionsDatabase extensions) { List <int> unique_proficiency_ids = new List <int>(); Class = null; Multiclass = characterClasses; foreach (CharacterClass characterClass in characterClasses) { Level += characterClass.Level; // Compile proficiency lists foreach (int proficiency_id in characterClass.Proficiencies) { if (!unique_proficiency_ids.Contains(proficiency_id)) { unique_proficiency_ids.Add(proficiency_id); } } // Add proficiencies from each class without duplication foreach (int id in unique_proficiency_ids) { Feat proficiency = extensions.GetFeatById(id); Feats.Add(proficiency); } } }
public Character(CharacterClass characterClass, ExtensionsDatabase extensions) { Level = characterClass.Level; Class = characterClass; foreach (int proficiency_id in characterClass.Proficiencies) { Feat proficiency = extensions.GetFeatById(proficiency_id); Feats.Add(proficiency); } }