diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index c23d2e2ee0d711db00d58462112dc14815bb2865..4437281b79c1dc0c64a15a073c53fc5adc1b8a96 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -23286,3 +23286,1091 @@ window.clothing2artSuffix = function(v) {
           ) /* CamelCase by whitespace */
           .replace(/\W/g,""); /* remove remaining whitespace */
 };
+
+/*:: Slave Generation JS [script]*/
+
+window.generateAge = function generateAge(slave) {
+	const V = State.variables;
+
+	if (V.activeSlaveOneTimeMaxAge > 998) {
+		V.activeSlaveOneTimeMaxAge = (V.pedo_mode === 1) ? 18 : 42;
+	} else if (V.pedo_mode === 1 && V.one_time_age_overrides_pedo_mode === 0 && V.activeSlaveOneTimeMaxAge > 18) {
+		V.activeSlaveOneTimeMaxAge = 18;
+	}
+	if (V.retirementAge < V.activeSlaveOneTimeMaxAge) {
+		V.activeSlaveOneTimeMaxAge = (V.retirementAge - 1);
+	}
+	if (V.activeSlaveOneTimeMinAge < V.minimumSlaveAge) {
+		V.activeSlaveOneTimeMinAge = V.minimumSlaveAge;
+	} else if (V.pedo_mode === 1 && V.one_time_age_overrides_pedo_mode === 0) {
+		V.activeSlaveOneTimeMinAge = V.minimumSlaveAge;
+	}
+	if (V.activeSlaveOneTimeMaxAge < V.activeSlaveOneTimeMinAge) {
+		V.activeSlaveOneTimeMaxAge = V.activeSlaveOneTimeMinAge;
+	}
+	if (V.activeSlaveOneTimeMaxAge >= 30 && V.arcologies[0].FSMaturityPreferentialist !== "unset" && V.ageAdjustOverride !== 1) {
+		V.activeSlaveOneTimeMaxAge += 10;
+	}
+	slave.actualAge = jsRandom(V.activeSlaveOneTimeMinAge, V.activeSlaveOneTimeMaxAge);
+	const secondAgeRoll = jsRandom(V.activeSlaveOneTimeMinAge, V.activeSlaveOneTimeMaxAge);
+	if (V.arcologies[0].FSYouthPreferentialist !== "unset" && V.arcologies[0].FSYouthPreferentialist >= jsRandom(1, 100)) {
+		slave.actualAge = Math.min(slave.actualAge, secondAgeRoll);
+	} else if (V.arcologies[0].FSMaturityPreferentialist !== "unset" && V.arcologies[0].FSMaturityPreferentialist >= jsRandom(1, 100)) {
+		slave.actualAge = Math.max(slave.actualAge, secondAgeRoll);
+	}
+	if (slave.actualAge >= V.retirementAge) {
+		slave.actualAge = (V.retirementAge - 2);
+	}
+	V.activeSlaveOneTimeMinAge = 0;
+	V.activeSlaveOneTimeMaxAge = 999;
+	V.one_time_age_overrides_pedo_mode = 0;
+	V.ageAdjustOverride = 0;
+	slave.visualAge = slave.actualAge;
+	slave.physicalAge = slave.actualAge;
+	slave.ovaryAge = slave.actualAge;
+	slave.age = slave.actualAge; /*compatibility*/
+	slave.pubertyAgeXX = V.fertilityAge;
+	slave.pubertyAgeXY = V.potencyAge;
+};
+
+window.nationalityToName = function nationalityToName(slave) {
+	const V = State.variables;
+
+	slave.birthName =
+		jsEither(setup.namePoolSelector[slave.nationality + "." + slave.race] ||
+			setup.namePoolSelector[slave.nationality] ||
+			setup.whiteAmericanSlaveNames);
+	slave.birthSurname =
+		jsEither(setup.surnamePoolSelector[slave.nationality + "." + slave.race] ||
+			setup.surnamePoolSelector[slave.nationality] ||
+			setup.whiteAmericanSlaveSurnames);
+	slave.slaveName = slave.birthName;
+	slave.slaveSurname = slave.birthSurname;
+	if (V.useFSNames === 1) {
+		if (V.arcologies[0].FSChattelReligionist > 20) {
+			slave.slaveName = jsEither(setup.chattelReligionistSlaveNames), slave.slaveSurname = 0;
+		} else if (V.arcologies[0].FSRomanRevivalist > 20) {
+			slave.slaveName = jsEither(setup.romanSlaveNames), slave.slaveSurname = jsEither(setup.romanSlaveSurnames);
+		} else if (V.arcologies[0].FSAztecRevivalist > 20) {
+			slave.slaveName = jsEither(setup.aztecSlaveNames), slave.slaveSurname = 0;
+		} else if (V.arcologies[0].FSEgyptianRevivalist > 20) {
+			slave.slaveName = jsEither(setup.ancientEgyptianSlaveNames), slave.slaveSurname = 0;
+		} else if (V.arcologies[0].FSEdoRevivalist > 20) {
+			slave.slaveName = jsEither(setup.edoSlaveNames), slave.slaveSurname = jsEither(setup.edoSlaveSurnames);
+		} else if (V.arcologies[0].FSDegradationist !== "unset") {
+			DegradingName(slave);
+		}
+	}
+};
+
+window.nationalityToAccent = function nationalityToAccent(slave) {
+	const V = State.variables;
+	const naturalAccent = jsEither([0, 1, 1, 2, 2, 2, 3, 3, 3, 3]);
+
+	switch (slave.nationality) {
+		case "Afghan":
+			slave.accent = (V.language === "Pashto") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Albanian":
+			slave.accent = naturalAccent;
+			break;
+		case "Algerian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "American":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Spanish" && slave.race === "latina") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Chinese" && slave.race === "asian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Arabic" && slave.race === "middle eastern") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Andorran":
+			slave.accent = (V.language === "Catalan") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Angolan":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Antiguan":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Argentinian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Armenian":
+			if (V.language === "Russian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Aruban":
+			if (V.language === "Dutch") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Portuguese") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Australian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Austrian":
+			if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Serbian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Slovene") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Turkish" && slave.race === "middle eastern") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Azerbaijani":
+			slave.accent = naturalAccent;
+			break;
+		case "Bahamian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Bahraini":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Bangladeshi":
+			if (V.language === "Bengali") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Hindi") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Barbadian":
+			slave.accent = naturalAccent;
+			break;
+		case "Belarusian":
+			slave.accent = naturalAccent;
+			break;
+		case "Belgian":
+			if (V.language === "Dutch") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Belizean":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Beninese":
+			slave.accent = (V.language === "French") ? 1 : naturalAccent;
+			break;
+		case "Bermudian":
+			slave.accent = (V.language === "English") ? 1 : naturalAccent;
+			break;
+		case "Bhutanese":
+			slave.accent = (V.language === "Dzongkha") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Bissau-Guinean":
+			slave.accent = (V.language === "Portuguese") ? 1 : naturalAccent;
+			break;
+		case "Bolivian":
+			slave.accent = (V.language === "Spanish") ? 1 : naturalAccent;
+			break;
+		case "Bosnian":
+			slave.accent = naturalAccent;
+			break;
+		case "Brazilian":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "British":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Bruneian":
+			if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Bulgarian":
+			slave.accent = naturalAccent;
+			break;
+		case "Burkinabé":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Burmese":
+			slave.accent = naturalAccent;
+			break;
+		case "Burundian":
+			slave.accent = (V.language === "Kirundi") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Cambodian":
+			if (V.language === "Khmer") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Cham") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Cameroonian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Canadian":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Cape Verdean":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Catalan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Central African":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Chadian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Chilean":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Chinese":
+			if (V.language === "Tibetan") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Korean") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Kazakh") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Colombian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Comorian":
+			if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Congolese":
+			if (V.language === "Lingala") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Kikongo") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "a Cook Islander":
+			if (V.language === "Cook Islands Māori") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Costa Rican":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Croatian":
+			slave.accent = naturalAccent;
+			break;
+		case "Cuban":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Cypriot":
+			if (V.language === "Greek") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Turkish") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Czech":
+			slave.accent = naturalAccent;
+			break;
+		case "Danish":
+			slave.accent = naturalAccent;
+			break;
+		case "Djiboutian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Dominican":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Dominiquais":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Dutch":
+			slave.accent = naturalAccent;
+			break;
+		case "East Timorese":
+			if (V.language === "Tetum") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Portuguese") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Ecuadorian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Egyptian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Emirati":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Equatoguinean":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Eritrean":
+			if (V.language === "Tigrinya") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Estonian":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Ethiopian":
+			if (V.language === "Amharic") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Tigrinya") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Fijian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Filipina":
+			if (V.language === "Filipino") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Tagalog") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Spanish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Finnish":
+			slave.accent = (V.language === "Swedish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "French":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Spanish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Arabic" && slave.race === "middle eastern") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Catalan") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "French Guianan":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "French Polynesian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Gabonese":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Gambian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Georgian":
+			slave.accent = (V.language === "Abkhaz") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "German":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Turkish" && slave.race === "middle eastern") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Ghanan":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Hausa") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Greek":
+			slave.accent = naturalAccent;
+			break;
+		case "Greenlandic":
+			slave.accent = (V.language === "Danish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Grenadian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Guamanian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Guatemalan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Guinean":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Guyanese":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Haitian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Honduran":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Hungarian":
+			slave.accent = naturalAccent;
+			break;
+		case "I-Kiribati":
+			if (V.language === "Gilbertese") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Icelandic":
+			if (V.language === "Danish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Indian":
+			if (V.language === "Hindi") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Indonesian":
+			slave.accent = (V.language === "Malay") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Iranian":
+			if (V.language === "Persian") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Iraqi":
+			if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Kurdish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Irish":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Israeli":
+			if (V.language === "Hebrew") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Italian":
+			slave.accent = naturalAccent;
+			break;
+		case "Ivorian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Jamaican":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Japanese":
+			slave.accent = naturalAccent;
+			break;
+		case "Jordanian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Kazakh":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Kenyan":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Kittitian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Korean":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Kosovan":
+			if (V.language === "Albanian") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Serbian") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Kurdish":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Kuwaiti":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Kyrgyz":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Laotian":
+			if (V.language === "Lao") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Khmu") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Latvian":
+			slave.accent = naturalAccent;
+			break;
+		case "Lebanese":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Liberian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Libyan":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "a Liechtensteiner":
+			slave.accent = (V.language === "German") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Lithuanian":
+			slave.accent = naturalAccent;
+			break;
+		case "Luxembourgian":
+			if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Macedonian":
+			slave.accent = naturalAccent;
+			break;
+		case "Malagasy":
+			slave.accent = naturalAccent;
+			break;
+		case "Malawian":
+			slave.accent = naturalAccent;
+			break;
+		case "Malaysian":
+			slave.accent = (V.language === "Malay") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Maldivian":
+			slave.accent = naturalAccent;
+			break;
+		case "Malian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Maltese":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Italian") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Marshallese":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Mauritanian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Mauritian":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Mexican":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Micronesian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Moldovan":
+			slave.accent = naturalAccent;
+			break;
+		case "Monégasque":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Mongolian":
+			slave.accent = naturalAccent;
+			break;
+		case "Montenegrin":
+			slave.accent = naturalAccent;
+			break;
+		case "Moroccan":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Mosotho":
+			slave.accent = naturalAccent;
+			break;
+		case "Motswana":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Mozambican":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Namibian":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Afrikaans") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Nauruan":
+			slave.accent = naturalAccent;
+			break;
+		case "Nepalese":
+			slave.accent = naturalAccent;
+			break;
+		case "New Caledonian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "a New Zealander":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Ni-Vanuatu":
+			if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Nicaraguan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Nigerian":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Hausa") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Nigerien":
+			if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Hausa") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Niuean":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Norwegian":
+			slave.accent = naturalAccent;
+			break;
+		case "Omani":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Pakistani":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Palauan":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Sonsorolese") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Tobian") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Japanese") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Palestinian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Panamanian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Papua New Guinean":
+			slave.accent = naturalAccent;
+			break;
+		case "Paraguayan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Peruvian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Polish":
+			slave.accent = naturalAccent;
+			break;
+		case "Portuguese":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Puerto Rican":
+			if (V.language === "Spanish") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Qatari":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Romanian":
+			slave.accent = naturalAccent;
+			break;
+		case "Russian":
+			slave.accent = naturalAccent;
+			break;
+		case "Rwandan":
+			slave.accent = (V.language === "Kinyarwanda") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Sahrawi":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Saint Lucian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Salvadoran":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Sammarinese":
+			slave.accent = (V.language === "Italian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Samoan":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "São Toméan":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Saudi":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Scottish":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Senegalese":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Serbian":
+			slave.accent = naturalAccent;
+			break;
+		case "Seychellois":
+			if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Sierra Leonean":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Singaporean":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Chinese") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Tamil") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Slovak":
+			slave.accent = naturalAccent;
+			break;
+		case "Slovene":
+			slave.accent = naturalAccent;
+			break;
+		case "a Solomon Islander":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Somali":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "South African":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Afrikaans") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "South Sudanese":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Spanish":
+			slave.accent = (V.language === "Catalan") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Sri Lankan":
+			if (V.language === "Sinhalese") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Tamil") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Sudanese":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Surinamese":
+			slave.accent = (V.language === "Dutch") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Swazi":
+			slave.accent = naturalAccent;
+			break;
+		case "Swedish":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Finnish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Norwegian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Swiss":
+			if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Italian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Syrian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Taiwanese":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Tajik":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Tanzanian":
+			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Thai":
+			if (V.language === "Chinese") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Khmer") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Tibetan":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Togolese":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Tongan":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Trinidadian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Tunisian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Turkish":
+			slave.accent = naturalAccent;
+			break;
+		case "Turkmen":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Tuvaluan":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Ugandan":
+			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Ukrainian":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Uruguayan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Uzbek":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Vatican":
+			slave.accent = (V.language === "Italian") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Venezuelan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Vietnamese":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Vincentian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Yemeni":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Zairian":
+			if (V.language === "Lingala") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Kikongo") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Swahili") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Zambian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Zimbabwean":
+			slave.accent = (V.language === "English" && slave.race === "white") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Ancient Chinese Revivalist":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Ancient Egyptian Revivalist":
+			slave.accent = (V.language === "Ancient Egyptian") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Arabian Revivalist":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Aztec Revivalist":
+			slave.accent = (V.language === "Nahuatl") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Edo Revivalist":
+			slave.accent = (V.language === "Japanese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Roman Revivalist":
+			slave.accent = (V.language === "Latin") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		default:
+			slave.accent = naturalAccent;
+			break;
+	}
+
+	if (slave.nationality === V.language) {
+		slave.accent = jsEither([0, 0, 0, 1]);
+	}
+};
diff --git a/src/SecExp/secExpSmilingMan.tw b/src/SecExp/secExpSmilingMan.tw
index 3b5bdc33909b093f755e12263700892d3dc9c1fb..fd847619047832e2250b70cda5451d88c2f0b212 100644
--- a/src/SecExp/secExpSmilingMan.tw
+++ b/src/SecExp/secExpSmilingMan.tw
@@ -322,8 +322,8 @@
 		<<set $activeSlave.nationality = "Japanese">>
 		<<set $activeSlave.intelligence = 3>>
 		<<set $activeSlave.intelligenceImplant = 1>>
