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); }
private void BeforeSerialization() { Races = (CharacterNoteOption)Races.GetCheckedChildrenClone(); Traits = (CharacterNoteOption)Traits.GetCheckedChildrenClone(); }
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)); }