diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw index 932a9b32e53cf78e3f0e627c5be6cb29f1156b05..a973e2a9379b083cbb9a8d41773eb2e444c9f6b8 100644 --- a/src/init/setupVars.tw +++ b/src/init/setupVars.tw @@ -25,6 +25,19 @@ <<set setup.africaNationalities = ["Algerian", "Congolese", "Ethiopian", "Ghanan", "Kenyan", "Libyan", "Malian", "Moroccan", "Nigerian", "South African", "Sudanese", "Tanzanian", "Tunisian", "Ugandan", "Zimbabwean"]>> <<set setup.australiaNationalities = ["Australian", "a New Zealander"]>> + +/* Nationalities based on $continent value. Note that $continent can be undefined! */ +<<set setup.nationalityPoolSelector = { + "North America": setup.northamericaNationalities, + "South America": setup.southamericaNationalities, + "Europe": setup.europeNationalities, + "Asia": setup.asiaNationalities, + "the Middle East": setup.middleeastNationalities, + "Africa": setup.africaNationalities, + "Australia": setup.australiaNationalities, + "Japan": setup.asiaNationalities, + "Brazil": setup.southamericaNationalities, +}>> /* END Custom Nationalities region filter */ @@ -310,6 +323,107 @@ <<set setup.edoSlaveNames = ["Adakichi", "Aihachi", "Aika", "Aikichi", "Aiko", "Aimatsu", "Akiko", "Ariko", "Asa", "Asakichi", "Asao", "Ayako", "Ayano", "Azuma", "Baicho", "Baisho", "Botan", "Charyoei", "Chieko", "Chikafuku", "Chikafumi", "Chikano", "Chikashizu", "Chikayoshi", "Chikayu", "Chikayuki", "Chisako", "Chiyo", "Chiyoe", "Chiyoha", "Chiyokichi", "Chiyoko", "Chiyoryo", "Chiyoteru", "Chiyotsuru", "Chiyowaka", "Chiyoyakko", "Chizu", "Chizuha", "Chizuru", "Cho", "Chocho", "Dango", "Danji", "Danko", "Dan’ei", "Edagiku", "Emi", "Emicho", "Emigiku", "Emiyo", "Enko", "Eriko", "Fuji", "Fujie", "Fujigiku", "Fujiha", "Fukichiyo", "Fukiha", "Fukimi", "Fukiyo", "Fukizo", "Fuku", "Fukuai", "Fukuaya", "Fukuchiyo", "Fukucho", "Fukudama", "Fukuha", "Fukuhana", "Fukuharu", "Fukuhina", "Fukuhiro", "Fukumi", "Fukumusume", "Fukunae", "Fukusato", "Fukusuke", "Fukusuzu", "Fukuteru", "Fukuya", "Fukuyo", "Fukuyoshi", "Fukuyu", "Fumi", "Fumichiyo", "Fumicho", "Fumihana", "Fumiko", "Fumino", "Fumukazu", "Fusakichi", "Fusako", "Fusao", "Hamako", "Hamayu", "Hanachiyo", "Hanaji", "Hanakichi", "Hanako", "Hanamatsu", "Hanaryo", "Hanayakko", "Harukichi", "Haruko", "Hatsu", "Hatsuko", "Hatsuyo", "Hidechiyo", "Hidecho", "Hideji", "Hidemi", "Hideryu", "Hideyakko", "Hidezuru", "Hinacho", "Hinagiku", "Hinako", "Hinazuru", "Hisa", "Hisacho", "Hisae", "Hisaei", "Hisamomo", "Hisasuzu", "Hisayo", "Hisazuru", "Ichiei", "Ichiemi", "Ichiharu", "Ichiho", "Ichika", "Ichimame", "Ichimomo", "Ichiraku", "Ichiryu", "Ichisayo", "Ichiteru", "Ichitomi", "Ichiume", "Ichiya", "Ichiyakko", "Iku", "Ikumatsu", "Imayoshi", "Ine", "Iroha", "Ishino", "Ishiyakko", "Iso", "Isoei", "Itozuru", "Kameji", "Kameko", "Kaneha", "Kanemi", "Kanoaki", "Kanoemi", "Kanoka", "Kasen", "Katsuchiyo", "Katsue", "Katsuha", "Katsuji", "Katsuna", "Katsune", "Katsuru", "Kayo", "Kichihana", "Kichiyakko", "Kichiyo", "Kichiyu", "Kiku", "Kikuka", "Kikumaru", "Kikumatsu", "Kikuno", "Kikuryo", "Kikutsuru", "Kikuya", "Kikuyakko", "Kikuyu", "Kimiei", "Kimikiku", "Kimina", "Kimitomo", "Kimiyakko", "Kin'ei", "Kin'ichi", "Kinhei", "Kinko", "Kinmatsu", "Kinroku", "Kinryo", "Kinryu", "Kinshi", "Kinsuke", "Kinu", "Kinyo", "Kitanomatsu", "Kiyo", "Koen", "Kofuku", "Kofusa", "Kogiku", "Koi", "Koiku", "Kojako", "Komagiku", "Komaji", "Komako", "Komame", "Komari", "Komaru", "Komasu", "Komomo", "Komume", "Koriki", "Korin", "Koroku", "Kosaki", "Kosaku", "Kosen", "Koshizu", "Kosome", "Kosue", "Kotaka", "Kotama", "Kotatsu", "Koteru", "Kotetsu", "Koto", "Kotobuki", "Kotoei", "Kotogiku", "Kotoha", "Kotoji", "Kotomi", "Kotono", "Kotoyo", "Kotsuma", "Koume", "Koyachiyo", "Koyakko", "Koyana", "Koyei", "Koyo", "Koyone", "Koyoshi", "Koyuka", "Koyuki", "Koyumi", "Kozakura", "Kozuru", "Kuma", "Kumakichi", "Kumano", "Kumayoshi", "Kunigiku", "Kyoka", "Kyoko", "Machi", "Mamefusa", "Mamegiku", "Mamehana", "Mameharu", "Mamehide", "Mamehiro", "Mameka", "Mamekichi", "Mameko", "Mameraku", "Mameriki", "Mameroku", "Mameryo", "Mameyakko", "Mameyo", "Mameyoshi", "Mameyu", "Maru", "Masuwaka", "Matsuko", "Matsuriki", "Matsuyakko", "Miharu", "Mineko", "Mitsu", "Mitsugiku", "Mitsuha", "Mitsuko", "Mitsuyo", "Miyagiku", "Miyo", "Miyoha", "Miyoharu", "Miyoka", "Miyozuru", "Momifuku", "Momiji", "Momochiyo", "Momoko", "Momomaru", "Momoyakko", "Momozuru", "Naka", "Naochiyo", "Naosome", "Naosono", "Narako", "Narayone", "Oimatsu", "Omine", "Omocha", "Onao", "Otomaru", "Otoyu", "Ran", "Ren", "Riki", "Rikigo", "Rikiha", "Rikiharu", "Rikihei", "Rikiji", "Rikiko", "Rikiya", "Royo", "Ryuko", "Sakae", "Sakiko", "Sakyo", "Sana", "Sanae", "Sankatsu", "Sanko", "Sanya", "Sasa", "Sato", "Satochiyo", "Satogiku", "Satoji", "Satoka", "Satokichi", "Satomi", "Satono", "Satotsuya", "Satoyu", "Satoyuki", "Satsuki", "Sayaka", "Sayoko", "Sekka", "Sen", "Shimekichi", "Shimematsu", "Shinneji", "Shizu", "Shizue", "Shizuko", "Shun", "Sodeko", "Somagiku", "Soyo", "Sue", "Sumiko", "Suzu", "Suzuhachi", "Suzuka", "Suzuko", "Takeko", "Takewaka", "Takeyakko", "Tama", "Tamagiku", "Tamakiku", "Tamako", "Tamaryo", "Tamasuke", "Tamaye", "Tamayu", "Tamazuru", "Tamiko", "Tane", "Taneji", "Taneju", "Taneko", "Tatsu", "Tatsuko", "Teruhina", "Teruji", "Teruko", "Teruyo", "Tetsu", "Toba", "Toki", "Tokiko", "Tokimatsu", "Toku", "Tome", "Tomeko", "Tomewaka", "Tomigiku", "Tomiko", "Tomimatsu", "Tomino", "Tomiryo", "Tomitae", "Tomitsuru", "Tomiwaka", "Tomiyakko", "Tomizuru", "Tomogiku", "Tomoko", "Tomoryo", "Tomowaka", "Tomoyuki", "Tonko", "Tora", "Toshifumi", "Toshihana", "Toshiko", "Toye", "Toyochiyo", "Toyofu", "Toyohina", "Toyoji", "Toyoka", "Tsunechiyo", "Tsuneko", "Tsunemomo", "Tsuneyo", "Tsuneyu", "Tsuru", "Tsurue", "Tsuruha", "Tsuruji", "Tsuruka", "Tsurumatsu", "Tsuruyo", "Tsuruyu", "Tsuta", "Tsutaji", "Tsuyachiyo", "Tsuyu", "Ume", "Umechie", "Umechiho", "Umechika", "Umechiyo", "Umegiku", "Umeha", "Umehisa", "Umeji", "Umeko", "Umeko", "Umematsu", "Umeo", "Umeraku", "Umeryo", "Umeryu", "Umesaya", "Umesuke", "Umesuzu", "Umewaka", "Umeyae", "Umeyakko", "Umeyu", "Uno", "Unofuku", "Unoha", "Unohide", "Unoji", "Unoka", "Unokayo", "Unokazu", "Unokiyo", "Unoko", "Unoshizu", "Unowaka", "Uta", "Utachiyo", "Utaji", "Utaka", "Utamatsu", "Utayu", "Wakaba", "Wakacho", "Wakagusa", "Wakai", "Wakaji", "Wakakimi", "Wakako", "Wakakoma", "Wakamurasaki", "Wakaroku", "Wakatsune", "Wakaume", "Wakayakko", "Wakayo", "Wakayone", "Wakazuru", "Wako", "Yachiyoko", "Yae", "Yaemi", "Yaewaka", "Yaezuru", "Yaichi", "Yasohachi", "Yasu", "Yasuku", "Yoi", "Yone", "Yonehachi", "Yoneyakko", "Yuiko", "Yukako", "Yukari", "Yukiryo", "Yukizono"]>> +/* +Name pool selector based on nationality and race. Use as follows, given some slave _slave: +<<set _namePool = + (setup.namePoolSelector[_slave.nationality + "." + _slave.race] + || setup.namePoolSelector[_slave.nationality] + || setup.whiteAmericanSlaveNames) +Then pick _namePool.random(), or display those names as possible choices, or do whatever else you do with name pools. +*/ +<<set setup.namePoolSelector = { + "American.black": setup.africanAmericanSlaveNames, "American.latina": setup.latinaSlaveNames, "American.asian": setup.asianAmericanSlaveNames, + "American.middle eastern": setup.egyptianSlaveNames, "American": setup.whiteAmericanSlaveNames, + "Canadian": setup.canadianSlaveNames, + "Mexican": setup.mexicanSlaveNames, + "Dominican": setup.dominicanSlaveNames, + "Puerto Rican": setup.puertoRicanSlaveNames, + "Haitian": setup.haitianSlaveNames, + "Jamaican": setup.jamaicanSlaveNames, + "Cuban": setup.cubanSlaveNames, + "Guatemalan": setup.guatemalanSlaveNames, + "Chilean": setup.chileanSlaveNames, + "Peruvian": setup.peruvianSlaveNames, + "Bolivian": setup.bolivianSlaveNames, + "Venezuelan": setup.venezuelanSlaveNames, + "Belarusian": setup.belarusianSlaveNames, + "Russian": setup.russianSlaveNames, + "Ukrainian": setup.ukrainianSlaveNames, + "Italian": setup.italianSlaveNames, + "Spanish": setup.spanishSlaveNames, + "British": setup.britishSlaveNames, + "Scottish": setup.scottishSlaveNames, + "French": setup.frenchSlaveNames, + "German": setup.germanSlaveNames, + "Lithuanian": setup.lithuanianSlaveNames, + "Norwegian": setup.norwegianSlaveNames, + "Slovak": setup.slovakSlaveNames, + "Danish": setup.danishSlaveNames, + "Dutch": setup.dutchSlaveNames, + "Austrian": setup.austrianSlaveNames, + "Swiss": setup.swissSlaveNames, + "Serbian": setup.serbianSlaveNames, + "Belgian": setup.belgianSlaveNames, + "Czech": setup.czechSlaveNames, + "Portuguese": setup.portugueseSlaveNames, + "Swedish": setup.swedishSlaveNames, + "Romanian": setup.romanianSlaveNames, + "Hungarian": setup.hungarianSlaveNames, + "Estonian": setup.estonianSlaveNames, + "Irish": setup.irishSlaveNames, + "Icelandic": setup.icelandicSlaveNames, + "Finnish": setup.finnishSlaveNames, + "Greek": setup.greekSlaveNames, + "Polish": setup.polishSlaveNames, + "Brazilian": setup.brazilianSlaveNames, + "Egyptian": setup.egyptianSlaveNames, + "Colombian": setup.colombianSlaveNames, + "Argentinian": setup.argentinianSlaveNames, + "Turkish": setup.turkishSlaveNames, + "Iranian": setup.iranianSlaveNames, + "Armenian": setup.armenianSlaveNames, + "Israeli": setup.israeliSlaveNames, + "Saudi": setup.saudiSlaveNames, + "South African.black": setup.blackSouthAfricanSlaveNames, "South African": setup.whiteSouthAfricanSlaveNames, + "Nigerian": setup.nigerianSlaveNames, + "Congolese": setup.congoleseSlaveNames, + "Kenyan": setup.kenyanSlaveNames, + "Tanzanian": setup.tanzanianSlaveNames, + "Zimbabwean.white": setup.britishSlaveNames, "Zimbabwean": setup.zimbabweanSlaveNames, + "Ghanan": setup.ghananSlaveNames, + "Ugandan": setup.ugandanSlaveNames, + "Ethiopian": setup.ethiopianSlaveNames, + "Moroccan": setup.moroccanSlaveNames, + "Chinese": setup.chineseSlaveNames, + "Korean": setup.koreanSlaveNames, + "Thai": setup.thaiSlaveNames, + "Vietnamese": setup.vietnameseSlaveNames, + "Japanese": setup.japaneseSlaveNames, + "Indonesian": setup.indonesianSlaveNames, + "Filipina": setup.filipinaSlaveNames, + "Bangladeshi": setup.bangladeshiSlaveNames, + "Malaysian": setup.malaysianSlaveNames, + "Uzbek": setup.uzbekSlaveNames, + "Afghan": setup.afghanSlaveNames, + "Nepalese": setup.nepaleseSlaveNames, + "Burmese": setup.burmeseSlaveNames, + "Iraqi": setup.iraqiSlaveNames, + "Yemeni": setup.yemeniSlaveNames, + "Sudanese": setup.sudaneseSlaveNames, + "Algerian": setup.algerianSlaveNames, + "Tunisian": setup.tunisianSlaveNames, + "Libyan": setup.libyanSlaveNames, + "Omani": setup.omaniSlaveNames, + "Malian": setup.malianSlaveNames, + "Jordanian": setup.jordanianSlaveNames, + "Lebanese": setup.lebaneseSlaveNames, + "Emirati": setup.emiratiSlaveNames, + "Kazakh": setup.kazakhSlaveNames, + "Pakistani": setup.pakistaniSlaveNames, + "Indian": setup.indianSlaveNames, + "Australian": setup.australianSlaveNames, + "a New Zealander": setup.newZealanderSlaveNames, + }>> <<set setup.ArcologyNamesSupremacistWhite = ["The Old Dominion", "Thule"]>> diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index a43545801875ccc2880fc7a19f8a9673c0f5f94e..7224fed3215f58b1aa2aaa73f506f45a05b803b4 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -981,210 +981,33 @@ extremely pale -5 <</widget>> <<widget "ParentNames">> - -<<switch $args[0].nationality>> -<<case "American">> - <<if $args[1].race == "black">> - <<set $args[1].slaveName = setup.africanAmericanSlaveNames.random()>> - <<elseif $args[1].race == "latina">> - <<set $args[1].slaveName = setup.latinaSlaveNames.random()>> - <<elseif $args[1].race == "asian">> - <<set $args[1].slaveName = setup.asianAmericanSlaveNames.random()>> - <<elseif $args[1].race == "middle eastern">> - <<set $args[1].slaveName = setup.egyptianSlaveNames.random()>> - <<else>> - <<set $args[1].slaveName = setup.whiteAmericanSlaveNames.random()>> - <</if>> -<<case "Canadian">> - <<set $args[1].slaveName = setup.canadianSlaveNames.random()>> -<<case "Mexican">> - <<set $args[1].slaveName = setup.mexicanSlaveNames.random()>> -<<case "Dominican">> - <<set $args[1].slaveName = setup.dominicanSlaveNames.random()>> -<<case "Puerto Rican">> - <<set $args[1].slaveName = setup.puertoRicanSlaveNames.random()>> -<<case "Haitian">> - <<set $args[1].slaveName = setup.haitianSlaveNames.random()>> -<<case "Jamaican">> - <<set $args[1].slaveName = setup.jamaicanSlaveNames.random()>> -<<case "Cuban">> - <<set $args[1].slaveName = setup.cubanSlaveNames.random()>> -<<case "Guatemalan">> - <<set $args[1].slaveName = setup.guatemalanSlaveNames.random()>> -<<case "Chilean">> - <<set $args[1].slaveName = setup.chileanSlaveNames.random()>> -<<case "Peruvian">> - <<set $args[1].slaveName = setup.peruvianSlaveNames.random()>> -<<case "Bolivian">> - <<set $args[1].slaveName = setup.bolivianSlaveNames.random()>> -<<case "Venezuelan">> - <<set $args[1].slaveName = setup.venezuelanSlaveNames.random()>> -<<case "Belarusian">> - <<set $args[1].slaveName = setup.belarusianSlaveNames.random()>> -<<case "Russian">> - <<set $args[1].slaveName = setup.russianSlaveNames.random()>> -<<case "Ukrainian">> - <<set $args[1].slaveName = setup.ukrainianSlaveNames.random()>> -<<case "Italian">> - <<set $args[1].slaveName = setup.italianSlaveNames.random()>> -<<case "Spanish">> - <<set $args[1].slaveName = setup.spanishSlaveNames.random()>> -<<case "British">> - <<set $args[1].slaveName = setup.britishSlaveNames.random()>> -<<case "Scottish">> - <<set $args[1].slaveName = setup.scottishSlaveNames.random()>> -<<case "French">> - <<set $args[1].slaveName = setup.frenchSlaveNames.random()>> -<<case "German">> - <<set $args[1].slaveName = setup.germanSlaveNames.random()>> -<<case "Lithuanian">> - <<set $args[1].slaveName = setup.lithuanianSlaveNames.random()>> -<<case "Norwegian">> - <<set $args[1].slaveName = setup.norwegianSlaveNames.random()>> -<<case "Slovak">> - <<set $args[1].slaveName = setup.slovakSlaveNames.random()>> -<<case "Danish">> - <<set $args[1].slaveName = setup.danishSlaveNames.random()>> -<<case "Dutch">> - <<set $args[1].slaveName = setup.dutchSlaveNames.random()>> -<<case "Austrian">> - <<set $args[1].slaveName = setup.austrianSlaveNames.random()>> -<<case "Swiss">> - <<set $args[1].slaveName = setup.swissSlaveNames.random()>> -<<case "Serbian">> - <<set $args[1].slaveName = setup.serbianSlaveNames.random()>> -<<case "Belgian">> - <<set $args[1].slaveName = setup.belgianSlaveNames.random()>> -<<case "Czech">> - <<set $args[1].slaveName = setup.czechSlaveNames.random()>> -<<case "Portuguese">> - <<set $args[1].slaveName = setup.portugueseSlaveNames.random()>> -<<case "Swedish">> - <<set $args[1].slaveName = setup.swedishSlaveNames.random()>> -<<case "Romanian">> - <<set $args[1].slaveName = setup.romanianSlaveNames.random()>> -<<case "Hungarian">> - <<set $args[1].slaveName = setup.hungarianSlaveNames.random()>> -<<case "Estonian">> - <<set $args[1].slaveName = setup.estonianSlaveNames.random()>> -<<case "Irish">> - <<set $args[1].slaveName = setup.irishSlaveNames.random()>> -<<case "Icelandic">> - <<set $args[1].slaveName = setup.icelandicSlaveNames.random()>> -<<case "Finnish">> - <<set $args[1].slaveName = setup.finnishSlaveNames.random()>> -<<case "Greek">> - <<set $args[1].slaveName = setup.greekSlaveNames.random()>> -<<case "Polish">> - <<set $args[1].slaveName = setup.polishSlaveNames.random()>> -<<case "Brazilian">> - <<set $args[1].slaveName = setup.brazilianSlaveNames.random()>> -<<case "Egyptian">> - <<set $args[1].slaveName = setup.egyptianSlaveNames.random()>> -<<case "Colombian">> - <<set $args[1].slaveName = setup.colombianSlaveNames.random()>> -<<case "Argentinian">> - <<set $args[1].slaveName = setup.argentinianSlaveNames.random()>> -<<case "Turkish">> - <<set $args[1].slaveName = setup.turkishSlaveNames.random()>> -<<case "Iranian">> - <<set $args[1].slaveName = setup.iranianSlaveNames.random()>> -<<case "Armenian">> - <<set $args[1].slaveName = setup.armenianSlaveNames.random()>> -<<case "Israeli">> - <<set $args[1].slaveName = setup.israeliSlaveNames.random()>> -<<case "Saudi">> - <<set $args[1].slaveName = setup.saudiSlaveNames.random()>> -<<case "South African">> - <<if $args[1].race == "black">> - <<set $args[1].slaveName = setup.blackSouthAfricanSlaveNames.random()>> - <<else>> - <<set $args[1].slaveName = setup.whiteSouthAfricanSlaveNames.random()>> - <</if>> -<<case "Nigerian">> - <<set $args[1].slaveName = setup.nigerianSlaveNames.random()>> -<<case "Congolese">> - <<set $args[1].slaveName = setup.congoleseSlaveNames.random()>> -<<case "Kenyan">> - <<set $args[1].slaveName = setup.kenyanSlaveNames.random()>> -<<case "Tanzanian">> - <<set $args[1].slaveName = setup.tanzanianSlaveNames.random()>> -<<case "Zimbabwean">> - <<if $args[1].race == "white">> - <<set $args[1].slaveName = setup.britishSlaveNames.random()>> - <<else>> - <<set $args[1].slaveName = setup.zimbabweanSlaveNames.random()>> - <</if>> -<<case "Ghanan">> - <<set $args[1].slaveName = setup.ghananSlaveNames.random()>> -<<case "Ugandan">> - <<set $args[1].slaveName = setup.ugandanSlaveNames.random()>> -<<case "Ethiopian">> - <<set $args[1].slaveName = setup.ethiopianSlaveNames.random()>> -<<case "Moroccan">> - <<set $args[1].slaveName = setup.moroccanSlaveNames.random()>> -<<case "Chinese">> - <<set $args[1].slaveName = setup.chineseSlaveNames.random()>> -<<case "Korean">> - <<set $args[1].slaveName = setup.koreanSlaveNames.random()>> -<<case "Thai">> - <<set $args[1].slaveName = setup.thaiSlaveNames.random()>> -<<case "Vietnamese">> - <<set $args[1].slaveName = setup.vietnameseSlaveNames.random()>> -<<case "Japanese">> - <<set $args[1].slaveName = setup.japaneseSlaveNames.random()>> -<<case "Indonesian">> - <<set $args[1].slaveName = setup.indonesianSlaveNames.random()>> -<<case "Filipina">> - <<set $args[1].slaveName = setup.filipinaSlaveNames.random()>> -<<case "Bangladeshi">> - <<set $args[1].slaveName = setup.bangladeshiSlaveNames.random()>> -<<case "Malaysian">> - <<set $args[1].slaveName = setup.malaysianSlaveNames.random()>> -<<case "Uzbek">> - <<set $args[1].slaveName = setup.uzbekSlaveNames.random()>> -<<case "Afghan">> - <<set $args[1].slaveName = setup.afghanSlaveNames.random()>> -<<case "Nepalese">> - <<set $args[1].slaveName = setup.nepaleseSlaveNames.random()>> -<<case "Burmese">> - <<set $args[1].slaveName = setup.burmeseSlaveNames.random()>> -<<case "Iraqi">> - <<set $args[1].slaveName = setup.iraqiSlaveNames.random()>> -<<case "Yemeni">> - <<set $args[1].slaveName = setup.yemeniSlaveNames.random()>> -<<case "Sudanese">> - <<set $args[1].slaveName = setup.sudaneseSlaveNames.random()>> -<<case "Algerian">> - <<set $args[1].slaveName = setup.algerianSlaveNames.random()>> -<<case "Tunisian">> - <<set $args[1].slaveName = setup.tunisianSlaveNames.random()>> -<<case "Libyan">> - <<set $args[1].slaveName = setup.libyanSlaveNames.random()>> -<<case "Omani">> - <<set $args[1].slaveName = setup.omaniSlaveNames.random()>> -<<case "Malian">> - <<set $args[1].slaveName = setup.malianSlaveNames.random()>> -<<case "Jordanian">> - <<set $args[1].slaveName = setup.jordanianSlaveNames.random()>> -<<case "Lebanese">> - <<set $args[1].slaveName = setup.lebaneseSlaveNames.random()>> -<<case "Emirati">> - <<set $args[1].slaveName = setup.emiratiSlaveNames.random()>> -<<case "Kazakh">> - <<set $args[1].slaveName = setup.kazakhSlaveNames.random()>> -<<case "Pakistani">> - <<set $args[1].slaveName = setup.pakistaniSlaveNames.random()>> -<<case "Indian">> - <<set $args[1].slaveName = setup.indianSlaveNames.random()>> -<<case "Australian">> - <<set $args[1].slaveName = setup.australianSlaveNames.random()>> -<<case "a New Zealander">> - <<set $args[1].slaveName = setup.newZealanderSlaveNames.random()>> -<<default>> - <<set $args[1].slaveName = setup.whiteAmericanSlaveNames.random()>> -<</switch>> - +<<set _currentSlaveNames = $slaves.map(s => s.slaveName)>> +<<set _namePool = + (setup.namePoolSelector[$args[0].nationality + "." + $args[1].race] + || setup.namePoolSelector[$args[0].nationality] + || setup.whiteAmericanSlaveNames) + .filter(sn => !_currentSlaveNames.includes(sn))>> +<<set _maxTries = 10>> +<<if _namePool.length <= 0 && setup.nationalityPoolSelector[$continent]>> + <<set _continentNationality = setup.nationalityPoolSelector[$continent].random()>> + <<for _namePool.length <= 0 && _maxTries > 5>> + <<set _namePool = + (setup.namePoolSelector[_continentNationality + "." + $args[1].race] + || setup.namePoolSelector[_continentNationality] + || [] + .filter(sn => !_currentSlaveNames.includes(sn))>> + <<set _maxTries -= 1>> + <</for>> +<</if>> +<<for _namePool.length <= 0 && _maxTries > 0>> + <<set _namePool = Object.values(setup.namePoolSelector).random().filter(sn => !_currentSlaveNames.includes(sn))>> + <<set _maxTries -= 1>> +<</for>> +<<if _namePool.length <= 0>> + <<set _namePool = Object.values(setup.namePoolSelector).random()>> +<</if>> +<<set $args[1].slaveName = _namePool.random()>> +<<unset _currentSlaveNames, _namePool, _maxTries, _continentNationality>> <</widget>> <<widget "seBirthToIncubator">>