-		<<NationalityToName $activeSlave>>
-		<<NationalityToAccent $activeSlave>>
+		<<run nationalityToName($activeSlave)>>
+		<<run nationalityToAccent($activeSlave)>>
 		<<NationalityToRace $activeSlave>>
 		<<set $activeSlave.slaveSurname = "Yamadera">>
 		<<set $activeSlave.birthSurname = "Yamadera">>
diff --git a/src/js/slaveGenerationJS.tw b/src/js/slaveGenerationJS.tw
new file mode 100644
index 0000000000000000000000000000000000000000..1b520f2ab5ac3b6c02f21b1f79f4752d62f63f8f
--- /dev/null
+++ b/src/js/slaveGenerationJS.tw
@@ -0,0 +1,1087 @@
+:: Slave Generation JS [script]
+
+window.generateAge = function generateAge(slave) {
+	const V = State.variables;
+
+	if (V.activeSlaveOneTimeMaxAge > 998) {
+		V.activeSlaveOneTimeMaxAge = (V.pedo_mode === 1) ? 18 : 42;
+	} else if (V.pedo_mode === 1 && V.one_time_age_overrides_pedo_mode === 0 && V.activeSlaveOneTimeMaxAge > 18) {
+		V.activeSlaveOneTimeMaxAge = 18;
+	}
+	if (V.retirementAge < V.activeSlaveOneTimeMaxAge) {
+		V.activeSlaveOneTimeMaxAge = (V.retirementAge - 1);
+	}
+	if (V.activeSlaveOneTimeMinAge < V.minimumSlaveAge) {
+		V.activeSlaveOneTimeMinAge = V.minimumSlaveAge;
+	} else if (V.pedo_mode === 1 && V.one_time_age_overrides_pedo_mode === 0) {
+		V.activeSlaveOneTimeMinAge = V.minimumSlaveAge;
+	}
+	if (V.activeSlaveOneTimeMaxAge < V.activeSlaveOneTimeMinAge) {
+		V.activeSlaveOneTimeMaxAge = V.activeSlaveOneTimeMinAge;
+	}
+	if (V.activeSlaveOneTimeMaxAge >= 30 && V.arcologies[0].FSMaturityPreferentialist !== "unset" && V.ageAdjustOverride !== 1) {
+		V.activeSlaveOneTimeMaxAge += 10;
+	}
+	slave.actualAge = jsRandom(V.activeSlaveOneTimeMinAge, V.activeSlaveOneTimeMaxAge);
+	const secondAgeRoll = jsRandom(V.activeSlaveOneTimeMinAge, V.activeSlaveOneTimeMaxAge);
+	if (V.arcologies[0].FSYouthPreferentialist !== "unset" && V.arcologies[0].FSYouthPreferentialist >= jsRandom(1, 100)) {
+		slave.actualAge = Math.min(slave.actualAge, secondAgeRoll);
+	} else if (V.arcologies[0].FSMaturityPreferentialist !== "unset" && V.arcologies[0].FSMaturityPreferentialist >= jsRandom(1, 100)) {
+		slave.actualAge = Math.max(slave.actualAge, secondAgeRoll);
+	}
+	if (slave.actualAge >= V.retirementAge) {
+		slave.actualAge = (V.retirementAge - 2);
+	}
+	V.activeSlaveOneTimeMinAge = 0;
+	V.activeSlaveOneTimeMaxAge = 999;
+	V.one_time_age_overrides_pedo_mode = 0;
+	V.ageAdjustOverride = 0;
+	slave.visualAge = slave.actualAge;
+	slave.physicalAge = slave.actualAge;
+	slave.ovaryAge = slave.actualAge;
+	slave.age = slave.actualAge; /*compatibility*/
+	slave.pubertyAgeXX = V.fertilityAge;
+	slave.pubertyAgeXY = V.potencyAge;
+};
+
+window.nationalityToName = function nationalityToName(slave) {
+	const V = State.variables;
+
+	slave.birthName =
+		jsEither(setup.namePoolSelector[slave.nationality + "." + slave.race] ||
+			setup.namePoolSelector[slave.nationality] ||
+			setup.whiteAmericanSlaveNames);
+	slave.birthSurname =
+		jsEither(setup.surnamePoolSelector[slave.nationality + "." + slave.race] ||
+			setup.surnamePoolSelector[slave.nationality] ||
+			setup.whiteAmericanSlaveSurnames);
+	slave.slaveName = slave.birthName;
+	slave.slaveSurname = slave.birthSurname;
+	if (V.useFSNames === 1) {
+		if (V.arcologies[0].FSChattelReligionist > 20) {
+			slave.slaveName = jsEither(setup.chattelReligionistSlaveNames), slave.slaveSurname = 0;
+		} else if (V.arcologies[0].FSRomanRevivalist > 20) {
+			slave.slaveName = jsEither(setup.romanSlaveNames), slave.slaveSurname = jsEither(setup.romanSlaveSurnames);
+		} else if (V.arcologies[0].FSAztecRevivalist > 20) {
+			slave.slaveName = jsEither(setup.aztecSlaveNames), slave.slaveSurname = 0;
+		} else if (V.arcologies[0].FSEgyptianRevivalist > 20) {
+			slave.slaveName = jsEither(setup.ancientEgyptianSlaveNames), slave.slaveSurname = 0;
+		} else if (V.arcologies[0].FSEdoRevivalist > 20) {
+			slave.slaveName = jsEither(setup.edoSlaveNames), slave.slaveSurname = jsEither(setup.edoSlaveSurnames);
+		} else if (V.arcologies[0].FSDegradationist !== "unset") {
+			DegradingName(slave);
+		}
+	}
+};
+
+window.nationalityToAccent = function nationalityToAccent(slave) {
+	const V = State.variables;
+	const naturalAccent = jsEither([0, 1, 1, 2, 2, 2, 3, 3, 3, 3]);
+
+	switch (slave.nationality) {
+		case "Afghan":
+			slave.accent = (V.language === "Pashto") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Albanian":
+			slave.accent = naturalAccent;
+			break;
+		case "Algerian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "American":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Spanish" && slave.race === "latina") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Chinese" && slave.race === "asian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Arabic" && slave.race === "middle eastern") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Andorran":
+			slave.accent = (V.language === "Catalan") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Angolan":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Antiguan":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Argentinian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Armenian":
+			if (V.language === "Russian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Aruban":
+			if (V.language === "Dutch") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Portuguese") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Australian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Austrian":
+			if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Serbian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Slovene") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Turkish" && slave.race === "middle eastern") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Azerbaijani":
+			slave.accent = naturalAccent;
+			break;
+		case "Bahamian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Bahraini":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Bangladeshi":
+			if (V.language === "Bengali") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Hindi") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Barbadian":
+			slave.accent = naturalAccent;
+			break;
+		case "Belarusian":
+			slave.accent = naturalAccent;
+			break;
+		case "Belgian":
+			if (V.language === "Dutch") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Belizean":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Beninese":
+			slave.accent = (V.language === "French") ? 1 : naturalAccent;
+			break;
+		case "Bermudian":
+			slave.accent = (V.language === "English") ? 1 : naturalAccent;
+			break;
+		case "Bhutanese":
+			slave.accent = (V.language === "Dzongkha") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Bissau-Guinean":
+			slave.accent = (V.language === "Portuguese") ? 1 : naturalAccent;
+			break;
+		case "Bolivian":
+			slave.accent = (V.language === "Spanish") ? 1 : naturalAccent;
+			break;
+		case "Bosnian":
+			slave.accent = naturalAccent;
+			break;
+		case "Brazilian":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "British":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Bruneian":
+			if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Bulgarian":
+			slave.accent = naturalAccent;
+			break;
+		case "Burkinabé":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Burmese":
+			slave.accent = naturalAccent;
+			break;
+		case "Burundian":
+			slave.accent = (V.language === "Kirundi") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Cambodian":
+			if (V.language === "Khmer") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Cham") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Cameroonian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Canadian":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Cape Verdean":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Catalan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Central African":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Chadian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Chilean":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Chinese":
+			if (V.language === "Tibetan") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Korean") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Kazakh") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Colombian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Comorian":
+			if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Congolese":
+			if (V.language === "Lingala") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Kikongo") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "a Cook Islander":
+			if (V.language === "Cook Islands Māori") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Costa Rican":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Croatian":
+			slave.accent = naturalAccent;
+			break;
+		case "Cuban":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Cypriot":
+			if (V.language === "Greek") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Turkish") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Czech":
+			slave.accent = naturalAccent;
+			break;
+		case "Danish":
+			slave.accent = naturalAccent;
+			break;
+		case "Djiboutian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Dominican":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Dominiquais":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Dutch":
+			slave.accent = naturalAccent;
+			break;
+		case "East Timorese":
+			if (V.language === "Tetum") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Portuguese") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Ecuadorian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Egyptian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Emirati":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Equatoguinean":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Eritrean":
+			if (V.language === "Tigrinya") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Estonian":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Ethiopian":
+			if (V.language === "Amharic") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Tigrinya") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Fijian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Filipina":
+			if (V.language === "Filipino") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Tagalog") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Spanish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Finnish":
+			slave.accent = (V.language === "Swedish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "French":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Spanish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Arabic" && slave.race === "middle eastern") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Catalan") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "French Guianan":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "French Polynesian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Gabonese":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Gambian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Georgian":
+			slave.accent = (V.language === "Abkhaz") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "German":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Turkish" && slave.race === "middle eastern") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Ghanan":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Hausa") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Greek":
+			slave.accent = naturalAccent;
+			break;
+		case "Greenlandic":
+			slave.accent = (V.language === "Danish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Grenadian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Guamanian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Guatemalan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Guinean":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Guyanese":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Haitian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Honduran":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Hungarian":
+			slave.accent = naturalAccent;
+			break;
+		case "I-Kiribati":
+			if (V.language === "Gilbertese") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Icelandic":
+			if (V.language === "Danish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Indian":
+			if (V.language === "Hindi") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Indonesian":
+			slave.accent = (V.language === "Malay") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Iranian":
+			if (V.language === "Persian") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Iraqi":
+			if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Kurdish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Irish":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Israeli":
+			if (V.language === "Hebrew") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Italian":
+			slave.accent = naturalAccent;
+			break;
+		case "Ivorian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Jamaican":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Japanese":
+			slave.accent = naturalAccent;
+			break;
+		case "Jordanian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Kazakh":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Kenyan":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Kittitian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Korean":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Kosovan":
+			if (V.language === "Albanian") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Serbian") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Kurdish":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Kuwaiti":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Kyrgyz":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Laotian":
+			if (V.language === "Lao") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Khmu") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Latvian":
+			slave.accent = naturalAccent;
+			break;
+		case "Lebanese":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Liberian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Libyan":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "a Liechtensteiner":
+			slave.accent = (V.language === "German") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Lithuanian":
+			slave.accent = naturalAccent;
+			break;
+		case "Luxembourgian":
+			if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Macedonian":
+			slave.accent = naturalAccent;
+			break;
+		case "Malagasy":
+			slave.accent = naturalAccent;
+			break;
+		case "Malawian":
+			slave.accent = naturalAccent;
+			break;
+		case "Malaysian":
+			slave.accent = (V.language === "Malay") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Maldivian":
+			slave.accent = naturalAccent;
+			break;
+		case "Malian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Maltese":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Italian") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Marshallese":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Mauritanian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Mauritian":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Mexican":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Micronesian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Moldovan":
+			slave.accent = naturalAccent;
+			break;
+		case "Monégasque":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Mongolian":
+			slave.accent = naturalAccent;
+			break;
+		case "Montenegrin":
+			slave.accent = naturalAccent;
+			break;
+		case "Moroccan":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Mosotho":
+			slave.accent = naturalAccent;
+			break;
+		case "Motswana":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Mozambican":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Namibian":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Afrikaans") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Nauruan":
+			slave.accent = naturalAccent;
+			break;
+		case "Nepalese":
+			slave.accent = naturalAccent;
+			break;
+		case "New Caledonian":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "a New Zealander":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Ni-Vanuatu":
+			if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Nicaraguan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Nigerian":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Hausa") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Nigerien":
+			if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Hausa") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Arabic") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Niuean":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Norwegian":
+			slave.accent = naturalAccent;
+			break;
+		case "Omani":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Pakistani":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Palauan":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Sonsorolese") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Tobian") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Japanese") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Palestinian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Panamanian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Papua New Guinean":
+			slave.accent = naturalAccent;
+			break;
+		case "Paraguayan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Peruvian":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Polish":
+			slave.accent = naturalAccent;
+			break;
+		case "Portuguese":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Puerto Rican":
+			if (V.language === "Spanish") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Qatari":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Romanian":
+			slave.accent = naturalAccent;
+			break;
+		case "Russian":
+			slave.accent = naturalAccent;
+			break;
+		case "Rwandan":
+			slave.accent = (V.language === "Kinyarwanda") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Sahrawi":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Saint Lucian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Salvadoran":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Sammarinese":
+			slave.accent = (V.language === "Italian") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Samoan":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "São Toméan":
+			slave.accent = (V.language === "Portuguese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Saudi":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Scottish":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Senegalese":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Serbian":
+			slave.accent = naturalAccent;
+			break;
+		case "Seychellois":
+			if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Sierra Leonean":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Singaporean":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Chinese") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Tamil") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Slovak":
+			slave.accent = naturalAccent;
+			break;
+		case "Slovene":
+			slave.accent = naturalAccent;
+			break;
+		case "a Solomon Islander":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Somali":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "South African":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Afrikaans") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "South Sudanese":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Spanish":
+			slave.accent = (V.language === "Catalan") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Sri Lankan":
+			if (V.language === "Sinhalese") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Tamil") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Sudanese":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Surinamese":
+			slave.accent = (V.language === "Dutch") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Swazi":
+			slave.accent = naturalAccent;
+			break;
+		case "Swedish":
+			if (V.language === "English") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Finnish") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Norwegian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Swiss":
+			if (V.language === "German") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Italian") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Syrian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Taiwanese":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Tajik":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Tanzanian":
+			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Thai":
+			if (V.language === "Chinese") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Malay") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else if (V.language === "Khmer") {
+				slave.accent = jsEither([0, 1, 2, 2, 2, 3, 3]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Tibetan":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Togolese":
+			slave.accent = (V.language === "French") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Tongan":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Trinidadian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Tunisian":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Turkish":
+			slave.accent = naturalAccent;
+			break;
+		case "Turkmen":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Tuvaluan":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Ugandan":
+			slave.accent = (V.language === "Swahili") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Ukrainian":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Uruguayan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Uzbek":
+			slave.accent = (V.language === "Russian") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Vatican":
+			slave.accent = (V.language === "Italian") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Venezuelan":
+			slave.accent = (V.language === "Spanish") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Vietnamese":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 1, 2, 2, 2, 3, 3]) : naturalAccent;
+			break;
+		case "Vincentian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Yemeni":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Zairian":
+			if (V.language === "Lingala") {
+				slave.accent = jsEither([0, 0, 0, 1]);
+			} else if (V.language === "Kikongo") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "Swahili") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else if (V.language === "French") {
+				slave.accent = jsEither([0, 1, 1, 1, 2]);
+			} else {
+				slave.accent = naturalAccent;
+			}
+			break;
+		case "Zambian":
+			slave.accent = (V.language === "English") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Zimbabwean":
+			slave.accent = (V.language === "English" && slave.race === "white") ? jsEither([0, 1, 1, 1, 2]) : naturalAccent;
+			break;
+		case "Ancient Chinese Revivalist":
+			slave.accent = (V.language === "Chinese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Ancient Egyptian Revivalist":
+			slave.accent = (V.language === "Ancient Egyptian") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Arabian Revivalist":
+			slave.accent = (V.language === "Arabic") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Aztec Revivalist":
+			slave.accent = (V.language === "Nahuatl") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Edo Revivalist":
+			slave.accent = (V.language === "Japanese") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		case "Roman Revivalist":
+			slave.accent = (V.language === "Latin") ? jsEither([0, 0, 0, 1]) : naturalAccent;
+			break;
+		default:
+			slave.accent = naturalAccent;
+			break;
+	}
+
+	if (slave.nationality === V.language) {
+		slave.accent = jsEither([0, 0, 0, 1]);
+	}
+};
diff --git a/src/npc/acquisition.tw b/src/npc/acquisition.tw
index 9682abffdf14da3eccd8094a7c9aed373238b028..e1dc5e3bf15d55ef12eacd9feefe8ec80ca2fbf4 100644
--- a/src/npc/acquisition.tw
+++ b/src/npc/acquisition.tw
@@ -427,7 +427,7 @@ The previous owner seems to have left in something of a hurry.
 	<<case "AztecRevivalist">>
 		<<set $fixedRace = "latina">><<include "Generate New Slave">>
 		<<set $activeSlave.nationality = "Mexican">>
