private void button_AddCustomTrait_Click(object sender, RoutedEventArgs e)
        {
            string response = PromptDialog.Prompt("Enter your custom value:", "Custom Value", false);

            if (!string.IsNullOrWhiteSpace(response))
            {
                CharacterNoteOption custom = new CharacterNoteOption(response)
                {
                    IsChecked = true
                };
                ((CharacterNote)DataContext).Traits.AddChild(custom);
            }
        }
        public static void AddDefaultCharacterTraits(IdeaTreeTemplate defaultTemplate)
        {
            CharacterNoteOption trait = new CharacterNoteOption("Height") { IsChoice = true, AllowsNone = true, NoneWeight = 3 };
            CharacterNoteOption subTrait = new CharacterNoteOption("Short");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 2, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Tall");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 2, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            trait.AddChild(subTrait);
            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);

            trait = new CharacterNoteOption("Build") { IsChoice = true, IsManualMultiSelect = true, AllowsNone = true, NoneWeight = 90 };
            subTrait = new CharacterNoteOption("Athletic") { Weight = 30 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 15 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 15, MinAge = 40, MaxAge = 59 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, MinAge = 60, MaxAge = 69 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MinAge = 70 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Heavy") { Weight = 30 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 12 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 5, MinAge = 13, MaxAge = 19 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 10, MinAge = 20, MaxAge = 39 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 18, MinAge = 70 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Muscular") { Weight = 18 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Priority = 20, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Priority = 10, MaxAge = 19 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 5, MinAge = 50, MaxAge = 59 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Priority = 10, MinAge = 60 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Slim") { Weight = 30 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 12 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 45, MinAge = 13, MaxAge = 15 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 45, MinAge = 70 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 90, MinAge = 80 });
            trait.AddChild(subTrait);
            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);

            #region Hair

            trait = new CharacterNoteOption("Hair");
            subTrait = new CharacterNoteOption("Hair Length") { IsChoice = true, AllowsNone = true, NoneWeight = 6 };
            CharacterNoteOption subSubTrait = new CharacterNoteOption("Bald");
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 30, MaxAge = 1, Priority = 0 });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 6, Priority = 10, Races = new ObservableCollection<string>() { "Black" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MinAge = 2, MaxAge = 18, Priority = 20 });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Priority = 30, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 6, MinAge = 50, Priority = 40 });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Long") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 10, Priority = 0 });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MinAge = 70, Priority = 10, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            NoteOptionCharacterModifier modifier = new NoteOptionCharacterModifier() { Weight = 6, Priority = 20, Races = new ObservableCollection<string>() { "Black" } };
            modifier.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(modifier);
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 9, Priority = 30, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Short") { Weight = 6 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 10, Priority = 0 });
            modifier = new NoteOptionCharacterModifier() { Weight = 2, Priority = 20, Races = new ObservableCollection<string>() { "Black" } };
            modifier.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 9, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(modifier);
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Priority = 30, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Hair Texture") { IsChoice = true, AllowsNone = true, NoneWeight = 12 };
            subSubTrait = new CharacterNoteOption("Curly") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Priority = 10, Races = new ObservableCollection<string>() { "Asian", "Indigenous Peoples" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 8, Priority = 20, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Frizzy");
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Priority = 10, Races = new ObservableCollection<string>() { "Asian" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 2, Priority = 20, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Force = true, Priority = 30, Races = new ObservableCollection<string>() { "Black" } });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Silky") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Priority = 10, Races = new ObservableCollection<string>() { "Black" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 10, Priority = 10, Races = new ObservableCollection<string>() { "Asian", "Indigenous Peoples" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 8, Priority = 20, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Wavy") { Weight = 3 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Priority = 10, Races = new ObservableCollection<string>() { "Black" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Priority = 10, Races = new ObservableCollection<string>() { "Asian" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 10, Priority = 20, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Hair Color") { IsChoice = true, IsManualMultiSelect = true };
            subSubTrait = new CharacterNoteOption("Black") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 30, Races = new ObservableCollection<string>() { "Asian", "Black" } });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Blond") { IsChoice = true, Weight = 5, AllowsNone = true };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Races = new ObservableCollection<string>() { "Asian", "Black", "Hispanic", "Indigenous Peoples", "Middle Eastern" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 35, Races = new ObservableCollection<string>() { "Caucasian\\European\\Northern European" } });
            subSubTrait.AddChild(new CharacterNoteOption("Ash"));
            subSubTrait.AddChild(new CharacterNoteOption("Dirty"));
            subSubTrait.AddChild(new CharacterNoteOption("Flaxen"));
            subSubTrait.AddChild(new CharacterNoteOption("Golden"));
            subSubTrait.AddChild(new CharacterNoteOption("Platinum"));
            subSubTrait.AddChild(new CharacterNoteOption("Sandy"));
            subSubTrait.AddChild(new CharacterNoteOption("Strawberry"));
            subSubTrait.AddChild(new CharacterNoteOption("Yellow"));
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Brown") { IsChoice = true, Weight = 10, AllowsNone = true };
            subSubTrait.AddChild(new CharacterNoteOption("Light"));
            subSubTrait.AddChild(new CharacterNoteOption("Dark"));
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Gray") { IsChoice = true, Weight = 0, AllowsNone = true };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 10, MinAge = 40, MaxAge = 50, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 20, MinAge = 50, MaxAge = 60, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 30, MinAge = 60, MaxAge = 70, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 60, MinAge = 70, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 5, MinAge = 50, MaxAge = 60 });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 10, MinAge = 60, MaxAge = 70 });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 30, MinAge = 70, MaxAge = 80 });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 60, MinAge = 80 });
            subSubTrait.AddChild(new CharacterNoteOption("Salt-and-Pepper"));
            subSubTrait.AddChild(new CharacterNoteOption("Silver"));
            subSubTrait.AddChild(new CharacterNoteOption("White"));
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Red") { IsChoice = true, AllowsNone = true };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Races = new ObservableCollection<string>() { "Asian", "Black", "Indigenous Peoples" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 5, Races = new ObservableCollection<string>() { "Caucasian\\European\\Northern European" } });
            subSubTrait.AddChild(new CharacterNoteOption("Auburn"));
            subSubTrait.AddChild(new CharacterNoteOption("Copper"));
            subSubTrait.AddChild(new CharacterNoteOption("Ginger"));
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Hair Style") { IsChoice = true, AllowsNone = true, NoneWeight = 16 };
            subSubTrait = new CharacterNoteOption("Afro") { Weight = 0 };
            modifier = new NoteOptionCharacterModifier() { Weight = 5, TargetPath = "Hair\\Hair Texture\\Frizzy" };
            modifier.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Hair\\Hair Length\\Bald" });
            modifier.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Hair\\Hair Length\\Short" });
            subSubTrait.Modifiers.Add(modifier);
            subSubTrait.AddChild(new CharacterNoteOption("French Braided"));
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Braided") { Weight = 0, IsChoice = true, AllowsNone = true, NoneWeight = 3 };
            modifier = new NoteOptionCharacterModifier() { Weight = 5, TargetPath = "Hair\\Hair Length\\Long" };
            modifier.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(modifier);
            subSubTrait.AddChild(new CharacterNoteOption("French Braided"));
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Parted") { Weight = 8, IsChoice = true };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Hair\\Hair Length\\Bald" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Hair\\Hair Texture\\Frizzy" });
            subSubTrait.AddChild(new CharacterNoteOption("Parted at the Side"));
            CharacterNoteOption subSubSubTrait = new CharacterNoteOption("Parted in the Middle");
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Hair\\Hair Length\\Short" });
            subSubTrait.AddChild(subSubSubTrait);
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Pinned") { Weight = 3, IsChoice = true };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Hair\\Hair Length\\Bald" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Hair\\Hair Length\\Short" });
            subSubTrait.AddChild(new CharacterNoteOption("In a Bun"));
            subSubTrait.AddChild(new CharacterNoteOption("Pinned Back"));
            subSubTrait.AddChild(new CharacterNoteOption("Pinned Up"));
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Ponytail") { Weight = 0, IsChoice = true, AllowsNone = true, NoneWeight = 3 };
            modifier = new NoteOptionCharacterModifier() { Weight = 8, TargetPath = "Hair\\Hair Length\\Long" };
            modifier.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 4, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(modifier);
            subSubTrait.AddChild(new CharacterNoteOption("Half Ponytail"));
            subSubTrait.AddChild(new CharacterNoteOption("High Ponytail"));
            subSubSubTrait = new CharacterNoteOption("Pigtails");
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.AddChild(subSubSubTrait);
            subSubSubTrait = new CharacterNoteOption("Side Ponytail");
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.AddChild(subSubSubTrait);
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Spiked") { Weight = 3, IsChoice = true, AllowsNone = true, NoneWeight = 120 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Hair\\Hair Length\\Bald" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Hair\\Hair Texture\\Frizzy" });
            subSubSubTrait = new CharacterNoteOption("Mohawk");
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subSubTrait.AddChild(subSubSubTrait);
            subSubSubTrait = new CharacterNoteOption("Mullet") { Weight = 5 };
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subSubTrait.AddChild(subSubSubTrait);
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);

            #endregion Hair

            #region Face

            trait = new CharacterNoteOption("Face") { };
            subTrait = new CharacterNoteOption("Eye Color") { IsChoice = true };
            subTrait.AddChild(new NoteOption("Amber") { Weight = 5 });
            subSubTrait = new CharacterNoteOption("Blue") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Races = new ObservableCollection<string>() { "Asian", "Black", "Indigenous Peoples" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Races = new ObservableCollection<string>() { "Hispanic", "Middle Eastern" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 35, Races = new ObservableCollection<string>() { "Caucasian\\European\\Northern European" } });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Brown") { IsChoice = true, Weight = 20, AllowsNone = true };
            subSubSubTrait = new CharacterNoteOption("Dark");
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 3, Races = new ObservableCollection<string>() { "Asian", "Indigenous Peoples" } });
            subSubTrait.AddChild(subSubSubTrait);
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Gray") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Races = new ObservableCollection<string>() { "Asian", "Black", "Indigenous Peoples" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Races = new ObservableCollection<string>() { "Hispanic", "Middle Eastern" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 35, Races = new ObservableCollection<string>() { "Caucasian\\European\\Northern European" } });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Green") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Races = new ObservableCollection<string>() { "Asian", "Black", "Indigenous Peoples" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Races = new ObservableCollection<string>() { "Hispanic", "Middle Eastern" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 20, Races = new ObservableCollection<string>() { "Caucasian\\European\\Northern European" } });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Hazel") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Races = new ObservableCollection<string>() { "Asian", "Black", "Indigenous Peoples" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, Races = new ObservableCollection<string>() { "Hispanic", "Middle Eastern" } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 10, Races = new ObservableCollection<string>() { "Caucasian\\European\\Northern European" } });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Facial Hair") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subSubTrait = new CharacterNoteOption("Beard") { Weight = 5, IsChoice = true, IsManualMultiSelect = true };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subSubTrait.AddChild(new CharacterNoteOption("Chin Strap"));
            subSubTrait.AddChild(new CharacterNoteOption("Full Beard"));
            subSubTrait.AddChild(new CharacterNoteOption("Goatee"));
            subSubTrait.AddChild(new CharacterNoteOption("Muttonchops"));
            subSubTrait.AddChild(new CharacterNoteOption("Soul Patch"));
            subSubTrait.AddChild(new CharacterNoteOption("Van Dyke"));
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Moustache") { Weight = 5, IsChoice = true, IsManualMultiSelect = true };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subSubTrait.AddChild(new CharacterNoteOption("Brush"));
            subSubTrait.AddChild(new CharacterNoteOption("Fu Manchu"));
            subSubTrait.AddChild(new CharacterNoteOption("Handlebar"));
            subSubTrait.AddChild(new CharacterNoteOption("Horseshoe"));
            subSubTrait.AddChild(new CharacterNoteOption("Pencil-thin"));
            subSubTrait.AddChild(new CharacterNoteOption("Walrus"));
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Features") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subTrait.AddChild(new CharacterNoteOption("Heavy Eyebrows"));
            subTrait.AddChild(new CharacterNoteOption("High Cheekbones"));
            subSubTrait = new CharacterNoteOption("Jaw") { IsChoice = true, IsManualMultiSelect = true };
            subSubSubTrait = new CharacterNoteOption("Strong");
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            subSubTrait.AddChild(subSubSubTrait);
            subSubTrait.AddChild(new CharacterNoteOption("Weak"));
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Lips") { IsChoice = true, IsManualMultiSelect = true };
            subSubSubTrait = new CharacterNoteOption("Bee-Stung");
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.AddChild(subSubSubTrait);
            subSubTrait.AddChild(new CharacterNoteOption("Thin"));
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Nose") { IsChoice = true, IsManualMultiSelect = true };
            subSubTrait.AddChild(new CharacterNoteOption("Hooked"));
            subSubTrait.AddChild(new CharacterNoteOption("Large"));
            subSubTrait.AddChild(new CharacterNoteOption("Upturned"));
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);

            #endregion Face

            trait = new CharacterNoteOption("Complexion") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            trait.AddChild(new NoteOption("Birthmark") { Weight = 2 });
            trait.AddChild(new NoteOption("Freckles") { Weight = 2 });
            subTrait = new CharacterNoteOption("Pale") { Weight = 10 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 20, Races = new ObservableCollection<string>() { "Asian" } });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Races = new ObservableCollection<string>() { "Black" } });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 5, Races = new ObservableCollection<string>() { "Indigenous Peoples", "Hispanic", "Middle Eastern" } });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 20, Races = new ObservableCollection<string>() { "Caucasian\\European\\Northern European" } });
            trait.AddChild(subTrait);
            trait.AddChild(new NoteOption("Scar") { Weight = 2 });
            subTrait = new CharacterNoteOption("Tan") { Weight = 10 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Complexion\\Pale" });
            trait.AddChild(subTrait);
            trait.AddChild(new NoteOption("Tattoo") { Weight = 2 });
            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);

            #region Features

            trait = new CharacterNoteOption("Features");
            subTrait = new CharacterNoteOption("Shoulders") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subTrait.AddChild(new CharacterNoteOption("Broad") { Weight = 10 });
            subSubTrait = new CharacterNoteOption("Narrow") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Features\\Shoulders\\Broad" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Hands") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subTrait.AddChild(new CharacterNoteOption("Big") { Weight = 10 });
            subSubTrait = new CharacterNoteOption("Delicate") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Features\\Hands\\Large" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Belly") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subTrait.AddChild(new CharacterNoteOption("Firm") { Weight = 10 });
            subSubTrait = new CharacterNoteOption("Flabby") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Features\\Belly\\Firm" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Hips") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subTrait.AddChild(new CharacterNoteOption("Narrow") { Weight = 10 });
            subSubTrait = new CharacterNoteOption("Wide") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Features\\Hips\\Narrow" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Legs") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subSubTrait = new CharacterNoteOption("Long") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Height\\Short" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 20, TargetPath = "Height\\Tall" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Short") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Priority = 50, TargetPath = "Features\\Legs\\Long" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Height\\Tall" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 20, TargetPath = "Height\\Short" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);

            #endregion Features

            #region Personality

            trait = new CharacterNoteOption("Personality") { };

            #region Social

            subTrait = new CharacterNoteOption("Social") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subSubTrait = new CharacterNoteOption("Commanding") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Submissive" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Diffident") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Commanding" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Intense" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Judgmental" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Forceful") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Diffident" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Submissive" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Gregarious") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Antagonistic" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Depressed" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Stoic" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Introverted") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Gregarious" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Outgoing") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Introverted" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Depressed" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Outspoken") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Introverted" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Quiet") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outgoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outspoken" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Reserved") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outgoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outspoken" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Retiring") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Gregarious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outgoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outspoken" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Shy") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Commanding" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Forceful" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Gregarious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outgoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outspoken" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Dominant" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Talkative") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Quiet" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Reserved" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Retiring" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Shy" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Timid") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Commanding" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Forceful" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outspoken" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Dominant" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Intense" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);

            #endregion Social

            #region Interpersonal

            subTrait = new CharacterNoteOption("Interpersonal") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subSubTrait = new CharacterNoteOption("Accommodating") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Judgmental" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Antagonistic") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Gregarious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outgoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Accommodating" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Cold") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Adventurous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Emotional" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Volatile" });
            subTrait.AddChild(subSubTrait);
            subTrait.AddChild(new CharacterNoteOption("Deceitful") { Weight = 2 });
            subSubTrait = new CharacterNoteOption("Dominant") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Shy" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Timid" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Friendly") { Weight = 15 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Antagonistic" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Cold" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Honest") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Deceitful" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Kind") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Antagonistic" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Cold" });
            subTrait.AddChild(subSubTrait);
            subTrait.AddChild(new CharacterNoteOption("Manipulative") { Weight = 2 });
            subTrait.AddChild(new CharacterNoteOption("Passive-Aggressive") { Weight = 2 });
            subSubTrait = new CharacterNoteOption("Polite") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Antagonistic" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Submissive") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Commanding" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Forceful" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Dominant" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Judgmental" });
            subTrait.AddChild(subSubTrait);
            subTrait.AddChild(new CharacterNoteOption("Suspicious") { Weight = 2 });
            subSubTrait = new CharacterNoteOption("Trusting") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Manipulative" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Passive-Aggressive" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Suspicious" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);

            #endregion Interpersonal

            #region Disposition

            subTrait = new CharacterNoteOption("Disposition") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subSubTrait = new CharacterNoteOption("Adventurous") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Cold" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Calm" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Analytical") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Adventurous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Volatile" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Compulsive") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Adventurous" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Disciplined") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Adventurous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Volatile" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Easygoing") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Cold" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Analytical" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Compulsive" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Disciplined" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Stoic" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Frivolous") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Analytical" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Compulsive" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Disciplined" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Stoic" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Intense") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Diffident" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Timid" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Judgmental") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Diffident" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Accommodating" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Submissive" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Obsessive") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Resolute") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Frivolous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Volatile" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Stubborn") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);

            #endregion Disposition

            #region Emotion

            subTrait = new CharacterNoteOption("Emotion") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subSubTrait = new CharacterNoteOption("Calm") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Adventurous" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Depressed") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Gregarious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Outgoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Adventurous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Emotional") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Cold" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Calm" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Stoic") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Gregarious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Frivolous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Emotional" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Volatile") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Cold" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Analytical" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Disciplined" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Resolute" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Calm" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Stoic" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);

            #endregion Emotion

            #region Self-Image

            subTrait = new CharacterNoteOption("Self-Image") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subSubTrait = new CharacterNoteOption("Conceited") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Shy" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Timid" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Confident") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Timid" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Humble") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Commanding" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Dominant" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Judgmental" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Self-Image\\Conceited" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Narcissistic") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Shy" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Timid" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Self-Image\\Humble" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Proud") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Self-Image\\Humble" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);

            #endregion Self-Image

            #region Generosity

            subTrait = new CharacterNoteOption("Generosity") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subSubTrait = new CharacterNoteOption("Avaricious") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Self-Image\\Humble" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Envious") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Self-Image\\Humble" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Self-Image\\Confident" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Self-Image\\Narcissistic" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Generous") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Antagonistic" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Cold" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Avaricious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Envious" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Greedy") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Self-Image\\Humble" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Generous" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Magnanimous") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Antagonistic" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Cold" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Avaricious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Envious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Greedy" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Philanthropic") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Antagonistic" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Cold" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Avaricious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Envious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Greedy" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Stingy") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Self-Image\\Humble" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Generous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Magnanimous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Philanthropic" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Thrifty") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Generous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Magnanimous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Generosity\\Philanthropic" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);

            #endregion Generosity

            #region Intellect

            subTrait = new CharacterNoteOption("Intellect") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subSubTrait = new CharacterNoteOption("Absent-Minded") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Disciplined" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Airheaded") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Social\\Commanding" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Analytical" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Disciplined" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Intense" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Obsessive" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Manipulative" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Emotion\\Stoic" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Cunning") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Trusting" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Frivolous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Airheaded" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Gullible") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Suspicious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Cunning" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Insightful") { Weight = 5 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Airheaded" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Gullible" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Intelligent") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Airheaded" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Mentally Impaired") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Cunning" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Intelligent" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Naive") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Suspicious" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Cunning" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Insightful" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Sly") { Weight = 2 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Interpersonal\\Trusting" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Frivolous" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Airheaded" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Mentally Impaired" });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Wise") { Weight = 10 };
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Airheaded" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Gullible" });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Intellect\\Naive" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);

            #endregion Intellect

            #region Orientation

            subTrait = new CharacterNoteOption("Orientation") { IsChoice = true };
            subTrait.AddChild(new CharacterOrientationOption("Heterosexual") { Weight = 93, IncludesOpposite = true });
            subTrait.AddChild(new CharacterOrientationOption("Bisexual") { Weight = 3, IncludesAny = true });
            subTrait.AddChild(new CharacterOrientationOption("Homosexual") { Weight = 3, IncludesSame = true });
            subTrait.AddChild(new CharacterOrientationOption("Asexual"));
            trait.AddChild(subTrait);

            #endregion Orientation

            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);

            #endregion Personality

            #region Appearance

            trait = new CharacterNoteOption("Appearance") { IsChoice = true, IsMultiSelect = true, AllowsNone = true };
            subTrait = new CharacterNoteOption("Fastidious") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Messy") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Disciplined" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Fastidious" });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Neat") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Messy" });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Polished") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Easygoing" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Messy" });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Slovenly") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Disciplined" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Fastidious" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Neat" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Polished" });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Unkempt") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Disposition\\Disciplined" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Fastidious" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Neat" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Polished" });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Well-Groomed") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Messy" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Slovenly" });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Personality\\Appearance\\Unkempt" });
            trait.AddChild(subTrait);
            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);

            #endregion Appearance

            #region Profession

            trait = new CharacterNoteOption("Profession") { IsChoice = true, IsManualMultiSelect = true, AllowsNone = true, NoneWeight = 16 };
            subTrait = new CharacterNoteOption("Academic Administration") { Weight = 4 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Accountant") { Weight = 4 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Actor");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 15 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Administrative Assistant") { Weight = 4 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Advertising") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Aeronautical Engineer");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Airplane Mechanic");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Architect") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Athlete");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Attorney") { Weight = 4 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Auto Mechanic") { Weight = 4 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Automotive Engineer");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Bailiff");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Banker") { Weight = 4 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Bank Teller") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Bartender") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Bounty Hunter");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Carpenter") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Car Salesperson") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Cashier") { Weight = 5 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 15 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Caterer") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("CEO");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("CFO");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("CTO");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Chef") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Chemical Engineer");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Cleric");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Clothier") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Coach") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Craftmaking");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Confectioner");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Construction") { Weight = 4 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Consultant") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Curator");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Dance Instructor");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Dancer") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Dental Hygienist") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Dentist") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 25 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Doctor") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 27 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Driver") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Editor") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Electrical Engineer") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Enlisted In The Military") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Farmer");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Fisherman");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Government Worker") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Hotel Manager") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Insurance Salesperson") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("IT Technician") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Janitor") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Jeweler");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Journalist") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Judge");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 29 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Legal Aid") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Librarian");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Maid") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Miner");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Musician") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Nurse") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Office Worker") { Weight = 5 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Officer In The Military") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Pilot");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Police Detective");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Police Officer");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Politician");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Private Investigator");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Prostitute");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Postal Worker");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Real Estate Agent") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Retail Salesperson") { Weight = 5 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 15 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Retail Manager") { Weight = 4 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Retired") { Weight = 0 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 4, MinAge = 55, MaxAge = 65 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Force = true, MinAge = 66 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Salesperson") { Weight = 5 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Shoe Salesperson");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Small Business Owner") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Social Worker") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Software Developer") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Stock Broker") { Weight = 2 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Student") { Weight = 0 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Force = true, MinAge = 5, MaxAge = 17 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 10, MinAge = 18, MaxAge = 21 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 5, MinAge = 22, MaxAge = 23 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 3, MinAge = 24, MaxAge = 25 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Teacher") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MinAge = 66 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Telemarketer") { Weight = 3 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Travel Agent");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 17 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Veterinarian");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 23 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Wait Staff") { Weight = 4 };
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 15 });
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Writer");
            subTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 21 });
            trait.AddChild(subTrait);
            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);

            #endregion

            trait = new CharacterNoteOption("Miscellaneous");
            subTrait = new CharacterNoteOption("Fertility") { IsChoice = true, IsMultiSelect = true, AllowsNone = true, NoneWeight = 90 };
            subSubTrait = new CharacterNoteOption("Infertile");
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 13 });
            subTrait.AddChild(subSubTrait);
            subSubTrait = new CharacterNoteOption("Pregnant");
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Priority = 0, Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, Priority = 10, MaxAge = 13 });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            subTrait = new CharacterNoteOption("Disability") { IsChoice = true, IsMultiSelect = true, AllowsNone = true, NoneWeight = 90 };
            subTrait.AddChild(new CharacterNoteOption("Blind"));
            subTrait.AddChild(new CharacterNoteOption("Deaf"));
            subSubTrait = new CharacterNoteOption("Prosthesis") { IsChoice = true, IsMultiSelect = true };
            subSubTrait.AddChild(new CharacterNoteOption("One Arm"));
            subSubTrait.AddChild(new CharacterNoteOption("One Leg"));
            subSubSubTrait = new CharacterNoteOption("Both Arms");
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Miscellaneous\\Disability\\Prosthesis\\One Arm" });
            subSubTrait.AddChild(subSubSubTrait);
            subSubSubTrait = new CharacterNoteOption("Both Legs");
            subSubSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Miscellaneous\\Disability\\Prosthesis\\One Leg" });
            subSubTrait.AddChild(subSubSubTrait);
            subTrait.AddChild(subSubTrait);
            subTrait.AddChild(new CharacterNoteOption("Paraplegic"));
            subSubTrait = new CharacterNoteOption("Quadraplegic");
            subSubTrait.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, TargetPath = "Miscellaneous\\Disability\\Paraplegic" });
            subTrait.AddChild(subSubTrait);
            trait.AddChild(subTrait);
            defaultTemplate.CharacterTemplate.Traits.AddChild(trait);
        }
