private void button_CustomRace_Click(object sender, RoutedEventArgs e) { string response = PromptDialog.Prompt("Enter your custom value:", "Custom Value", false); if (!string.IsNullOrWhiteSpace(response)) { CharacterRaceOption custom = new CharacterRaceOption(response) { IsChecked = true }; ((CharacterNote)DataContext).Races.AddChild(custom); } }
public static void AddDefaultRaces(IdeaTreeTemplate defaultTemplate) { // Racial groups are organized primarily by predominant shared physical characteristics, // to simplify the use of modifiers targeted by race which adjust the probability of certain // features, such as hair or eye color, etc. // Within these physically-organized groups, specific cultural or national backgrounds are // provided, with the primary intention of allowing culturally-relevant name generation. // Only major countries (with >5 million citizens) are included in the default template, // for simplicity's sake. // Some major countries are omitted due to a lack of readily-accessible, reliable lists // of common local names. Rather than have name selection fall back on the (probably inappropriate) // default culture, the country is omitted. It is left to users to add any missing cultures, and // appropriate lists of names, on an as-needed basis. // There are also a handful of major countries which are omitted because their cultural naming conventions // are too different from most other cultures to be generated according to the same 'first name and surname' // pattern. It is again left to users to add any missing cultures, and generate names in a manner deemed // appropriate, on an as-needed basis. #region Asian CharacterRaceOption race = new CharacterRaceOption("Asian") { IsChoice = true, IsManualMultiSelect = true }; CharacterRaceOption subRace = new CharacterRaceOption("Central Asian") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Afghani") { MaleNameFile = @"NameFiles\Middle Eastern\male_names.txt", FemaleNameFile = @"NameFiles\Middle Eastern\female_names.txt", SurnameFile = @"NameFiles\Middle Eastern\surnames.txt" }); bool canCreateNames = canCreateNames = CreateNameFiles(@"NameFiles\Middle Eastern"); subRace.AddChild(new CharacterRaceOption("Kazakh") { MaleNameFile = @"NameFiles\Asian\Central Asian\Kazakh\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Central Asian\Kazakh\female_names.txt", SurnameFile = @"NameFiles\Asian\Central Asian\Kazakh\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Central Asian\Kazakh"); race.AddChild(subRace); subRace = new CharacterRaceOption("Eastern Asian") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Chinese") { MaleNameFile = @"NameFiles\Asian\Eastern Asian\Chinese\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Eastern Asian\Chinese\female_names.txt", SurnameFile = @"NameFiles\Asian\Eastern Asian\Chinese\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Eastern Asian\Chinese"); subRace.AddChild(new CharacterRaceOption("Japanese") { MaleNameFile = @"NameFiles\Asian\Eastern Asian\Japanese\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Eastern Asian\Japanese\female_names.txt", SurnameFile = @"NameFiles\Asian\Eastern Asian\Japanese\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Eastern Asian\Japanese"); subRace.AddChild(new CharacterRaceOption("Korean") { MaleNameFile = @"NameFiles\Asian\Eastern Asian\Korean\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Eastern Asian\Korean\female_names.txt", SurnameFile = @"NameFiles\Asian\Eastern Asian\Korean\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Eastern Asian\Korean"); race.AddChild(subRace); subRace = new CharacterRaceOption("Southeast Asian") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Cambodian") { MaleNameFile = @"NameFiles\Asian\Southeast Asian\Cambodian\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southeast Asian\Cambodian\female_names.txt", SurnameFile = @"NameFiles\Asian\Southeast Asian\Cambodian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Southeast Asian\Cambodian"); subRace.AddChild(new CharacterRaceOption("Filipino") { MaleNameFile = @"NameFiles\Asian\Southeast Asian\Filipino\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southeast Asian\Filipino\female_names.txt", SurnameFile = @"NameFiles\Asian\Southeast Asian\Filipino\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Southeast Asian\Filipino"); subRace.AddChild(new CharacterRaceOption("Indonesian") { MaleNameFile = @"NameFiles\Asian\Southeast Asian\Indonesian\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southeast Asian\Indonesian\female_names.txt", SurnameFile = @"NameFiles\Asian\Southeast Asian\Indonesian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Southeast Asian\Indonesian"); subRace.AddChild(new CharacterRaceOption("Malaysian") { MaleNameFile = @"NameFiles\Asian\Southeast Asian\Malaysian\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southeast Asian\Malaysian\female_names.txt", SurnameFile = @"NameFiles\Asian\Southeast Asian\Malaysian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Southeast Asian\Malaysian"); subRace.AddChild(new CharacterRaceOption("Thai") { MaleNameFile = @"NameFiles\Asian\Southeast Asian\Thai\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southeast Asian\Thai\female_names.txt", SurnameFile = @"NameFiles\Asian\Southeast Asian\Thai\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Southeast Asian\Thai"); subRace.AddChild(new CharacterRaceOption("Vietnamese") { MaleNameFile = @"NameFiles\Asian\Southeast Asian\Vietnamese\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southeast Asian\Vietnamese\female_names.txt", SurnameFile = @"NameFiles\Asian\Southeast Asian\Vietnamese\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Southeast Asian\Vietnamese"); race.AddChild(subRace); subRace = new CharacterRaceOption("Southern Asian") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Bangladeshi") { MaleNameFile = @"NameFiles\Asian\Southern Asian\Bangladeshi\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southern Asian\Bangladeshi\female_names.txt", SurnameFile = @"NameFiles\Asian\Southern Asian\Bangladeshi\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Southern Asian\Bangladeshi"); subRace.AddChild(new CharacterRaceOption("Indian") { MaleNameFile = @"NameFiles\Asian\Southern Asian\Indian\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southern Asian\Indian\female_names.txt", SurnameFile = @"NameFiles\Asian\Southern Asian\Indian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Southern Asian\Indian"); subRace.AddChild(new CharacterRaceOption("Nepalese") { MaleNameFile = @"NameFiles\Asian\Southern Asian\Nepalese\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southern Asian\Nepalese\female_names.txt", SurnameFile = @"NameFiles\Asian\Southern Asian\Nepalese\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Asian\Southern Asian\Nepalese"); subRace.AddChild(new CharacterRaceOption("Pakistani") { MaleNameFile = @"NameFiles\Middle Eastern\male_names.txt", FemaleNameFile = @"NameFiles\Middle Eastern\female_names.txt", SurnameFile = @"NameFiles\Middle Eastern\surnames.txt" }); race.AddChild(subRace); defaultTemplate.CharacterTemplate.Races.AddChild(race); #endregion Asian #region Black race = new CharacterRaceOption("Black") { IsChoice = true, IsManualMultiSelect = true }; subRace = new CharacterRaceOption("African") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Eastern African") { MaleNameFile = @"NameFiles\Black\African\Eastern African\male_names.txt", FemaleNameFile = @"NameFiles\Black\African\Eastern African\female_names.txt", SurnameFile = @"NameFiles\Black\African\Eastern African\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Black\African\Eastern African"); subRace.AddChild(new CharacterRaceOption("Southern African") { MaleNameFile = @"NameFiles\Black\African\Southern African\male_names.txt", FemaleNameFile = @"NameFiles\Black\African\Southern African\female_names.txt", SurnameFile = @"NameFiles\Black\African\Southern African\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Black\African\Southern African"); subRace.AddChild(new CharacterRaceOption("Western African") { MaleNameFile = @"NameFiles\Black\African\Western African\male_names.txt", FemaleNameFile = @"NameFiles\Black\African\Western African\female_names.txt", SurnameFile = @"NameFiles\Black\African\Western African\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Black\African\Western African"); race.AddChild(subRace); subRace = new CharacterRaceOption("American") { IsChoice = true, IsManualMultiSelect = true }; CharacterRaceOption subSubRace = new CharacterRaceOption("Caribbean Islander") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Cuban") { MaleNameFile = @"NameFiles\Hispanic\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\female_names.txt", SurnameFile = @"NameFiles\Hispanic\surnames.txt" }); subSubRace.AddChild(new CharacterRaceOption("Dominican") { MaleNameFile = @"NameFiles\Hispanic\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\female_names.txt", SurnameFile = @"NameFiles\Hispanic\surnames.txt" }); subSubRace.AddChild(new CharacterRaceOption("Haitian") { MaleNameFile = @"NameFiles\Black\American\Caribbean Islander\Haitian\male_names.txt", FemaleNameFile = @"NameFiles\Black\American\Caribbean Islander\Haitian\female_names.txt", SurnameFile = @"NameFiles\Black\American\Caribbean Islander\Haitian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Black\American\Caribbean Islander\Haitian"); subRace.AddChild(subSubRace); subSubRace = new CharacterRaceOption("Central American") { IsChoice = true, IsManualMultiSelect = true, MaleNameFile = @"NameFiles\Hispanic\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\female_names.txt", SurnameFile = @"NameFiles\Hispanic\surnames.txt" }; subSubRace.AddChild(new CharacterRaceOption("Salvadorian")); subSubRace.AddChild(new CharacterRaceOption("Guatemalan")); subSubRace.AddChild(new CharacterRaceOption("Honduran")); subSubRace.AddChild(new CharacterRaceOption("Nicaraguan")); subRace.AddChild(subSubRace); subSubRace = new CharacterRaceOption("North American") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Canadian") { MaleNameFile = @"NameFiles\Caucasian\American\North American\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\American\North American\female_names.txt", SurnameFile = @"NameFiles\Caucasian\American\North American\surnames.txt" }); subSubRace.AddChild(new CharacterRaceOption("Mexican") { MaleNameFile = @"NameFiles\Hispanic\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\female_names.txt", SurnameFile = @"NameFiles\Hispanic\surnames.txt" }); subSubRace.AddChild(new CharacterRaceOption("United States African American") { MaleNameFile = @"NameFiles\Black\American\North American\United States American\male_names.txt", FemaleNameFile = @"NameFiles\Black\American\North American\United States American\female_names.txt", SurnameFile = @"NameFiles\Black\American\North American\United States American\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Black\American\North American\United States American"); subRace.AddChild(subSubRace); subSubRace = new CharacterRaceOption("South American") { IsChoice = true, IsManualMultiSelect = true, MaleNameFile = @"NameFiles\Hispanic\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\female_names.txt", SurnameFile = @"NameFiles\Hispanic\surnames.txt" }; subSubRace.AddChild(new CharacterRaceOption("Argentinian")); subSubRace.AddChild(new CharacterRaceOption("Bolivian")); subSubRace.AddChild(new CharacterRaceOption("Brazilian") { MaleNameFile = @"NameFiles\Hispanic\European\Portuguese\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\European\Portuguese\female_names.txt", SurnameFile = @"NameFiles\Hispanic\European\Portuguese\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Hispanic\European\Portuguese"); subSubRace.AddChild(new CharacterRaceOption("Chilean")); subSubRace.AddChild(new CharacterRaceOption("Colombian")); subSubRace.AddChild(new CharacterRaceOption("Ecuadorian")); subSubRace.AddChild(new CharacterRaceOption("Peruvian")); subSubRace.AddChild(new CharacterRaceOption("Venezuelan")); subRace.AddChild(subSubRace); race.AddChild(subRace); subRace = new CharacterRaceOption("European") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Black English") { MaleNameFile = @"NameFiles\Caucasian\European\Northern European\English\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Northern European\English\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Northern European\English\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Northern European\English"); subRace.AddChild(new CharacterRaceOption("French") { MaleNameFile = @"NameFiles\Caucasian\European\Western European\French\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Western European\French\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Western European\French\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Western European\French"); subRace.AddChild(new CharacterRaceOption("Spanish") { MaleNameFile = @"NameFiles\Hispanic\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\female_names.txt", SurnameFile = @"NameFiles\Hispanic\surnames.txt" }); race.AddChild(subRace); defaultTemplate.CharacterTemplate.Races.AddChild(race); #endregion Black #region Caucasian race = new CharacterRaceOption("Caucasian") { IsDefault = true, IsChoice = true, IsManualMultiSelect = true }; subRace = new CharacterRaceOption("American") { IsDefault = true, IsChoice = true, IsManualMultiSelect = true }; subSubRace = new CharacterRaceOption("North American") { IsDefault = true, IsChoice = true, IsManualMultiSelect = true, MaleNameFile = @"NameFiles\Caucasian\American\North American\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\American\North American\female_names.txt", SurnameFile = @"NameFiles\Caucasian\American\North American\surnames.txt" }; if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\American\North American"); subSubRace.AddChild(new CharacterRaceOption("Canadian")); subSubRace.AddChild(new CharacterRaceOption("United States American") { IsDefault = true }); subRace.AddChild(subSubRace); race.AddChild(subRace); race.AddChild(new CharacterRaceOption("Australian") { MaleNameFile = @"NameFiles\Caucasian\Australian\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\Australian\female_names.txt", SurnameFile = @"NameFiles\Caucasian\Australian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\Australian"); subRace = new CharacterRaceOption("European") { IsChoice = true, IsManualMultiSelect = true }; subSubRace = new CharacterRaceOption("Eastern European") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Czech") { MaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Czech\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Czech\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Eastern European\Czech\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Eastern European\Czech"); subSubRace.AddChild(new CharacterRaceOption("Polish") { MaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Polish\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Polish\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Eastern European\Polish\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Eastern European\Polish"); subSubRace.AddChild(new CharacterRaceOption("Romanian") { MaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Romanian\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Romanian\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Eastern European\Romanian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Eastern European\Romanian"); subSubRace.AddChild(new CharacterRaceOption("Russian") { MaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Russian\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Russian\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Eastern European\Russian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Eastern European\Russian"); subSubRace.AddChild(new CharacterRaceOption("Ukrainian") { MaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Ukrainian\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Eastern European\Ukrainian\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Eastern European\Ukrainian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Eastern European\Ukrainian"); subRace.AddChild(subSubRace); subSubRace = new CharacterRaceOption("Northern European") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Danish") { MaleNameFile = @"NameFiles\Caucasian\European\Northern European\Danish\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Northern European\Danish\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Northern European\Danish\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Northern European\Danish"); subSubRace.AddChild(new CharacterRaceOption("English") { MaleNameFile = @"NameFiles\Caucasian\European\Northern European\English\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Northern European\English\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Northern European\English\surnames.txt" }); subSubRace.AddChild(new CharacterRaceOption("Finnish") { MaleNameFile = @"NameFiles\Caucasian\European\Northern European\Finnish\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Northern European\Finnish\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Northern European\Finnish\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Northern European\Finnish"); subSubRace.AddChild(new CharacterRaceOption("Irish") { MaleNameFile = @"NameFiles\Caucasian\European\Northern European\Irish\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Northern European\Irish\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Northern European\Irish\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Northern European\Irish"); subSubRace.AddChild(new CharacterRaceOption("Norwegian") { MaleNameFile = @"NameFiles\Caucasian\European\Northern European\Norwegian\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Northern European\Norwegian\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Northern European\Norwegian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Northern European\Norwegian"); subSubRace.AddChild(new CharacterRaceOption("Scottish") { MaleNameFile = @"NameFiles\Caucasian\European\Northern European\Scottish\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Northern European\Scottish\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Northern European\Scottish\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Northern European\Scottish"); subSubRace.AddChild(new CharacterRaceOption("Swedish") { MaleNameFile = @"NameFiles\Caucasian\European\Northern European\Swedish\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Northern European\Swedish\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Northern European\Swedish\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Northern European\Swedish"); subRace.AddChild(subSubRace); subSubRace = new CharacterRaceOption("Southern European") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Greek") { MaleNameFile = @"NameFiles\Caucasian\European\Southern European\Greek\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Southern European\Greek\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Southern European\Greek\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Southern European\Greek"); subSubRace.AddChild(new CharacterRaceOption("Italian") { MaleNameFile = @"NameFiles\Caucasian\European\Southern European\Italian\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Southern European\Italian\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Southern European\Italian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Southern European\Italian"); subSubRace.AddChild(new CharacterRaceOption("Serbian") { MaleNameFile = @"NameFiles\Caucasian\European\Southern European\Serbian\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Southern European\Serbian\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Southern European\Serbian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Southern European\Serbian"); subRace.AddChild(subSubRace); subSubRace = new CharacterRaceOption("Western European") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Austrian") { MaleNameFile = @"NameFiles\Caucasian\European\Western European\Austrian\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Western European\Austrian\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Western European\Austrian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Western European\Austrian"); subSubRace.AddChild(new CharacterRaceOption("Belgian") { MaleNameFile = @"NameFiles\Caucasian\European\Western European\Belgian\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Western European\Belgian\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Western European\Belgian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Western European\Belgian"); subSubRace.AddChild(new CharacterRaceOption("Dutch") { MaleNameFile = @"NameFiles\Caucasian\European\Western European\Dutch\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Western European\Dutch\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Western European\Dutch\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Western European\Dutch"); subSubRace.AddChild(new CharacterRaceOption("French") { MaleNameFile = @"NameFiles\Caucasian\European\Western European\French\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Western European\French\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Western European\French\surnames.txt" }); subSubRace.AddChild(new CharacterRaceOption("German") { MaleNameFile = @"NameFiles\Caucasian\European\Western European\German\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Western European\German\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Western European\German\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Western European\German"); subSubRace.AddChild(new CharacterRaceOption("Swiss") { MaleNameFile = @"NameFiles\Caucasian\European\Western European\Swiss\male_names.txt", FemaleNameFile = @"NameFiles\Caucasian\European\Western European\Swiss\female_names.txt", SurnameFile = @"NameFiles\Caucasian\European\Western European\Swiss\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Caucasian\European\Western European\Swiss"); subRace.AddChild(subSubRace); race.AddChild(subRace); defaultTemplate.CharacterTemplate.Races.AddChild(race); #endregion Caucasian #region Hispanic race = new CharacterRaceOption("Hispanic") { IsChoice = true, IsManualMultiSelect = true, MaleNameFile = @"NameFiles\Hispanic\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\female_names.txt", SurnameFile = @"NameFiles\Hispanic\surnames.txt" }; if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Hispanic"); subRace = new CharacterRaceOption("American") { IsChoice = true, IsManualMultiSelect = true }; subSubRace = new CharacterRaceOption("Caribbean Islander") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Cuban")); subSubRace.AddChild(new CharacterRaceOption("Dominican")); subRace.AddChild(subSubRace); subSubRace = new CharacterRaceOption("Central American") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Salvadorian")); subSubRace.AddChild(new CharacterRaceOption("Guatemalan")); subSubRace.AddChild(new CharacterRaceOption("Honduran")); subSubRace.AddChild(new CharacterRaceOption("Nicaraguan")); subRace.AddChild(subSubRace); subSubRace = new CharacterRaceOption("North American") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Canadian")); subSubRace.AddChild(new CharacterRaceOption("Mexican")); subSubRace.AddChild(new CharacterRaceOption("United States Hispanic American")); subRace.AddChild(subSubRace); subSubRace = new CharacterRaceOption("South American") { IsChoice = true, IsManualMultiSelect = true }; subSubRace.AddChild(new CharacterRaceOption("Argentinian")); subSubRace.AddChild(new CharacterRaceOption("Bolivian")); subSubRace.AddChild(new CharacterRaceOption("Brazilian") { MaleNameFile = @"NameFiles\Hispanic\European\Portuguese\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\European\Portuguese\female_names.txt", SurnameFile = @"NameFiles\Hispanic\European\Portuguese\surnames.txt" }); subSubRace.AddChild(new CharacterRaceOption("Chilean")); subSubRace.AddChild(new CharacterRaceOption("Colombian")); subSubRace.AddChild(new CharacterRaceOption("Ecuadorian")); subSubRace.AddChild(new CharacterRaceOption("Peruvian")); subSubRace.AddChild(new CharacterRaceOption("Venezuelan")); subRace.AddChild(subSubRace); race.AddChild(subRace); subRace = new CharacterRaceOption("European") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Portuguese") { MaleNameFile = @"NameFiles\Hispanic\European\Portuguese\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\European\Portuguese\female_names.txt", SurnameFile = @"NameFiles\Hispanic\European\Portuguese\surnames.txt" }); subRace.AddChild(new CharacterRaceOption("Spanish")); race.AddChild(subRace); race.AddChild(new CharacterRaceOption("Filipino") { MaleNameFile = @"NameFiles\Asian\Southeast Asian\Filipino\male_names.txt", FemaleNameFile = @"NameFiles\Asian\Southeast Asian\Filipino\female_names.txt", SurnameFile = @"NameFiles\Asian\Southeast Asian\Filipino\surnames.txt" }); defaultTemplate.CharacterTemplate.Races.AddChild(race); #endregion Hispanic #region Indigenous Peoples race = new CharacterRaceOption("Indigenous Peoples") { IsChoice = true, IsManualMultiSelect = true, AllowsNone = true }; subRace = new CharacterRaceOption("Indigenous American") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Indigenous Central American") { MaleNameFile = @"NameFiles\Hispanic\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\female_names.txt", SurnameFile = @"NameFiles\Hispanic\surnames.txt" }); subRace.AddChild(new CharacterRaceOption("Indigenous North American") { MaleNameFile = @"NameFiles\Indigenous Peoples\Indigenous American\Indigenous North American\male_names.txt", FemaleNameFile = @"NameFiles\Indigenous Peoples\Indigenous American\Indigenous North American\female_names.txt", SurnameFile = @"NameFiles\Indigenous Peoples\Indigenous American\Indigenous North American\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Indigenous Peoples\Indigenous American\Indigenous North American"); subRace.AddChild(new CharacterRaceOption("Indigenous South American") { MaleNameFile = @"NameFiles\Hispanic\male_names.txt", FemaleNameFile = @"NameFiles\Hispanic\female_names.txt", SurnameFile = @"NameFiles\Hispanic\surnames.txt" }); race.AddChild(subRace); race.AddChild(new CharacterRaceOption("Indigenous Australian") { MaleNameFile = @"NameFiles\Indigenous Peoples\Indigenous Australian\male_names.txt", FemaleNameFile = @"NameFiles\Indigenous Peoples\Indigenous Australian\female_names.txt", SurnameFile = @"NameFiles\Indigenous Peoples\Indigenous Australian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Indigenous Peoples\Indigenous Australian"); race.AddChild(new CharacterRaceOption("Oceania Native") { MaleNameFile = @"NameFiles\Indigenous Peoples\Oceania Native\male_names.txt", FemaleNameFile = @"NameFiles\Indigenous Peoples\Oceania Native\female_names.txt", SurnameFile = @"NameFiles\Indigenous Peoples\Oceania Native\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Indigenous Peoples\Oceania Native"); defaultTemplate.CharacterTemplate.Races.AddChild(race); #endregion Indigenous Peoples #region Middle Eastern race = new CharacterRaceOption("Middle Eastern") { IsChoice = true, IsManualMultiSelect = true, MaleNameFile = @"NameFiles\Middle Eastern\male_names.txt", FemaleNameFile = @"NameFiles\Middle Eastern\female_names.txt", SurnameFile = @"NameFiles\Middle Eastern\surnames.txt" }; subRace = new CharacterRaceOption("Northern African") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Algerian")); subRace.AddChild(new CharacterRaceOption("Egyptian")); subRace.AddChild(new CharacterRaceOption("Moroccan")); subRace.AddChild(new CharacterRaceOption("Sudanese")); subRace.AddChild(new CharacterRaceOption("Tunisian")); race.AddChild(subRace); subRace = new CharacterRaceOption("Western Asian") { IsChoice = true, IsManualMultiSelect = true }; subRace.AddChild(new CharacterRaceOption("Azerbaijani") { MaleNameFile = @"NameFiles\Middle Eastern\Western Asian\Azerbaijani\male_names.txt", FemaleNameFile = @"NameFiles\Middle Eastern\Western Asian\Azerbaijani\female_names.txt", SurnameFile = @"NameFiles\Middle Eastern\Western Asian\Azerbaijani\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Middle Eastern\Western Asian\Azerbaijani"); subRace.AddChild(new CharacterRaceOption("Emirati")); subRace.AddChild(new CharacterRaceOption("Iranian") { MaleNameFile = @"NameFiles\Middle Eastern\Western Asian\Iranian\male_names.txt", FemaleNameFile = @"NameFiles\Middle Eastern\Western Asian\Iranian\female_names.txt", SurnameFile = @"NameFiles\Middle Eastern\Western Asian\Iranian\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Middle Eastern\Western Asian\Iranian"); subRace.AddChild(new CharacterRaceOption("Iraqi")); subRace.AddChild(new CharacterRaceOption("Israeli") { MaleNameFile = @"NameFiles\Middle Eastern\Western Asian\Israeli\male_names.txt", FemaleNameFile = @"NameFiles\Middle Eastern\Western Asian\Israeli\female_names.txt", SurnameFile = @"NameFiles\Middle Eastern\Western Asian\Israeli\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Middle Eastern\Western Asian\Israeli"); subRace.AddChild(new CharacterRaceOption("Jordanian")); subRace.AddChild(new CharacterRaceOption("Palestinian")); subRace.AddChild(new CharacterRaceOption("Saudi")); subRace.AddChild(new CharacterRaceOption("Syrian")); subRace.AddChild(new CharacterRaceOption("Turkish") { MaleNameFile = @"NameFiles\Middle Eastern\Western Asian\Turkish\male_names.txt", FemaleNameFile = @"NameFiles\Middle Eastern\Western Asian\Turkish\female_names.txt", SurnameFile = @"NameFiles\Middle Eastern\Western Asian\Turkish\surnames.txt" }); if (canCreateNames) canCreateNames = CreateNameFiles(@"NameFiles\Middle Eastern\Western Asian\Israeli"); subRace.AddChild(new CharacterRaceOption("Yemeni")); race.AddChild(subRace); defaultTemplate.CharacterTemplate.Races.AddChild(race); #endregion Middle Eastern }