-		<<NationalityToName $activeSlave>>
+		<<run nationalityToName($activeSlave)>>
 		<<set $activeSlave.accent = 0>>
 		<<set $activeSlave.devotion = 75, $activeSlave.trust = 75, $activeSlave.health = random(-20,20)>>
 		<<set $activeSlave.muscles = random(50,75)>>
@@ -451,7 +451,7 @@ The previous owner seems to have left in something of a hurry.
 	<<case "EdoRevivalist">>
 		<<set $fixedRace = "asian">><<include "Generate New Slave">>
 		<<set $activeSlave.nationality = "Japanese">>
-		<<NationalityToName $activeSlave>>
+		<<run nationalityToName($activeSlave)>>
 		<<set $activeSlave.accent = 0>>
 		<<set $activeSlave.devotion = random(25,45), $activeSlave.trust = random(25,45), $activeSlave.health = random(25,45)>>
 		<<set $activeSlave.face = random(15,100)>>
@@ -472,8 +472,8 @@ The previous owner seems to have left in something of a hurry.
 		<<set $one_time_age_overrides_pedo_mode = 1>>
 		<<set $fixedRace = "asian">><<include "Generate New Slave">>
 		<<set $activeSlave.nationality = "Chinese">>
-		<<NationalityToName $activeSlave>>
-		<<NationalityToAccent $activeSlave>>
+		<<run nationalityToName($activeSlave)>>
+		<<run nationalityToAccent($activeSlave)>>
 		<<set $activeSlave.devotion = random(55,65), $activeSlave.trust = random(25,45), $activeSlave.health = random(25,45)>>
 		<<set $activeSlave.face = random(0,55)>>
 		<<set $activeSlave.accent = 0>>