Exemple #3
0
 private void BeforeSerialization()
 {
     Races = (CharacterNoteOption)Races.GetCheckedChildrenClone();
     Traits = (CharacterNoteOption)Traits.GetCheckedChildrenClone();
 }
Exemple #4
0
 public void SetInheritedRaces()
 {
     CharacterNoteOption inheritedRaces = new CharacterNoteOption() { Name = "Races", RootIdea = this, IsChoice = true, IsManualMultiSelect = true };
     List<CharacterNote> parents = GetParents();
     if (parents.Count != 0)
     {
         foreach (var races in parents.Select(p => p.Races))
             inheritedRaces.MergeWithOption(races, true, true);
     }
     else
     {
         // Without a parent to go by, siblings are a good alternate to determine the family heritage.
         List<CharacterNote> siblings = GetSiblings();
         if (siblings.Count != 0)
         {
             foreach (var races in siblings.Select(p => p.Races))
                 inheritedRaces.MergeWithOption(races, true, true);
         }
         else
         {
             // Without parents or siblings, children are the only possible fallback, although this will
             // obviously be flawed, not accounting for situations of mixed heritage.
             List<CharacterNote> children = GetChildren();
             if (children.Count != 0)
             {
                 foreach (var races in children.Select(p => p.Races))
                     inheritedRaces.MergeWithOption(races, true, true);
             }
             // The odds of marrying a person of the same race are statistically higher than marrying someone of a differing race.
             // Therefore, before making the usual random selection of race for a newly generated spouse, there is a chance that the
             // race will be the same as the existing spouse.
             else
             {
                 List<CharacterNote> spouses = GetSpouses();
                 if (random.Next(1, 101) < spouseSharesRaceChance && spouses.Count > 0)
                 {
                     // If there is more than one, choose one at random.
                     CharacterNote chosenSpouse = spouses[random.Next(spouses.Count)];
                     inheritedRaces.MergeWithOption(chosenSpouse.Races, true, true);
                 }
                 else
                 {
                     // Otherwise, a random assignment must be made.
                     inheritedRaces.MergeWithOption(RootSaveFile.Template.CharacterTemplate.Races, true);
                     inheritedRaces.Choose();
                 }
             }
         }
     }
     Races = inheritedRaces;
     OnPropertyChanged(nameof(Races));
 }