@@ -560,7 +560,7 @@ The previous owner seems to have left in something of a hurry.
 	<<set $dump = $heroSlaves.pluck($j,$j)>>
 	<<slaveCost $activeSlave>>
 	<<if _valueGiven + $slaveCost < _valueOwed*2>>
-		<<NationalityToAccent $activeSlave>>
+		<<run nationalityToAccent($activeSlave)>>
 		<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
 		<<set $activeSlave.oldTrust = $activeSlave.trust>>
 		<<set _valueGiven += $slaveCost>>
diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index e8252453de58cd60b5f1bdbfaed41158ae8c3c29..3c2359eb6bea4d22101c8222be5511ce6ea4f378 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -116,7 +116,7 @@
 	<<set $activeSlave.visualAge = $activeSlave.actualAge>>
 	<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
 	<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-	<<NationalityToName $activeSlave>>
+	<<run nationalityToName($activeSlave)>>
 	<<if _familyName>><<set $activeSlave.slaveSurname = _familyName>><</if>>
 	<<if _familyBirthSurname>><<set $activeSlave.birthSurname = _familyBirthSurname>><</if>>
 	<<set $activeSlave.slaveName = $activeSlave.birthName>>
@@ -131,7 +131,7 @@
 	<</if>>
 	<<set $startingGirlCopied = 0, $startingGirlRelation = 0>>
 <<elseif $archetyped == 1>>
-	<<NationalityToName $activeSlave>>
+	<<run nationalityToName($activeSlave)>>
 	<<set $activeSlave.slaveName = $activeSlave.birthName, $archetyped = 0>>
 <</if>>
 
@@ -392,7 +392,7 @@ __You are customizing this slave:__
 <</link>>
 
 | <<link "Randomize name">>
-<<NationalityToName $activeSlave>>
+<<run nationalityToName($activeSlave)>>
 <<set $activeSlave.slaveName = $activeSlave.birthName>>
 <<SaleDescription>>
 <<StartingGirlsCost>>
diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw
index aa8a46e18b2f68df95ddc21083ae567a615fa841..894234d263a7364e5f54317894d745be67177bfb 100644
--- a/src/uncategorized/REroyalblood.tw
+++ b/src/uncategorized/REroyalblood.tw
@@ -47,7 +47,7 @@
 <<set $activeSlave.physicalAge = $activeSlave.actualAge>>
 <<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
 <<set $activeSlave.genes = "XY">>
-<<NationalityToName $activeSlave>>
+<<run nationalityToName($activeSlave)>>
 <<set $activeSlave.birthSurname = _princess.birthSurname, $activeSlave.slaveSurname = _princess.birthSurname>>
 <<set $activeSlave.career = "a prince">>
 <<set $activeSlave.prestige = 2>>
@@ -99,7 +99,7 @@
 <<set $activeSlave.physicalAge = $activeSlave.actualAge>>
 <<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
 <<set $activeSlave.genes = "XX">>
-<<NationalityToName $activeSlave>>
+<<run nationalityToName($activeSlave)>>
 <<set $activeSlave.birthSurname = _princess.birthSurname, $activeSlave.slaveSurname = _princess.birthSurname>>
 <<set $activeSlave.career = "a Queen">>
 <<set $activeSlave.prestige = 2>>
diff --git a/src/uncategorized/changeLanguage.tw b/src/uncategorized/changeLanguage.tw
index fb6f040dd9a5b9d263654274eeb27664a32363c8..7b6dd3fd1b4bcf2141a148a14dd7d6603f9577e3 100644
--- a/src/uncategorized/changeLanguage.tw
+++ b/src/uncategorized/changeLanguage.tw
@@ -49,7 +49,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language
 	<<set $arcologies[0].prosperity = Math.trunc(0.9*$arcologies[0].prosperity)>>
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<if $slaves[$i].fetish != "mindbroken">>
-			<<NationalityToAccent $slaves[$i]>>
+			<<run nationalityToAccent($slaves[$i])>>
 			<<if ($slaves[$i].intelligenceImplant == 1)>>
 			<<if ($slaves[$i].accent >= 3)>>
 			<<if (3+$slaves[$i].intelligence) > random(0,6)>>
@@ -71,7 +71,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language
 	<<set $arcologies[0].prosperity = Math.trunc(0.9*$arcologies[0].prosperity)>>
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<if $slaves[$i].fetish != "mindbroken">>
-			<<NationalityToAccent $slaves[$i]>>
+			<<run nationalityToAccent($slaves[$i])>>
 			<<if ($slaves[$i].intelligenceImplant == 1)>>
 			<<if ($slaves[$i].accent >= 3)>>
 			<<if (3+$slaves[$i].intelligence) > random(0,6)>>
@@ -93,7 +93,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language
 	<<set $arcologies[0].prosperity = Math.trunc(0.9*$arcologies[0].prosperity)>>
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<if $slaves[$i].fetish != "mindbroken">>
-			<<NationalityToAccent $slaves[$i]>>
+			<<run nationalityToAccent($slaves[$i])>>
 			<<if ($slaves[$i].intelligenceImplant == 1)>>
 			<<if ($slaves[$i].accent >= 3)>>
 			<<if (3+$slaves[$i].intelligence) > random(0,6)>>
@@ -115,7 +115,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language
 	<<set $arcologies[0].prosperity = Math.trunc(0.9*$arcologies[0].prosperity)>>
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<if $slaves[$i].fetish != "mindbroken">>
-			<<NationalityToAccent $slaves[$i]>>
+			<<run nationalityToAccent($slaves[$i])>>
 			<<if ($slaves[$i].intelligenceImplant == 1)>>
 			<<if ($slaves[$i].accent >= 3)>>
 			<<if (3+$slaves[$i].intelligence) > random(0,6)>>
@@ -137,7 +137,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language
 	<<set $arcologies[0].prosperity = Math.trunc(0.9*$arcologies[0].prosperity)>>
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<if $slaves[$i].fetish != "mindbroken">>
-			<<NationalityToAccent $slaves[$i]>>
+			<<run nationalityToAccent($slaves[$i])>>
 			<<if ($slaves[$i].intelligenceImplant == 1)>>
 			<<if ($slaves[$i].accent >= 3)>>
 			<<if (3+$slaves[$i].intelligence) > random(0,6)>>
@@ -159,7 +159,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language
 	<<set $arcologies[0].prosperity = Math.trunc(0.9*$arcologies[0].prosperity)>>
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<if $slaves[$i].fetish != "mindbroken">>
-			<<NationalityToAccent $slaves[$i]>>
+			<<run nationalityToAccent($slaves[$i])>>
 			<<if ($slaves[$i].intelligenceImplant == 1)>>
 			<<if ($slaves[$i].accent >= 3)>>
 			<<if (3+$slaves[$i].intelligence) > random(0,6)>>
@@ -181,7 +181,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language
 	<<set $arcologies[0].prosperity = Math.trunc(0.9*$arcologies[0].prosperity)>>
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<if $slaves[$i].fetish != "mindbroken">>
-			<<NationalityToAccent $slaves[$i]>>
+			<<run nationalityToAccent($slaves[$i])>>
 			<<if ($slaves[$i].intelligenceImplant == 1)>>
 			<<if ($slaves[$i].accent >= 3)>>
 			<<if (3+$slaves[$i].intelligence) > random(0,6)>>
diff --git a/src/uncategorized/completeCatalog.tw b/src/uncategorized/completeCatalog.tw
index e4c3e6123d23f86ba6a0b8b004bc417be5887acd..c02fd0e2918c0efd41a45a118116dfa96a69db73 100644
--- a/src/uncategorized/completeCatalog.tw
+++ b/src/uncategorized/completeCatalog.tw
@@ -13,7 +13,7 @@
 
 <<run SetBellySize($activeSlave)>>
 <<set $specialSlavesPriceOverride = 1>>
-<<NationalityToAccent $activeSlave>>
+<<run nationalityToAccent($activeSlave)>>
 <<if $familyTesting == 1>>
 	/* special slaves exceptions to keep siblings sensible */
 	<<if $activeSlave.mother == -9999 && $activeSlave.father == -9998>> /* The twins - Camille & Kennerly */
diff --git a/src/uncategorized/generateXXSlave.tw b/src/uncategorized/generateXXSlave.tw
index bd74499927e0c3e6934518e1f2d9bf4b06f79428..0cebdfeca1455edfd7197e25e5c2b7abd8c68389 100644
--- a/src/uncategorized/generateXXSlave.tw
+++ b/src/uncategorized/generateXXSlave.tw
@@ -5,7 +5,7 @@
 <<set WombInit($activeSlave)>>
 <<set $activeSlave.vaginaLube = 1, $activeSlave.ovaries = 1, $activeSlave.canRecruit = 1>>
 
-<<GenerateAge $activeSlave>>
+<<run generateAge($activeSlave)>>
 
 <<if $activeSlave.ovaries == 1>>
 	<<if $activeSlave.physicalAge >= $activeSlave.pubertyAgeXX>>
@@ -156,8 +156,8 @@
 	<<set $activeSlave.race = $fixedRace>>
 	<<set $fixedRace = 0>>
 <</if>>
-<<NationalityToName $activeSlave>>
-<<NationalityToAccent $activeSlave>>
+<<run nationalityToName($activeSlave)>>
+<<run nationalityToAccent($activeSlave)>>
 
 <<set $activeSlave.height = Math.round(Height.random($activeSlave))>>
 
diff --git a/src/uncategorized/generateXYSlave.tw b/src/uncategorized/generateXYSlave.tw
index 15665189893d62c7c2c8f9a9f0ccecbfdb4b694d..95c8903516ac7bfe1b9db8eb9fc4f3ab908df5de 100644
--- a/src/uncategorized/generateXYSlave.tw
+++ b/src/uncategorized/generateXYSlave.tw
@@ -5,7 +5,7 @@
 <<set WombInit($activeSlave)>>
 <<set $activeSlave.genes = "XY", $activeSlave.hLength = 10, $activeSlave.prostate = 1, $activeSlave.canRecruit = 1>>
 
-<<GenerateAge $activeSlave>>
+<<run generateAge($activeSlave)>>
 
 <<if $activeSlave.ovaries == 1>>
 	<<if $activeSlave.physicalAge >= $activeSlave.pubertyAgeXX>>
@@ -162,8 +162,8 @@
 	<<set $activeSlave.race = $fixedRace>>
 	<<set $fixedRace = 0>>
 <</if>>
-<<NationalityToName $activeSlave>>
-<<NationalityToAccent $activeSlave>>
+<<run nationalityToName($activeSlave)>>
+<<run nationalityToAccent($activeSlave)>>
 
 <<set $activeSlave.height = Math.round(Height.random($activeSlave))>>
 <<if $activeSlave.physicalAge <= 13>>
diff --git a/src/uncategorized/motherDaughterWorkaround.tw b/src/uncategorized/motherDaughterWorkaround.tw
index 61ad947e89deccf594764083d169b69613784e3c..fea2093b80a3aea68d82d83cbe183b1856988777 100644
--- a/src/uncategorized/motherDaughterWorkaround.tw
+++ b/src/uncategorized/motherDaughterWorkaround.tw
@@ -8,10 +8,10 @@ Your new pair of slaves look frightened and uncertain, but seem encouraged by ea
 <<unset $activeSlave>>
 <<if _secondSlave.slaveSurname>><<set _familyName = _secondSlave.slaveSurname>><</if>>
 <<set _familyBirthSurname = _secondSlave.birthSurname>>
-<<NationalityToName _secondSlave>>
+<<run nationalityToName(_secondSlave)>>
 <<if _familyName>><<set _secondSlave.slaveSurname = _familyName>><</if>>
 <<set _secondSlave.birthSurname = _familyBirthSurname>>
-<<NationalityToAccent _secondSlave>>
+<<run nationalityToAccent(_secondSlave)>>
 
 <<set _secondSlave.ID = _secondSlave.ID + 1000>>
 <<set _secondSlave.devotion -= random(5,15)>>
diff --git a/src/uncategorized/pRivalryHostage.tw b/src/uncategorized/pRivalryHostage.tw
index cff5a9bba7b33599f30ec57c1acea15a02d426ad..78f65d9b1fb7ffefaf8a5d8bd2a90538f3042829 100644
--- a/src/uncategorized/pRivalryHostage.tw
+++ b/src/uncategorized/pRivalryHostage.tw
@@ -39,7 +39,7 @@
 <<if $activeSlave.voice < 2>><<set $activeSlave.voice = 2>><</if>>
 <<if $activeSlave.faceShape == "masculine">><<set $activeSlave.faceShape = "cute">><</if>>
 <<if $arcologies[0].FSSupremacistRace != 0>><<set $activeSlave.race = $arcologies[0].FSSupremacistRace>><</if>>
-<<NationalityToName $activeSlave>>
+<<run nationalityToName($activeSlave)>>
 <<set $activeSlave.inducedNCS = 0, $activeSlave.NCSyouthening = 0>>
 <<set $activeSlave.slaveName = $activeSlave.birthName>>
 <<set $activeSlave.slaveSurname = $activeSlave.birthSurname>>
diff --git a/src/uncategorized/reFSEgyptianRevivalistAcquisitionWorkaround.tw b/src/uncategorized/reFSEgyptianRevivalistAcquisitionWorkaround.tw
index 00954dd45f3ffd331ff0ffbb3dce8cba86e23621..9d8d043b3ba31d329f0fd475a77f7da722808918 100644
--- a/src/uncategorized/reFSEgyptianRevivalistAcquisitionWorkaround.tw
+++ b/src/uncategorized/reFSEgyptianRevivalistAcquisitionWorkaround.tw
@@ -7,7 +7,7 @@ They arrive hand-in-hand and don't let go of each other until the end of the ens
 
 <<set _secondSlave = clone($activeSlave)>>
 
-<<NationalityToName _secondSlave>>
+<<run nationalityToName(_secondSlave)>>
 <<if $activeSlave.slaveSurname>><<set _secondSlave.slaveSurname = $activeSlave.slaveSurname>><</if>>
 <<set _secondSlave.birthSurname = $activeSlave.birthSurname>>
 
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index c578823ed844b66328ae823c00ce878136df4786..7835c8e8df5b08fbefc61fa790861d91566e0b84 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -1530,8 +1530,8 @@ Knowing what's coming, the teachers in the facility do train their pupils accord
 <<set $activeSlave.behavioralFlaw = "arrogant">>
 <<set $activeSlave.nationality = "American">>
 <<set $activeSlave.race = "white">>
-<<NationalityToName $activeSlave>>
-<<NationalityToAccent $activeSlave>>
+<<run nationalityToName($activeSlave)>>
+<<run nationalityToAccent($activeSlave)>>
 <<set $activeSlave.skin = "light">>
 <<set $activeSlave.voice = 3>>
 <<set $activeSlave.boobShape = "perky">>
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index 8ee028912691b4d48054ad8f19135e44b8716164..538fdd00fead75d8eb27b3c63e15c7fd42cd3c4c 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -565,7 +565,7 @@ She waits anxiously for your decision.
 
 <<if $activeSlave.slaveSurname>><<set _familyName = $activeSlave.slaveSurname>><</if>>
 <<set _familyBirthSurname = $activeSlave.birthSurname>>
-<<NationalityToName $activeSlave>>
+<<run nationalityToName($activeSlave)>>
 <<if _familyName>><<set $activeSlave.slaveSurname = _familyName>><</if>>
 <<set $activeSlave.birthSurname = _familyBirthSurname>>
 <<set $activeSlave.inducedNCS = 0, $activeSlave.NCSyouthening = 0>> 
@@ -1039,7 +1039,7 @@ She waits anxiously for your decision.
 
 <<if $activeSlave.slaveSurname>><<set _familyName = $activeSlave.slaveSurname>><</if>>
 <<set _familyBirthSurname = $activeSlave.birthSurname>>
-<<NationalityToName $activeSlave>>
+<<run nationalityToName($activeSlave)>>
 <<if _familyName>><<set $activeSlave.slaveSurname = _familyName>><</if>>
 <<set $activeSlave.birthSurname = _familyBirthSurname>>
 
diff --git a/src/uncategorized/recETSWorkaround.tw b/src/uncategorized/recETSWorkaround.tw
index 330466345b9f038793708a38c78faf060c5a4ac7..e63f66c306fb00e5dc35d5424e316a5087c469e5 100644
--- a/src/uncategorized/recETSWorkaround.tw
+++ b/src/uncategorized/recETSWorkaround.tw
@@ -643,7 +643,7 @@ You turn to the child clutching her mother's grotesque belly.
 
 <<if $activeSlave.slaveSurname>><<set _familyName = $activeSlave.slaveSurname>><</if>>
 <<set _familyBirthSurname = $activeSlave.birthSurname>>
-<<NationalityToName $activeSlave>>
+<<run nationalityToName($activeSlave)>>
 <<if _familyName>><<set $activeSlave.slaveSurname = _familyName>><</if>>
 <<set $activeSlave.birthSurname = _familyBirthSurname>>
 
diff --git a/src/uncategorized/siblingsWorkaround.tw b/src/uncategorized/siblingsWorkaround.tw
index aa269913d0cda10c13648722efdbae7c2fc8247e..56ccd02d8523cd99053525bd554901cd302e765f 100644
--- a/src/uncategorized/siblingsWorkaround.tw
+++ b/src/uncategorized/siblingsWorkaround.tw
@@ -8,10 +8,10 @@ Your new pair of slaves look frightened and uncertain, but seem encouraged by ea
 <<unset $activeSlave>>
 <<if _secondSlave.slaveSurname>><<set _familyName = _secondSlave.slaveSurname>><</if>>
 <<set _familyBirthSurname = _secondSlave.birthSurname>>
-<<NationalityToName _secondSlave>>
+<<run nationalityToName(_secondSlave)>>
 <<if _familyName>><<set _secondSlave.slaveSurname = _familyName>><</if>>
 <<set _secondSlave.birthSurname = _familyBirthSurname>>
-<<NationalityToAccent _secondSlave>>
+<<run nationalityToAccent(_secondSlave)>>
 
 <<set _secondSlave.ID = _secondSlave.ID + 1000>>
 <<set _secondSlave.devotion -= random(5,-5)>>
diff --git a/src/uncategorized/specialSlave.tw b/src/uncategorized/specialSlave.tw
index 998098059da6e1d15bb2ceb0503ac6b536c0ed6e..444b0d6649c84f28ab7899b76781c44468ed5193 100644
--- a/src/uncategorized/specialSlave.tw
+++ b/src/uncategorized/specialSlave.tw
@@ -47,7 +47,7 @@
 			<</for>>
 		<</if>>
 	<</if>>
-	<<NationalityToAccent $activeSlave>>
+	<<run nationalityToAccent($activeSlave)>>
 	<<slaveCost $activeSlave>>
 
 	The offered price is <<print cashFormat($slaveCost)>>.
diff --git a/src/uncategorized/twinsWorkaround.tw b/src/uncategorized/twinsWorkaround.tw
index 6c4a433b1806e13007651f89eb191245abc00ce5..10c27869511bd0b5ba12ad4b37a78db9baf03a47 100644
--- a/src/uncategorized/twinsWorkaround.tw
+++ b/src/uncategorized/twinsWorkaround.tw
@@ -8,10 +8,10 @@ Your new pair of slaves look frightened and uncertain, but seem encouraged by ea
 <<unset $activeSlave>>
 <<if _secondSlave.slaveSurname>><<set _familyName = _secondSlave.slaveSurname>><</if>>
 <<set _familyBirthSurname = _secondSlave.birthSurname>>
-<<NationalityToName _secondSlave>>
+<<run nationalityToName(_secondSlave)>>
 <<if _familyName>><<set _secondSlave.slaveSurname = _familyName>><</if>>
 <<set _secondSlave.birthSurname = _familyBirthSurname>>
-<<NationalityToAccent _secondSlave>>
+<<run nationalityToAccent(_secondSlave)>>
 
 <<set _secondSlave.ID = _secondSlave.ID + 1000>>
 <<if $familyTesting == 0>>
diff --git a/src/utility/slaveGenerationWidgets.tw b/src/utility/slaveGenerationWidgets.tw
index 88cfab7227152fa1d20c89065f31106f98e6c18f..fc13ba90c2195c996164561dcf07c3b29caac560 100644
--- a/src/utility/slaveGenerationWidgets.tw
+++ b/src/utility/slaveGenerationWidgets.tw
@@ -4,1413 +4,3 @@
 <<set $args[0].race
 	= hashChoice(setup.raceSelector[$args[0].nationality] || setup.raceSelector[""])>>
 <</widget>>
-
-<<widget "NationalityToName">>
-<<set $args[0].birthName =
-	(setup.namePoolSelector[$args[0].nationality + "." + $args[0].race]
-		|| setup.namePoolSelector[$args[0].nationality]
-		|| setup.whiteAmericanSlaveNames).random()>>
-<<set $args[0].birthSurname =
-	(setup.surnamePoolSelector[$args[0].nationality + "." + $args[0].race]
-		|| setup.surnamePoolSelector[$args[0].nationality]
-		|| setup.whiteAmericanSlaveSurnames).random()>>
-<<set $args[0].slaveName = $args[0].birthName>>
-<<set $args[0].slaveName = $args[0].birthName, $args[0].slaveSurname = $args[0].birthSurname>>
-<<if $useFSNames == 1>>
-<<if $arcologies[0].FSChattelReligionist > 20>>
-	<<set $args[0].slaveName = setup.chattelReligionistSlaveNames.random(), $args[0].slaveSurname = 0>>
-<<elseif $arcologies[0].FSRomanRevivalist > 20>>
-	<<set $args[0].slaveName = setup.romanSlaveNames.random(), $args[0].slaveSurname = setup.romanSlaveSurnames.random()>>
-<<elseif $arcologies[0].FSAztecRevivalist > 20>>
-	<<set $args[0].slaveName = setup.aztecSlaveNames.random(), $args[0].slaveSurname = 0>>
-<<elseif $arcologies[0].FSEgyptianRevivalist > 20>>
-	<<set $args[0].slaveName = setup.ancientEgyptianSlaveNames.random(), $args[0].slaveSurname = 0>>
-<<elseif $arcologies[0].FSEdoRevivalist > 20>>
-	<<set $args[0].slaveName = setup.edoSlaveNames.random(), $args[0].slaveSurname = setup.edoSlaveSurnames.random()>>
-<<elseif $arcologies[0].FSDegradationist != "unset">>
-	<<run DegradingName($args[0])>>
-<</if>>
-<</if>>
-
-<</widget>>
-
-<<widget "NationalityToAccent">>
-
-<<set _naturalAccent = either(0,1,1,2,2,2,3,3,3,3)>>
-
-<<switch $args[0].nationality>>
-<<case "Afghan">>
-	<<if $language == "Pashto">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Albanian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Algerian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "American">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Spanish" && $args[0].race == "latina">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Chinese" && $args[0].race == "asian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Arabic" && $args[0].race == "middle eastern">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Andorran">>
-	<<if $language == "Catalan">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Angolan">>
-	<<if $language == "Portuguese">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Antiguan">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Argentinian">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Armenian">>
-	<<if $language == "Russian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Aruban">>
-	<<if $language == "Dutch">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Portuguese">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Australian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Austrian">>
-	<<if $language == "German">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Serbian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Slovene">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Turkish" && $args[0].race == "middle eastern">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Azerbaijani">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Bahamian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Bahraini">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Bangladeshi">>
-	<<if $language == "Bengali">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Hindi">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Barbadian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Belarusian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Belgian">>
-	<<if $language == "Dutch">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "German">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Belizean">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Beninese">>
-	<<if $language == "French">>
-		<<set $args[0].accent = 1>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Bermudian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = 1>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Bhutanese">>
-	<<if $language == "Dzongkha">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Bissau-Guinean">>
-	<<if $language == "Portuguese">>
-		<<set $args[0].accent = 1>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Bolivian">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = 1>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Bosnian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Brazilian">>
-	<<if $language == "Portuguese">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "British">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Bruneian">>
-	<<if $language == "Malay">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Bulgarian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Burkinabé">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Burmese">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Burundian">>
-	<<if $language == "Kirundi">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Cambodian">>
-	<<if $language == "Khmer">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Cham">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Cameroonian">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Canadian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Cape Verdean">>
-	<<if $language == "Portuguese">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Catalan">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Central African">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Chadian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Chilean">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Chinese">>
-	<<if $language == "Tibetan">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Korean">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Kazakh">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Colombian">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Comorian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Congolese">>
-	<<if $language == "Lingala">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Kikongo">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "a Cook Islander">>
-	<<if $language == "Cook Islands Māori">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Costa Rican">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Croatian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Cuban">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Cypriot">>
-	<<if $language == "Greek">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Turkish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Czech">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Danish">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Djiboutian">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Dominican">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Dominiquais">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Dutch">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "East Timorese">>
-	<<if $language == "Tetum">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Portuguese">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Malay">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Ecuadorian">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Egyptian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Emirati">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Equatoguinean">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Eritrean">>
-	<<if $language == "Tigrinya">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Estonian">>
-	<<if $language == "Russian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Ethiopian">>
-	<<if $language == "Amharic">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Tigrinya">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Fijian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Filipina">>
-	<<if $language == "Filipino">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Tagalog">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Finnish">>
-	<<if $language == "Swedish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "French">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "German">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Arabic" && $args[0].race == "middle eastern">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Catalan">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "French Guianan">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "French Polynesian">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Gabonese">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Gambian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Georgian">>
-	<<if $language == "Abkhaz">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "German">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Turkish" && $args[0].race == "middle eastern">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Ghanan">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Hausa">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Greek">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Greenlandic">>
-	<<if $language == "Danish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Grenadian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Guamanian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Guatemalan">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Guinean">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Guyanese">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Haitian">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Honduran">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Hungarian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "I-Kiribati">>
-	<<if $language == "Gilbertese">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Icelandic">>
-	<<if $language == "Danish">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Indian">>
-	<<if $language == "Hindi">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Indonesian">>
-	<<if $language == "Malay">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Iranian">>
-	<<if $language == "Persian">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Iraqi">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Kurdish">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Irish">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Israeli">>
-	<<if $language == "Hebrew">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Italian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Ivorian">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Jamaican">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>><<case "Japanese">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Jordanian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Kazakh">>
-	<<if $language == "Russian">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Kenyan">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Kittitian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Korean">>
-	<<if $language == "Chinese">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Kosovan">>
-	<<if $language == "Albanian">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Serbian">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Kurdish">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Kuwaiti">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Kyrgyz">>
-	<<if $language == "Russian">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Laotian">>
-	<<if $language == "Lao">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Khmu">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Latvian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Lebanese">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Liberian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Libyan">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "a Liechtensteiner">>
-	<<if $language == "German">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Lithuanian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Luxembourgian">>
-	<<if $language == "German">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Macedonian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Malagasy">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Malawian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Malaysian">>
-	<<if $language == "Malay">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Maldivian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Malian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Maltese">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Italian">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Marshallese">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Mauritanian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Mauritian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Mexican">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Micronesian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Moldovan">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Monégasque">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Mongolian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Montenegrin">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Moroccan">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Mosotho">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Motswana">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Mozambican">>
-	<<if $language == "Portuguese">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Namibian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Afrikaans">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Nauruan">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Nepalese">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "New Caledonian">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "a New Zealander">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Ni-Vanuatu">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Nicaraguan">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Nigerian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Hausa">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Nigerien">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Hausa">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Niuean">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Norwegian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Omani">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Pakistani">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Palauan">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Sonsorolese">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Tobian">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Japanese">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Palestinian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Panamanian">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Papua New Guinean">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Paraguayan">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Peruvian">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Polish">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Portuguese">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Puerto Rican">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Qatari">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Romanian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Russian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Rwandan">>
-	<<if $language == "Kinyarwanda">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Sahrawi">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Saint Lucian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Salvadoran">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Sammarinese">>
-	<<if $language == "Italian">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Samoan">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "São Toméan">>
-	<<if $language == "Portuguese">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Saudi">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Scottish">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Senegalese">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Serbian">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Seychellois">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Sierra Leonean">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Singaporean">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Chinese">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Malay">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Tamil">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Slovak">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Slovene">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "a Solomon Islander">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Somali">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "South African">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Afrikaans">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "South Sudanese">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Spanish">>
-	<<if $language == "Catalan">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Sri Lankan">>
-	<<if $language == "Sinhalese">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Tamil">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Sudanese">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Surinamese">>
-	<<if $language == "Dutch">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Swazi">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Swedish">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Finnish">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Norwegian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "German">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Swiss">>
-	<<if $language == "German">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Italian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Syrian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Taiwanese">>
-	<<if $language == "Chinese">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Tajik">>
-	<<if $language == "Russian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Tanzanian">>
-	<<if $language == "Swahili">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Thai">>
-	<<if $language == "Chinese">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Malay">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<elseif $language == "Khmer">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Tibetan">>
-	<<if $language == "Chinese">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Togolese">>
-	<<if $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Tongan">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Trinidadian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Tunisian">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Turkish">>
-	<<set $args[0].accent = _naturalAccent>>
-<<case "Turkmen">>
-	<<if $language == "Russian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Tuvaluan">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Ugandan">>
-	<<if $language == "Swahili">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Ukrainian">>
-	<<if $language == "Russian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Uruguayan">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Uzbek">>
-	<<if $language == "Russian">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Vatican">>
-	<<if $language == "Italian">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Venezuelan">>
-	<<if $language == "Spanish">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Vietnamese">>
-	<<if $language == "Chinese">>
-		<<set $args[0].accent = either(0,1,2,2,2,3,3)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Vincentian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Yemeni">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Zairian">>
-	<<if $language == "Lingala">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<elseif $language == "Kikongo">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "Swahili">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<elseif $language == "French">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Zambian">>
-	<<if $language == "English">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Zimbabwean">>
-	<<if $language == "English" && $args[0].race == "white">>
-		<<set $args[0].accent = either(0,1,1,1,2)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Ancient Chinese Revivalist">>
-	<<if $language == "Chinese">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Ancient Egyptian Revivalist">>
-	<<if $language == "Ancient Egyptian">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Arabian Revivalist">>
-	<<if $language == "Arabic">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Aztec Revivalist">>
-	<<if $language == "Nahuatl">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Edo Revivalist">>
-	<<if $language == "Japanese">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<case "Roman Revivalist">>
-	<<if $language == "Latin">>
-		<<set $args[0].accent = either(0,0,0,1)>>
-	<<else>>
-		<<set $args[0].accent = _naturalAccent>>
-	<</if>>
-<<default>>
-	<<set $args[0].accent = _naturalAccent>>
-<</switch>>
-
-<<if $args[0].nationality == $language>>
-	<<set $args[0].accent = either(0,0,0,1)>>
-<</if>>
-
-<</widget>>
-
-/* Call as <<GenerateAge slave>> */
-<<widget "GenerateAge">>
-
-<<if $activeSlaveOneTimeMaxAge > 998>>
-	<<if $pedo_mode == 1>>
-		<<set $activeSlaveOneTimeMaxAge = 18>>
-	<<else>>
-		<<set $activeSlaveOneTimeMaxAge = 42>>
-	<</if>>
-<<elseif $pedo_mode == 1 && $one_time_age_overrides_pedo_mode == 0 && $activeSlaveOneTimeMaxAge > 18>>
-	<<set $activeSlaveOneTimeMaxAge = 18>>
-<</if>>
-<<if $retirementAge < $activeSlaveOneTimeMaxAge>>
-	<<set $activeSlaveOneTimeMaxAge = ($retirementAge-1)>>
-<</if>>
-<<if $activeSlaveOneTimeMinAge < $minimumSlaveAge>>
-	<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-<<elseif $pedo_mode == 1 && $one_time_age_overrides_pedo_mode == 0>>
-	<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-<</if>>
-<<if $activeSlaveOneTimeMaxAge < $activeSlaveOneTimeMinAge>>
-	<<set $activeSlaveOneTimeMaxAge = $activeSlaveOneTimeMinAge>>
-<</if>>
-<<if ($activeSlaveOneTimeMaxAge >= 30) && ($arcologies[0].FSMaturityPreferentialist != "unset")>>
-	<<if $ageAdjustOverride != 1>>
-		<<set $activeSlaveOneTimeMaxAge = ($activeSlaveOneTimeMaxAge + 10)>>
-	<</if>>
-<</if>>
-<<set $args[0].actualAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
-<<set _secondAgeRoll = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
-<<if ($arcologies[0].FSYouthPreferentialist != "unset") && ($arcologies[0].FSYouthPreferentialist >= random(1,100))>>
-	<<set $args[0].actualAge = Math.min($args[0].actualAge, _secondAgeRoll)>>
-<<elseif ($arcologies[0].FSMaturityPreferentialist != "unset") && ($arcologies[0].FSMaturityPreferentialist >= random(1,100))>>
-	<<set $args[0].actualAge = Math.max($args[0].actualAge, _secondAgeRoll)>>
-<</if>>
-<<if $args[0].actualAge >= $retirementAge>>
-	<<set $args[0].actualAge = ($retirementAge-2)>>
-<</if>>
-<<set $activeSlaveOneTimeMinAge = 0>>
-<<set $activeSlaveOneTimeMaxAge = 999>>
-<<set $one_time_age_overrides_pedo_mode = 0>>
-<<set $ageAdjustOverride = 0>>
-<<set $args[0].visualAge = $args[0].actualAge>>
-<<set $args[0].physicalAge = $args[0].actualAge>>
-<<set $args[0].ovaryAge = $args[0].actualAge>>
-<<set $args[0].age = $args[0].actualAge>> /*compatibility*/
-<<set $args[0].pubertyAgeXX = $fertilityAge>>
-<<set $args[0].pubertyAgeXY = $potencyAge>>
-
-<</widget>>